@koobiq/components 20.4.1 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +486 -165
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -187
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-timezone.mjs","sources":["../../../packages/components/timezone/timezone.utils.ts","../../../packages/components/timezone/cities-by-filter.pipe.ts","../../../packages/components/timezone/utc-offset.pipe.ts","../../../packages/components/timezone/timezone-option.component.ts","../../../packages/components/timezone/timezone-option.component.html","../../../packages/components/timezone/timezone-option.directive.ts","../../../packages/components/timezone/timezone-select.component.ts","../../../packages/components/timezone/timezone-select.component.html","../../../packages/components/timezone/timezone.module.ts","../../../packages/components/timezone/koobiq-components-timezone.ts"],"sourcesContent":["import { escapeRegExp, kbqResolveTimezoneOffset } from '@koobiq/components/core';\nimport { KbqTimezoneGroup, KbqTimezonesByCountry, KbqTimezoneZone } from './timezone.models';\n\nconst minusUnicode = 0x2212; // Minus Sign U+2212\n\n/**\n * Convert string timezone offset (formatted offset) to number (minutes)\n */\nexport function parseOffset(offset: string): number {\n return kbqResolveTimezoneOffset(offset, Date.now()) ?? NaN;\n}\n\n/**\n * Grouping timezones by countries\n */\nexport function getZonesGroupedByCountry(\n data: KbqTimezoneZone[],\n otherCountriesLabel: string = 'Other',\n priorityCountry?: string\n): KbqTimezoneGroup[] {\n const systemTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const countryCode: string | undefined = priorityCountry\n ? priorityCountry\n : data.find((item: KbqTimezoneZone) => item.id === systemTimezone)?.countryCode;\n\n // collect data by countries\n const dataByCountries: KbqTimezonesByCountry = data.reduce<KbqTimezonesByCountry>(\n (result: KbqTimezonesByCountry, zone: KbqTimezoneZone) => {\n const countryName: string =\n zone.countryCode.toLowerCase() === countryCode?.toLowerCase() ? zone.countryName : otherCountriesLabel;\n\n if (!Array.isArray(result[countryName])) {\n result[countryName] = [];\n }\n\n result[countryName].push({ ...zone, countryName });\n\n return result;\n },\n {}\n );\n\n // make data groups\n const groups: KbqTimezoneGroup[] = Object.values(dataByCountries).map<KbqTimezoneGroup>(\n (zones: KbqTimezoneZone[]) => ({\n countryCode: zones[0].countryCode,\n countryName: zones[0].countryName,\n zones: zones.sort(timezonesSortComparator)\n })\n );\n\n // sort by priority country\n const priorityGroupIndex = groups.findIndex(\n (group) => group.countryCode.toLowerCase() === countryCode?.toLowerCase()\n );\n\n if (priorityGroupIndex > -1) {\n const priorityGroup = groups[priorityGroupIndex];\n\n groups.splice(priorityGroupIndex, 1);\n groups.unshift(priorityGroup);\n }\n\n return groups;\n}\n\nexport function offset(value) {\n const [hours, minutes] = value.split(':');\n const isPositiveOffset = /^\\d$/.test(hours.charAt(0));\n const preparedHours: string = !isPositiveOffset\n ? `${String.fromCharCode(minusUnicode)}${hours.substring(1)}`\n : parseInt(hours, 10) > 0 || parseInt(minutes, 10) > 0\n ? `+${hours}`\n : hours;\n\n return [preparedHours, minutes].join(':');\n}\n\nexport function offsetFormatter(value: string): string {\n return `UTC${offset(value)}`;\n}\n\nexport function offsetFormatterAsObject(value: string): { [UTC: string]: string } {\n return { UTC: offset(value) };\n}\n\n/**\n * Comparator for timezone sorting. Sort by offset and country name\n */\nexport function timezonesSortComparator(first: KbqTimezoneZone, second: KbqTimezoneZone): number {\n return first.offset !== second.offset\n ? parseOffset(first.offset)\n : first.countryName.localeCompare(second.countryName);\n}\n\nconst UTC_OFFSET_PATTERN = /^\\\\?(-|—|−|\\+)?(\\d{1,2}:?(\\d{1,2})?)?$/;\n\n/**\n * Filtering timezone cities by search string. Accepts a single pattern or several (matching a\n * city if it satisfies any one of them) — patterns that look like a bare UTC offset (e.g. `+3`)\n * are ignored here, since they describe the zone rather than a city name.\n */\nexport function filterCitiesBySearchString(cities: string, searchPattern?: string | readonly string[]): string {\n const patterns = (Array.isArray(searchPattern) ? searchPattern : [searchPattern])\n .filter((pattern): pattern is string => typeof pattern === 'string' && pattern.length > 0)\n .filter((pattern) => !UTC_OFFSET_PATTERN.test(pattern));\n\n if (!patterns.length) {\n return cities;\n }\n\n const regex: RegExp = RegExp(`(${patterns.map(escapeRegExp).join('|')})`, 'i');\n\n return cities\n .split(',')\n .filter((city: string) => regex.test(city))\n .join(',');\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { filterCitiesBySearchString } from './timezone.utils';\n\n@Pipe({\n name: 'citiesByFilter'\n})\nexport class CitiesByFilterPipe implements PipeTransform {\n transform(value: string, searchPattern?: string | readonly string[]): string {\n return filterCitiesBySearchString(value, searchPattern);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { offsetFormatterAsObject } from './timezone.utils';\n\n@Pipe({\n name: 'utcOffset'\n})\nexport class UtcOffsetPipe implements PipeTransform {\n transform(value: string): { [UTC: string]: string } {\n return offsetFormatterAsObject(value);\n }\n}\n","import { KeyValuePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n Input,\n input,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqHighlightBackgroundPipe, KbqOption } from '@koobiq/components/core';\nimport { CitiesByFilterPipe } from './cities-by-filter.pipe';\nimport { KbqTimezoneZone } from './timezone.models';\nimport { offsetFormatter } from './timezone.utils';\nimport { UtcOffsetPipe } from './utc-offset.pipe';\n\n@Component({\n selector: 'kbq-timezone-option',\n imports: [\n UtcOffsetPipe,\n KeyValuePipe,\n KbqHighlightBackgroundPipe,\n CitiesByFilterPipe\n ],\n templateUrl: 'timezone-option.component.html',\n styleUrls: ['../core/option/option.scss', 'timezone-option.component.scss', 'timezone-option-tokens.scss'],\n providers: [\n {\n provide: KbqOption,\n useExisting: forwardRef(() => KbqTimezoneOption)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-timezone-option'\n },\n exportAs: 'kbqTimezoneOption'\n})\nexport class KbqTimezoneOption extends KbqOption {\n readonly tooltipContentWrapper = viewChild.required<ElementRef<HTMLElement>>('tooltipContentWrapper');\n readonly tooltipContent = viewChild.required<ElementRef<HTMLElement>>('tooltipContent');\n\n readonly highlightText = input<string | readonly string[]>(undefined!);\n\n /** Whether `highlightText` was matched with diacritic folding (e.g. via `createSearchPredicate`) — see `kbqHighlightBackground`. */\n readonly foldDiacritics = input(false);\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get timezone(): KbqTimezoneZone {\n return this._timezone;\n }\n\n set timezone(zone: KbqTimezoneZone) {\n this._timezone = zone;\n this.value = zone.id;\n }\n\n private _timezone: KbqTimezoneZone;\n\n get viewValue(): string {\n const cities: string = [this.timezone.city, this.timezone.cities].filter(Boolean).join(', ');\n\n return [offsetFormatter(this.timezone.offset), cities].join(' ');\n }\n}\n","@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\n class=\"kbq-timezone-option__offset\"\n [innerHTML]=\"utcItem.key | kbqHighlightBackground: highlightText() : foldDiacritics()\"\n ></div>\n <div\n class=\"kbq-timezone-option__offset\"\n [innerHTML]=\"utcItem.value | kbqHighlightBackground: highlightText() : foldDiacritics()\"\n ></div>\n </div>\n}\n\n<div class=\"kbq-timezone-option__label\">\n <span\n class=\"kbq-timezone-option__city\"\n [innerHTML]=\"timezone.city | kbqHighlightBackground: highlightText() : foldDiacritics()\"\n ></span>\n <div #tooltipContentWrapper class=\"kbq-timezone-option__cities\">\n <span\n #tooltipContent\n [innerHTML]=\"\n timezone.cities\n | citiesByFilter: highlightText()\n | kbqHighlightBackground: highlightText() : foldDiacritics()\n \"\n ></span>\n </div>\n</div>\n","import { ContentObserver } from '@angular/cdk/observers';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { Platform } from '@angular/cdk/platform';\nimport { AfterViewInit, ChangeDetectorRef, Directive, inject, OnDestroy } from '@angular/core';\nimport { PopUpPlacements } from '@koobiq/components/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { Subscription, throttleTime } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { KbqTimezoneOption } from './timezone-option.component';\n\nexport const TOOLTIP_VISIBLE_ROWS_COUNT = 3;\n\n@Directive({\n selector: 'kbq-timezone-option',\n host: {\n '(mouseenter)': 'handleElementEnter()',\n '(mouseleave)': 'handleElementLeave()'\n }\n})\nexport class KbqTimezoneOptionTooltip extends KbqTooltipTrigger implements AfterViewInit, OnDestroy {\n private readonly option = inject(KbqTimezoneOption);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly resizeObserver = inject(SharedResizeObserver);\n private readonly contentObserver = inject(ContentObserver);\n private readonly platform = inject(Platform);\n\n private readonly debounceInterval = 100;\n\n private resizeSubscription = Subscription.EMPTY;\n private contentObserverSubscription = Subscription.EMPTY;\n private focusMonitorSubscription = Subscription.EMPTY;\n\n constructor() {\n super();\n this.tooltipPlacement = PopUpPlacements.Right;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) return;\n\n super.ngAfterViewInit();\n\n const tooltipContentWrapper = this.option.tooltipContentWrapper();\n\n this.content = this.option.viewValue;\n tooltipContentWrapper.nativeElement.style.webkitLineClamp = TOOLTIP_VISIBLE_ROWS_COUNT.toString();\n this.checkTooltipDisabled();\n\n this.resizeSubscription = this.resizeObserver\n .observe(tooltipContentWrapper.nativeElement)\n .pipe(debounceTime(this.debounceInterval))\n .subscribe(this.checkTooltipDisabled);\n\n this.contentObserverSubscription = this.contentObserver\n .observe(this.option.tooltipContent().nativeElement)\n .pipe(throttleTime(this.debounceInterval))\n .subscribe(() => {\n this.content = this.option.viewValue;\n this.checkTooltipDisabled();\n });\n\n this.focusMonitorSubscription = this.focusMonitor\n .monitor(this.elementRef)\n .subscribe((origin) => (origin === 'keyboard' ? this.handleElementEnter() : this.handleElementLeave()));\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription.unsubscribe();\n this.contentObserverSubscription.unsubscribe();\n this.focusMonitorSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n handleElementEnter(): void {\n this.checkTooltipDisabled();\n }\n\n handleElementLeave(): void {\n this.disabled = true;\n }\n\n private checkTooltipDisabled = () => {\n if (!this.platform.isBrowser) return;\n\n const count: number = this.option.tooltipContent().nativeElement.getClientRects().length;\n\n this.disabled = count <= TOOLTIP_VISIBLE_ROWS_COUNT;\n\n this.changeDetectorRef.detectChanges();\n };\n}\n","import { CdkMonitorFocus } from '@angular/cdk/a11y';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n Directive,\n inject,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KBQ_OPTION_PARENT_COMPONENT, kbqSiblingPopupProvider, ruRULocaleData } from '@koobiq/components/core';\nimport { kbqCleanerFactoryProvider, KbqFormFieldControl } from '@koobiq/components/form-field';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqSelect } from '@koobiq/components/select';\n\n@Directive({\n selector: 'kbq-timezone-select-trigger'\n})\nexport class KbqTimezoneSelectTrigger {}\n\nconst defaultSearchPlaceholder = ruRULocaleData.timezone.searchPlaceholder;\n\n@Component({\n selector: 'kbq-timezone-select',\n imports: [\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n CdkMonitorFocus,\n KbqIconModule\n ],\n templateUrl: 'timezone-select.component.html',\n styleUrls: [\n '../select/select.scss',\n '../select/select-tokens.scss',\n 'timezone-select.component.scss',\n 'timezone-option-tokens.scss'\n ],\n providers: [\n { provide: KbqFormFieldControl, useExisting: KbqTimezoneSelect },\n kbqCleanerFactoryProvider(() => {\n const timezoneSelect = inject(KbqTimezoneSelect);\n\n return {\n get control() {\n return timezoneSelect;\n },\n get keydownTarget() {\n return timezoneSelect.elementRef.nativeElement;\n },\n clearByEscape: false,\n clear: () => timezoneSelect.clear()\n };\n }),\n { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqTimezoneSelect },\n // Declared again rather than inherited from `KbqSelect`: Angular copies `providers` to a subclass only\n // when that subclass has no decorator of its own.\n kbqSiblingPopupProvider(KbqTimezoneSelect)\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'kbqTimezoneSelect'\n})\nexport class KbqTimezoneSelect extends KbqSelect implements AfterContentInit {\n readonly customTrigger = contentChild(KbqTimezoneSelectTrigger);\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this.localeService?.changes\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(this.updateLocaleParamsForSearch);\n\n this.updateLocaleParamsForSearch();\n }\n\n private updateLocaleParamsForSearch = () => {\n const placeholder = this.localeService?.getParams('timezone').searchPlaceholder || defaultSearchPlaceholder;\n\n const search = this.search();\n\n if (search && !search.hasPlaceholder()) {\n search.setPlaceholder(placeholder);\n }\n };\n}\n","<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n <span>\n @if (!!customTrigger()) {\n <ng-content select=\"kbq-timezone-select-trigger\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n <span class=\"kbq-select__matcher-text\">{{ triggerValue }}</span>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div class=\"kbq-select__cleaner\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass()\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n class=\"kbq-timezone-select__panel\"\n cdkMonitorSubtreeFocus\n [class]=\"getPanelClasses()\"\n [style.--kbq-select-panel-size-max-height]=\"panelMaxHeightToken()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.max-width.px]=\"panelMaxWidth()\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search() && shouldShowSearch()) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n }\n <ng-content />\n </div>\n </div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { KeyValuePipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqHighlightModule, KbqOptionModule } from '@koobiq/components/core';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqSelectModule } from '@koobiq/components/select';\nimport { KbqTagsModule } from '@koobiq/components/tags';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { CitiesByFilterPipe } from './cities-by-filter.pipe';\nimport { KbqTimezoneOption } from './timezone-option.component';\nimport { KbqTimezoneOptionTooltip } from './timezone-option.directive';\nimport { KbqTimezoneSelect, KbqTimezoneSelectTrigger } from './timezone-select.component';\nimport { UtcOffsetPipe } from './utc-offset.pipe';\n\n@NgModule({\n imports: [\n OverlayModule,\n KbqOptionModule,\n KbqSelectModule,\n KbqIconModule,\n KbqTagsModule,\n KbqToolTipModule,\n KbqHighlightModule,\n KeyValuePipe,\n A11yModule,\n UtcOffsetPipe,\n CitiesByFilterPipe,\n KbqTimezoneSelect,\n KbqTimezoneOption,\n KbqTimezoneOptionTooltip,\n KbqTimezoneSelectTrigger\n ],\n exports: [\n KbqTimezoneSelect,\n KbqTimezoneOption,\n KbqTimezoneOptionTooltip,\n KbqTimezoneSelectTrigger,\n KbqFormFieldModule\n ]\n})\nexport class KbqTimezoneModule {}\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-timezone.mjs","sources":["../../../packages/components/timezone/timezone.utils.ts","../../../packages/components/timezone/cities-by-filter.pipe.ts","../../../packages/components/timezone/utc-offset.pipe.ts","../../../packages/components/timezone/timezone-option.component.ts","../../../packages/components/timezone/timezone-option.component.html","../../../packages/components/timezone/timezone-option.directive.ts","../../../packages/components/timezone/timezone-select.component.ts","../../../packages/components/timezone/timezone-select.component.html","../../../packages/components/timezone/timezone.module.ts","../../../packages/components/timezone/koobiq-components-timezone.ts"],"sourcesContent":["import { escapeRegExp, kbqResolveTimezoneOffset } from '@koobiq/components/core';\nimport { KbqTimezoneGroup, KbqTimezonesByCountry, KbqTimezoneZone } from './timezone.models';\n\nconst minusUnicode = 0x2212; // Minus Sign U+2212\n\nconst minutesPerHour = 60;\n\n/**\n * Convert string timezone offset (formatted offset) to number (minutes)\n */\nexport function parseOffset(offset: string): number {\n return kbqResolveTimezoneOffset(offset, Date.now()) ?? NaN;\n}\n\nconst pad = (value: number): string => `${value}`.padStart(2, '0');\n\n/** Writes an offset in minutes east of UTC the way {@link KbqTimezoneZone.offset} is written. */\nfunction formatOffsetMinutes(minutes: number): string {\n const absolute = Math.abs(minutes);\n\n return `${minutes < 0 ? '-' : ''}${pad(Math.floor(absolute / minutesPerHour))}:${pad(absolute % minutesPerHour)}:00`;\n}\n\n/** Offset of `zone` at `timestamp` in minutes east of UTC, or `NaN` when neither side resolves. */\nfunction resolveZoneOffsetMinutes(zone: KbqTimezoneZone, timestamp: number): number {\n return kbqResolveTimezoneOffset(zone.offset || zone.id, timestamp) ?? NaN;\n}\n\n/**\n * Offset `zone` is on at `timestamp`, written the way {@link KbqTimezoneZone.offset} is, or an empty string\n * when the zone identifies neither a fixed offset nor a time zone `Intl` knows.\n *\n * A zone that carries an explicit `offset` keeps that string verbatim. A zone without one has the offset\n * resolved from its IANA `id`, which is what makes a DST zone read `UTC+01:00` in January and `UTC+02:00`\n * in July instead of whichever of the two was written into the data.\n */\nexport function resolveZoneOffset(zone: KbqTimezoneZone, timestamp: number = Date.now()): string {\n if (zone.offset) return zone.offset;\n\n const minutes = resolveZoneOffsetMinutes(zone, timestamp);\n\n return Number.isFinite(minutes) ? formatOffsetMinutes(minutes) : '';\n}\n\n/**\n * Groups zones by {@link KbqTimezoneZone.countryCode} — one group per country, ordered by country name,\n * with the zones inside each group ordered by {@link timezonesSortComparator}.\n *\n * Pure: the same input produces the same groups on any machine, which is what makes it safe to run on the\n * server and again in the browser. To put the user's own country first, pass the result through\n * {@link promoteCountry} or {@link collapseOtherCountries}, and read the country itself with\n * {@link kbqResolveHostCountry}.\n */\nexport function getZonesGroupedByCountry(data: readonly KbqTimezoneZone[]): KbqTimezoneGroup[] {\n const byCountry = data.reduce<KbqTimezonesByCountry>((result: KbqTimezonesByCountry, zone: KbqTimezoneZone) => {\n const countryCode: string = zone.countryCode.toLowerCase();\n\n if (!Array.isArray(result[countryCode])) {\n result[countryCode] = [];\n }\n\n result[countryCode].push(zone);\n\n return result;\n }, {});\n\n return Object.values(byCountry)\n .map<KbqTimezoneGroup>((zones: KbqTimezoneZone[]) => ({\n countryCode: zones[0].countryCode,\n countryName: zones[0].countryName,\n zones: sortZonesByOffset(zones)\n }))\n .sort((first, second) => first.countryName.localeCompare(second.countryName));\n}\n\n/** Whether `group` stands for `countryCode`. Both sides are compared case-insensitively. */\nfunction isCountry(group: KbqTimezoneGroup, countryCode: string): boolean {\n return group.countryCode?.toLowerCase() === countryCode.toLowerCase();\n}\n\n/**\n * Moves the group of `countryCode` to the front, leaving the rest in their order. Returns a new array; a\n * country the groups do not contain, or no country at all, leaves the order untouched.\n */\nexport function promoteCountry(\n groups: readonly KbqTimezoneGroup[],\n countryCode: string | null | undefined\n): KbqTimezoneGroup[] {\n const index = countryCode ? groups.findIndex((group) => isCountry(group, countryCode)) : -1;\n\n if (index < 1) return [...groups];\n\n return [groups[index], ...groups.slice(0, index), ...groups.slice(index + 1)];\n}\n\n/**\n * Merges every group other than `countryCode` into one bucket labelled `otherCountriesLabel`, placed after\n * the country it promotes. The bucket spans countries, so its `countryCode` is `null`.\n *\n * This is the shape a world-wide list is usually rendered in: the user's own country first, everything else\n * collapsed behind one label.\n */\nexport function collapseOtherCountries(\n groups: readonly KbqTimezoneGroup[],\n countryCode: string | null | undefined,\n otherCountriesLabel: string\n): KbqTimezoneGroup[] {\n const promoted = countryCode ? groups.find((group) => isCountry(group, countryCode)) : undefined;\n const rest: KbqTimezoneZone[] = groups\n .filter((group) => group !== promoted)\n .flatMap(({ zones }: KbqTimezoneGroup) => zones);\n\n return [\n ...(promoted ? [promoted] : []),\n ...(rest.length\n ? [{ countryCode: null, countryName: otherCountriesLabel, zones: sortZonesByOffset(rest) }]\n : [])\n ];\n}\n\n/**\n * Country code of the zone whose `id` is the time zone of the machine this runs on, or `undefined` when\n * `data` has no row for it.\n *\n * Reads `Intl`, so the answer is the host's: on the server that is the server's zone rather than the user's,\n * and the value it produces there will not match the one the browser produces on hydration. It is kept\n * apart from the grouping for exactly that reason — call it where host-dependence is acceptable and pass\n * the result on.\n */\nexport function kbqResolveHostCountry(data: readonly KbqTimezoneZone[]): string | undefined {\n const hostTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n return data.find((zone: KbqTimezoneZone) => zone.id === hostTimezone)?.countryCode;\n}\n\n/** Formats an `HH:MM:SS` offset as a signed `±HH:MM`, with U+2212 for the minus sign. */\nexport function offset(value: string): string {\n const [hours, minutes] = value.split(':');\n\n if (!hours || minutes === undefined) return '';\n\n const isPositiveOffset = /^\\d$/.test(hours.charAt(0));\n const preparedHours: string = !isPositiveOffset\n ? `${String.fromCharCode(minusUnicode)}${hours.substring(1)}`\n : parseInt(hours, 10) > 0 || parseInt(minutes, 10) > 0\n ? `+${hours}`\n : hours;\n\n return [preparedHours, minutes].join(':');\n}\n\n/** Formats an `HH:MM:SS` offset the way the option renders it: `UTC+03:00`. */\nexport function offsetFormatter(value: string): string {\n return `UTC${offset(value)}`;\n}\n\n/** The same as {@link offsetFormatter}, split into the `UTC` prefix and the offset for two-column layouts. */\nexport function offsetFormatterAsObject(value: string): { [UTC: string]: string } {\n return { UTC: offset(value) };\n}\n\n/** A zone with its offset already resolved, the unit {@link compareResolvedOffsets} orders. */\ninterface ResolvedOffset {\n readonly offset: number;\n readonly city: string;\n}\n\n/**\n * Orders two already-resolved offsets the way {@link timezonesSortComparator} orders the zones they belong\n * to: by offset, then by city name, with an unresolved offset sorting last rather than as UTC.\n */\nfunction compareResolvedOffsets(first: ResolvedOffset, second: ResolvedOffset): number {\n const firstResolved = Number.isFinite(first.offset);\n const secondResolved = Number.isFinite(second.offset);\n\n if (firstResolved !== secondResolved) return firstResolved ? -1 : 1;\n if (firstResolved && first.offset !== second.offset) return first.offset - second.offset;\n\n return first.city.localeCompare(second.city);\n}\n\n/**\n * Comparator for timezone sorting. Orders by the offset each zone is on right now, then by city name — the\n * country cannot discriminate here, since every zone reaching this inside a group already shares one.\n *\n * A zone whose offset resolves to nothing sorts after every zone that has one, rather than as UTC.\n */\nexport function timezonesSortComparator(first: KbqTimezoneZone, second: KbqTimezoneZone): number {\n const timestamp = Date.now();\n\n return compareResolvedOffsets(\n { offset: resolveZoneOffsetMinutes(first, timestamp), city: first.city },\n { offset: resolveZoneOffsetMinutes(second, timestamp), city: second.city }\n );\n}\n\n/**\n * Sorts `zones` the way {@link timezonesSortComparator} orders them, resolving each zone's offset once up\n * front instead of on every pairwise comparison. `timezonesSortComparator` re-resolves both sides on every\n * call because it has to work as a standalone comparator for callers with no larger sort to amortize it\n * over; the grouping helpers below sort potentially hundreds of zones and would otherwise re-run the same\n * `Intl` lookup for a given zone on every comparison touching it.\n */\nfunction sortZonesByOffset(zones: readonly KbqTimezoneZone[]): KbqTimezoneZone[] {\n const timestamp = Date.now();\n\n return zones\n .map((zone) => ({ zone, offset: resolveZoneOffsetMinutes(zone, timestamp), city: zone.city }))\n .sort(compareResolvedOffsets)\n .map(({ zone }) => zone);\n}\n\n/**\n * A bare UTC offset, including one still being typed: `3`, `+3`, `+03:`, `−05:30`, `0330`, or a sign alone. A\n * lone hyphen-minus is the exception — it is also how a hyphenated city is searched for (`Baden-Baden`) — but\n * `+`, `−` and `—` occur in no city name, so a query that is only one of them already describes the zone.\n */\nconst UTC_OFFSET_PATTERN = /^(?:[+−—]|[-+−—]?\\d{1,2}(?::?\\d{0,2})?)$/;\n\n/**\n * Filtering timezone cities by search string. Accepts a single pattern or several (matching a\n * city if it satisfies any one of them) — patterns that look like a bare UTC offset (e.g. `+3`)\n * are ignored here, since they describe the zone rather than a city name.\n */\nexport function filterCitiesBySearchString(cities: string, searchPattern?: string | readonly string[]): string {\n const patterns = (Array.isArray(searchPattern) ? searchPattern : [searchPattern])\n .filter((pattern): pattern is string => typeof pattern === 'string' && pattern.length > 0)\n .filter((pattern) => !UTC_OFFSET_PATTERN.test(pattern));\n\n if (!patterns.length) {\n return cities;\n }\n\n const regex: RegExp = RegExp(`(${patterns.map(escapeRegExp).join('|')})`, 'i');\n\n return cities\n .split(/\\s*,\\s*/)\n .filter((city: string) => regex.test(city))\n .join(', ');\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { filterCitiesBySearchString } from './timezone.utils';\n\n/** Narrows a `', '`-joined city list to the entries matching the search pattern(s). */\n@Pipe({\n name: 'citiesByFilter'\n})\nexport class CitiesByFilterPipe implements PipeTransform {\n transform(value: string, searchPattern?: string | readonly string[]): string {\n return filterCitiesBySearchString(value, searchPattern);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { offsetFormatterAsObject } from './timezone.utils';\n\n/** Splits an `HH:MM:SS` offset into the `UTC` prefix and the signed offset, for a two-column layout. */\n@Pipe({\n name: 'utcOffset'\n})\nexport class UtcOffsetPipe implements PipeTransform {\n transform(value: string): { [UTC: string]: string } {\n return offsetFormatterAsObject(value);\n }\n}\n","import { KeyValuePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n input,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KBQ_TITLE_TEXT_REF, KbqHighlightBackgroundPipe, KbqOption } from '@koobiq/components/core';\nimport { CitiesByFilterPipe } from './cities-by-filter.pipe';\nimport { KbqTimezoneZone } from './timezone.models';\nimport { filterCitiesBySearchString, offsetFormatter, resolveZoneOffset } from './timezone.utils';\nimport { UtcOffsetPipe } from './utc-offset.pipe';\n\n@Component({\n selector: 'kbq-timezone-option',\n imports: [\n UtcOffsetPipe,\n KeyValuePipe,\n KbqHighlightBackgroundPipe,\n CitiesByFilterPipe\n ],\n templateUrl: 'timezone-option.component.html',\n styleUrls: ['../core/option/option.scss', 'timezone-option.component.scss'],\n providers: [\n {\n provide: KbqOption,\n useExisting: forwardRef(() => KbqTimezoneOption)\n },\n // Declared again rather than inherited from `KbqOption`: Angular copies `providers` to a subclass\n // only when that subclass has no decorator of its own, and this one has.\n {\n provide: KBQ_TITLE_TEXT_REF,\n useExisting: forwardRef(() => KbqTimezoneOption)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-timezone-option'\n },\n exportAs: 'kbqTimezoneOption'\n})\nexport class KbqTimezoneOption extends KbqOption {\n readonly tooltipContentWrapper = viewChild.required<ElementRef<HTMLElement>>('tooltipContentWrapper');\n readonly tooltipContent = viewChild.required<ElementRef<HTMLElement>>('tooltipContent');\n\n readonly highlightText = input<string | readonly string[]>(undefined!);\n\n /** Whether `highlightText` was matched with diacritic folding (e.g. via `createSearchPredicate`) — see `kbqHighlightBackground`. */\n readonly foldDiacritics = input(false);\n\n /** @docs-private */\n readonly timezoneInput = input<KbqTimezoneZone>(undefined!, { alias: 'timezone' });\n\n /** The time zone the option stands for. */\n get timezone(): KbqTimezoneZone {\n return this.timezoneInput();\n }\n\n /** The id of the time zone, unless no time zone is bound. */\n override get value(): string {\n return this.timezone?.id ?? super.value;\n }\n\n /** Offset the bound zone is on right now, written the way `KbqTimezoneZone.offset` is. */\n protected get resolvedOffset(): string {\n return resolveZoneOffset(this.timezone);\n }\n\n /** The whole zone as one line: the offset, the city and every city the zone covers. */\n override get viewValue(): string {\n return this.buildViewValue(this.timezone.cities);\n }\n\n /**\n * The same line as `viewValue`, but with the city list narrowed by `highlightText` exactly as the\n * rendered list is. The overflow tooltip shows this one, so it never lists a city the search has just\n * filtered out of the option under it.\n */\n get tooltipViewValue(): string {\n return this.buildViewValue(filterCitiesBySearchString(this.timezone.cities, this.highlightText()));\n }\n\n /**\n * The city, which is what typeahead matches. `viewValue` opens with the offset, so every option would\n * start with `UTC` and typing a city's first letters would never move past the first one — and a zone west\n * of UTC is written with U+2212, which a keyboard cannot type at all.\n */\n override getLabel(): string {\n return this.timezone.city;\n }\n\n private buildViewValue(cities: string): string {\n return [offsetFormatter(this.resolvedOffset), [this.timezone.city, cities].filter(Boolean).join(', ')].join(\n ' '\n );\n }\n}\n","@for (utcItem of resolvedOffset | utcOffset | keyvalue; track utcItem) {\n <div class=\"kbq-timezone-option__offset-wrapper layout-row layout-align-space-between\">\n <div\n class=\"kbq-timezone-option__offset\"\n [innerHTML]=\"utcItem.key | kbqHighlightBackground: highlightText() : foldDiacritics()\"\n ></div>\n <div\n class=\"kbq-timezone-option__offset\"\n [innerHTML]=\"utcItem.value | kbqHighlightBackground: highlightText() : foldDiacritics()\"\n ></div>\n </div>\n}\n\n<div class=\"kbq-timezone-option__label\">\n <span\n #kbqTitleText\n class=\"kbq-timezone-option__city\"\n [innerHTML]=\"timezone.city | kbqHighlightBackground: highlightText() : foldDiacritics()\"\n ></span>\n <div #tooltipContentWrapper class=\"kbq-timezone-option__cities\">\n <span\n #tooltipContent\n [innerHTML]=\"\n timezone.cities\n | citiesByFilter: highlightText()\n | kbqHighlightBackground: highlightText() : foldDiacritics()\n \"\n ></span>\n </div>\n</div>\n","import { ContentObserver } from '@angular/cdk/observers';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { Platform } from '@angular/cdk/platform';\nimport { AfterViewInit, Directive, inject, input, OnDestroy } from '@angular/core';\nimport { PopUpPlacements } from '@koobiq/components/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { Subscription, throttleTime } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { KbqTimezoneOption } from './timezone-option.component';\n\n/**\n * Rows of the city list an option shows before it clamps. Kept in step with the `-webkit-line-clamp` of\n * `.kbq-timezone-option__cities`.\n *\n * @docs-private\n */\nexport const TOOLTIP_VISIBLE_ROWS_COUNT = 3;\n\n@Directive({\n selector: 'kbq-timezone-option',\n host: {\n '(mouseenter)': 'handleElementEnter()',\n '(mouseleave)': 'handleElementLeave()'\n }\n})\nexport class KbqTimezoneOptionTooltip extends KbqTooltipTrigger implements AfterViewInit, OnDestroy {\n private readonly option = inject(KbqTimezoneOption);\n private readonly resizeObserver = inject(SharedResizeObserver);\n private readonly contentObserver = inject(ContentObserver);\n private readonly platform = inject(Platform);\n\n private readonly debounceInterval = 100;\n\n private resizeSubscription = Subscription.EMPTY;\n private contentObserverSubscription = Subscription.EMPTY;\n private focusMonitorSubscription = Subscription.EMPTY;\n\n /**\n * Overrides the tooltip's hoverable default. The overflow hint floats over the neighbouring options of a\n * scrolling list, so a pointer-capturing pane would swallow the click that selects them.\n */\n readonly ignoreTooltipPointerEvents = input<boolean>(true);\n\n /**\n * The hint shows rows the option had to clip, so `kbqTooltipDisabled=\"false\"` cannot conjure one for an\n * option that fits.\n *\n * @docs-private\n */\n protected override readonly derivedDisabledWins = true;\n\n constructor() {\n super();\n this.tooltipPlacement = PopUpPlacements.Right;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) return;\n\n super.ngAfterViewInit();\n\n const tooltipContentWrapper = this.option.tooltipContentWrapper();\n\n this.content = this.option.tooltipViewValue;\n this.checkTooltipDisabled();\n\n this.resizeSubscription = this.resizeObserver\n .observe(tooltipContentWrapper.nativeElement)\n .pipe(debounceTime(this.debounceInterval))\n .subscribe(this.checkTooltipDisabled);\n\n this.contentObserverSubscription = this.contentObserver\n .observe(this.option.tooltipContent().nativeElement)\n .pipe(throttleTime(this.debounceInterval))\n .subscribe(() => {\n this.content = this.option.tooltipViewValue;\n this.checkTooltipDisabled();\n });\n\n this.focusMonitorSubscription = this.focusMonitor\n .monitor(this.elementRef)\n .subscribe((origin) => (origin === 'keyboard' ? this.handleElementEnter() : this.handleElementLeave()));\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription.unsubscribe();\n this.contentObserverSubscription.unsubscribe();\n this.focusMonitorSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n handleElementEnter(): void {\n // Re-read rather than trust the content observer: it is throttled, so a hover landing right after a\n // keystroke would otherwise open a hint listing the cities the search has just removed.\n this.content = this.option.tooltipViewValue;\n this.checkTooltipDisabled();\n }\n\n handleElementLeave(): void {\n this.setDerivedDisabled(true);\n }\n\n /**\n * Derived rather than assigned: writing `disabled` directly would be read back as the consumer's own\n * `kbqTooltipDisabled` (see `KbqTooltipTrigger.setDerivedDisabled`), so a later measurement could\n * silently overwrite an explicit binding and vice versa. `applyDisabled` already no-ops when the folded\n * value is unchanged, so a resize frame that reports the same line count still costs nothing extra.\n */\n private checkTooltipDisabled = () => {\n if (!this.platform.isBrowser) return;\n\n const count: number = this.option.tooltipContent().nativeElement.getClientRects().length;\n\n this.setDerivedDisabled(count <= TOOLTIP_VISIBLE_ROWS_COUNT);\n };\n}\n","import { CdkMonitorFocus } from '@angular/cdk/a11y';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n Directive,\n effect,\n inject,\n InjectionToken,\n Provider,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n KBQ_OPTION_PARENT_COMPONENT,\n KbqDeepPartial,\n kbqLocaleConfigurationOverrideProvider,\n KbqLocaleOverridesDirective,\n KbqSelectSearch,\n kbqSiblingPopupProvider,\n KbqTimezoneLocaleConfiguration,\n ruRULocaleData\n} from '@koobiq/components/core';\nimport { kbqCleanerFactoryProvider, KbqFormField, KbqFormFieldControl } from '@koobiq/components/form-field';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqScrollbarViewport } from '@koobiq/components/scrollbar';\nimport { KbqSelect, KbqSelectHiddenItemsMeasurer } from '@koobiq/components/select';\n\n@Directive({\n selector: 'kbq-timezone-select-trigger'\n})\nexport class KbqTimezoneSelectTrigger {}\n\n/**\n * Returns an exception to be thrown when `multiple` or `multiline` is turned on for a timezone select, which renders one\n * value in its trigger and has no multi-selection template behind it.\n *\n * @docs-private\n */\nexport function getKbqTimezoneSelectMultipleError(): Error {\n return Error('`kbq-timezone-select` does not support multiple selection.');\n}\n\n/**\n * default configuration of timezone\n *\n * @docs-private\n */\nexport const KBQ_TIMEZONE_DEFAULT_LOCALE_CONFIGURATION: KbqTimezoneLocaleConfiguration = ruRULocaleData.timezone;\n\n/**\n * Injection Token for providing the default configuration of timezone\n *\n * @docs-private\n */\nexport const KBQ_TIMEZONE_LOCALE_CONFIGURATION = new InjectionToken<KbqTimezoneLocaleConfiguration>(\n 'KbqTimezoneLocaleConfiguration',\n { factory: () => KBQ_TIMEZONE_DEFAULT_LOCALE_CONFIGURATION }\n);\n\n/**\n * Utility provider for `KBQ_TIMEZONE_LOCALE_CONFIGURATION`. Only the strings you pass are overridden; the rest keep\n * following the active locale.\n */\nexport const kbqTimezoneLocaleConfigurationProvider = (\n configuration: KbqDeepPartial<KbqTimezoneLocaleConfiguration>\n): Provider => kbqLocaleConfigurationOverrideProvider('timezone', configuration);\n\n@Component({\n selector: 'kbq-timezone-select',\n imports: [\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n CdkMonitorFocus,\n KbqIconModule,\n KbqScrollbarViewport\n ],\n templateUrl: 'timezone-select.component.html',\n styleUrls: [\n '../select/select.scss',\n '../select/select-tokens.scss',\n 'timezone-select.component.scss',\n 'timezone-option-tokens.scss'\n ],\n providers: [\n { provide: KbqFormFieldControl, useExisting: KbqTimezoneSelect },\n kbqCleanerFactoryProvider(() => {\n const timezoneSelect = inject(KbqTimezoneSelect);\n\n return {\n get control() {\n return timezoneSelect;\n },\n clearByEscape: false,\n clear: () => timezoneSelect.clear(),\n canClear: () => timezoneSelect.canClear\n };\n }),\n { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqTimezoneSelect },\n // Declared again rather than inherited from `KbqSelect`: Angular copies `providers` to a subclass only\n // when that subclass has no decorator of its own.\n kbqSiblingPopupProvider(KbqTimezoneSelect),\n // Same reason: the field that injects it is declared on `KbqSelect`, but the injector consulted is\n // this component's own. The measurer cannot move to the root injector — it needs `Renderer2`.\n KbqSelectHiddenItemsMeasurer\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'kbqTimezoneSelect'\n})\nexport class KbqTimezoneSelect extends KbqSelect {\n readonly customTrigger = contentChild(KbqTimezoneSelectTrigger);\n\n /** Strings currently rendered by the select. */\n readonly timezoneLocaleConfiguration = inject(KbqLocaleOverridesDirective, { self: true }).read(\n 'timezone',\n KBQ_TIMEZONE_LOCALE_CONFIGURATION\n );\n\n /** Form field of the search, whose control carries the placeholder. */\n private readonly searchFormField = contentChild(KbqSelectSearch, { read: KbqFormField });\n\n /**\n * Placeholder this component last wrote into the search. Compared by value: the search control reads back\n * whatever it carries, and a placeholder the consumer binds after the first render replaces this one.\n */\n private appliedLocalePlaceholder: string | null = null;\n\n constructor() {\n super();\n\n // The projected search takes its placeholder as a plain property rather than through a template\n // binding, so the string has to be pushed into it. An effect applies it as soon as the query\n // resolves, without waiting for a lifecycle hook of this component.\n effect(() => {\n const placeholder = this.timezoneLocaleConfiguration().searchPlaceholder;\n const search = this.search();\n\n if (!search) return;\n\n const current = this.searchFormField()?.control().placeholder();\n\n // A placeholder supplied by the consumer wins and is never overwritten; one this effect wrote\n // is replaced, so the field follows the active locale.\n if (current && current !== this.appliedLocalePlaceholder) return;\n\n search.setPlaceholder(placeholder);\n this.appliedLocalePlaceholder = placeholder;\n });\n }\n\n /**\n * Rejects `multiple` and `multiline`, which switches the select to multiple selection just the same: the\n * trigger renders a single value and the panel has no tag list or pseudo-checkboxes behind it. This is the\n * last point before the selection model is built from them, and `KbqSelect` refuses a later change of\n * `multiple` on its own.\n */\n override ngOnInit(): void {\n if (this.multiple || this.multiline()) {\n throw getKbqTimezoneSelectMultipleError();\n }\n\n super.ngOnInit();\n }\n}\n","<!--\n A fork of `select/select.html`: the panel and trigger are the select's, only the panel class, the\n timezone trigger selector and the dropped multi-selection branch differ. Mirror changes made there,\n or the two drift apart binding by binding.\n-->\n<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty()\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher()) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty()) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder() || '\\u00A0' }}\n </span>\n } @else {\n <span>\n @if (!!customTrigger()) {\n <ng-content select=\"kbq-timezone-select-trigger\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n <span class=\"kbq-select__matcher-text\">{{ triggerValue }}</span>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div class=\"kbq-select__cleaner\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass()\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop()\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayViewportMargin]=\"viewportMargin\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n class=\"kbq-timezone-select__panel\"\n cdkMonitorSubtreeFocus\n [class]=\"getPanelClasses()\"\n [style.--kbq-select-panel-size-max-height]=\"panelMaxHeightToken()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.max-width.px]=\"panelMaxWidth()\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search() && shouldShowSearch()) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n kbqScrollbarViewport\n role=\"listbox\"\n class=\"kbq-select__content\"\n [kbqScrollbarMode]=\"scrollbarMode\"\n [id]=\"panelId\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-busy]=\"isOptionsListBusy || null\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { KbqOptionModule } from '@koobiq/components/core';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { CitiesByFilterPipe } from './cities-by-filter.pipe';\nimport { KbqTimezoneOption } from './timezone-option.component';\nimport { KbqTimezoneOptionTooltip } from './timezone-option.directive';\nimport { KbqTimezoneSelect, KbqTimezoneSelectTrigger } from './timezone-select.component';\nimport { UtcOffsetPipe } from './utc-offset.pipe';\n\n@NgModule({\n imports: [\n UtcOffsetPipe,\n CitiesByFilterPipe,\n KbqTimezoneSelect,\n KbqTimezoneOption,\n KbqTimezoneOptionTooltip,\n KbqTimezoneSelectTrigger\n ],\n exports: [\n UtcOffsetPipe,\n CitiesByFilterPipe,\n KbqTimezoneSelect,\n KbqTimezoneOption,\n KbqTimezoneOptionTooltip,\n KbqTimezoneSelectTrigger,\n // Re-exported rather than only imported: every documented usage groups the options with\n // `kbq-optgroup` and renders the select inside a `kbq-form-field`.\n KbqOptionModule,\n KbqFormFieldModule\n ]\n})\nexport class KbqTimezoneModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}