@porscheinformatik/clr-addons 11.2.0 → 12.1.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 (571) hide show
  1. package/abstract-form-component/abstract-form-component.d.ts +11 -3
  2. package/abstract-form-component/control-id.service.d.ts +11 -0
  3. package/abstract-form-component/form.module.d.ts +7 -0
  4. package/abstract-form-component/index.d.ts +2 -0
  5. package/abstract-form-component/label.d.ts +15 -0
  6. package/autocomplete-off/autocomplete-off.directive.d.ts +3 -0
  7. package/autocomplete-off/autocomplete-off.module.d.ts +5 -0
  8. package/autocomplete-off/index.d.ts +2 -0
  9. package/back-button/back-button.d.ts +3 -0
  10. package/back-button/back-button.module.d.ts +8 -0
  11. package/brand-avatar/brand-avatar.d.ts +3 -0
  12. package/brand-avatar/brand-avatar.module.d.ts +7 -0
  13. package/breadcrumb/breadcrumb.d.ts +4 -1
  14. package/breadcrumb/breadcrumb.module.d.ts +8 -0
  15. package/breadcrumb/breadcrumb.service.d.ts +3 -0
  16. package/clr-addons.d.ts +1 -11
  17. package/clr-addons.module.d.ts +30 -0
  18. package/collapse-expand-section/collapse-expand-section.d.ts +3 -0
  19. package/collapse-expand-section/collapse-expand-section.module.d.ts +8 -0
  20. package/content-panel/content-panel-container-content.d.ts +3 -0
  21. package/content-panel/content-panel-container-footer.d.ts +3 -0
  22. package/content-panel/content-panel-container.d.ts +3 -0
  23. package/content-panel/content-panel.d.ts +3 -0
  24. package/content-panel/content-panel.module.d.ts +11 -0
  25. package/data-list-validator/data-list-predefined-validator.directive.d.ts +3 -0
  26. package/data-list-validator/data-list-validator.module.d.ts +5 -0
  27. package/date-time-container/date-time-container.d.ts +3 -0
  28. package/date-time-container/date-time-module.d.ts +9 -0
  29. package/date-time-container/time-input.d.ts +3 -0
  30. package/dot-pager/dot-pager.d.ts +3 -0
  31. package/dot-pager/dot-pager.module.d.ts +8 -0
  32. package/esm2020/abstract-form-component/abstract-form-component.mjs +100 -0
  33. package/esm2020/abstract-form-component/control-id.service.mjs +31 -0
  34. package/esm2020/abstract-form-component/form.module.mjs +21 -0
  35. package/esm2020/abstract-form-component/index.mjs +3 -0
  36. package/esm2020/abstract-form-component/label.mjs +37 -0
  37. package/esm2020/autocomplete-off/autocomplete-off.directive.mjs +21 -0
  38. package/esm2020/autocomplete-off/autocomplete-off.module.mjs +21 -0
  39. package/esm2020/autocomplete-off/index.mjs +3 -0
  40. package/esm2020/back-button/back-button.mjs +25 -0
  41. package/esm2020/back-button/back-button.module.mjs +25 -0
  42. package/{esm2015/back-button/index.js → esm2020/back-button/index.mjs} +0 -0
  43. package/esm2020/brand-avatar/brand-avatar.mjs +60 -0
  44. package/esm2020/brand-avatar/brand-avatar.module.mjs +24 -0
  45. package/{esm2015/brand-avatar/index.js → esm2020/brand-avatar/index.mjs} +0 -0
  46. package/{esm2015/breadcrumb/breadcrumb-model.interface.js → esm2020/breadcrumb/breadcrumb-model.interface.mjs} +0 -0
  47. package/esm2020/breadcrumb/breadcrumb.mjs +37 -0
  48. package/esm2020/breadcrumb/breadcrumb.module.mjs +27 -0
  49. package/esm2020/breadcrumb/breadcrumb.service.mjs +25 -0
  50. package/{esm2015/breadcrumb/index.js → esm2020/breadcrumb/index.mjs} +0 -0
  51. package/esm2020/clr-addons.mjs +5 -0
  52. package/esm2020/clr-addons.module.mjs +122 -0
  53. package/esm2020/collapse-expand-section/collapse-expand-section.mjs +80 -0
  54. package/esm2020/collapse-expand-section/collapse-expand-section.module.mjs +25 -0
  55. package/{esm2015/collapse-expand-section/index.js → esm2020/collapse-expand-section/index.mjs} +0 -0
  56. package/esm2020/content-panel/content-panel-container-content.mjs +22 -0
  57. package/esm2020/content-panel/content-panel-container-footer.mjs +22 -0
  58. package/esm2020/content-panel/content-panel-container.mjs +35 -0
  59. package/esm2020/content-panel/content-panel.mjs +79 -0
  60. package/esm2020/content-panel/content-panel.module.mjs +36 -0
  61. package/{esm2015/content-panel/index.js → esm2020/content-panel/index.mjs} +0 -0
  62. package/esm2020/data-list-validator/data-list-predefined-validator.directive.mjs +33 -0
  63. package/esm2020/data-list-validator/data-list-validator.module.mjs +21 -0
  64. package/{esm2015/data-list-validator/data-list.validator.js → esm2020/data-list-validator/data-list.validator.mjs} +0 -0
  65. package/{esm2015/data-list-validator/index.js → esm2020/data-list-validator/index.mjs} +0 -0
  66. package/esm2020/date-time-container/date-time-container.mjs +53 -0
  67. package/esm2020/date-time-container/date-time-module.mjs +26 -0
  68. package/{esm2015/date-time-container/index.js → esm2020/date-time-container/index.mjs} +0 -0
  69. package/esm2020/date-time-container/time-input.mjs +21 -0
  70. package/esm2020/dot-pager/dot-pager.mjs +58 -0
  71. package/esm2020/dot-pager/dot-pager.module.mjs +25 -0
  72. package/{esm2015/dot-pager/index.js → esm2020/dot-pager/index.mjs} +0 -0
  73. package/esm2020/flow-bar/flow-bar.mjs +160 -0
  74. package/esm2020/flow-bar/flow-bar.module.mjs +25 -0
  75. package/{esm2015/flow-bar/index.js → esm2020/flow-bar/index.mjs} +0 -0
  76. package/esm2020/generic-quick-list/generic-quick-list.mjs +93 -0
  77. package/esm2020/generic-quick-list/generic-quick-list.module.mjs +24 -0
  78. package/{esm2015/generic-quick-list/index.js → esm2020/generic-quick-list/index.mjs} +0 -0
  79. package/{esm2015/history/history-model.interface.js → esm2020/history/history-model.interface.mjs} +0 -0
  80. package/esm2020/history/history-pinned.mjs +49 -0
  81. package/esm2020/history/history.mjs +70 -0
  82. package/esm2020/history/history.module.mjs +26 -0
  83. package/esm2020/history/history.service.mjs +206 -0
  84. package/{esm2015/history/index.js → esm2020/history/index.mjs} +0 -0
  85. package/{esm2015/icons/index.js → esm2020/icons/index.mjs} +0 -0
  86. package/{esm2015/icons/shapes.js → esm2020/icons/shapes.mjs} +0 -0
  87. package/{esm2015/icons/svg-tag-generator.js → esm2020/icons/svg-tag-generator.mjs} +0 -0
  88. package/{esm2015/index.js → esm2020/index.mjs} +3 -1
  89. package/{esm2015/letter-avatar/index.js → esm2020/letter-avatar/index.mjs} +0 -0
  90. package/esm2020/letter-avatar/letter-avatar.mjs +52 -0
  91. package/esm2020/letter-avatar/letter-avatar.module.mjs +24 -0
  92. package/esm2020/location-bar/index.mjs +5 -0
  93. package/esm2020/location-bar/location-bar-node/location-bar-node.component.mjs +97 -0
  94. package/esm2020/location-bar/location-bar.component.mjs +48 -0
  95. package/{esm2015/location-bar/location-bar.model.js → esm2020/location-bar/location-bar.model.mjs} +0 -0
  96. package/esm2020/location-bar/location-bar.module.mjs +20 -0
  97. package/{esm2015/location-bar/location-bar.provider.js → esm2020/location-bar/location-bar.provider.mjs} +0 -0
  98. package/{esm2015/main-nav-group/index.js → esm2020/main-nav-group/index.mjs} +0 -0
  99. package/esm2020/main-nav-group/main-nav-group-item.mjs +27 -0
  100. package/esm2020/main-nav-group/main-nav-group.mjs +153 -0
  101. package/esm2020/main-nav-group/main-nav-group.module.mjs +26 -0
  102. package/esm2020/multilingual/abstract-multilingual.mjs +60 -0
  103. package/{esm2015/multilingual/index.js → esm2020/multilingual/index.mjs} +0 -0
  104. package/esm2020/multilingual/multilingual-input/multilingual-input.mjs +40 -0
  105. package/esm2020/multilingual/multilingual-selector.mjs +81 -0
  106. package/esm2020/multilingual/multilingual-textarea/multilingual-textarea.mjs +40 -0
  107. package/esm2020/multilingual/multilingual-validators.mjs +104 -0
  108. package/esm2020/multilingual/multilingual.module.mjs +48 -0
  109. package/{esm2015/notification/index.js → esm2020/notification/index.mjs} +0 -0
  110. package/{esm2015/notification/notification-ref.js → esm2020/notification/notification-ref.mjs} +0 -0
  111. package/esm2020/notification/notification.mjs +134 -0
  112. package/esm2020/notification/notification.module.mjs +24 -0
  113. package/esm2020/notification/notification.service.mjs +92 -0
  114. package/{esm2015/notification/scheduler-utils.js → esm2020/notification/scheduler-utils.mjs} +0 -0
  115. package/{esm2015/numericfield/index.js → esm2020/numericfield/index.mjs} +0 -0
  116. package/esm2020/numericfield/numeric-field-validators.mjs +140 -0
  117. package/esm2020/numericfield/numeric-field.mjs +372 -0
  118. package/esm2020/numericfield/numeric-field.module.mjs +26 -0
  119. package/{esm2015/paged-search-result-list/index.js → esm2020/paged-search-result-list/index.mjs} +0 -0
  120. package/esm2020/paged-search-result-list/paged-search-result-list.mjs +49 -0
  121. package/esm2020/paged-search-result-list/paged-search-result-list.module.mjs +26 -0
  122. package/{esm2015/pager/index.js → esm2020/pager/index.mjs} +0 -0
  123. package/esm2020/pager/pager.mjs +135 -0
  124. package/esm2020/pager/pager.module.mjs +25 -0
  125. package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
  126. package/esm2020/progress-spinner/progress-spinner.mjs +78 -0
  127. package/esm2020/progress-spinner/progress-spinner.module.mjs +23 -0
  128. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  129. package/esm2020/quick-list/add-option.mjs +65 -0
  130. package/{esm2015/quick-list/add-option.service.js → esm2020/quick-list/add-option.service.mjs} +0 -0
  131. package/{esm2015/quick-list/index.js → esm2020/quick-list/index.mjs} +0 -0
  132. package/esm2020/quick-list/quick-list.mjs +122 -0
  133. package/esm2020/quick-list/quick-list.module.mjs +26 -0
  134. package/{esm2015/searchfield/index.js → esm2020/searchfield/index.mjs} +0 -0
  135. package/esm2020/searchfield/search-field.mjs +100 -0
  136. package/esm2020/searchfield/search-field.module.mjs +25 -0
  137. package/{esm2015/treetable/index.js → esm2020/treetable/index.mjs} +3 -2
  138. package/esm2020/treetable/renderer/cell-renderer.mjs +28 -0
  139. package/esm2020/treetable/renderer/header-renderer.mjs +41 -0
  140. package/esm2020/treetable/renderer/index.mjs +5 -0
  141. package/esm2020/treetable/renderer/main-renderer.mjs +103 -0
  142. package/esm2020/treetable/renderer/row-renderer.mjs +20 -0
  143. package/esm2020/treetable/treetable-action-overflow.mjs +92 -0
  144. package/esm2020/treetable/treetable-cell.mjs +23 -0
  145. package/esm2020/treetable/treetable-column.mjs +23 -0
  146. package/esm2020/treetable/treetable-placeholder.mjs +30 -0
  147. package/esm2020/treetable/treetable-row.mjs +99 -0
  148. package/esm2020/treetable/treetable.mjs +73 -0
  149. package/esm2020/treetable/treetable.module.mjs +63 -0
  150. package/{esm2015/util/escape.util.js → esm2020/util/escape.util.mjs} +0 -0
  151. package/{esm2015/util/index.js → esm2020/util/index.mjs} +0 -0
  152. package/{esm2015/view-edit-section/index.js → esm2020/view-edit-section/index.mjs} +0 -0
  153. package/esm2020/view-edit-section/view-edit-section.mjs +152 -0
  154. package/esm2020/view-edit-section/view-edit-section.module.mjs +25 -0
  155. package/fesm2015/{clr-addons.js → clr-addons.mjs} +1757 -1068
  156. package/fesm2015/clr-addons.mjs.map +1 -0
  157. package/fesm2020/clr-addons.mjs +5055 -0
  158. package/fesm2020/clr-addons.mjs.map +1 -0
  159. package/flow-bar/flow-bar.d.ts +3 -0
  160. package/flow-bar/flow-bar.module.d.ts +8 -0
  161. package/generic-quick-list/generic-quick-list.d.ts +3 -0
  162. package/generic-quick-list/generic-quick-list.module.d.ts +7 -0
  163. package/history/history-pinned.d.ts +3 -0
  164. package/history/history.d.ts +3 -0
  165. package/history/history.module.d.ts +9 -0
  166. package/history/history.service.d.ts +3 -0
  167. package/index.d.ts +2 -0
  168. package/letter-avatar/letter-avatar.d.ts +3 -0
  169. package/letter-avatar/letter-avatar.module.d.ts +7 -0
  170. package/location-bar/index.d.ts +1 -0
  171. package/location-bar/location-bar-node/location-bar-node.component.d.ts +3 -0
  172. package/location-bar/location-bar.component.d.ts +3 -0
  173. package/location-bar/location-bar.module.d.ts +8 -0
  174. package/main-nav-group/main-nav-group-item.d.ts +3 -0
  175. package/main-nav-group/main-nav-group.d.ts +3 -0
  176. package/main-nav-group/main-nav-group.module.d.ts +9 -0
  177. package/multilingual/abstract-multilingual.d.ts +3 -0
  178. package/multilingual/multilingual-input/multilingual-input.d.ts +3 -0
  179. package/multilingual/multilingual-selector.d.ts +3 -0
  180. package/multilingual/multilingual-textarea/multilingual-textarea.d.ts +3 -0
  181. package/multilingual/multilingual-validators.d.ts +5 -0
  182. package/multilingual/multilingual.module.d.ts +11 -0
  183. package/notification/notification.d.ts +3 -0
  184. package/notification/notification.module.d.ts +8 -0
  185. package/notification/notification.service.d.ts +3 -0
  186. package/numericfield/numeric-field-validators.d.ts +5 -0
  187. package/numericfield/numeric-field.d.ts +3 -0
  188. package/numericfield/numeric-field.module.d.ts +9 -0
  189. package/package.json +27 -13
  190. package/paged-search-result-list/paged-search-result-list.d.ts +3 -0
  191. package/paged-search-result-list/paged-search-result-list.module.d.ts +9 -0
  192. package/pager/pager.d.ts +3 -0
  193. package/pager/pager.module.d.ts +8 -0
  194. package/progress-spinner/progress-spinner.d.ts +3 -0
  195. package/progress-spinner/progress-spinner.module.d.ts +6 -0
  196. package/quick-list/add-option.d.ts +3 -0
  197. package/quick-list/quick-list.d.ts +3 -0
  198. package/quick-list/quick-list.module.d.ts +9 -0
  199. package/searchfield/search-field.d.ts +4 -1
  200. package/searchfield/search-field.module.d.ts +8 -0
  201. package/styles/clr-addons-phs.css +6 -4
  202. package/styles/clr-addons-phs.css.map +1 -1
  203. package/styles/clr-addons-phs.min.css +1 -1
  204. package/styles/clr-addons-phs.min.css.map +1 -1
  205. package/treetable/index.d.ts +1 -0
  206. package/treetable/renderer/cell-renderer.d.ts +3 -0
  207. package/treetable/renderer/header-renderer.d.ts +3 -0
  208. package/treetable/renderer/index.d.ts +4 -0
  209. package/treetable/renderer/main-renderer.d.ts +3 -0
  210. package/treetable/renderer/row-renderer.d.ts +3 -0
  211. package/treetable/treetable-action-overflow.d.ts +4 -1
  212. package/treetable/treetable-cell.d.ts +3 -0
  213. package/treetable/treetable-column.d.ts +3 -0
  214. package/treetable/treetable-placeholder.d.ts +3 -0
  215. package/treetable/treetable-row.d.ts +3 -0
  216. package/treetable/treetable.d.ts +3 -0
  217. package/treetable/treetable.module.d.ts +16 -0
  218. package/view-edit-section/view-edit-section.d.ts +11 -1
  219. package/view-edit-section/view-edit-section.module.d.ts +8 -0
  220. package/autocomplete-off/autocomplete-off.module.ngfactory.d.ts +0 -3
  221. package/back-button/back-button.module.ngfactory.d.ts +0 -3
  222. package/back-button/back-button.ngfactory.d.ts +0 -1
  223. package/brand-avatar/brand-avatar.module.ngfactory.d.ts +0 -3
  224. package/brand-avatar/brand-avatar.ngfactory.d.ts +0 -1
  225. package/breadcrumb/breadcrumb.module.ngfactory.d.ts +0 -3
  226. package/breadcrumb/breadcrumb.ngfactory.d.ts +0 -1
  227. package/bundles/clr-addons.umd.js +0 -5121
  228. package/bundles/clr-addons.umd.js.map +0 -1
  229. package/clr-addons.metadata.json +0 -1
  230. package/clr-addons.module.ngfactory.d.ts +0 -3
  231. package/collapse-expand-section/collapse-expand-section.module.ngfactory.d.ts +0 -3
  232. package/collapse-expand-section/collapse-expand-section.ngfactory.d.ts +0 -1
  233. package/content-panel/content-panel-container-content.ngfactory.d.ts +0 -1
  234. package/content-panel/content-panel-container-footer.ngfactory.d.ts +0 -1
  235. package/content-panel/content-panel-container.ngfactory.d.ts +0 -1
  236. package/content-panel/content-panel.module.ngfactory.d.ts +0 -3
  237. package/content-panel/content-panel.ngfactory.d.ts +0 -1
  238. package/data-list-validator/data-list-validator.module.ngfactory.d.ts +0 -3
  239. package/date-time-container/date-time-container.ngfactory.d.ts +0 -1
  240. package/date-time-container/date-time-module.ngfactory.d.ts +0 -3
  241. package/dot-pager/dot-pager.module.ngfactory.d.ts +0 -3
  242. package/dot-pager/dot-pager.ngfactory.d.ts +0 -1
  243. package/esm2015/abstract-form-component/abstract-form-component.js +0 -77
  244. package/esm2015/abstract-form-component/abstract-form-component.ngsummary.json +0 -1
  245. package/esm2015/autocomplete-off/autocomplete-off.directive.js +0 -17
  246. package/esm2015/autocomplete-off/autocomplete-off.directive.ngsummary.json +0 -1
  247. package/esm2015/autocomplete-off/autocomplete-off.module.js +0 -16
  248. package/esm2015/autocomplete-off/autocomplete-off.module.ngfactory.js +0 -13
  249. package/esm2015/autocomplete-off/autocomplete-off.module.ngsummary.json +0 -1
  250. package/esm2015/back-button/back-button.js +0 -25
  251. package/esm2015/back-button/back-button.module.js +0 -20
  252. package/esm2015/back-button/back-button.module.ngfactory.js +0 -17
  253. package/esm2015/back-button/back-button.module.ngsummary.json +0 -1
  254. package/esm2015/back-button/back-button.ngfactory.js +0 -23
  255. package/esm2015/back-button/back-button.ngsummary.json +0 -1
  256. package/esm2015/back-button/index.ngsummary.json +0 -1
  257. package/esm2015/brand-avatar/brand-avatar.js +0 -54
  258. package/esm2015/brand-avatar/brand-avatar.module.js +0 -19
  259. package/esm2015/brand-avatar/brand-avatar.module.ngfactory.js +0 -17
  260. package/esm2015/brand-avatar/brand-avatar.module.ngsummary.json +0 -1
  261. package/esm2015/brand-avatar/brand-avatar.ngfactory.js +0 -19
  262. package/esm2015/brand-avatar/brand-avatar.ngsummary.json +0 -1
  263. package/esm2015/brand-avatar/index.ngsummary.json +0 -1
  264. package/esm2015/breadcrumb/breadcrumb-model.interface.ngsummary.json +0 -1
  265. package/esm2015/breadcrumb/breadcrumb.js +0 -36
  266. package/esm2015/breadcrumb/breadcrumb.module.js +0 -22
  267. package/esm2015/breadcrumb/breadcrumb.module.ngfactory.js +0 -20
  268. package/esm2015/breadcrumb/breadcrumb.module.ngsummary.json +0 -1
  269. package/esm2015/breadcrumb/breadcrumb.ngfactory.js +0 -28
  270. package/esm2015/breadcrumb/breadcrumb.ngsummary.json +0 -1
  271. package/esm2015/breadcrumb/breadcrumb.service.js +0 -23
  272. package/esm2015/breadcrumb/breadcrumb.service.ngsummary.json +0 -1
  273. package/esm2015/breadcrumb/index.ngsummary.json +0 -1
  274. package/esm2015/clr-addons.js +0 -16
  275. package/esm2015/clr-addons.module.js +0 -65
  276. package/esm2015/clr-addons.module.ngfactory.js +0 -46
  277. package/esm2015/clr-addons.module.ngsummary.json +0 -1
  278. package/esm2015/clr-addons.ngsummary.json +0 -1
  279. package/esm2015/collapse-expand-section/collapse-expand-section.js +0 -55
  280. package/esm2015/collapse-expand-section/collapse-expand-section.module.js +0 -20
  281. package/esm2015/collapse-expand-section/collapse-expand-section.module.ngfactory.js +0 -17
  282. package/esm2015/collapse-expand-section/collapse-expand-section.module.ngsummary.json +0 -1
  283. package/esm2015/collapse-expand-section/collapse-expand-section.ngfactory.js +0 -30
  284. package/esm2015/collapse-expand-section/collapse-expand-section.ngsummary.json +0 -1
  285. package/esm2015/collapse-expand-section/index.ngsummary.json +0 -1
  286. package/esm2015/content-panel/content-panel-container-content.js +0 -18
  287. package/esm2015/content-panel/content-panel-container-content.ngfactory.js +0 -18
  288. package/esm2015/content-panel/content-panel-container-content.ngsummary.json +0 -1
  289. package/esm2015/content-panel/content-panel-container-footer.js +0 -18
  290. package/esm2015/content-panel/content-panel-container-footer.ngfactory.js +0 -18
  291. package/esm2015/content-panel/content-panel-container-footer.ngsummary.json +0 -1
  292. package/esm2015/content-panel/content-panel-container.js +0 -25
  293. package/esm2015/content-panel/content-panel-container.ngfactory.js +0 -18
  294. package/esm2015/content-panel/content-panel-container.ngsummary.json +0 -1
  295. package/esm2015/content-panel/content-panel.js +0 -67
  296. package/esm2015/content-panel/content-panel.module.js +0 -28
  297. package/esm2015/content-panel/content-panel.module.ngfactory.js +0 -17
  298. package/esm2015/content-panel/content-panel.module.ngsummary.json +0 -1
  299. package/esm2015/content-panel/content-panel.ngfactory.js +0 -33
  300. package/esm2015/content-panel/content-panel.ngsummary.json +0 -1
  301. package/esm2015/content-panel/index.ngsummary.json +0 -1
  302. package/esm2015/data-list-validator/data-list-predefined-validator.directive.js +0 -30
  303. package/esm2015/data-list-validator/data-list-predefined-validator.directive.ngsummary.json +0 -1
  304. package/esm2015/data-list-validator/data-list-validator.module.js +0 -16
  305. package/esm2015/data-list-validator/data-list-validator.module.ngfactory.js +0 -13
  306. package/esm2015/data-list-validator/data-list-validator.module.ngsummary.json +0 -1
  307. package/esm2015/data-list-validator/data-list.validator.ngsummary.json +0 -1
  308. package/esm2015/data-list-validator/index.ngsummary.json +0 -1
  309. package/esm2015/date-time-container/date-time-container.js +0 -45
  310. package/esm2015/date-time-container/date-time-container.ngfactory.js +0 -19
  311. package/esm2015/date-time-container/date-time-container.ngsummary.json +0 -1
  312. package/esm2015/date-time-container/date-time-module.js +0 -21
  313. package/esm2015/date-time-container/date-time-module.ngfactory.js +0 -17
  314. package/esm2015/date-time-container/date-time-module.ngsummary.json +0 -1
  315. package/esm2015/date-time-container/index.ngsummary.json +0 -1
  316. package/esm2015/date-time-container/time-input.js +0 -17
  317. package/esm2015/date-time-container/time-input.ngsummary.json +0 -1
  318. package/esm2015/dot-pager/dot-pager.js +0 -51
  319. package/esm2015/dot-pager/dot-pager.module.js +0 -20
  320. package/esm2015/dot-pager/dot-pager.module.ngfactory.js +0 -17
  321. package/esm2015/dot-pager/dot-pager.module.ngsummary.json +0 -1
  322. package/esm2015/dot-pager/dot-pager.ngfactory.js +0 -48
  323. package/esm2015/dot-pager/dot-pager.ngsummary.json +0 -1
  324. package/esm2015/dot-pager/index.ngsummary.json +0 -1
  325. package/esm2015/flow-bar/flow-bar.js +0 -154
  326. package/esm2015/flow-bar/flow-bar.module.js +0 -20
  327. package/esm2015/flow-bar/flow-bar.module.ngfactory.js +0 -17
  328. package/esm2015/flow-bar/flow-bar.module.ngsummary.json +0 -1
  329. package/esm2015/flow-bar/flow-bar.ngfactory.js +0 -33
  330. package/esm2015/flow-bar/flow-bar.ngsummary.json +0 -1
  331. package/esm2015/flow-bar/index.ngsummary.json +0 -1
  332. package/esm2015/generic-quick-list/generic-quick-list.js +0 -72
  333. package/esm2015/generic-quick-list/generic-quick-list.module.js +0 -19
  334. package/esm2015/generic-quick-list/generic-quick-list.module.ngfactory.js +0 -17
  335. package/esm2015/generic-quick-list/generic-quick-list.module.ngsummary.json +0 -1
  336. package/esm2015/generic-quick-list/generic-quick-list.ngfactory.js +0 -31
  337. package/esm2015/generic-quick-list/generic-quick-list.ngsummary.json +0 -1
  338. package/esm2015/generic-quick-list/index.ngsummary.json +0 -1
  339. package/esm2015/history/history-model.interface.ngsummary.json +0 -1
  340. package/esm2015/history/history-pinned.js +0 -45
  341. package/esm2015/history/history-pinned.ngfactory.js +0 -23
  342. package/esm2015/history/history-pinned.ngsummary.json +0 -1
  343. package/esm2015/history/history.js +0 -55
  344. package/esm2015/history/history.module.js +0 -21
  345. package/esm2015/history/history.module.ngfactory.js +0 -19
  346. package/esm2015/history/history.module.ngsummary.json +0 -1
  347. package/esm2015/history/history.ngfactory.js +0 -36
  348. package/esm2015/history/history.ngsummary.json +0 -1
  349. package/esm2015/history/history.service.js +0 -204
  350. package/esm2015/history/history.service.ngsummary.json +0 -1
  351. package/esm2015/history/index.ngsummary.json +0 -1
  352. package/esm2015/icons/index.ngsummary.json +0 -1
  353. package/esm2015/icons/shapes.ngsummary.json +0 -1
  354. package/esm2015/icons/svg-tag-generator.ngsummary.json +0 -1
  355. package/esm2015/index.ngsummary.json +0 -1
  356. package/esm2015/letter-avatar/index.ngsummary.json +0 -1
  357. package/esm2015/letter-avatar/letter-avatar.js +0 -48
  358. package/esm2015/letter-avatar/letter-avatar.module.js +0 -19
  359. package/esm2015/letter-avatar/letter-avatar.module.ngfactory.js +0 -17
  360. package/esm2015/letter-avatar/letter-avatar.module.ngsummary.json +0 -1
  361. package/esm2015/letter-avatar/letter-avatar.ngfactory.js +0 -18
  362. package/esm2015/letter-avatar/letter-avatar.ngsummary.json +0 -1
  363. package/esm2015/location-bar/index.js +0 -4
  364. package/esm2015/location-bar/index.ngsummary.json +0 -1
  365. package/esm2015/location-bar/location-bar-node/location-bar-node.component.js +0 -92
  366. package/esm2015/location-bar/location-bar-node/location-bar-node.component.ngfactory.js +0 -50
  367. package/esm2015/location-bar/location-bar-node/location-bar-node.component.ngsummary.json +0 -1
  368. package/esm2015/location-bar/location-bar.component.js +0 -38
  369. package/esm2015/location-bar/location-bar.component.ngfactory.js +0 -25
  370. package/esm2015/location-bar/location-bar.component.ngsummary.json +0 -1
  371. package/esm2015/location-bar/location-bar.model.ngsummary.json +0 -1
  372. package/esm2015/location-bar/location-bar.module.js +0 -15
  373. package/esm2015/location-bar/location-bar.module.ngfactory.js +0 -13
  374. package/esm2015/location-bar/location-bar.module.ngsummary.json +0 -1
  375. package/esm2015/location-bar/location-bar.provider.ngsummary.json +0 -1
  376. package/esm2015/main-nav-group/index.ngsummary.json +0 -1
  377. package/esm2015/main-nav-group/main-nav-group-item.js +0 -27
  378. package/esm2015/main-nav-group/main-nav-group-item.ngsummary.json +0 -1
  379. package/esm2015/main-nav-group/main-nav-group.js +0 -153
  380. package/esm2015/main-nav-group/main-nav-group.module.js +0 -21
  381. package/esm2015/main-nav-group/main-nav-group.module.ngfactory.js +0 -17
  382. package/esm2015/main-nav-group/main-nav-group.module.ngsummary.json +0 -1
  383. package/esm2015/main-nav-group/main-nav-group.ngfactory.js +0 -26
  384. package/esm2015/main-nav-group/main-nav-group.ngsummary.json +0 -1
  385. package/esm2015/multilingual/abstract-multilingual.js +0 -50
  386. package/esm2015/multilingual/abstract-multilingual.ngsummary.json +0 -1
  387. package/esm2015/multilingual/index.ngsummary.json +0 -1
  388. package/esm2015/multilingual/multilingual-input/multilingual-input.js +0 -32
  389. package/esm2015/multilingual/multilingual-input/multilingual-input.ngfactory.js +0 -46
  390. package/esm2015/multilingual/multilingual-input/multilingual-input.ngsummary.json +0 -1
  391. package/esm2015/multilingual/multilingual-selector.js +0 -46
  392. package/esm2015/multilingual/multilingual-selector.ngfactory.js +0 -28
  393. package/esm2015/multilingual/multilingual-selector.ngsummary.json +0 -1
  394. package/esm2015/multilingual/multilingual-textarea/multilingual-textarea.js +0 -32
  395. package/esm2015/multilingual/multilingual-textarea/multilingual-textarea.ngfactory.js +0 -46
  396. package/esm2015/multilingual/multilingual-textarea/multilingual-textarea.ngsummary.json +0 -1
  397. package/esm2015/multilingual/multilingual-validators.js +0 -97
  398. package/esm2015/multilingual/multilingual-validators.ngsummary.json +0 -1
  399. package/esm2015/multilingual/multilingual.module.js +0 -35
  400. package/esm2015/multilingual/multilingual.module.ngfactory.js +0 -17
  401. package/esm2015/multilingual/multilingual.module.ngsummary.json +0 -1
  402. package/esm2015/notification/index.ngsummary.json +0 -1
  403. package/esm2015/notification/notification-ref.ngsummary.json +0 -1
  404. package/esm2015/notification/notification.js +0 -114
  405. package/esm2015/notification/notification.module.js +0 -20
  406. package/esm2015/notification/notification.module.ngfactory.js +0 -18
  407. package/esm2015/notification/notification.module.ngsummary.json +0 -1
  408. package/esm2015/notification/notification.ngfactory.js +0 -25
  409. package/esm2015/notification/notification.ngsummary.json +0 -1
  410. package/esm2015/notification/notification.service.js +0 -92
  411. package/esm2015/notification/notification.service.ngsummary.json +0 -1
  412. package/esm2015/notification/scheduler-utils.ngsummary.json +0 -1
  413. package/esm2015/numericfield/index.ngsummary.json +0 -1
  414. package/esm2015/numericfield/numeric-field-validators.js +0 -125
  415. package/esm2015/numericfield/numeric-field-validators.ngsummary.json +0 -1
  416. package/esm2015/numericfield/numeric-field.js +0 -348
  417. package/esm2015/numericfield/numeric-field.module.js +0 -21
  418. package/esm2015/numericfield/numeric-field.module.ngfactory.js +0 -17
  419. package/esm2015/numericfield/numeric-field.module.ngsummary.json +0 -1
  420. package/esm2015/numericfield/numeric-field.ngsummary.json +0 -1
  421. package/esm2015/paged-search-result-list/index.ngsummary.json +0 -1
  422. package/esm2015/paged-search-result-list/paged-search-result-list.js +0 -34
  423. package/esm2015/paged-search-result-list/paged-search-result-list.module.js +0 -21
  424. package/esm2015/paged-search-result-list/paged-search-result-list.module.ngfactory.js +0 -18
  425. package/esm2015/paged-search-result-list/paged-search-result-list.module.ngsummary.json +0 -1
  426. package/esm2015/paged-search-result-list/paged-search-result-list.ngfactory.js +0 -31
  427. package/esm2015/paged-search-result-list/paged-search-result-list.ngsummary.json +0 -1
  428. package/esm2015/pager/index.ngsummary.json +0 -1
  429. package/esm2015/pager/pager.js +0 -125
  430. package/esm2015/pager/pager.module.js +0 -20
  431. package/esm2015/pager/pager.module.ngfactory.js +0 -17
  432. package/esm2015/pager/pager.module.ngsummary.json +0 -1
  433. package/esm2015/pager/pager.ngfactory.js +0 -43
  434. package/esm2015/pager/pager.ngsummary.json +0 -1
  435. package/esm2015/progress-spinner/index.ngsummary.json +0 -1
  436. package/esm2015/progress-spinner/progress-spinner.js +0 -69
  437. package/esm2015/progress-spinner/progress-spinner.module.js +0 -18
  438. package/esm2015/progress-spinner/progress-spinner.module.ngfactory.js +0 -12
  439. package/esm2015/progress-spinner/progress-spinner.module.ngsummary.json +0 -1
  440. package/esm2015/progress-spinner/progress-spinner.ngfactory.js +0 -18
  441. package/esm2015/progress-spinner/progress-spinner.ngsummary.json +0 -1
  442. package/esm2015/public_api.ngsummary.json +0 -1
  443. package/esm2015/quick-list/add-option.js +0 -53
  444. package/esm2015/quick-list/add-option.ngfactory.js +0 -36
  445. package/esm2015/quick-list/add-option.ngsummary.json +0 -1
  446. package/esm2015/quick-list/add-option.service.ngsummary.json +0 -1
  447. package/esm2015/quick-list/index.ngsummary.json +0 -1
  448. package/esm2015/quick-list/quick-list.js +0 -98
  449. package/esm2015/quick-list/quick-list.module.js +0 -21
  450. package/esm2015/quick-list/quick-list.module.ngfactory.js +0 -17
  451. package/esm2015/quick-list/quick-list.module.ngsummary.json +0 -1
  452. package/esm2015/quick-list/quick-list.ngfactory.js +0 -33
  453. package/esm2015/quick-list/quick-list.ngsummary.json +0 -1
  454. package/esm2015/searchfield/index.ngsummary.json +0 -1
  455. package/esm2015/searchfield/search-field.js +0 -100
  456. package/esm2015/searchfield/search-field.module.js +0 -20
  457. package/esm2015/searchfield/search-field.module.ngfactory.js +0 -17
  458. package/esm2015/searchfield/search-field.module.ngsummary.json +0 -1
  459. package/esm2015/searchfield/search-field.ngsummary.json +0 -1
  460. package/esm2015/treetable/index.ngsummary.json +0 -1
  461. package/esm2015/treetable/renderer/cell-renderer.js +0 -28
  462. package/esm2015/treetable/renderer/cell-renderer.ngsummary.json +0 -1
  463. package/esm2015/treetable/renderer/header-renderer.js +0 -41
  464. package/esm2015/treetable/renderer/header-renderer.ngsummary.json +0 -1
  465. package/esm2015/treetable/renderer/main-renderer.js +0 -93
  466. package/esm2015/treetable/renderer/main-renderer.ngsummary.json +0 -1
  467. package/esm2015/treetable/renderer/row-renderer.js +0 -16
  468. package/esm2015/treetable/renderer/row-renderer.ngsummary.json +0 -1
  469. package/esm2015/treetable/treetable-action-overflow.js +0 -77
  470. package/esm2015/treetable/treetable-action-overflow.ngfactory.js +0 -31
  471. package/esm2015/treetable/treetable-action-overflow.ngsummary.json +0 -1
  472. package/esm2015/treetable/treetable-cell.js +0 -19
  473. package/esm2015/treetable/treetable-cell.ngfactory.js +0 -18
  474. package/esm2015/treetable/treetable-cell.ngsummary.json +0 -1
  475. package/esm2015/treetable/treetable-column.js +0 -19
  476. package/esm2015/treetable/treetable-column.ngfactory.js +0 -18
  477. package/esm2015/treetable/treetable-column.ngsummary.json +0 -1
  478. package/esm2015/treetable/treetable-placeholder.js +0 -21
  479. package/esm2015/treetable/treetable-placeholder.ngfactory.js +0 -16
  480. package/esm2015/treetable/treetable-placeholder.ngsummary.json +0 -1
  481. package/esm2015/treetable/treetable-row.js +0 -80
  482. package/esm2015/treetable/treetable-row.ngfactory.js +0 -30
  483. package/esm2015/treetable/treetable-row.ngsummary.json +0 -1
  484. package/esm2015/treetable/treetable.js +0 -67
  485. package/esm2015/treetable/treetable.module.js +0 -40
  486. package/esm2015/treetable/treetable.module.ngfactory.js +0 -17
  487. package/esm2015/treetable/treetable.module.ngsummary.json +0 -1
  488. package/esm2015/treetable/treetable.ngfactory.js +0 -18
  489. package/esm2015/treetable/treetable.ngsummary.json +0 -1
  490. package/esm2015/util/escape.util.ngsummary.json +0 -1
  491. package/esm2015/util/index.ngsummary.json +0 -1
  492. package/esm2015/view-edit-section/index.ngsummary.json +0 -1
  493. package/esm2015/view-edit-section/view-edit-section.js +0 -57
  494. package/esm2015/view-edit-section/view-edit-section.module.js +0 -20
  495. package/esm2015/view-edit-section/view-edit-section.module.ngfactory.js +0 -17
  496. package/esm2015/view-edit-section/view-edit-section.module.ngsummary.json +0 -1
  497. package/esm2015/view-edit-section/view-edit-section.ngfactory.js +0 -48
  498. package/esm2015/view-edit-section/view-edit-section.ngsummary.json +0 -1
  499. package/fesm2015/clr-addons.js.map +0 -1
  500. package/flow-bar/flow-bar.module.ngfactory.d.ts +0 -3
  501. package/flow-bar/flow-bar.ngfactory.d.ts +0 -1
  502. package/generic-quick-list/generic-quick-list.module.ngfactory.d.ts +0 -3
  503. package/generic-quick-list/generic-quick-list.ngfactory.d.ts +0 -1
  504. package/history/history-pinned.ngfactory.d.ts +0 -1
  505. package/history/history.module.ngfactory.d.ts +0 -3
  506. package/history/history.ngfactory.d.ts +0 -1
  507. package/letter-avatar/letter-avatar.module.ngfactory.d.ts +0 -3
  508. package/letter-avatar/letter-avatar.ngfactory.d.ts +0 -1
  509. package/location-bar/location-bar-node/location-bar-node.component.ngfactory.d.ts +0 -1
  510. package/location-bar/location-bar.component.ngfactory.d.ts +0 -1
  511. package/location-bar/location-bar.module.ngfactory.d.ts +0 -3
  512. package/main-nav-group/main-nav-group.module.ngfactory.d.ts +0 -3
  513. package/main-nav-group/main-nav-group.ngfactory.d.ts +0 -1
  514. package/multilingual/multilingual-input/multilingual-input.ngfactory.d.ts +0 -1
  515. package/multilingual/multilingual-selector.ngfactory.d.ts +0 -1
  516. package/multilingual/multilingual-textarea/multilingual-textarea.ngfactory.d.ts +0 -1
  517. package/multilingual/multilingual.module.ngfactory.d.ts +0 -3
  518. package/notification/notification.module.ngfactory.d.ts +0 -3
  519. package/notification/notification.ngfactory.d.ts +0 -1
  520. package/numericfield/numeric-field.module.ngfactory.d.ts +0 -3
  521. package/paged-search-result-list/paged-search-result-list.module.ngfactory.d.ts +0 -3
  522. package/paged-search-result-list/paged-search-result-list.ngfactory.d.ts +0 -1
  523. package/pager/pager.module.ngfactory.d.ts +0 -3
  524. package/pager/pager.ngfactory.d.ts +0 -1
  525. package/progress-spinner/progress-spinner.module.ngfactory.d.ts +0 -3
  526. package/progress-spinner/progress-spinner.ngfactory.d.ts +0 -1
  527. package/quick-list/add-option.ngfactory.d.ts +0 -1
  528. package/quick-list/quick-list.module.ngfactory.d.ts +0 -3
  529. package/quick-list/quick-list.ngfactory.d.ts +0 -1
  530. package/searchfield/search-field.module.ngfactory.d.ts +0 -3
  531. package/src/back-button/back-button.scss +0 -7
  532. package/src/brand-avatar/brand-avatar.scss +0 -26
  533. package/src/breadcrumb/breadcrumb.scss +0 -21
  534. package/src/collapse-expand-section/collapse-expand-section.scss +0 -32
  535. package/src/components.clr-addons.scss +0 -391
  536. package/src/components.variables.clr-addons.scss +0 -42
  537. package/src/content-panel/content-panel.scss +0 -90
  538. package/src/date-time-container/date-time-container.scss +0 -18
  539. package/src/dot-pager/dot-pager.scss +0 -11
  540. package/src/flow-bar/flow-bar.scss +0 -95
  541. package/src/generic-quick-list/generic-quick-list.scss +0 -219
  542. package/src/header.clr-addons.scss +0 -377
  543. package/src/history/history.scss +0 -25
  544. package/src/letter-avatar/letter-avatar.scss +0 -27
  545. package/src/location-bar/location-bar-node/location-bar-node.component.scss +0 -54
  546. package/src/main-nav-group/main-nav-group.scss +0 -156
  547. package/src/mixins.scss +0 -38
  548. package/src/mobile.scss +0 -103
  549. package/src/multilingual/multilingual.scss +0 -39
  550. package/src/notification/notification.scss +0 -94
  551. package/src/numericfield/numeric-field.scss +0 -18
  552. package/src/paged-search-result-list/paged-search-result-list.scss +0 -10
  553. package/src/pager/pager.scss +0 -22
  554. package/src/progress-spinner/progress-spinner.scss +0 -15
  555. package/src/quick-list/quick-list.scss +0 -23
  556. package/src/searchfield/search-field.scss +0 -33
  557. package/src/themes/phs/css.overrides.scss +0 -148
  558. package/src/themes/phs/phs-theme.scss +0 -13
  559. package/src/themes/phs/theme.clarity.scss +0 -262
  560. package/src/themes/phs/variables.color.scss +0 -41
  561. package/src/treetable/treetable.scss +0 -338
  562. package/src/view-edit-section/view-edit-section.scss +0 -40
  563. package/treetable/treetable-action-overflow.ngfactory.d.ts +0 -1
  564. package/treetable/treetable-cell.ngfactory.d.ts +0 -1
  565. package/treetable/treetable-column.ngfactory.d.ts +0 -1
  566. package/treetable/treetable-placeholder.ngfactory.d.ts +0 -1
  567. package/treetable/treetable-row.ngfactory.d.ts +0 -1
  568. package/treetable/treetable.module.ngfactory.d.ts +0 -3
  569. package/treetable/treetable.ngfactory.d.ts +0 -1
  570. package/view-edit-section/view-edit-section.module.ngfactory.d.ts +0 -3
  571. package/view-edit-section/view-edit-section.ngfactory.d.ts +0 -1
@@ -0,0 +1,27 @@
1
+ import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ClrMainNavGroupItem {
4
+ constructor(el, renderer) {
5
+ this.el = el;
6
+ this.renderer = renderer;
7
+ this.disabled = false;
8
+ renderer.setAttribute(el.nativeElement, 'tabindex', '-1');
9
+ }
10
+ focus() {
11
+ this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '0');
12
+ this.el.nativeElement.focus();
13
+ }
14
+ blur() {
15
+ this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');
16
+ this.el.nativeElement.blur();
17
+ }
18
+ }
19
+ ClrMainNavGroupItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroupItem, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
20
+ ClrMainNavGroupItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: ClrMainNavGroupItem, selector: "[clrMainNavGroupItem]", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroupItem, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[clrMainNavGroupItem]',
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYtZ3JvdXAtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL21haW4tbmF2LWdyb3VwL21haW4tbmF2LWdyb3VwLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLEVBQTJCLEVBQVUsUUFBbUI7UUFBeEQsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSTVFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFIZixRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFJRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7O2dIQWRVLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyTWFpbk5hdkdyb3VwSXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJNYWluTmF2R3JvdXBJdGVtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAnLTEnKTtcbiAgfVxuXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAnMCcpO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG4gIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAnLTEnKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,153 @@
1
+ /*
2
+ * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { Component, Input, Injector, ElementRef, Renderer2, ContentChildren, QueryList, } from '@angular/core';
7
+ import { ClrMainNavGroupItem } from './main-nav-group-item';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@clr/angular";
10
+ let instances = 0;
11
+ var ArrowKeyDirection;
12
+ (function (ArrowKeyDirection) {
13
+ ArrowKeyDirection[ArrowKeyDirection["UP"] = 0] = "UP";
14
+ ArrowKeyDirection[ArrowKeyDirection["DOWN"] = 1] = "DOWN";
15
+ })(ArrowKeyDirection || (ArrowKeyDirection = {}));
16
+ export class ClrMainNavGroup {
17
+ constructor(injector) {
18
+ this.prefix = 'mainNavGroup';
19
+ this.unlistenFuncs = [];
20
+ this.currentFocusedId = 0;
21
+ this.el = injector.get(ElementRef);
22
+ this.renderer = injector.get(Renderer2);
23
+ }
24
+ ngOnInit() {
25
+ this.id = ++instances;
26
+ this.listenForCloseEvents();
27
+ this.attachResizeListener();
28
+ this.listenToArrowKeys();
29
+ }
30
+ ngOnDestroy() {
31
+ this.detachListener();
32
+ }
33
+ onClick(event) {
34
+ const input = document.getElementById(this.prefix + this.id);
35
+ if (event.target.classList.contains('collapsible')) {
36
+ // toggle hidden checkbox when clicking nav group div
37
+ input.checked = !input.checked;
38
+ if (input.checked) {
39
+ this.focusFirstItemOnOpen();
40
+ }
41
+ }
42
+ if (event.target.classList.contains('nav-trigger') ||
43
+ event.target.parentElement.classList.contains('nav-trigger')) {
44
+ // '!checked' as the nav-trigger click comes before the update of the checkbox
45
+ if (!input.checked) {
46
+ this.focusFirstItemOnOpen();
47
+ }
48
+ }
49
+ }
50
+ isActive() {
51
+ /* is active outside hamburger menu */
52
+ return this.el.nativeElement.classList.contains('active') && !this.el.nativeElement.closest('.open-hamburger-menu');
53
+ }
54
+ isChecked() {
55
+ /* expand to currently active menu inside hamburger menu */
56
+ return this.el.nativeElement.classList.contains('active') && this.el.nativeElement.closest('.open-hamburger-menu');
57
+ }
58
+ closeMenus(selector) {
59
+ selector = '.main-container:not(.open-hamburger-menu) ' + selector;
60
+ const hiddenInputs = document.querySelectorAll(selector);
61
+ // tslint:disable-next-line:prefer-for-of
62
+ for (let i = 0; i < hiddenInputs.length; i++) {
63
+ hiddenInputs[i].checked = false;
64
+ }
65
+ }
66
+ listenForCloseEvents() {
67
+ this.unlistenFuncs.push(this.renderer.listen(this.el.nativeElement, 'click', event => {
68
+ /* close other menus when opening this one */
69
+ this.closeMenus('[id^=' + this.prefix + ']:not(#' + this.prefix + this.id + ')');
70
+ if (!event.target.classList.contains('nav-link') || event.target.classList.contains('collapsible')) {
71
+ if (event.target.closest('.open-hamburger-menu')) {
72
+ // stop click handler for grouping items, otherwise hamburger menu gets closed
73
+ event.stopPropagation();
74
+ }
75
+ else {
76
+ // ignore even on document level for grouping items, otherwise menu gets closed right after it was opened
77
+ this.ignore = event;
78
+ }
79
+ }
80
+ }));
81
+ this.unlistenFuncs.push(this.renderer.listen('document', 'click', event => {
82
+ /* close menu when clicking anywhere in the document */
83
+ if (this.ignore === event) {
84
+ delete this.ignore;
85
+ }
86
+ else {
87
+ this.closeMenus('#' + this.prefix + this.id);
88
+ }
89
+ }));
90
+ this.unlistenFuncs.push(this.renderer.listen(this.el.nativeElement, 'keydown.tab', () => {
91
+ this.closeMenus('#' + this.prefix + this.id);
92
+ }));
93
+ this.unlistenFuncs.push(this.renderer.listen(this.el.nativeElement, 'keydown.shift.tab', () => {
94
+ this.closeMenus('#' + this.prefix + this.id);
95
+ }));
96
+ this.unlistenFuncs.push(this.renderer.listen(this.el.nativeElement, 'keydown.esc', () => {
97
+ this.closeMenus('#' + this.prefix + this.id);
98
+ }));
99
+ }
100
+ attachResizeListener() {
101
+ this.unlistenFuncs.push(this.renderer.listen('window', 'resize', () => {
102
+ /* when resizing window above 768, remove open-hamburger-menu when present */
103
+ if (!window.matchMedia('(max-width: 992px)').matches) {
104
+ const hamburgerMenu = this.el.nativeElement.closest('.open-hamburger-menu');
105
+ if (hamburgerMenu) {
106
+ hamburgerMenu.classList.remove('open-hamburger-menu');
107
+ this.closeMenus('[id^=' + this.prefix + ']');
108
+ }
109
+ }
110
+ }));
111
+ }
112
+ detachListener() {
113
+ this.unlistenFuncs.forEach((unlisten) => unlisten());
114
+ }
115
+ listenToArrowKeys() {
116
+ this.unlistenFuncs.push(this.renderer.listen(this.el.nativeElement, 'keydown.arrowup', () => this.move(ArrowKeyDirection.UP)));
117
+ this.unlistenFuncs.push(this.renderer.listen(this.el.nativeElement, 'keydown.arrowdown', () => this.move(ArrowKeyDirection.DOWN)));
118
+ }
119
+ move(direction) {
120
+ if (!this.items || this.items.length <= 0) {
121
+ return;
122
+ }
123
+ this.items.toArray()[this.currentFocusedId].blur();
124
+ if (direction === ArrowKeyDirection.DOWN) {
125
+ this.currentFocusedId = this.currentFocusedId >= this.items.length - 1 ? 0 : this.currentFocusedId + 1;
126
+ }
127
+ else if (direction === ArrowKeyDirection.UP) {
128
+ this.currentFocusedId = this.currentFocusedId === 0 ? this.items.length - 1 : this.currentFocusedId - 1;
129
+ }
130
+ this.items.toArray()[this.currentFocusedId].focus();
131
+ }
132
+ focusFirstItemOnOpen() {
133
+ if (!this.items || this.items.length <= 0) {
134
+ return;
135
+ }
136
+ this.items.forEach(item => item.blur());
137
+ this.currentFocusedId = 0;
138
+ setTimeout(() => this.items.toArray()[this.currentFocusedId].focus());
139
+ }
140
+ }
141
+ ClrMainNavGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroup, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
142
+ ClrMainNavGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: ClrMainNavGroup, selector: "clr-main-nav-group", inputs: { title: ["clrTitle", "title"] }, host: { properties: { "class.main-nav-group": "true" } }, queries: [{ propertyName: "items", predicate: ClrMainNavGroupItem }], ngImport: i0, template: "<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\">{{title}}<clr-icon shape=\"caret down\"></clr-icon></label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n", directives: [{ type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { type: i1.ClrIconCustomTag, selector: "clr-icon" }] });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroup, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: 'clr-main-nav-group', host: { '[class.main-nav-group]': 'true' }, template: "<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\">{{title}}<clr-icon shape=\"caret down\"></clr-icon></label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n" }]
146
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { title: [{
147
+ type: Input,
148
+ args: ['clrTitle']
149
+ }], items: [{
150
+ type: ContentChildren,
151
+ args: [ClrMainNavGroupItem]
152
+ }] } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tYWluLW5hdi1ncm91cC9tYWluLW5hdi1ncm91cC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL21haW4tbmF2LWdyb3VwL21haW4tbmF2LWdyb3VwLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUdULGVBQWUsRUFDZixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUU1RCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFFbEIsSUFBSyxpQkFHSjtBQUhELFdBQUssaUJBQWlCO0lBQ3BCLHFEQUFFLENBQUE7SUFDRix5REFBSSxDQUFBO0FBQ04sQ0FBQyxFQUhJLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHckI7QUFPRCxNQUFNLE9BQU8sZUFBZTtJQWExQixZQUFZLFFBQWtCO1FBVjlCLFdBQU0sR0FBRyxjQUFjLENBQUM7UUFJaEIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBSW5DLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUczQixJQUFJLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMs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QyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUN6QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs0R0F2S1UsZUFBZTtnR0FBZixlQUFlLG9MQVVULG1CQUFtQiw2QkN4Q3RDLCtmQWNBOzJGRGdCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLG9CQUFvQixRQUV4QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRTsrRkFHdkIsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxVQUFVO2dCQVNxQixLQUFLO3NCQUExQyxlQUFlO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBJbmplY3RvcixcbiAgRWxlbWVudFJlZixcbiAgUmVuZGVyZXIyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyTWFpbk5hdkdyb3VwSXRlbSB9IGZyb20gJy4vbWFpbi1uYXYtZ3JvdXAtaXRlbSc7XG5cbmxldCBpbnN0YW5jZXMgPSAwO1xuXG5lbnVtIEFycm93S2V5RGlyZWN0aW9uIHtcbiAgVVAsXG4gIERPV04sXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1tYWluLW5hdi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdi1ncm91cC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLm1haW4tbmF2LWdyb3VwXSc6ICd0cnVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJNYWluTmF2R3JvdXAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnY2xyVGl0bGUnKSB0aXRsZTogc3RyaW5nO1xuXG4gIHByZWZpeCA9ICdtYWluTmF2R3JvdXAnO1xuICBpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWY7XG4gIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwcml2YXRlIHVubGlzdGVuRnVuY3M6IHsgKCk6IHZvaWQgfVtdID0gW107XG4gIHByaXZhdGUgaWdub3JlOiBhbnk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDbHJNYWluTmF2R3JvdXBJdGVtKSBpdGVtczogUXVlcnlMaXN0PENsck1haW5OYXZHcm91cEl0ZW0+O1xuICBwcml2YXRlIGN1cnJlbnRGb2N1c2VkSWQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuZWwgPSBpbmplY3Rvci5nZXQoRWxlbWVudFJlZik7XG4gICAgdGhpcy5yZW5kZXJlciA9IGluamVjdG9yLmdldChSZW5kZXJlcjIpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9ICsraW5zdGFuY2VzO1xuICAgIHRoaXMubGlzdGVuRm9yQ2xvc2VFdmVudHMoKTtcbiAgICB0aGlzLmF0dGFjaFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgdGhpcy5saXN0ZW5Ub0Fycm93S2V5cygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2hMaXN0ZW5lcigpO1xuICB9XG5cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wcmVmaXggKyB0aGlzLmlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbGxhcHNpYmxlJykpIHtcbiAgICAgIC8vIHRvZ2dsZSBoaWRkZW4gY2hlY2tib3ggd2hlbiBjbGlja2luZyBuYXYgZ3JvdXAgZGl2XG4gICAgICBpbnB1dC5jaGVja2VkID0gIWlucHV0LmNoZWNrZWQ7XG4gICAgICBpZiAoaW5wdXQuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtT25PcGVuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LXRyaWdnZXInKSB8fFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi10cmlnZ2VyJylcbiAgICApIHtcbiAgICAgIC8vICchY2hlY2tlZCcgYXMgdGhlIG5hdi10cmlnZ2VyIGNsaWNrIGNvbWVzIGJlZm9yZSB0aGUgdXBkYXRlIG9mIHRoZSBjaGVja2JveFxuICAgICAgaWYgKCFpbnB1dC5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuZm9jdXNGaXJzdEl0ZW1Pbk9wZW4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAvKiBpcyBhY3RpdmUgb3V0c2lkZSBoYW1idXJnZXIgbWVudSAqL1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKSAmJiAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5vcGVuLWhhbWJ1cmdlci1tZW51Jyk7XG4gIH1cblxuICBpc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgLyogZXhwYW5kIHRvIGN1cnJlbnRseSBhY3RpdmUgbWVudSBpbnNpZGUgaGFtYnVyZ2VyIG1lbnUgKi9cbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlJykgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5vcGVuLWhhbWJ1cmdlci1tZW51Jyk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlTWVudXMoc2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIHNlbGVjdG9yID0gJy5tYWluLWNvbnRhaW5lcjpub3QoLm9wZW4taGFtYnVyZ2VyLW1lbnUpICcgKyBzZWxlY3RvcjtcbiAgICBjb25zdCBoaWRkZW5JbnB1dHM6IE5vZGVMaXN0T2Y8SFRNTElucHV0RWxlbWVudD4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGlkZGVuSW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBoaWRkZW5JbnB1dHNbaV0uY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yQ2xvc2VFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgLyogY2xvc2Ugb3RoZXIgbWVudXMgd2hlbiBvcGVuaW5nIHRoaXMgb25lICovXG4gICAgICAgIHRoaXMuY2xvc2VNZW51cygnW2lkXj0nICsgdGhpcy5wcmVmaXggKyAnXTpub3QoIycgKyB0aGlzLnByZWZpeCArIHRoaXMuaWQgKyAnKScpO1xuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi1saW5rJykgfHwgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnY29sbGFwc2libGUnKSkge1xuICAgICAgICAgIGlmIChldmVudC50YXJnZXQuY2xvc2VzdCgnLm9wZW4taGFtYnVyZ2VyLW1lbnUnKSkge1xuICAgICAgICAgICAgLy8gc3RvcCBjbGljayBoYW5kbGVyIGZvciBncm91cGluZyBpdGVtcywgb3RoZXJ3aXNlIGhhbWJ1cmdlciBtZW51IGdldHMgY2xvc2VkXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWdub3JlIGV2ZW4gb24gZG9jdW1lbnQgbGV2ZWwgZm9yIGdyb3VwaW5nIGl0ZW1zLCBvdGhlcndpc2UgbWVudSBnZXRzIGNsb3NlZCByaWdodCBhZnRlciBpdCB3YXMgb3BlbmVkXG4gICAgICAgICAgICB0aGlzLmlnbm9yZSA9IGV2ZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgIC8qIGNsb3NlIG1lbnUgd2hlbiBjbGlja2luZyBhbnl3aGVyZSBpbiB0aGUgZG9jdW1lbnQgKi9cbiAgICAgICAgaWYgKHRoaXMuaWdub3JlID09PSBldmVudCkge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLmlnbm9yZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsb3NlTWVudXMoJyMnICsgdGhpcy5wcmVmaXggKyB0aGlzLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duLnRhYicsICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1lbnVzKCcjJyArIHRoaXMucHJlZml4ICsgdGhpcy5pZCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uc2hpZnQudGFiJywgKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTWVudXMoJyMnICsgdGhpcy5wcmVmaXggKyB0aGlzLmlkKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bi5lc2MnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51cygnIycgKyB0aGlzLnByZWZpeCArIHRoaXMuaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hSZXNpemVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKCkgPT4ge1xuICAgICAgICAvKiB3aGVuIHJlc2l6aW5nIHdpbmRvdyBhYm92ZSA3NjgsIHJlbW92ZSBvcGVuLWhhbWJ1cmdlci1tZW51IHdoZW4gcHJlc2VudCAqL1xuICAgICAgICBpZiAoIXdpbmRvdy5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA5OTJweCknKS5tYXRjaGVzKSB7XG4gICAgICAgICAgY29uc3QgaGFtYnVyZ2VyTWVudSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcub3Blbi1oYW1idXJnZXItbWVudScpIGFzIEVsZW1lbnQ7XG4gICAgICAgICAgaWYgKGhhbWJ1cmdlck1lbnUpIHtcbiAgICAgICAgICAgIGhhbWJ1cmdlck1lbnUuY2xhc3NMaXN0LnJlbW92ZSgnb3Blbi1oYW1idXJnZXItbWVudScpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZU1lbnVzKCdbaWRePScgKyB0aGlzLnByZWZpeCArICddJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRldGFjaExpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5mb3JFYWNoKCh1bmxpc3RlbjogKCkgPT4gdm9pZCkgPT4gdW5saXN0ZW4oKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvQXJyb3dLZXlzKCk6IHZvaWQge1xuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bi5hcnJvd3VwJywgKCkgPT4gdGhpcy5tb3ZlKEFycm93S2V5RGlyZWN0aW9uLlVQKSlcbiAgICApO1xuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bi5hcnJvd2Rvd24nLCAoKSA9PiB0aGlzLm1vdmUoQXJyb3dLZXlEaXJlY3Rpb24uRE9XTikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZShkaXJlY3Rpb246IEFycm93S2V5RGlyZWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zIHx8IHRoaXMuaXRlbXMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zLnRvQXJyYXkoKVt0aGlzLmN1cnJlbnRGb2N1c2VkSWRdLmJsdXIoKTtcblxuICAgIGlmIChkaXJlY3Rpb24gPT09IEFycm93S2V5RGlyZWN0aW9uLkRPV04pIHtcbiAgICAgIHRoaXMuY3VycmVudEZvY3VzZWRJZCA9IHRoaXMuY3VycmVudEZvY3VzZWRJZCA+PSB0aGlzLml0ZW1zLmxlbmd0aCAtIDEgPyAwIDogdGhpcy5jdXJyZW50Rm9jdXNlZElkICsgMTtcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gQXJyb3dLZXlEaXJlY3Rpb24uVVApIHtcbiAgICAgIHRoaXMuY3VycmVudEZvY3VzZWRJZCA9IHRoaXMuY3VycmVudEZvY3VzZWRJZCA9PT0gMCA/IHRoaXMuaXRlbXMubGVuZ3RoIC0gMSA6IHRoaXMuY3VycmVudEZvY3VzZWRJZCAtIDE7XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtcy50b0FycmF5KClbdGhpcy5jdXJyZW50Rm9jdXNlZElkXS5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0SXRlbU9uT3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmJsdXIoKSk7XG5cbiAgICB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPSAwO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pdGVtcy50b0FycmF5KClbdGhpcy5jdXJyZW50Rm9jdXNlZElkXS5mb2N1cygpKTtcbiAgfVxufVxuIiwiPHNlY3Rpb25cbiAgY2xhc3M9XCJuYXYtbGluayBjb2xsYXBzaWJsZVwiXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAoa2V5ZG93bi5lbnRlcik9XCJvbkNsaWNrKCRldmVudClcIlxuICAoa2V5ZG93bi5zcGFjZSk9XCJvbkNsaWNrKCRldmVudClcIlxuICBbY2xhc3MuYWN0aXZlXT1cImlzQWN0aXZlKClcIlxuICB0YWJpbmRleD1cIjBcIlxuPlxuICA8aW5wdXQgaWQ9XCJ7e3ByZWZpeH19e3tpZH19XCIgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiaXNDaGVja2VkKClcIiAvPlxuICA8bGFiZWwgY2xhc3M9XCJuYXYtdGV4dCBuYXYtdHJpZ2dlclwiIGZvcj1cInt7cHJlZml4fX17e2lkfX1cIj57e3RpdGxlfX08Y2xyLWljb24gc2hhcGU9XCJjYXJldCBkb3duXCI+PC9jbHItaWNvbj48L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwibmF2LWxpc3QgZHJvcGRvd24tbWVudVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { NgModule } from '@angular/core';
7
+ import { CommonModule } from '@angular/common';
8
+ import { RouterModule } from '@angular/router';
9
+ import { ClarityModule } from '@clr/angular';
10
+ import { ClrMainNavGroup } from './main-nav-group';
11
+ import { ClrMainNavGroupItem } from './main-nav-group-item';
12
+ import * as i0 from "@angular/core";
13
+ export class ClrMainNavGroupModule {
14
+ }
15
+ ClrMainNavGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ ClrMainNavGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroupModule, declarations: [ClrMainNavGroup, ClrMainNavGroupItem], imports: [CommonModule, RouterModule, ClarityModule], exports: [ClrMainNavGroup, ClrMainNavGroupItem] });
17
+ ClrMainNavGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroupModule, imports: [[CommonModule, RouterModule, ClarityModule]] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMainNavGroupModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [CommonModule, RouterModule, ClarityModule],
22
+ declarations: [ClrMainNavGroup, ClrMainNavGroupItem],
23
+ exports: [ClrMainNavGroup, ClrMainNavGroupItem],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYtZ3JvdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbWFpbi1uYXYtZ3JvdXAvbWFpbi1uYXYtZ3JvdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFIakIsZUFBZSxFQUFFLG1CQUFtQixhQUR6QyxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsYUFFekMsZUFBZSxFQUFFLG1CQUFtQjttSEFFbkMscUJBQXFCLFlBSnZCLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUM7MkZBSXpDLHFCQUFxQjtrQkFMakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDcEQsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLG1CQUFtQixDQUFDO29CQUNwRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENsYXJpdHlNb2R1bGUgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuXG5pbXBvcnQgeyBDbHJNYWluTmF2R3JvdXAgfSBmcm9tICcuL21haW4tbmF2LWdyb3VwJztcbmltcG9ydCB7IENsck1haW5OYXZHcm91cEl0ZW0gfSBmcm9tICcuL21haW4tbmF2LWdyb3VwLWl0ZW0nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIENsYXJpdHlNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDbHJNYWluTmF2R3JvdXAsIENsck1haW5OYXZHcm91cEl0ZW1dLFxuICBleHBvcnRzOiBbQ2xyTWFpbk5hdkdyb3VwLCBDbHJNYWluTmF2R3JvdXBJdGVtXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTWFpbk5hdkdyb3VwTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,60 @@
1
+ /*
2
+ * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';
7
+ import { Directive, ElementRef, HostBinding, Injector, Input, ViewChild } from '@angular/core';
8
+ import * as i0 from "@angular/core";
9
+ export class ClrMultilingualAbstract extends ClrAbstractFormComponent {
10
+ constructor(injector) {
11
+ super(injector);
12
+ this.multi = true;
13
+ this.controlClasses = 'clr-col-md-10';
14
+ }
15
+ writeValue(value) {
16
+ if (value) {
17
+ this.texts = new Map(value);
18
+ }
19
+ }
20
+ setText(key, value) {
21
+ this.texts.set(key, value);
22
+ this.onChange(new Map(this.texts));
23
+ }
24
+ showLanguageSelector() {
25
+ return (this.texts && this.texts.size > 1) || this.showSingleLanguageSelector;
26
+ }
27
+ changeLanguage(lang) {
28
+ // need as the click for closing the menu is registered on a single item
29
+ // if the language change destroys it immediately, the click won't get fired
30
+ setTimeout(() => {
31
+ this.selectedLang = lang;
32
+ this.inputElement.nativeElement.focus();
33
+ });
34
+ }
35
+ }
36
+ ClrMultilingualAbstract.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualAbstract, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
37
+ ClrMultilingualAbstract.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: ClrMultilingualAbstract, inputs: { controlClasses: ["clrControlClasses", "controlClasses"], selectedLang: ["clrSelectedLang", "selectedLang"], readonly: "readonly", maxlength: "maxlength", showSingleLanguageSelector: ["clrShowSingleLanguageSelector", "showSingleLanguageSelector"] }, host: { properties: { "class.clr-multilingual": "this.multi" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualAbstract, decorators: [{
39
+ type: Directive
40
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { multi: [{
41
+ type: HostBinding,
42
+ args: ['class.clr-multilingual']
43
+ }], controlClasses: [{
44
+ type: Input,
45
+ args: ['clrControlClasses']
46
+ }], selectedLang: [{
47
+ type: Input,
48
+ args: ['clrSelectedLang']
49
+ }], readonly: [{
50
+ type: Input
51
+ }], maxlength: [{
52
+ type: Input
53
+ }], showSingleLanguageSelector: [{
54
+ type: Input,
55
+ args: ['clrShowSingleLanguageSelector']
56
+ }], inputElement: [{
57
+ type: ViewChild,
58
+ args: ['input']
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbXVsdGlsaW5ndWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbXVsdGlsaW5ndWFsL2Fic3RyYWN0LW11bHRpbGluZ3VhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcvRixNQUFNLE9BQWdCLHVCQUF3QixTQUFRLHdCQUF3QjtJQWM1RSxZQUFzQixRQUFrQjtRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFkcUIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUV4QixtQkFBYyxHQUFHLGVBQWUsQ0FBQztJQWE3RCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQTBCO1FBQ25DLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDaEYsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLHdFQUF3RTtRQUN4RSw0RUFBNEU7UUFDNUUsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBeENtQix1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTOytGQUUrQixLQUFLO3NCQUEzQyxXQUFXO3VCQUFDLHdCQUF3QjtnQkFFVCxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDQSxZQUFZO3NCQUFyQyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFDZixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRWtDLDBCQUEwQjtzQkFBakUsS0FBSzt1QkFBQywrQkFBK0I7Z0JBRWxCLFlBQVk7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQgeyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3RvciwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDbHJNdWx0aWxpbmd1YWxBYnN0cmFjdCBleHRlbmRzIENsckFic3RyYWN0Rm9ybUNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2xyLW11bHRpbGluZ3VhbCcpIG11bHRpID0gdHJ1ZTtcblxuICBASW5wdXQoJ2NsckNvbnRyb2xDbGFzc2VzJykgY29udHJvbENsYXNzZXMgPSAnY2xyLWNvbC1tZC0xMCc7XG4gIEBJbnB1dCgnY2xyU2VsZWN0ZWRMYW5nJykgc2VsZWN0ZWRMYW5nOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heGxlbmd0aDogbnVtYmVyO1xuICAvKiogU2hvdyBsYW5ndWFnZSBzZWxlY3RvciB3aGVuIG9ubHkgb25lIGxhbmd1YWdlIHByb3ZpZGVkICovXG4gIEBJbnB1dCgnY2xyU2hvd1NpbmdsZUxhbmd1YWdlU2VsZWN0b3InKSBzaG93U2luZ2xlTGFuZ3VhZ2VTZWxlY3RvcjogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICB0ZXh0czogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogTWFwPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy50ZXh0cyA9IG5ldyBNYXAodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHNldFRleHQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRleHRzLnNldChrZXksIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ldyBNYXAodGhpcy50ZXh0cykpO1xuICB9XG5cbiAgc2hvd0xhbmd1YWdlU2VsZWN0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnRleHRzICYmIHRoaXMudGV4dHMuc2l6ZSA+IDEpIHx8IHRoaXMuc2hvd1NpbmdsZUxhbmd1YWdlU2VsZWN0b3I7XG4gIH1cblxuICBjaGFuZ2VMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBuZWVkIGFzIHRoZSBjbGljayBmb3IgY2xvc2luZyB0aGUgbWVudSBpcyByZWdpc3RlcmVkIG9uIGEgc2luZ2xlIGl0ZW1cbiAgICAvLyBpZiB0aGUgbGFuZ3VhZ2UgY2hhbmdlIGRlc3Ryb3lzIGl0IGltbWVkaWF0ZWx5LCB0aGUgY2xpY2sgd29uJ3QgZ2V0IGZpcmVkXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGFuZyA9IGxhbmc7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { Component, forwardRef, Injector } from '@angular/core';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import { ControlIdService } from '../../abstract-form-component/control-id.service';
9
+ import { ClrMultilingualAbstract } from '../abstract-multilingual';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../multilingual-selector";
12
+ import * as i2 from "@angular/common";
13
+ import * as i3 from "@angular/forms";
14
+ import * as i4 from "@clr/angular";
15
+ export class ClrMultilingualInput extends ClrMultilingualAbstract {
16
+ constructor(injector) {
17
+ super(injector);
18
+ }
19
+ }
20
+ ClrMultilingualInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualInput, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
21
+ ClrMultilingualInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: ClrMultilingualInput, selector: "clr-multilingual-input", providers: [
22
+ {
23
+ provide: NG_VALUE_ACCESSOR,
24
+ useExisting: forwardRef(() => ClrMultilingualInput),
25
+ multi: true,
26
+ },
27
+ ControlIdService,
28
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"texts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!texts && !!selectedLang ? texts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <clr-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></clr-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n", components: [{ type: i1.ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: ["disabled", "texts", "selectedLang"], outputs: ["selectedLangChange"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualInput, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'clr-multilingual-input', providers: [
32
+ {
33
+ provide: NG_VALUE_ACCESSOR,
34
+ useExisting: forwardRef(() => ClrMultilingualInput),
35
+ multi: true,
36
+ },
37
+ ControlIdService,
38
+ ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"texts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!texts && !!selectedLang ? texts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <clr-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></clr-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n" }]
39
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbXVsdGlsaW5ndWFsL211bHRpbGluZ3VhbC1pbnB1dC9tdWx0aWxpbmd1YWwtaW5wdXQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tdWx0aWxpbmd1YWwvbXVsdGlsaW5ndWFsLWlucHV0L211bHRpbGluZ3VhbC1pbnB1dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQWNuRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0lBQy9ELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O2lIQUhVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGlEQVRwQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ25ELEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCxnQkFBZ0I7S0FDakIsaURDcEJILHVyQ0ErQkE7MkZEVGEsb0JBQW9CO2tCQVpoQyxTQUFTOytCQUNFLHdCQUF3QixhQUV2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xJZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9jb250cm9sLWlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyTXVsdGlsaW5ndWFsQWJzdHJhY3QgfSBmcm9tICcuLi9hYnN0cmFjdC1tdWx0aWxpbmd1YWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItbXVsdGlsaW5ndWFsLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpbGluZ3VhbC1pbnB1dC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDbHJNdWx0aWxpbmd1YWxJbnB1dCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIENvbnRyb2xJZFNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsck11bHRpbGluZ3VhbElucHV0IGV4dGVuZHMgQ2xyTXVsdGlsaW5ndWFsQWJzdHJhY3Qge1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImNsci1jb250cm9sLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRyb2xDbGFzc2VzXCI+XG4gIDxjbHItbXVsdGlsaW5ndWFsLXNlbGVjdG9yXG4gICAgKm5nSWY9XCJzaG93TGFuZ3VhZ2VTZWxlY3RvcigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFt0ZXh0c109XCJ0ZXh0c1wiXG4gICAgW3NlbGVjdGVkTGFuZ109XCJzZWxlY3RlZExhbmdcIlxuICAgIChzZWxlY3RlZExhbmdDaGFuZ2UpPVwiY2hhbmdlTGFuZ3VhZ2UoJGV2ZW50KVwiXG4gID5cbiAgPC9jbHItbXVsdGlsaW5ndWFsLXNlbGVjdG9yPlxuICA8ZGl2IGNsYXNzPVwiY2xyLW11bHRpLWlucHV0LXdyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xyLWlucHV0LXdyYXBwZXJcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImNsci1pbnB1dFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICBbbmdNb2RlbF09XCIhIXRleHRzICYmICEhc2VsZWN0ZWRMYW5nID8gdGV4dHMuZ2V0KHNlbGVjdGVkTGFuZykgOiAnJ1wiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFRleHQoc2VsZWN0ZWRMYW5nLCAkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJ1wiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoIHx8IG51bGxcIlxuICAgICAgICAjaW5wdXRcbiAgICAgIC8+XG4gICAgICA8Y2xyLWljb24gKm5nSWY9XCJzaG93RXJyb3JcIiBjbGFzcz1cImNsci12YWxpZGF0ZS1pY29uXCIgc2hhcGU9XCJleGNsYW1hdGlvbi1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Nsci1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLWhlbHBlclwiICpuZ0lmPVwiIXNob3dFcnJvclwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItY29udHJvbC1lcnJvclwiICpuZ0lmPVwic2hvd0Vycm9yXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,81 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@clr/angular";
4
+ import * as i2 from "@angular/common";
5
+ export class ClrMultilingualSelector {
6
+ constructor() {
7
+ this.selectedLangChange = new EventEmitter();
8
+ }
9
+ }
10
+ ClrMultilingualSelector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualSelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ ClrMultilingualSelector.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: { disabled: "disabled", texts: "texts", selectedLang: "selectedLang" }, outputs: { selectedLangChange: "selectedLangChange" }, ngImport: i0, template: `
12
+ <div>
13
+ <clr-dropdown [clrCloseMenuOnItemClick]="true">
14
+ <button
15
+ type="button"
16
+ class="btn btn-outline btn-sm clr-multilingual-button"
17
+ clrDropdownTrigger
18
+ [disabled]="disabled"
19
+ >
20
+ {{ selectedLang }}
21
+ <clr-icon shape="caret down"></clr-icon>
22
+ </button>
23
+ <clr-dropdown-menu *clrIfOpen>
24
+ <ng-container *ngFor="let text of texts | keyvalue">
25
+ <div
26
+ *ngIf="text.key !== selectedLang"
27
+ class="clr-multilingual-dd-entry"
28
+ clrDropdownItem
29
+ (click)="selectedLangChange.emit(text.key)"
30
+ >
31
+ <span class="label">{{ text.key }}</span
32
+ >{{ text.value }}
33
+ </div>
34
+ </ng-container>
35
+ </clr-dropdown-menu>
36
+ </clr-dropdown>
37
+ </div>
38
+ `, isInline: true, components: [{ type: i1.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { type: i1.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }], directives: [{ type: i1.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { type: i1.ClrIconCustomTag, selector: "clr-icon" }, { type: i1.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "disabled", "id"] }], pipes: { "keyvalue": i2.KeyValuePipe } });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualSelector, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'clr-multilingual-selector',
43
+ template: `
44
+ <div>
45
+ <clr-dropdown [clrCloseMenuOnItemClick]="true">
46
+ <button
47
+ type="button"
48
+ class="btn btn-outline btn-sm clr-multilingual-button"
49
+ clrDropdownTrigger
50
+ [disabled]="disabled"
51
+ >
52
+ {{ selectedLang }}
53
+ <clr-icon shape="caret down"></clr-icon>
54
+ </button>
55
+ <clr-dropdown-menu *clrIfOpen>
56
+ <ng-container *ngFor="let text of texts | keyvalue">
57
+ <div
58
+ *ngIf="text.key !== selectedLang"
59
+ class="clr-multilingual-dd-entry"
60
+ clrDropdownItem
61
+ (click)="selectedLangChange.emit(text.key)"
62
+ >
63
+ <span class="label">{{ text.key }}</span
64
+ >{{ text.value }}
65
+ </div>
66
+ </ng-container>
67
+ </clr-dropdown-menu>
68
+ </clr-dropdown>
69
+ </div>
70
+ `,
71
+ }]
72
+ }], propDecorators: { disabled: [{
73
+ type: Input
74
+ }], texts: [{
75
+ type: Input
76
+ }], selectedLang: [{
77
+ type: Input
78
+ }], selectedLangChange: [{
79
+ type: Output
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbXVsdGlsaW5ndWFsL211bHRpbGluZ3VhbC1zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBaUN2RSxNQUFNLE9BQU8sdUJBQXVCO0lBL0JwQztRQW1DWSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBQzNEOztvSEFMWSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3TUE3QnhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7MkZBRVUsdUJBQXVCO2tCQS9CbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDtpQkFDRjs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1tdWx0aWxpbmd1YWwtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXY+XG4gICAgICA8Y2xyLWRyb3Bkb3duIFtjbHJDbG9zZU1lbnVPbkl0ZW1DbGlja109XCJ0cnVlXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBidG4tc20gY2xyLW11bHRpbGluZ3VhbC1idXR0b25cIlxuICAgICAgICAgIGNsckRyb3Bkb3duVHJpZ2dlclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBzZWxlY3RlZExhbmcgfX1cbiAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjYXJldCBkb3duXCI+PC9jbHItaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxjbHItZHJvcGRvd24tbWVudSAqY2xySWZPcGVuPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRleHQgb2YgdGV4dHMgfCBrZXl2YWx1ZVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cInRleHQua2V5ICE9PSBzZWxlY3RlZExhbmdcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNsci1tdWx0aWxpbmd1YWwtZGQtZW50cnlcIlxuICAgICAgICAgICAgICBjbHJEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkTGFuZ0NoYW5nZS5lbWl0KHRleHQua2V5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyB0ZXh0LmtleSB9fTwvc3BhblxuICAgICAgICAgICAgICA+e3sgdGV4dC52YWx1ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvY2xyLWRyb3Bkb3duLW1lbnU+XG4gICAgICA8L2Nsci1kcm9wZG93bj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTXVsdGlsaW5ndWFsU2VsZWN0b3Ige1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgdGV4dHM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIEBJbnB1dCgpIHNlbGVjdGVkTGFuZzogc3RyaW5nO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRMYW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { Component, forwardRef, Injector } from '@angular/core';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import { ControlIdService } from '../../abstract-form-component/control-id.service';
9
+ import { ClrMultilingualAbstract } from '../abstract-multilingual';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../multilingual-selector";
12
+ import * as i2 from "@angular/common";
13
+ import * as i3 from "@angular/forms";
14
+ import * as i4 from "@clr/angular";
15
+ export class ClrMultilingualTextarea extends ClrMultilingualAbstract {
16
+ constructor(injector) {
17
+ super(injector);
18
+ }
19
+ }
20
+ ClrMultilingualTextarea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualTextarea, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
21
+ ClrMultilingualTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: ClrMultilingualTextarea, selector: "clr-multilingual-textarea", providers: [
22
+ {
23
+ provide: NG_VALUE_ACCESSOR,
24
+ useExisting: forwardRef(() => ClrMultilingualTextarea),
25
+ multi: true,
26
+ },
27
+ ControlIdService,
28
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"texts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!texts && !!selectedLang ? texts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n #input\n ></textarea>\n <clr-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></clr-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n", components: [{ type: i1.ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: ["disabled", "texts", "selectedLang"], outputs: ["selectedLangChange"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: ClrMultilingualTextarea, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'clr-multilingual-textarea', providers: [
32
+ {
33
+ provide: NG_VALUE_ACCESSOR,
34
+ useExisting: forwardRef(() => ClrMultilingualTextarea),
35
+ multi: true,
36
+ },
37
+ ControlIdService,
38
+ ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"texts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!texts && !!selectedLang ? texts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n #input\n ></textarea>\n <clr-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></clr-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n" }]
39
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXRleHRhcmVhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbXVsdGlsaW5ndWFsL211bHRpbGluZ3VhbC10ZXh0YXJlYS9tdWx0aWxpbmd1YWwtdGV4dGFyZWEudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tdWx0aWxpbmd1YWwvbXVsdGlsaW5ndWFsLXRleHRhcmVhL211bHRpbGluZ3VhbC10ZXh0YXJlYS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQWNuRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQXVCO0lBQ2xFLFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O29IQUhVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG9EQVR2QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3RELEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCxnQkFBZ0I7S0FDakIsaURDcEJILHFwQ0E2QkE7MkZEUGEsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLDJCQUEyQixhQUUxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xJZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9jb250cm9sLWlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyTXVsdGlsaW5ndWFsQWJzdHJhY3QgfSBmcm9tICcuLi9hYnN0cmFjdC1tdWx0aWxpbmd1YWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItbXVsdGlsaW5ndWFsLXRleHRhcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpbGluZ3VhbC10ZXh0YXJlYS5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDbHJNdWx0aWxpbmd1YWxUZXh0YXJlYSksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIENvbnRyb2xJZFNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsck11bHRpbGluZ3VhbFRleHRhcmVhIGV4dGVuZHMgQ2xyTXVsdGlsaW5ndWFsQWJzdHJhY3Qge1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImNsci1jb250cm9sLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRyb2xDbGFzc2VzXCI+XG4gIDxjbHItbXVsdGlsaW5ndWFsLXNlbGVjdG9yXG4gICAgKm5nSWY9XCJzaG93TGFuZ3VhZ2VTZWxlY3RvcigpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFt0ZXh0c109XCJ0ZXh0c1wiXG4gICAgW3NlbGVjdGVkTGFuZ109XCJzZWxlY3RlZExhbmdcIlxuICAgIChzZWxlY3RlZExhbmdDaGFuZ2UpPVwiY2hhbmdlTGFuZ3VhZ2UoJGV2ZW50KVwiXG4gID5cbiAgPC9jbHItbXVsdGlsaW5ndWFsLXNlbGVjdG9yPlxuICA8ZGl2IGNsYXNzPVwiY2xyLW11bHRpLWlucHV0LXdyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xyLXRleHRhcmVhLXdyYXBwZXJcIj5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBjbGFzcz1cImNsci10ZXh0YXJlYVwiXG4gICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgW25nTW9kZWxdPVwiISF0ZXh0cyAmJiAhIXNlbGVjdGVkTGFuZyA/IHRleHRzLmdldChzZWxlY3RlZExhbmcpIDogJydcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRUZXh0KHNlbGVjdGVkTGFuZywgJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCByZWFkb25seSA9PT0gJydcIlxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aCB8fCBudWxsXCJcbiAgICAgICAgI2lucHV0XG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICAgIDxjbHItaWNvbiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiY2xyLXZhbGlkYXRlLWljb25cIiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvY2xyLWljb24+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWNvbnRyb2wtaGVscGVyXCIgKm5nSWY9XCIhc2hvd0Vycm9yXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1jb250cm9sLWVycm9yXCIgKm5nSWY9XCJzaG93RXJyb3JcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=