design-angular-kit 1.1.4 → 1.2.1

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 (546) hide show
  1. package/.eslintrc.json +31 -0
  2. package/karma.conf.js +38 -0
  3. package/ng-package.json +9 -0
  4. package/ng-package.prod.json +8 -0
  5. package/package.json +9 -14
  6. package/schematics/ng-add/index.spec.ts +45 -0
  7. package/schematics/ng-add/index.ts +36 -0
  8. package/schematics/ng-add/rules/setup-project/add-animations.ts +7 -0
  9. package/schematics/ng-add/rules/setup-project/add-assets.ts +45 -0
  10. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.ts +40 -0
  11. package/schematics/ng-add/rules/setup-project/add-http-client.ts +7 -0
  12. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.ts +120 -0
  13. package/schematics/ng-add/rules/setup-project/add-localisation.ts +45 -0
  14. package/schematics/ng-add/rules/setup-project/angular-json-helper.ts +11 -0
  15. package/schematics/ng-add/rules/setup-project/exceptions.ts +13 -0
  16. package/schematics/ng-add/{schema.d.ts → schema.ts} +1 -1
  17. package/schematics/ng-add/setup-project.spec.ts +166 -0
  18. package/schematics/ng-add/setup-project.ts +31 -0
  19. package/schematics/ng-add/utils.ts +71 -0
  20. package/schematics/ng-add/versions-helper.ts +41 -0
  21. package/src/lib/abstracts/abstract-form.component.ts +200 -0
  22. package/src/lib/abstracts/abstract.component.ts +63 -0
  23. package/src/lib/components/core/accordion/accordion.component.html +27 -0
  24. package/src/lib/components/core/accordion/accordion.component.spec.ts +21 -0
  25. package/src/lib/components/core/accordion/accordion.component.ts +40 -0
  26. package/src/lib/components/core/alert/alert.component.html +19 -0
  27. package/src/lib/components/core/alert/alert.component.scss +3 -0
  28. package/src/lib/components/core/alert/alert.component.spec.ts +62 -0
  29. package/src/lib/components/core/alert/alert.component.ts +75 -0
  30. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.html +23 -0
  31. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.scss +17 -0
  32. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.spec.ts +21 -0
  33. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.ts +50 -0
  34. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.html +7 -0
  35. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.spec.ts +38 -0
  36. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.ts +25 -0
  37. package/src/lib/components/core/avatar/avatar.directive.ts +73 -0
  38. package/src/lib/components/core/avatar/avatar.module.ts +18 -0
  39. package/src/lib/components/core/badge/badge.directive.spec.ts +59 -0
  40. package/src/lib/components/core/badge/badge.directive.ts +39 -0
  41. package/src/lib/components/core/button/button.directive.spec.ts +96 -0
  42. package/src/lib/components/core/button/button.directive.ts +89 -0
  43. package/src/lib/components/core/callout/callout.component.html +25 -0
  44. package/src/lib/components/core/callout/callout.component.spec.ts +138 -0
  45. package/src/lib/components/core/callout/callout.component.ts +92 -0
  46. package/src/lib/components/core/card/card.component.html +35 -0
  47. package/src/lib/components/core/card/card.component.scss +30 -0
  48. package/src/lib/components/core/card/card.component.spec.ts +21 -0
  49. package/src/lib/components/core/card/card.component.ts +78 -0
  50. package/src/lib/components/core/carousel/carousel/carousel.component.html +29 -0
  51. package/src/lib/components/core/carousel/carousel/carousel.component.scss +1 -0
  52. package/src/lib/components/core/carousel/carousel/carousel.component.spec.ts +21 -0
  53. package/src/lib/components/core/carousel/carousel/carousel.component.ts +119 -0
  54. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.html +3 -0
  55. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.spec.ts +22 -0
  56. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.ts +20 -0
  57. package/src/lib/components/core/carousel/carousel.module.ts +11 -0
  58. package/src/lib/components/core/chip/chip.component.html +26 -0
  59. package/src/lib/components/core/chip/chip.component.spec.ts +87 -0
  60. package/src/lib/components/core/chip/chip.component.ts +154 -0
  61. package/src/lib/components/core/collapse/collapse.component.html +3 -0
  62. package/src/lib/components/core/collapse/collapse.component.spec.ts +21 -0
  63. package/src/lib/components/core/collapse/collapse.component.ts +124 -0
  64. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.html +3 -0
  65. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.spec.ts +35 -0
  66. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.ts +23 -0
  67. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.html +3 -0
  68. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.spec.ts +22 -0
  69. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.ts +10 -0
  70. package/src/lib/components/core/dimmer/dimmer.component.html +7 -0
  71. package/src/lib/components/core/dimmer/dimmer.component.spec.ts +49 -0
  72. package/src/lib/components/core/dimmer/dimmer.component.ts +50 -0
  73. package/src/lib/components/core/dimmer/dimmer.module.ts +12 -0
  74. package/src/lib/components/core/dropdown/dropdown/dropdown.component.html +45 -0
  75. package/src/lib/components/core/dropdown/dropdown/dropdown.component.scss +3 -0
  76. package/src/lib/components/core/dropdown/dropdown/dropdown.component.spec.ts +21 -0
  77. package/src/lib/components/core/dropdown/dropdown/dropdown.component.ts +186 -0
  78. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.html +18 -0
  79. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.scss +4 -0
  80. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.spec.ts +21 -0
  81. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.ts +82 -0
  82. package/src/lib/components/core/dropdown/dropdown.module.ts +11 -0
  83. package/src/lib/components/core/forward/forward.directive.spec.ts +60 -0
  84. package/src/lib/components/core/forward/forward.directive.ts +43 -0
  85. package/src/lib/components/core/link/link.component.html +13 -0
  86. package/src/lib/components/core/link/link.component.spec.ts +21 -0
  87. package/src/lib/components/core/link/link.component.ts +54 -0
  88. package/src/lib/components/core/list/list/list.component.html +13 -0
  89. package/src/lib/components/core/list/list/list.component.spec.ts +21 -0
  90. package/src/lib/components/core/list/list/list.component.ts +30 -0
  91. package/src/lib/components/core/list/list-item/list-item.component.html +42 -0
  92. package/src/lib/components/core/list/list-item/list-item.component.scss +16 -0
  93. package/src/lib/components/core/list/list-item/list-item.component.spec.ts +21 -0
  94. package/src/lib/components/core/list/list-item/list-item.component.ts +75 -0
  95. package/src/lib/components/core/list/list.module.ts +11 -0
  96. package/src/lib/components/core/modal/modal.component.html +36 -0
  97. package/src/lib/components/core/modal/modal.component.scss +3 -0
  98. package/src/lib/components/core/modal/modal.component.spec.ts +21 -0
  99. package/src/lib/components/core/modal/modal.component.ts +218 -0
  100. package/src/lib/components/core/notifications/notifications.component.html +25 -0
  101. package/src/lib/components/core/notifications/notifications.component.scss +3 -0
  102. package/src/lib/components/core/notifications/notifications.component.spec.ts +21 -0
  103. package/src/lib/components/core/notifications/notifications.component.ts +123 -0
  104. package/src/lib/components/core/pagination/pagination.component.html +107 -0
  105. package/src/lib/components/core/pagination/pagination.component.spec.ts +21 -0
  106. package/src/lib/components/core/pagination/pagination.component.ts +157 -0
  107. package/src/lib/components/core/popover/popover.directive.spec.ts +21 -0
  108. package/src/lib/components/core/popover/popover.directive.ts +171 -0
  109. package/src/lib/components/core/progress-bar/progress-bar.component.html +20 -0
  110. package/src/lib/components/core/progress-bar/progress-bar.component.spec.ts +21 -0
  111. package/src/lib/components/core/progress-bar/progress-bar.component.ts +46 -0
  112. package/src/lib/components/core/progress-button/progress-button.component.html +5 -0
  113. package/src/lib/components/core/progress-button/progress-button.component.spec.ts +21 -0
  114. package/src/lib/components/core/progress-button/progress-button.component.ts +39 -0
  115. package/src/lib/components/core/spinner/spinner.component.html +7 -0
  116. package/src/lib/components/core/spinner/spinner.component.spec.ts +80 -0
  117. package/src/lib/components/core/spinner/spinner.component.ts +31 -0
  118. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.html +126 -0
  119. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.spec.ts +21 -0
  120. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.ts +185 -0
  121. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.html +3 -0
  122. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.spec.ts +22 -0
  123. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.ts +33 -0
  124. package/src/lib/components/core/steppers/steppers.module.ts +11 -0
  125. package/src/lib/components/core/tab/tab-container/tab-container.component.html +78 -0
  126. package/src/lib/components/core/tab/tab-container/tab-container.component.spec.ts +21 -0
  127. package/src/lib/components/core/tab/tab-container/tab-container.component.ts +137 -0
  128. package/src/lib/components/core/tab/tab-item/tab-item.component.html +3 -0
  129. package/src/lib/components/core/tab/tab-item/tab-item.component.spec.ts +22 -0
  130. package/src/lib/components/core/tab/tab-item/tab-item.component.ts +50 -0
  131. package/src/lib/components/core/tab/tab.module.ts +11 -0
  132. package/src/lib/components/core/table/sort/sort-header/sort-header.component.html +27 -0
  133. package/src/lib/components/core/table/sort/sort-header/sort-header.component.scss +65 -0
  134. package/src/lib/components/core/table/sort/sort-header/sort-header.component.spec.ts +25 -0
  135. package/src/lib/components/core/table/sort/sort-header/sort-header.component.ts +164 -0
  136. package/src/lib/components/core/table/sort/sort.directive.spec.ts +73 -0
  137. package/src/lib/components/core/table/sort/sort.directive.ts +142 -0
  138. package/src/lib/components/core/table/table.component.html +23 -0
  139. package/src/lib/components/core/table/table.component.scss +7 -0
  140. package/src/lib/components/core/table/table.component.spec.ts +21 -0
  141. package/src/lib/components/core/table/table.component.ts +70 -0
  142. package/src/lib/components/core/table/table.module.ts +12 -0
  143. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.html +47 -0
  144. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.spec.ts +24 -0
  145. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.ts +102 -0
  146. package/src/lib/components/core/timeline/timeline.component.html +21 -0
  147. package/src/lib/components/core/timeline/timeline.component.spec.ts +21 -0
  148. package/src/lib/components/core/timeline/timeline.component.ts +31 -0
  149. package/src/lib/components/core/timeline/timeline.module.ts +11 -0
  150. package/src/lib/components/core/tooltip/tooltip.directive.spec.ts +20 -0
  151. package/src/lib/components/core/tooltip/tooltip.directive.ts +141 -0
  152. package/src/lib/components/form/autocomplete/autocomplete.component.html +58 -0
  153. package/src/lib/components/form/autocomplete/autocomplete.component.spec.ts +21 -0
  154. package/src/lib/components/form/autocomplete/autocomplete.component.ts +130 -0
  155. package/src/lib/components/form/checkbox/checkbox.component.html +67 -0
  156. package/src/lib/components/form/checkbox/checkbox.component.spec.ts +21 -0
  157. package/src/lib/components/form/checkbox/checkbox.component.ts +65 -0
  158. package/src/lib/components/form/form.module.ts +34 -0
  159. package/src/lib/components/form/input/input.component.html +92 -0
  160. package/src/lib/components/form/input/input.component.scss +29 -0
  161. package/src/lib/components/form/input/input.component.spec.ts +21 -0
  162. package/src/lib/components/form/input/input.component.ts +234 -0
  163. package/src/lib/components/form/password-input/password-input.component.html +65 -0
  164. package/src/lib/components/form/password-input/password-input.component.scss +9 -0
  165. package/src/lib/components/form/password-input/password-input.component.spec.ts +21 -0
  166. package/src/lib/components/form/password-input/password-input.component.ts +171 -0
  167. package/src/lib/components/form/radio-button/radio-button.component.html +50 -0
  168. package/src/lib/components/form/radio-button/radio-button.component.scss +14 -0
  169. package/src/lib/components/form/radio-button/radio-button.component.spec.ts +21 -0
  170. package/src/lib/components/form/radio-button/radio-button.component.ts +82 -0
  171. package/src/lib/components/form/range/range.component.html +17 -0
  172. package/src/lib/components/form/range/range.component.scss +17 -0
  173. package/src/lib/components/form/range/range.component.spec.ts +21 -0
  174. package/src/lib/components/form/range/range.component.ts +100 -0
  175. package/src/lib/components/form/rating/rating.component.html +24 -0
  176. package/src/lib/components/form/rating/rating.component.spec.ts +21 -0
  177. package/src/lib/components/form/rating/rating.component.ts +52 -0
  178. package/src/lib/components/form/select/select.component.html +54 -0
  179. package/src/lib/components/form/select/select.component.scss +3 -0
  180. package/src/lib/components/form/select/select.component.spec.ts +22 -0
  181. package/src/lib/components/form/select/select.component.ts +91 -0
  182. package/src/lib/components/form/textarea/textarea.component.html +28 -0
  183. package/src/lib/components/form/textarea/textarea.component.scss +12 -0
  184. package/src/lib/components/form/textarea/textarea.component.spec.ts +21 -0
  185. package/src/lib/components/form/textarea/textarea.component.ts +61 -0
  186. package/src/lib/components/form/transfer/store/transfer.reducers.ts +242 -0
  187. package/src/lib/components/form/transfer/store/transfer.state.ts +20 -0
  188. package/src/lib/components/form/transfer/store/transfer.store.ts +88 -0
  189. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.html +42 -0
  190. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.spec.ts +33 -0
  191. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.ts +93 -0
  192. package/src/lib/components/form/transfer/transfer.component.html +52 -0
  193. package/src/lib/components/form/transfer/transfer.component.spec.ts +27 -0
  194. package/src/lib/components/form/transfer/transfer.component.ts +159 -0
  195. package/{lib/components/form/transfer/transfer.model.d.ts → src/lib/components/form/transfer/transfer.model.ts} +9 -2
  196. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.html +36 -0
  197. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.spec.ts +21 -0
  198. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.ts +170 -0
  199. package/src/lib/components/form/upload-file-list/upload-file-list.component.html +46 -0
  200. package/src/lib/components/form/upload-file-list/upload-file-list.component.spec.ts +22 -0
  201. package/src/lib/components/form/upload-file-list/upload-file-list.component.ts +120 -0
  202. package/src/lib/components/navigation/back-button/back-button.component.html +25 -0
  203. package/src/lib/components/navigation/back-button/back-button.component.spec.ts +91 -0
  204. package/src/lib/components/navigation/back-button/back-button.component.ts +67 -0
  205. package/src/lib/components/navigation/back-to-top/back-to-top.component.html +11 -0
  206. package/src/lib/components/navigation/back-to-top/back-to-top.component.spec.ts +21 -0
  207. package/src/lib/components/navigation/back-to-top/back-to-top.component.ts +80 -0
  208. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.html +23 -0
  209. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.spec.ts +21 -0
  210. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.ts +68 -0
  211. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.html +3 -0
  212. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.spec.ts +22 -0
  213. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.ts +29 -0
  214. package/src/lib/components/navigation/breadcrumbs/breadcrumbs.module.ts +11 -0
  215. package/src/lib/components/navigation/header/header.component.html +102 -0
  216. package/src/lib/components/navigation/header/header.component.scss +3 -0
  217. package/src/lib/components/navigation/header/header.component.spec.ts +21 -0
  218. package/src/lib/components/navigation/header/header.component.ts +107 -0
  219. package/src/lib/components/navigation/megamenu/megamenu.component.html +34 -0
  220. package/src/lib/components/navigation/megamenu/megamenu.component.scss +5 -0
  221. package/src/lib/components/navigation/megamenu/megamenu.component.ts +30 -0
  222. package/src/lib/components/navigation/navbar/navbar/navbar.component.html +28 -0
  223. package/src/lib/components/navigation/navbar/navbar/navbar.component.ts +45 -0
  224. package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.html +3 -0
  225. package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.ts +10 -0
  226. package/src/lib/components/navigation/navbar/navbar.module.ts +11 -0
  227. package/src/lib/components/navigation/navscroll/navscroll-list-item.component.ts +95 -0
  228. package/src/lib/components/navigation/navscroll/navscroll-list-items.component.ts +27 -0
  229. package/src/lib/components/navigation/navscroll/navscroll.component.html +101 -0
  230. package/src/lib/components/navigation/navscroll/navscroll.component.scss +9 -0
  231. package/src/lib/components/navigation/navscroll/navscroll.component.ts +143 -0
  232. package/{lib/components/navigation/navscroll/navscroll.model.d.ts → src/lib/components/navigation/navscroll/navscroll.model.ts} +7 -5
  233. package/src/lib/components/navigation/navscroll/navscroll.store.ts +96 -0
  234. package/src/lib/components/navigation/navscroll/navscroll.utils.ts +28 -0
  235. package/src/lib/components/navigation/sidebar/sidebar.component.html +11 -0
  236. package/src/lib/components/navigation/sidebar/sidebar.component.spec.ts +21 -0
  237. package/src/lib/components/navigation/sidebar/sidebar.component.ts +39 -0
  238. package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.html +15 -0
  239. package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.ts +27 -0
  240. package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.html +15 -0
  241. package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.ts +38 -0
  242. package/src/lib/components/navigation/skiplink/skiplink.module.ts +11 -0
  243. package/src/lib/components/utils/error-page/error-page.component.html +33 -0
  244. package/src/lib/components/utils/error-page/error-page.component.spec.ts +21 -0
  245. package/src/lib/components/utils/error-page/error-page.component.ts +79 -0
  246. package/src/lib/components/utils/icon/icon.component.html +6 -0
  247. package/src/lib/components/utils/icon/icon.component.spec.ts +21 -0
  248. package/src/lib/components/utils/icon/icon.component.ts +95 -0
  249. package/src/lib/components/utils/language-switcher/language-switcher.component.html +21 -0
  250. package/src/lib/components/utils/language-switcher/language-switcher.component.spec.ts +21 -0
  251. package/src/lib/components/utils/language-switcher/language-switcher.component.ts +56 -0
  252. package/src/lib/design-angular-kit.module.ts +131 -0
  253. package/src/lib/enums/colors.enums.ts +10 -0
  254. package/src/lib/enums/sizes.enum.ts +7 -0
  255. package/{lib/interfaces/core.d.ts → src/lib/interfaces/core.ts} +95 -53
  256. package/src/lib/interfaces/design-angular-kit-config.ts +34 -0
  257. package/src/lib/interfaces/form.ts +78 -0
  258. package/src/lib/interfaces/icon.ts +176 -0
  259. package/src/lib/interfaces/sortable-table.ts +42 -0
  260. package/src/lib/interfaces/utils.ts +11 -0
  261. package/src/lib/pipes/date-ago.pipe.ts +57 -0
  262. package/src/lib/pipes/duration.pipe.ts +112 -0
  263. package/src/lib/pipes/mark-matching-text.pipe.ts +43 -0
  264. package/src/lib/provide-design-angular-kit.ts +73 -0
  265. package/src/lib/services/notification/notification.service.spec.ts +16 -0
  266. package/src/lib/services/notification/notification.service.ts +119 -0
  267. package/{lib/utils/coercion.d.ts → src/lib/utils/coercion.ts} +7 -1
  268. package/src/lib/utils/date-utils.ts +184 -0
  269. package/src/lib/utils/file-utils.ts +80 -0
  270. package/src/lib/utils/regex.ts +44 -0
  271. package/src/lib/validators/it-validators.ts +193 -0
  272. package/{public_api.d.ts → src/public_api.ts} +43 -0
  273. package/src/test.ts +26 -0
  274. package/tsconfig.lib.json +24 -0
  275. package/tsconfig.lib.prod.json +9 -0
  276. package/tsconfig.schematics.json +25 -0
  277. package/tsconfig.spec.json +9 -0
  278. package/README.md +0 -461
  279. package/esm2022/design-angular-kit.mjs +0 -5
  280. package/esm2022/lib/abstracts/abstract-form.component.mjs +0 -186
  281. package/esm2022/lib/abstracts/abstract.component.mjs +0 -46
  282. package/esm2022/lib/components/core/accordion/accordion.component.mjs +0 -39
  283. package/esm2022/lib/components/core/alert/alert.component.mjs +0 -71
  284. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +0 -43
  285. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +0 -40
  286. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +0 -78
  287. package/esm2022/lib/components/core/avatar/avatar.module.mjs +0 -33
  288. package/esm2022/lib/components/core/badge/badge.directive.mjs +0 -39
  289. package/esm2022/lib/components/core/button/button.directive.mjs +0 -80
  290. package/esm2022/lib/components/core/callout/callout.component.mjs +0 -64
  291. package/esm2022/lib/components/core/card/card.component.mjs +0 -59
  292. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +0 -84
  293. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -19
  294. package/esm2022/lib/components/core/carousel/carousel.module.mjs +0 -18
  295. package/esm2022/lib/components/core/chip/chip.component.mjs +0 -136
  296. package/esm2022/lib/components/core/collapse/collapse.component.mjs +0 -116
  297. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -27
  298. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
  299. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +0 -55
  300. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +0 -19
  301. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -144
  302. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -61
  303. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +0 -18
  304. package/esm2022/lib/components/core/forward/forward.directive.mjs +0 -57
  305. package/esm2022/lib/components/core/link/link.component.mjs +0 -42
  306. package/esm2022/lib/components/core/list/list/list.component.mjs +0 -22
  307. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +0 -56
  308. package/esm2022/lib/components/core/list/list.module.mjs +0 -18
  309. package/esm2022/lib/components/core/modal/modal.component.mjs +0 -194
  310. package/esm2022/lib/components/core/notifications/notifications.component.mjs +0 -111
  311. package/esm2022/lib/components/core/pagination/pagination.component.mjs +0 -130
  312. package/esm2022/lib/components/core/popover/popover.directive.mjs +0 -176
  313. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
  314. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +0 -25
  315. package/esm2022/lib/components/core/spinner/spinner.component.mjs +0 -30
  316. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +0 -116
  317. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -20
  318. package/esm2022/lib/components/core/steppers/steppers.module.mjs +0 -18
  319. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -72
  320. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -39
  321. package/esm2022/lib/components/core/tab/tab.module.mjs +0 -18
  322. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +0 -134
  323. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +0 -123
  324. package/esm2022/lib/components/core/table/table.component.mjs +0 -45
  325. package/esm2022/lib/components/core/table/table.module.mjs +0 -19
  326. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +0 -90
  327. package/esm2022/lib/components/core/timeline/timeline.component.mjs +0 -36
  328. package/esm2022/lib/components/core/timeline/timeline.module.mjs +0 -18
  329. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +0 -143
  330. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +0 -112
  331. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -48
  332. package/esm2022/lib/components/form/form.module.mjs +0 -63
  333. package/esm2022/lib/components/form/input/input.component.mjs +0 -190
  334. package/esm2022/lib/components/form/password-input/password-input.component.mjs +0 -149
  335. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +0 -60
  336. package/esm2022/lib/components/form/range/range.component.mjs +0 -64
  337. package/esm2022/lib/components/form/rating/rating.component.mjs +0 -50
  338. package/esm2022/lib/components/form/select/select.component.mjs +0 -70
  339. package/esm2022/lib/components/form/textarea/textarea.component.mjs +0 -55
  340. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +0 -191
  341. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +0 -2
  342. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +0 -70
  343. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +0 -72
  344. package/esm2022/lib/components/form/transfer/transfer.component.mjs +0 -149
  345. package/esm2022/lib/components/form/transfer/transfer.model.mjs +0 -6
  346. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -142
  347. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -107
  348. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +0 -67
  349. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -68
  350. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -51
  351. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -21
  352. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +0 -18
  353. package/esm2022/lib/components/navigation/header/header.component.mjs +0 -97
  354. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +0 -27
  355. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +0 -40
  356. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +0 -11
  357. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +0 -18
  358. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +0 -98
  359. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +0 -44
  360. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +0 -116
  361. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +0 -2
  362. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +0 -65
  363. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +0 -23
  364. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +0 -50
  365. package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +0 -27
  366. package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +0 -26
  367. package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +0 -18
  368. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +0 -74
  369. package/esm2022/lib/components/utils/icon/icon.component.mjs +0 -58
  370. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -50
  371. package/esm2022/lib/design-angular-kit.module.mjs +0 -233
  372. package/esm2022/lib/enums/colors.enums.mjs +0 -12
  373. package/esm2022/lib/enums/sizes.enum.mjs +0 -9
  374. package/esm2022/lib/interfaces/core.mjs +0 -16
  375. package/esm2022/lib/interfaces/design-angular-kit-config.mjs +0 -7
  376. package/esm2022/lib/interfaces/form.mjs +0 -2
  377. package/esm2022/lib/interfaces/icon.mjs +0 -168
  378. package/esm2022/lib/interfaces/sortable-table.mjs +0 -6
  379. package/esm2022/lib/interfaces/utils.mjs +0 -2
  380. package/esm2022/lib/pipes/date-ago.pipe.mjs +0 -56
  381. package/esm2022/lib/pipes/duration.pipe.mjs +0 -115
  382. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +0 -48
  383. package/esm2022/lib/provide-design-angular-kit.mjs +0 -64
  384. package/esm2022/lib/services/notification/notification.service.mjs +0 -120
  385. package/esm2022/lib/utils/coercion.mjs +0 -18
  386. package/esm2022/lib/utils/date-utils.mjs +0 -162
  387. package/esm2022/lib/utils/file-utils.mjs +0 -73
  388. package/esm2022/lib/utils/regex.mjs +0 -35
  389. package/esm2022/lib/validators/it-validators.mjs +0 -156
  390. package/esm2022/public_api.mjs +0 -110
  391. package/fesm2022/design-angular-kit.mjs +0 -6669
  392. package/fesm2022/design-angular-kit.mjs.map +0 -1
  393. package/index.d.ts +0 -5
  394. package/lib/abstracts/abstract-form.component.d.ts +0 -87
  395. package/lib/abstracts/abstract.component.d.ts +0 -30
  396. package/lib/components/core/accordion/accordion.component.d.ts +0 -18
  397. package/lib/components/core/alert/alert.component.d.ts +0 -44
  398. package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +0 -29
  399. package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +0 -15
  400. package/lib/components/core/avatar/avatar.directive.d.ts +0 -33
  401. package/lib/components/core/avatar/avatar.module.d.ts +0 -9
  402. package/lib/components/core/badge/badge.directive.d.ts +0 -23
  403. package/lib/components/core/button/button.directive.d.ts +0 -48
  404. package/lib/components/core/callout/callout.component.d.ts +0 -50
  405. package/lib/components/core/card/card.component.d.ts +0 -69
  406. package/lib/components/core/carousel/carousel/carousel.component.d.ts +0 -65
  407. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +0 -15
  408. package/lib/components/core/carousel/carousel.module.d.ts +0 -8
  409. package/lib/components/core/chip/chip.component.d.ts +0 -76
  410. package/lib/components/core/collapse/collapse.component.d.ts +0 -67
  411. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +0 -12
  412. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +0 -5
  413. package/lib/components/core/dimmer/dimmer.component.d.ts +0 -24
  414. package/lib/components/core/dimmer/dimmer.module.d.ts +0 -9
  415. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +0 -94
  416. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +0 -42
  417. package/lib/components/core/dropdown/dropdown.module.d.ts +0 -8
  418. package/lib/components/core/forward/forward.directive.d.ts +0 -14
  419. package/lib/components/core/link/link.component.d.ts +0 -35
  420. package/lib/components/core/list/list/list.component.d.ts +0 -24
  421. package/lib/components/core/list/list-item/list-item.component.d.ts +0 -41
  422. package/lib/components/core/list/list.module.d.ts +0 -8
  423. package/lib/components/core/modal/modal.component.d.ts +0 -135
  424. package/lib/components/core/notifications/notifications.component.d.ts +0 -45
  425. package/lib/components/core/pagination/pagination.component.d.ts +0 -92
  426. package/lib/components/core/popover/popover.directive.d.ts +0 -99
  427. package/lib/components/core/progress-bar/progress-bar.component.d.ts +0 -31
  428. package/lib/components/core/progress-button/progress-button.component.d.ts +0 -21
  429. package/lib/components/core/spinner/spinner.component.d.ts +0 -24
  430. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +0 -130
  431. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +0 -20
  432. package/lib/components/core/steppers/steppers.module.d.ts +0 -8
  433. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +0 -36
  434. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +0 -38
  435. package/lib/components/core/tab/tab.module.d.ts +0 -8
  436. package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +0 -72
  437. package/lib/components/core/table/sort/sort.directive.d.ts +0 -53
  438. package/lib/components/core/table/table.component.d.ts +0 -60
  439. package/lib/components/core/table/table.module.d.ts +0 -9
  440. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +0 -79
  441. package/lib/components/core/timeline/timeline.component.d.ts +0 -21
  442. package/lib/components/core/timeline/timeline.module.d.ts +0 -8
  443. package/lib/components/core/tooltip/tooltip.directive.d.ts +0 -82
  444. package/lib/components/form/autocomplete/autocomplete.component.d.ts +0 -59
  445. package/lib/components/form/checkbox/checkbox.component.d.ts +0 -41
  446. package/lib/components/form/form.module.d.ts +0 -18
  447. package/lib/components/form/input/input.component.d.ts +0 -95
  448. package/lib/components/form/password-input/password-input.component.d.ts +0 -80
  449. package/lib/components/form/radio-button/radio-button.component.d.ts +0 -38
  450. package/lib/components/form/range/range.component.d.ts +0 -42
  451. package/lib/components/form/rating/rating.component.d.ts +0 -24
  452. package/lib/components/form/select/select.component.d.ts +0 -36
  453. package/lib/components/form/textarea/textarea.component.d.ts +0 -34
  454. package/lib/components/form/transfer/store/transfer.reducers.d.ts +0 -103
  455. package/lib/components/form/transfer/store/transfer.state.d.ts +0 -18
  456. package/lib/components/form/transfer/store/transfer.store.d.ts +0 -23
  457. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +0 -48
  458. package/lib/components/form/transfer/transfer.component.d.ts +0 -75
  459. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +0 -60
  460. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +0 -62
  461. package/lib/components/navigation/back-button/back-button.component.d.ts +0 -47
  462. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +0 -50
  463. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +0 -28
  464. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +0 -23
  465. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +0 -8
  466. package/lib/components/navigation/header/header.component.d.ts +0 -36
  467. package/lib/components/navigation/megamenu/megamenu.component.d.ts +0 -22
  468. package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +0 -16
  469. package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +0 -5
  470. package/lib/components/navigation/navbar/navbar.module.d.ts +0 -8
  471. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +0 -16
  472. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +0 -7
  473. package/lib/components/navigation/navscroll/navscroll.component.d.ts +0 -47
  474. package/lib/components/navigation/navscroll/navscroll.store.d.ts +0 -16
  475. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +0 -6
  476. package/lib/components/navigation/sidebar/sidebar.component.d.ts +0 -26
  477. package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +0 -17
  478. package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +0 -24
  479. package/lib/components/navigation/skiplink/skiplink.module.d.ts +0 -8
  480. package/lib/components/utils/error-page/error-page.component.d.ts +0 -44
  481. package/lib/components/utils/icon/icon.component.d.ts +0 -48
  482. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +0 -27
  483. package/lib/design-angular-kit.module.d.ts +0 -53
  484. package/lib/enums/colors.enums.d.ts +0 -10
  485. package/lib/enums/sizes.enum.d.ts +0 -7
  486. package/lib/interfaces/design-angular-kit-config.d.ts +0 -30
  487. package/lib/interfaces/form.d.ts +0 -67
  488. package/lib/interfaces/icon.d.ts +0 -4
  489. package/lib/interfaces/sortable-table.d.ts +0 -33
  490. package/lib/interfaces/utils.d.ts +0 -10
  491. package/lib/pipes/date-ago.pipe.d.ts +0 -17
  492. package/lib/pipes/duration.pipe.d.ts +0 -35
  493. package/lib/pipes/mark-matching-text.pipe.d.ts +0 -18
  494. package/lib/provide-design-angular-kit.d.ts +0 -7
  495. package/lib/services/notification/notification.service.d.ts +0 -63
  496. package/lib/utils/date-utils.d.ts +0 -79
  497. package/lib/utils/file-utils.d.ts +0 -32
  498. package/lib/utils/regex.d.ts +0 -34
  499. package/lib/validators/it-validators.d.ts +0 -69
  500. package/schematics/ng-add/index.d.ts +0 -3
  501. package/schematics/ng-add/index.js +0 -29
  502. package/schematics/ng-add/index.js.map +0 -1
  503. package/schematics/ng-add/index.spec.d.ts +0 -1
  504. package/schematics/ng-add/index.spec.js +0 -43
  505. package/schematics/ng-add/index.spec.js.map +0 -1
  506. package/schematics/ng-add/rules/setup-project/add-animations.d.ts +0 -2
  507. package/schematics/ng-add/rules/setup-project/add-animations.js +0 -11
  508. package/schematics/ng-add/rules/setup-project/add-animations.js.map +0 -1
  509. package/schematics/ng-add/rules/setup-project/add-assets.d.ts +0 -3
  510. package/schematics/ng-add/rules/setup-project/add-assets.js +0 -50
  511. package/schematics/ng-add/rules/setup-project/add-assets.js.map +0 -1
  512. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +0 -3
  513. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +0 -43
  514. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +0 -1
  515. package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +0 -2
  516. package/schematics/ng-add/rules/setup-project/add-http-client.js +0 -11
  517. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +0 -1
  518. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +0 -11
  519. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +0 -112
  520. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +0 -1
  521. package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +0 -3
  522. package/schematics/ng-add/rules/setup-project/add-localisation.js +0 -50
  523. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +0 -1
  524. package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +0 -2
  525. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +0 -13
  526. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +0 -1
  527. package/schematics/ng-add/rules/setup-project/exceptions.d.ts +0 -7
  528. package/schematics/ng-add/rules/setup-project/exceptions.js +0 -17
  529. package/schematics/ng-add/rules/setup-project/exceptions.js.map +0 -1
  530. package/schematics/ng-add/rules/setup-project/index.js +0 -23
  531. package/schematics/ng-add/rules/setup-project/index.js.map +0 -1
  532. package/schematics/ng-add/schema.js +0 -3
  533. package/schematics/ng-add/schema.js.map +0 -1
  534. package/schematics/ng-add/setup-project.d.ts +0 -3
  535. package/schematics/ng-add/setup-project.js +0 -37
  536. package/schematics/ng-add/setup-project.js.map +0 -1
  537. package/schematics/ng-add/setup-project.spec.d.ts +0 -1
  538. package/schematics/ng-add/setup-project.spec.js +0 -139
  539. package/schematics/ng-add/setup-project.spec.js.map +0 -1
  540. package/schematics/ng-add/utils.d.ts +0 -14
  541. package/schematics/ng-add/utils.js +0 -49
  542. package/schematics/ng-add/utils.js.map +0 -1
  543. package/schematics/ng-add/versions-helper.d.ts +0 -3
  544. package/schematics/ng-add/versions-helper.js +0 -40
  545. package/schematics/ng-add/versions-helper.js.map +0 -1
  546. /package/schematics/ng-add/rules/setup-project/{index.d.ts → index.ts} +0 -0
@@ -1,30 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { TranslateModule } from '@ngx-translate/core';
3
- import { inputToBoolean } from '../../../utils/coercion';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@ngx-translate/core";
6
- export class ItSpinnerComponent {
7
- constructor() {
8
- /**
9
- * The spinner is active
10
- * @default true
11
- */
12
- this.active = true;
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSpinnerComponent, isStandalone: true, selector: "it-spinner", inputs: { active: ["active", "active", inputToBoolean], small: ["small", "small", inputToBoolean], double: ["double", "double", inputToBoolean] }, ngImport: i0, template: "<div class=\"progress-spinner\" [class.progress-spinner-double]=\"double\" [class.progress-spinner-active]=\"active\" [class.size-sm]=\"small\">\n @if (double) {\n <div class=\"progress-spinner-inner\"></div>\n <div class=\"progress-spinner-inner\"></div>\n }\n <span class=\"visually-hidden\">{{ 'it.core.loading' | translate }}...</span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSpinnerComponent, decorators: [{
18
- type: Component,
19
- args: [{ standalone: true, selector: 'it-spinner', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule], template: "<div class=\"progress-spinner\" [class.progress-spinner-double]=\"double\" [class.progress-spinner-active]=\"active\" [class.size-sm]=\"small\">\n @if (double) {\n <div class=\"progress-spinner-inner\"></div>\n <div class=\"progress-spinner-inner\"></div>\n }\n <span class=\"visually-hidden\">{{ 'it.core.loading' | translate }}...</span>\n</div>\n" }]
20
- }], propDecorators: { active: [{
21
- type: Input,
22
- args: [{ transform: inputToBoolean }]
23
- }], small: [{
24
- type: Input,
25
- args: [{ transform: inputToBoolean }]
26
- }], double: [{
27
- type: Input,
28
- args: [{ transform: inputToBoolean }]
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBU3pELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRRTs7O1dBR0c7UUFDbUMsV0FBTSxHQUFZLElBQUksQ0FBQztLQWE5RDs4R0FsQlksa0JBQWtCO2tHQUFsQixrQkFBa0IscUZBS1QsY0FBYyw2QkFNZCxjQUFjLGdDQU1kLGNBQWMsNkJDN0JwQyx3V0FPQSwyQ0RHWSxlQUFlOzsyRkFFZCxrQkFBa0I7a0JBUDlCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsQ0FBQzs4QkFPWSxNQUFNO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxLQUFLO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxNQUFNO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LXNwaW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRTcGlubmVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBzcGlubmVyIGlzIGFjdGl2ZVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3cgYSBzbWFsbCBzcGlubmVyXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNtYWxsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgZG91YmxlIGFuaW1hdGlvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBkb3VibGU/OiBib29sZWFuO1xufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIiBbY2xhc3MucHJvZ3Jlc3Mtc3Bpbm5lci1kb3VibGVdPVwiZG91YmxlXCIgW2NsYXNzLnByb2dyZXNzLXNwaW5uZXItYWN0aXZlXT1cImFjdGl2ZVwiIFtjbGFzcy5zaXplLXNtXT1cInNtYWxsXCI+XG4gIEBpZiAoZG91YmxlKSB7XG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXItaW5uZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mtc3Bpbm5lci1pbm5lclwiPjwvZGl2PlxuICB9XG4gIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+e3sgJ2l0LmNvcmUubG9hZGluZycgfCB0cmFuc2xhdGUgfX0uLi48L3NwYW4+XG48L2Rpdj5cbiJdfQ==
@@ -1,116 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
2
- import { ItSteppersItemComponent } from '../steppers-item/steppers-item.component';
3
- import { startWith } from 'rxjs';
4
- import { NgTemplateOutlet } from '@angular/common';
5
- import { ItIconComponent } from '../../../utils/icon/icon.component';
6
- import { TranslateModule } from '@ngx-translate/core';
7
- import { ItButtonDirective } from '../../button/button.directive';
8
- import { ItProgressBarComponent } from '../../progress-bar/progress-bar.component';
9
- import { ItProgressButtonComponent } from '../../progress-button/progress-button.component';
10
- import { inputToBoolean } from '../../../../utils/coercion';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@ngx-translate/core";
13
- export class ItSteppersContainerComponent {
14
- constructor(_changeDetectorRef) {
15
- this._changeDetectorRef = _changeDetectorRef;
16
- /**
17
- * Show the stepper header
18
- * @default true
19
- */
20
- this.showHeader = true;
21
- /**
22
- * Show the back button
23
- * @default true
24
- */
25
- this.showBackButton = true;
26
- /**
27
- * Show the forward button
28
- * @default true
29
- */
30
- this.showForwardButton = true;
31
- this.backClick = new EventEmitter();
32
- this.forwardClick = new EventEmitter();
33
- this.confirmClick = new EventEmitter();
34
- this.saveClick = new EventEmitter();
35
- }
36
- ngAfterViewInit() {
37
- this.steps?.changes
38
- .pipe(
39
- // When steps changes (dynamic add/remove)
40
- startWith(undefined))
41
- .subscribe(() => {
42
- this.stepsSubscriptions?.forEach(sub => sub.unsubscribe()); // Remove old subscriptions
43
- this.stepsSubscriptions = this.steps?.map(step => step.valueChanges.subscribe(() => {
44
- this._changeDetectorRef.detectChanges(); // DetectChanges when step attributes changes
45
- }));
46
- this._changeDetectorRef.detectChanges(); // Force update html render
47
- });
48
- }
49
- ngOnDestroy() {
50
- this.stepsSubscriptions?.forEach(step => step.unsubscribe());
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSteppersContainerComponent, isStandalone: true, selector: "it-steppers-container", inputs: { activeStep: "activeStep", showHeader: ["showHeader", "showHeader", inputToBoolean], dark: ["dark", "dark", inputToBoolean], steppersNumber: ["steppersNumber", "steppersNumber", inputToBoolean], progressStyle: "progressStyle", progressColor: "progressColor", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], disableBackButton: ["disableBackButton", "disableBackButton", inputToBoolean], showForwardButton: ["showForwardButton", "showForwardButton", inputToBoolean], disableForwardButton: ["disableForwardButton", "disableForwardButton", inputToBoolean], showConfirmButton: ["showConfirmButton", "showConfirmButton", inputToBoolean], disableConfirmButton: ["disableConfirmButton", "disableConfirmButton", inputToBoolean], confirmLoading: ["confirmLoading", "confirmLoading", inputToBoolean], showSaveButton: ["showSaveButton", "showSaveButton", inputToBoolean], disableSaveButton: ["disableSaveButton", "disableSaveButton", inputToBoolean], saveLoading: ["saveLoading", "saveLoading", inputToBoolean] }, outputs: { backClick: "backClick", forwardClick: "forwardClick", confirmClick: "confirmClick", saveClick: "saveClick" }, queries: [{ propertyName: "steps", predicate: ItSteppersItemComponent }], ngImport: i0, template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }, { kind: "component", type: ItProgressButtonComponent, selector: "button[itButton][progress]", inputs: ["progress", "progressColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersContainerComponent, decorators: [{
56
- type: Component,
57
- args: [{ standalone: true, selector: 'it-steppers-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet, TranslateModule, ItButtonDirective, ItProgressBarComponent, ItProgressButtonComponent], template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n" }]
58
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { activeStep: [{
59
- type: Input,
60
- args: [{ required: true }]
61
- }], showHeader: [{
62
- type: Input,
63
- args: [{ transform: inputToBoolean }]
64
- }], dark: [{
65
- type: Input,
66
- args: [{ transform: inputToBoolean }]
67
- }], steppersNumber: [{
68
- type: Input,
69
- args: [{ transform: inputToBoolean }]
70
- }], progressStyle: [{
71
- type: Input
72
- }], progressColor: [{
73
- type: Input
74
- }], showBackButton: [{
75
- type: Input,
76
- args: [{ transform: inputToBoolean }]
77
- }], disableBackButton: [{
78
- type: Input,
79
- args: [{ transform: inputToBoolean }]
80
- }], showForwardButton: [{
81
- type: Input,
82
- args: [{ transform: inputToBoolean }]
83
- }], disableForwardButton: [{
84
- type: Input,
85
- args: [{ transform: inputToBoolean }]
86
- }], showConfirmButton: [{
87
- type: Input,
88
- args: [{ transform: inputToBoolean }]
89
- }], disableConfirmButton: [{
90
- type: Input,
91
- args: [{ transform: inputToBoolean }]
92
- }], confirmLoading: [{
93
- type: Input,
94
- args: [{ transform: inputToBoolean }]
95
- }], showSaveButton: [{
96
- type: Input,
97
- args: [{ transform: inputToBoolean }]
98
- }], disableSaveButton: [{
99
- type: Input,
100
- args: [{ transform: inputToBoolean }]
101
- }], saveLoading: [{
102
- type: Input,
103
- args: [{ transform: inputToBoolean }]
104
- }], steps: [{
105
- type: ContentChildren,
106
- args: [ItSteppersItemComponent]
107
- }], backClick: [{
108
- type: Output
109
- }], forwardClick: [{
110
- type: Output
111
- }], confirmClick: [{
112
- type: Output
113
- }], saveClick: [{
114
- type: Output
115
- }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVuRixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBUzVELE1BQU0sT0FBTyw0QkFBNEI7SUEr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QkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsb0JBQW9CO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxpQkFBaUI7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLG9CQUFvQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBS0UsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsaUJBQWlCO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLRSxXQUFXO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLTSxLQUFLO3NCQUE5QyxlQUFlO3VCQUFDLHVCQUF1QjtnQkFNOUIsU0FBUztzQkFBbEIsTUFBTTtnQkFNRyxZQUFZO3NCQUFyQixNQUFNO2dCQU1HLFlBQVk7c0JBQXJCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRTdGVwcGVyc0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9zdGVwcGVycy1pdGVtL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29sb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtc3RlcHBlcnMtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXJzLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSXRJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBUcmFuc2xhdGVNb2R1bGUsIEl0QnV0dG9uRGlyZWN0aXZlLCBJdFByb2dyZXNzQmFyQ29tcG9uZW50LCBJdFByb2dyZXNzQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSXRTdGVwcGVyc0NvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aXZlIHN0ZXAgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4IHRoZSBzdGVwIGluZGV4XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhY3RpdmVTdGVwITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBzdGVwcGVyIGhlYWRlclxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBEYXJrIHN0eWxlXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRhcms/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWxzIHByZXNlbnQgaW4gdGhlIGhlYWRlciBzdGVwcyBjYW4gYmUgYW50aWNpcGF0ZWQgYnkgdGhlIHJlbGF0aXZlIG9yZGluYWwgbnVtYmVyLlxuICAgKiBAZWZ1YWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHN0ZXBwZXJzTnVtYmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHByb2dyZXNzIHN0eWxlXG4gICAqIC08Yj5wcm9ncmVzczwvYj46IFNob3cgcHJvZ3Jlc3MgYmFyIC0gWW91IGNhbiBjaGFuZ2UgdGhlIGNvbG9yIHdpdGggdGhlIGBwcm9ncmVzc0NvbG9yYCBhdHRyaWJ1dGVcbiAgICogLTxiPmRvdHM8L2I+OiBTaG93IHByb2dyZXNzIGRvdHNcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIC0gZG9uJ3Qgc2hvdyBwcm9ncmVzc1xuICAgKi9cbiAgQElucHV0KCkgcHJvZ3Jlc3NTdHlsZTogJ3Byb2dyZXNzJyB8ICdkb3RzJyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3VzdG9taXplIHByb2dyZXNzIGNvbG9yXG4gICAqL1xuICBASW5wdXQoKSBwcm9ncmVzc0NvbG9yOiBQcm9ncmVzc0JhckNvbG9yIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBiYWNrIGJ1dHRvblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dCYWNrQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgYmFjayBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZUJhY2tCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBmb3J3YXJkIGJ1dHRvblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dGb3J3YXJkQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgZm9yd2FyZCBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZUZvcndhcmRCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBjb25maXJtIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93Q29uZmlybUJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGNvbmZpcm0gYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc2FibGVDb25maXJtQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgY29uZmlybSBidXR0b24gYXMgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBidXR0b25cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgY29uZmlybUxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHRoZSBzYXZlIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93U2F2ZUJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHNhdmUgYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc2FibGVTYXZlQnV0dG9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyB0aGUgc2F2ZSBidXR0b24gYXMgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBidXR0b25cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2F2ZUxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcHBlciBpdGVtc1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihJdFN0ZXBwZXJzSXRlbUNvbXBvbmVudCkgc3RlcHM/OiBRdWVyeUxpc3Q8SXRTdGVwcGVyc0l0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBPbiBiYWNrIGJ1dHRvbiBjbGlja1xuICAgKiBAZXZlbnQgYWN0aXZlU3RlcCB0aGUgY3VycmVudCBzdGVwIGluZGV4XG4gICAqL1xuICBAT3V0cHV0KCkgYmFja0NsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcblxuICAvKipcbiAgICogT24gZm9yd2FyZCBidXR0b24gY2xpY2tcbiAgICogQGV2ZW50IGFjdGl2ZVN0ZXAgdGhlIGN1cnJlbnQgc3RlcCBpbmRleFxuICAgKi9cbiAgQE91dHB1dCgpIGZvcndhcmRDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj47XG5cbiAgLyoqXG4gICAqIE9uIGNvbmZpcm0gYnV0dG9uIGNsaWNrXG4gICAqIEBldmVudCBhY3RpdmVTdGVwIHRoZSBjdXJyZW50IHN0ZXAgaW5kZXhcbiAgICovXG4gIEBPdXRwdXQoKSBjb25maXJtQ2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+O1xuXG4gIC8qKlxuICAgKiBPbiBzYXZlIGJ1dHRvbiBjbGlja1xuICAgKiBAZXZlbnQgYWN0aXZlU3RlcCB0aGUgY3VycmVudCBzdGVwIGluZGV4XG4gICAqL1xuICBAT3V0cHV0KCkgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcblxuICBwcml2YXRlIHN0ZXBzU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5iYWNrQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICB0aGlzLmZvcndhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIHRoaXMuY29uZmlybUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgdGhpcy5zYXZlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzPy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gV2hlbiBzdGVwcyBjaGFuZ2VzIChkeW5hbWljIGFkZC9yZW1vdmUpXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGVwc1N1YnNjcmlwdGlvbnM/LmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTsgLy8gUmVtb3ZlIG9sZCBzdWJzY3JpcHRpb25zXG4gICAgICAgIHRoaXMuc3RlcHNTdWJzY3JpcHRpb25zID0gdGhpcy5zdGVwcz8ubWFwKHN0ZXAgPT5cbiAgICAgICAgICBzdGVwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBEZXRlY3RDaGFuZ2VzIHdoZW4gc3RlcCBhdHRyaWJ1dGVzIGNoYW5nZXNcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7IC8vIEZvcmNlIHVwZGF0ZSBodG1sIHJlbmRlclxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdGVwID0+IHN0ZXAudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdGVwcGVyc1wiIFtjbGFzcy5iZy1kYXJrXT1cImRhcmtcIj5cbiAgQGlmIChzaG93SGVhZGVyKSB7XG4gICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJzLWhlYWRlclwiPlxuICAgICAgQGlmIChzdGVwcykge1xuICAgICAgICA8dWw+XG4gICAgICAgICAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcC5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxsaSBbY2xhc3MuY29uZmlybWVkXT1cImkgPCBhY3RpdmVTdGVwXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCIgW2NsYXNzLm5vLWxpbmVdPVwiaSA9PT0gYWN0aXZlU3RlcCAmJiBzdGVwcGVyc051bWJlclwiPlxuICAgICAgICAgICAgICBAaWYgKHN0ZXAuaWNvbiAmJiAhc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICA8aXQtaWNvbiBbbGFiZWxXYXJpYV09XCInaXQuY29yZS5jb25maXJtZWQnIHwgdHJhbnNsYXRlXCIgW25hbWVdPVwic3RlcC5pY29uXCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXJzLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChpIDwgYWN0aXZlU3RlcCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5zdGVwJyB8IHRyYW5zbGF0ZSB9fSA8L3NwYW4+e3sgaSArIDEgfX1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3sgc3RlcC5sYWJlbCB9fVxuICAgICAgICAgICAgICBAaWYgKGkgPCBhY3RpdmVTdGVwICYmICFzdGVwcGVyc051bWJlcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja0ljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKGkgPT09IGFjdGl2ZVN0ZXApIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7ICdpdC5jb3JlLmFjdGl2ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgfVxuICAgICAgQGlmIChzdGVwcykge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXJzLWluZGV4XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgQGlmICghc3RlcHBlcnNOdW1iZXIpIHtcbiAgICAgICAgICAgIHt7IGFjdGl2ZVN0ZXAgKyAxICsgJy8nICsgc3RlcHMubGVuZ3RoIH19XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZm9yIChzdGVwIG9mIHN0ZXBzOyB0cmFjayBzdGVwLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBcIj57eyBpICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoc3RlcHM/LmdldChhY3RpdmVTdGVwKTsgYXMgc3RlcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVycy1jb250ZW50XCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RlcC5odG1sQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChzaG93QmFja0J1dHRvbiB8fCBzaG93U2F2ZUJ1dHRvbiB8fCBzaG93Rm9yd2FyZEJ1dHRvbiB8fCBzaG93Q29uZmlybUJ1dHRvbiB8fCAhIXByb2dyZXNzU3R5bGUpIHtcbiAgICA8bmF2IGNsYXNzPVwic3RlcHBlcnMtbmF2XCI+XG4gICAgICBAaWYgKHNob3dCYWNrQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cIm91dGxpbmUtcHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1wcmV2XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJhY2tCdXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJiYWNrQ2xpY2suZW1pdChhY3RpdmVTdGVwKVwiPlxuICAgICAgICAgIDxpdC1pY29uIFtsYWJlbFdhcmlhXT1cIidpdC5jb3JlLmJhY2snIHwgdHJhbnNsYXRlXCIgbmFtZT1cImNoZXZyb24tbGVmdFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaXQtaWNvbj5cbiAgICAgICAgICB7eyAnaXQuY29yZS5iYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoISFwcm9ncmVzc1N0eWxlICYmIHN0ZXBzKSB7XG4gICAgICAgIEBpZiAocHJvZ3Jlc3NTdHlsZSA9PT0gJ2RvdHMnKSB7XG4gICAgICAgICAgPHVsIGNsYXNzPVwic3RlcHBlcnMtZG90c1wiPlxuICAgICAgICAgICAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdpdC5jb3JlLnN0ZXAtb2YnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnQ6IGFjdGl2ZVN0ZXAgKyAxLCBhdmFpbGFibGU6IHN0ZXBzPy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgICAgICAge3sgaSA8IGFjdGl2ZVN0ZXAgPyAnLSAnICsgKCdpdC5jb3JlLmNvbmZpcm1lZCcgfCB0cmFuc2xhdGUpIDogJycgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJzLXByb2dyZXNzXCI+XG4gICAgICAgICAgICA8aXQtcHJvZ3Jlc3MtYmFyIFtjb2xvcl09XCJwcm9ncmVzc0NvbG9yXCIgW3ZhbHVlXT1cIihhY3RpdmVTdGVwIC8gKHN0ZXBzPy5sZW5ndGggfHwgMSkpICogMTAwXCI+PC9pdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvd1NhdmVCdXR0b24pIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGl0QnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1zYXZlXCJcbiAgICAgICAgICBbcHJvZ3Jlc3NdPVwic2F2ZUxvYWRpbmdcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJzYXZlTG9hZGluZyB8fCBkaXNhYmxlU2F2ZUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNhdmVDbGljay5lbWl0KGFjdGl2ZVN0ZXApXCI+XG4gICAgICAgICAge3sgJ2l0LmdlbmVyYWwuc2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dGb3J3YXJkQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cIm91dGxpbmUtcHJpbWFyeVwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXJzLWJ0bi1uZXh0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUZvcndhcmRCdXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJmb3J3YXJkQ2xpY2suZW1pdChhY3RpdmVTdGVwKVwiPlxuICAgICAgICAgIHt7ICdpdC5jb3JlLmZvcndhcmQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPGl0LWljb24gW2xhYmVsV2FyaWFdPVwiJ2l0LmNvcmUuZm9yd2FyZCcgfCB0cmFuc2xhdGVcIiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dDb25maXJtQnV0dG9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpdEJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgY2xhc3M9XCJzdGVwcGVycy1idG4tY29uZmlybSBkLWxnLWJsb2NrXCJcbiAgICAgICAgICBbcHJvZ3Jlc3NdPVwiY29uZmlybUxvYWRpbmdcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maXJtTG9hZGluZyB8fCBkaXNhYmxlQ29uZmlybUJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1DbGljay5lbWl0KGFjdGl2ZVN0ZXApXCI+XG4gICAgICAgICAge3sgJ2l0LmNvcmUuY29uZmlybScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9uYXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NoZWNrSWNvbj5cbiAgPGl0LWljb24gW2xhYmVsV2FyaWFdPVwiJ2l0LmNvcmUuY29uZmlybWVkJyB8IHRyYW5zbGF0ZVwiIG5hbWU9XCJjaGVja1wiIGNsYXNzPVwic3RlcHBlcnMtc3VjY2Vzc1wiPjwvaXQtaWNvbj5cbiAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5jb25maXJtZWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild } from '@angular/core';
2
- import { ItAbstractComponent } from '../../../../abstracts/abstract.component';
3
- import * as i0 from "@angular/core";
4
- export class ItSteppersItemComponent extends ItAbstractComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: ItSteppersItemComponent, isStandalone: true, selector: "it-steppers-item", inputs: { label: "label", icon: "icon" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersItemComponent, decorators: [{
9
- type: Component,
10
- args: [{ standalone: true, selector: 'it-steppers-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
- }], propDecorators: { label: [{
12
- type: Input,
13
- args: [{ required: true }]
14
- }], icon: [{
15
- type: Input
16
- }], htmlContent: [{
17
- type: ViewChild,
18
- args: [TemplateRef]
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlcnMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvc3RlcHBlcnMvc3RlcHBlcnMtaXRlbS9zdGVwcGVycy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1pdGVtL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFTL0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjs4R0FBbkQsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbUtBZXZCLFdBQVcsdUVDMUJ4Qiw4REFHQTs7MkZEUWEsdUJBQXVCO2tCQVBuQyxTQUFTO2lDQUNJLElBQUksWUFDTixrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxFQUFFOzhCQU1nQixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLaEIsSUFBSTtzQkFBWixLQUFLO2dCQU15QixXQUFXO3NCQUF6QyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2ljb24nO1xuaW1wb3J0IHsgSXRBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1zdGVwcGVycy1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEl0U3RlcHBlcnNJdGVtQ29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWxzIHByZXNlbnQgaW4gdGhlIGhlYWRlciBzdGVwc1xuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbGFiZWwhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbHMgcHJlc2VudCBpbiB0aGUgaGVhZGVyIHN0ZXBzIGNhbiBiZSBwcmVjZWRlZCBieSBhbiBpY29uLlxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogSWNvbk5hbWUgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHN0ZXBcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHB1YmxpYyBodG1sQ29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ItSteppersContainerComponent } from './steppers-container/steppers-container.component';
3
- import { ItSteppersItemComponent } from './steppers-item/steppers-item.component';
4
- import * as i0 from "@angular/core";
5
- const steppersComponents = [ItSteppersContainerComponent, ItSteppersItemComponent];
6
- export class ItSteppersModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, imports: [ItSteppersContainerComponent, ItSteppersItemComponent], exports: [ItSteppersContainerComponent, ItSteppersItemComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, imports: [ItSteppersContainerComponent] }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSteppersModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- imports: steppersComponents,
15
- exports: steppersComponents,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUVsRixNQUFNLGtCQUFrQixHQUFHLENBQUMsNEJBQTRCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQU1uRixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU5ELDRCQUE0QixFQUFFLHVCQUF1QixhQUFyRCw0QkFBNEIsRUFBRSx1QkFBdUI7K0dBTXBFLGdCQUFnQixZQU5ELDRCQUE0Qjs7MkZBTTNDLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixPQUFPLEVBQUUsa0JBQWtCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdFN0ZXBwZXJzQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVycy1jb250YWluZXIvc3RlcHBlcnMtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFN0ZXBwZXJzSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcHBlcnMtaXRlbS9zdGVwcGVycy1pdGVtLmNvbXBvbmVudCc7XG5cbmNvbnN0IHN0ZXBwZXJzQ29tcG9uZW50cyA9IFtJdFN0ZXBwZXJzQ29udGFpbmVyQ29tcG9uZW50LCBJdFN0ZXBwZXJzSXRlbUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IHN0ZXBwZXJzQ29tcG9uZW50cyxcbiAgZXhwb3J0czogc3RlcHBlcnNDb21wb25lbnRzLFxufSlcbmV4cG9ydCBjbGFzcyBJdFN0ZXBwZXJzTW9kdWxlIHt9XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
2
- import { ItTabItemComponent } from '../tab-item/tab-item.component';
3
- import { of, startWith, switchMap, tap } from 'rxjs';
4
- import { Tab } from 'bootstrap-italia';
5
- import { ItAbstractComponent } from '../../../../abstracts/abstract.component';
6
- import { NgTemplateOutlet } from '@angular/common';
7
- import { ItIconComponent } from '../../../utils/icon/icon.component';
8
- import { inputToBoolean } from '../../../../utils/coercion';
9
- import * as i0 from "@angular/core";
10
- export class ItTabContainerComponent extends ItAbstractComponent {
11
- constructor() {
12
- super();
13
- this.tabSelected = new EventEmitter();
14
- }
15
- ngAfterViewInit() {
16
- super.ngAfterViewInit();
17
- this.tabs?.changes
18
- .pipe(
19
- // When tabs changes (dynamic add/remove)
20
- startWith(undefined), tap(() => {
21
- this.tabSubscriptions?.forEach(sub => sub.unsubscribe()); // Remove old subscriptions
22
- this.tabSubscriptions = this.tabs?.map(tab => tab.valueChanges.subscribe(() => {
23
- this._changeDetectorRef.detectChanges(); // DetectChanges when tab-item attributes changes
24
- }));
25
- this._changeDetectorRef.detectChanges(); // Force update html render
26
- }), switchMap(() => this.tabNavLinks?.changes.pipe(startWith(undefined)) || of(undefined)))
27
- .subscribe(() => {
28
- // Init tabs from bootstrap-italia
29
- this.tabNavLinks?.forEach(tabNavLink => {
30
- const triggerEl = tabNavLink.nativeElement, tabTrigger = Tab.getOrCreateInstance(triggerEl);
31
- if (triggerEl.getAttribute('tab-listener') !== 'true') {
32
- triggerEl.addEventListener('click', event => {
33
- event.preventDefault();
34
- tabTrigger.show();
35
- this._changeDetectorRef.detectChanges();
36
- });
37
- triggerEl.setAttribute('tab-listener', 'true'); // Prevents multiple insertion of the listener
38
- }
39
- });
40
- });
41
- }
42
- ngOnDestroy() {
43
- this.tabSubscriptions?.forEach(sub => sub.unsubscribe());
44
- }
45
- onTab(tab) {
46
- this.tabSelected.emit(tab);
47
- }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItTabContainerComponent, isStandalone: true, selector: "it-tab-container", inputs: { auto: ["auto", "auto", inputToBoolean], iconText: ["iconText", "iconText", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, outputs: { tabSelected: "tabSelected" }, queries: [{ propertyName: "tabs", predicate: ItTabItemComponent }], viewQueries: [{ propertyName: "tabNavLinks", predicate: ["tabNavLinks"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\"\n (click)=\"onTab(tab)\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabContainerComponent, decorators: [{
52
- type: Component,
53
- args: [{ standalone: true, selector: 'it-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet], template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\"\n (click)=\"onTab(tab)\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n" }]
54
- }], ctorParameters: () => [], propDecorators: { auto: [{
55
- type: Input,
56
- args: [{ transform: inputToBoolean }]
57
- }], iconText: [{
58
- type: Input,
59
- args: [{ transform: inputToBoolean }]
60
- }], dark: [{
61
- type: Input,
62
- args: [{ transform: inputToBoolean }]
63
- }], tabs: [{
64
- type: ContentChildren,
65
- args: [ItTabItemComponent]
66
- }], tabNavLinks: [{
67
- type: ViewChildren,
68
- args: ['tabNavLinks']
69
- }], tabSelected: [{
70
- type: Output
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFnQixTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVM1RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBNEI5RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBTEEsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQU0vRCxDQUFDO0lBRVEsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPO2FBQ2YsSUFBSTtRQUNILHlDQUF5QztRQUN6QyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7WUFDckYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQzNDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsaURBQWlEO1lBQzVGLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQywyQkFBMkI7UUFDdEUsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDdkY7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2Qsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsYUFBYSxFQUN4QyxVQUFVLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUVsRCxJQUFJLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQ3RELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQzFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDdkIsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxDQUFDO29CQUNILFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsOENBQThDO2dCQUNoRyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBdUI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0ExRVUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUZBS2QsY0FBYyxzQ0FLZCxjQUFjLDBCQUtkLGNBQWMsMkZBS2pCLGtCQUFrQixtSkNoRHJDLHNzQ0F1Q0EsNENEYlksZUFBZSwySEFBRSxnQkFBZ0I7OzJGQUVoQyx1QkFBdUI7a0JBUG5DLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDO3dEQU9OLElBQUk7c0JBQXpDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQUtFLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQUtFLElBQUk7c0JBQXpDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQUtDLElBQUk7c0JBQXhDLGVBQWU7dUJBQUMsa0JBQWtCO2dCQUVFLFdBQVc7c0JBQS9DLFlBQVk7dUJBQUMsYUFBYTtnQkFFakIsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0VGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBvZiwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWIgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtdGFiLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJdEljb25Db21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFRhYkNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGFicyBhdXRvbWF0aWNhbGx5IG9jY3VweSB0aGUgZW50aXJlIGF2YWlsYWJsZSB3aWR0aFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBhdXRvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG8gb2J0YWluIHRoZSBjb3JyZWN0IG1hcmdpbiBiZXR3ZWVuIHRleHQgYW5kIGljb24gaW4gdGhlIGhvcml6b250YWxseSBkZXZlbG9wZWQgdGFiXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGljb25UZXh0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGFyayBzdHlsZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBkYXJrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRhYiBpdGVtc1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihJdFRhYkl0ZW1Db21wb25lbnQpIHRhYnM/OiBRdWVyeUxpc3Q8SXRUYWJJdGVtQ29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkcmVuKCd0YWJOYXZMaW5rcycpIHByaXZhdGUgdGFiTmF2TGlua3M/OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD4+O1xuXG4gIEBPdXRwdXQoKSB0YWJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SXRUYWJJdGVtQ29tcG9uZW50PigpO1xuXG4gIHByaXZhdGUgdGFiU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIHRoaXMudGFicz8uY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIFdoZW4gdGFicyBjaGFuZ2VzIChkeW5hbWljIGFkZC9yZW1vdmUpXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudGFiU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpOyAvLyBSZW1vdmUgb2xkIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgICB0aGlzLnRhYlN1YnNjcmlwdGlvbnMgPSB0aGlzLnRhYnM/Lm1hcCh0YWIgPT5cbiAgICAgICAgICAgIHRhYi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBEZXRlY3RDaGFuZ2VzIHdoZW4gdGFiLWl0ZW0gYXR0cmlidXRlcyBjaGFuZ2VzXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBGb3JjZSB1cGRhdGUgaHRtbCByZW5kZXJcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnRhYk5hdkxpbmtzPy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpIHx8IG9mKHVuZGVmaW5lZCkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gSW5pdCB0YWJzIGZyb20gYm9vdHN0cmFwLWl0YWxpYVxuICAgICAgICB0aGlzLnRhYk5hdkxpbmtzPy5mb3JFYWNoKHRhYk5hdkxpbmsgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaWdnZXJFbCA9IHRhYk5hdkxpbmsubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHRhYlRyaWdnZXIgPSBUYWIuZ2V0T3JDcmVhdGVJbnN0YW5jZSh0cmlnZ2VyRWwpO1xuXG4gICAgICAgICAgaWYgKHRyaWdnZXJFbC5nZXRBdHRyaWJ1dGUoJ3RhYi1saXN0ZW5lcicpICE9PSAndHJ1ZScpIHtcbiAgICAgICAgICAgIHRyaWdnZXJFbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdGFiVHJpZ2dlci5zaG93KCk7XG4gICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdHJpZ2dlckVsLnNldEF0dHJpYnV0ZSgndGFiLWxpc3RlbmVyJywgJ3RydWUnKTsgLy8gUHJldmVudHMgbXVsdGlwbGUgaW5zZXJ0aW9uIG9mIHRoZSBsaXN0ZW5lclxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudGFiU3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgb25UYWIodGFiOiBJdFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICB0aGlzLnRhYlNlbGVjdGVkLmVtaXQodGFiKTtcbiAgfVxufVxuIiwiQGlmICh0YWJzKSB7XG4gIDx1bCBjbGFzcz1cIm5hdiBuYXYtdGFic1wiIFtjbGFzcy5hdXRvXT1cImF1dG9cIiBbY2xhc3MubmF2LXRhYnMtaWNvbi10ZXh0XT1cImljb25UZXh0XCIgW2NsYXNzLm5hdi1kYXJrXT1cImRhcmtcIiByb2xlPVwidGFibGlzdFwiPlxuICAgIEBmb3IgKHRhYiBvZiB0YWJzOyB0cmFjayB0YWIuaWQpIHtcbiAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgI3RhYk5hdkxpbmtzXG4gICAgICAgICAgW2lkXT1cInRhYi5pZCArICctdGFiLWxpbmsnXCJcbiAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmhyZWZdPVwiJyMnICsgdGFiLmlkICsgJy10YWInXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInRhYi5pZCArICctdGFiJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVGFiKHRhYilcIj5cbiAgICAgICAgICBAaWYgKHRhYi5pY29uKSB7XG4gICAgICAgICAgICA8aXQtaWNvbiBbbmFtZV09XCJ0YWIuaWNvblwiIGNsYXNzPVwibWUtMlwiPjwvaXQtaWNvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgfVxuICA8L3VsPlxufVxuXG5AaWYgKHRhYnMpIHtcbiAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYi5pZCkge1xuICAgICAgPGRpdlxuICAgICAgICBbaWRdPVwidGFiLmlkICsgJy10YWInXCJcbiAgICAgICAgY2xhc3M9XCJ0YWItcGFuZSBwLTQgZmFkZSB7eyB0YWIuY2xhc3MgPz8gJycgfX1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInRhYi5hY3RpdmVcIlxuICAgICAgICBbY2xhc3Muc2hvd109XCJ0YWIuYWN0aXZlXCJcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYi5pZCArICctdGFiLWxpbmsnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuaHRtbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild } from '@angular/core';
2
- import { ItAbstractComponent } from '../../../../abstracts/abstract.component';
3
- import { inputToBoolean } from '../../../../utils/coercion';
4
- import * as i0 from "@angular/core";
5
- export class ItTabItemComponent extends ItAbstractComponent {
6
- constructor() {
7
- super(...arguments);
8
- /**
9
- * Custom class
10
- */
11
- this.class = '';
12
- }
13
- ngAfterViewInit() {
14
- super.ngAfterViewInit();
15
- this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItTabItemComponent, isStandalone: true, selector: "it-tab-item", inputs: { label: "label", icon: "icon", active: ["active", "active", inputToBoolean], disabled: ["disabled", "disabled", inputToBoolean], class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabItemComponent, decorators: [{
21
- type: Component,
22
- args: [{ standalone: true, selector: 'it-tab-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
23
- }], propDecorators: { label: [{
24
- type: Input
25
- }], icon: [{
26
- type: Input
27
- }], active: [{
28
- type: Input,
29
- args: [{ transform: inputToBoolean }]
30
- }], disabled: [{
31
- type: Input,
32
- args: [{ transform: inputToBoolean }]
33
- }], class: [{
34
- type: Input
35
- }], htmlContent: [{
36
- type: ViewChild,
37
- args: [TemplateRef]
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL3RhYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFTNUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQVAzRDs7UUE4QkU7O1dBRUc7UUFDTSxVQUFLLEdBQVcsRUFBRSxDQUFDO0tBVzdCO0lBSlUsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs4R0FwQ1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isb0hBZVQsY0FBYyxzQ0FNZCxjQUFjLDBGQVV2QixXQUFXLHVFQzNDeEIsOERBR0E7OzJGRFNhLGtCQUFrQjtrQkFQOUIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLEVBQUU7OEJBTUYsS0FBSztzQkFBYixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNZ0MsTUFBTTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsUUFBUTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBSzNCLEtBQUs7c0JBQWIsS0FBSztnQkFLeUIsV0FBVztzQkFBekMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9pY29uJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC10YWItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRUYWJJdGVtQ29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGhlIHRhYiBsYWJlbFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGljb24gbmFtZVxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogSWNvbk5hbWUgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgYWN0aXZlIHRhYlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBhY3RpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGRpc2FibGVkIHRhYlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFzc1xuICAgKi9cbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0YWJcbiAgICovXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHB1YmxpYyBodG1sQ29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGFzcycpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ItTabContainerComponent } from './tab-container/tab-container.component';
3
- import { ItTabItemComponent } from './tab-item/tab-item.component';
4
- import * as i0 from "@angular/core";
5
- const tabComponents = [ItTabContainerComponent, ItTabItemComponent];
6
- export class ItTabModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule, imports: [ItTabContainerComponent, ItTabItemComponent], exports: [ItTabContainerComponent, ItTabItemComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTabModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- imports: tabComponents,
15
- exports: tabComponents,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS90YWIvdGFiLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVuRSxNQUFNLGFBQWEsR0FBRyxDQUFDLHVCQUF1QixFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFNcEUsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLFlBTkQsdUJBQXVCLEVBQUUsa0JBQWtCLGFBQTNDLHVCQUF1QixFQUFFLGtCQUFrQjsrR0FNckQsV0FBVzs7MkZBQVgsV0FBVztrQkFKdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsYUFBYTtvQkFDdEIsT0FBTyxFQUFFLGFBQWE7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0VGFiQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90YWItY29udGFpbmVyL3RhYi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0VGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgdGFiQ29tcG9uZW50cyA9IFtJdFRhYkNvbnRhaW5lckNvbXBvbmVudCwgSXRUYWJJdGVtQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogdGFiQ29tcG9uZW50cyxcbiAgZXhwb3J0czogdGFiQ29tcG9uZW50cyxcbn0pXG5leHBvcnQgY2xhc3MgSXRUYWJNb2R1bGUge31cbiJdfQ==
@@ -1,134 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject, Input, Optional, ViewEncapsulation, } from '@angular/core';
2
- import { merge } from 'rxjs';
3
- import { ItIconComponent } from '../../../../utils/icon/icon.component';
4
- import { IT_SORT_DEFAULT_OPTIONS, } from '../../../../../interfaces/sortable-table';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../sort.directive";
7
- /**
8
- * Applies sorting behavior (click to change sort) and styles to an element, including an
9
- * arrow to display the current sort direction.
10
- *
11
- * Must be provided with an id and contained within a parent ItSort directive.
12
- *
13
- * If used on header cells in a CdkTable, it will automatically default its id from its containing
14
- * column definition.
15
- */
16
- export class ItSortHeaderComponent {
17
- constructor(_changeDetectorRef,
18
- // `SortDirective` is not optionally injected, but just asserted manually w/ better error.
19
- _sort, defaultOptions) {
20
- this._changeDetectorRef = _changeDetectorRef;
21
- this._sort = _sort;
22
- /** Sets the position of the arrow that displays when sorted. */
23
- this.arrowPosition = 'after';
24
- /** whether the sort header is disabled. */
25
- this.sortDisabled = false;
26
- this.sortHeaderClass = 'it-sort-header';
27
- if (defaultOptions?.arrowPosition) {
28
- this.arrowPosition = defaultOptions?.arrowPosition;
29
- }
30
- this._handleStateChanges();
31
- }
32
- ngOnInit() {
33
- // Initialize the direction of the arrow and set the view state to be immediately that state.
34
- this.updateArrowDirection();
35
- this._sort.register(this);
36
- }
37
- ngOnDestroy() {
38
- this._sort.deregister(this);
39
- this._rerenderSubscription?.unsubscribe();
40
- }
41
- _handleClick() {
42
- if (!this.isDisabled) {
43
- this._sort.sort(this);
44
- }
45
- }
46
- /**
47
- * Whether this MatSortHeader is currently sorted in either ascending or descending order.
48
- */
49
- get isSorted() {
50
- return this._sort.active == this.id && (this._sort.direction === 'asc' || this._sort.direction === 'desc');
51
- }
52
- /**
53
- * Returns the icon class by the arrow direction
54
- */
55
- get arrowIconClass() {
56
- return `${this._arrowDirection == 'asc' ? 'arrow-up' : 'arrow-down'}`;
57
- }
58
- /**
59
- * Updates the direction the arrow should be pointing. If it is not sorted, the arrow should be
60
- * facing the start direction. Otherwise if it is sorted, the arrow should point in the currently
61
- * active sorted direction. The reason this is updated through a function is because the direction
62
- * should only be changed at specific times - when deactivated but the hint is displayed and when
63
- * the sort is active and the direction changes. Otherwise the arrow's direction should linger
64
- * in cases such as the sort becoming deactivated but we want to animate the arrow away while
65
- * preserving its direction, even though the next sort direction is actually different and should
66
- * only be changed once the arrow displays again (hint or activation).
67
- */
68
- updateArrowDirection() {
69
- this._arrowDirection = this.isSorted ? this._sort.direction : this.start || this._sort.start;
70
- }
71
- get isDisabled() {
72
- return this._sort.sortDisabled || this.sortDisabled;
73
- }
74
- /**
75
- * Gets the aria-sort attribute that should be applied to this sort header. If this header
76
- * is not sorted, returns null so that the attribute is removed from the host element. Aria spec
77
- * says that the aria-sort property should only be present on one header at a time, so removing
78
- * ensures this is true.
79
- */
80
- get ariaSortAttribute() {
81
- if (!this.isSorted) {
82
- return 'none';
83
- }
84
- return this._sort.direction == 'asc' ? 'ascending' : 'descending';
85
- }
86
- /** Handles changes in the sorting state. */
87
- _handleStateChanges() {
88
- this._rerenderSubscription = merge(this._sort.sortChange, this._sort._stateChanges).subscribe(() => {
89
- if (this.isSorted) {
90
- this.updateArrowDirection();
91
- }
92
- this._changeDetectorRef.markForCheck();
93
- });
94
- }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSortHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ItSortDirective, optional: true }, { token: IT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItSortHeaderComponent, isStandalone: true, selector: "[it-sort-header]", inputs: { id: ["it-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortDisabled: ["sortDisabled", "sortDisabled", booleanAttribute], disableSortClear: ["disableSortClear", "disableSortClear", booleanAttribute] }, host: { listeners: { "click": "_handleClick()" }, properties: { "class": "this.sortHeaderClass", "class.it-sort-header-disabled": "this.isDisabled", "attr.aria-sort": "this.ariaSortAttribute" } }, exportAs: ["itSortHeader"], ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div\n class=\"it-sort-header-container it-focus-indicator\"\n [class.it-sort-header-sorted]=\"isSorted\"\n [class.it-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"isDisabled ? null : 0\"\n [attr.role]=\"isDisabled ? null : 'button'\">\n <!--\n We have to keep it due to a large number of screenshot diff failures. It should be removed eventually.\n Note that the difference isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"it-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <it-icon class=\"it-sort-arrow\" size=\"sm\" [name]=\"arrowIconClass\" />\n</div>\n", styles: [".it-sort-header-container{display:flex;cursor:pointer;align-items:center;justify-content:space-between;letter-spacing:normal;outline:0}.it-sort-header-disabled .it-sort-header-container{cursor:default}.it-sort-header-disabled .it-sort-header-container .it-sort-arrow{opacity:0!important;fill-opacity:0!important}.it-sort-header-container:before{margin:-5px}.it-sort-header-container.it-sort-header-position-before{flex-direction:row-reverse;justify-content:left;gap:.5rem}.it-sort-header-container .it-sort-arrow{opacity:0;fill-opacity:0;transition:fill-opacity .3s ease-out,opacity .3s ease-out;-moz-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-webkit-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-o-transition:fill-opacity .3s ease-out,opacity .3s ease-out}.it-sort-header-container:hover .it-sort-arrow{opacity:.5;fill-opacity:.5}.it-sort-header-container.it-sort-header-sorted .it-sort-arrow{opacity:1!important;fill-opacity:1!important}\n"], dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSortHeaderComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: '[it-sort-header]', exportAs: 'itSortHeader', standalone: true, imports: [ItIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div\n class=\"it-sort-header-container it-focus-indicator\"\n [class.it-sort-header-sorted]=\"isSorted\"\n [class.it-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"isDisabled ? null : 0\"\n [attr.role]=\"isDisabled ? null : 'button'\">\n <!--\n We have to keep it due to a large number of screenshot diff failures. It should be removed eventually.\n Note that the difference isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"it-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <it-icon class=\"it-sort-arrow\" size=\"sm\" [name]=\"arrowIconClass\" />\n</div>\n", styles: [".it-sort-header-container{display:flex;cursor:pointer;align-items:center;justify-content:space-between;letter-spacing:normal;outline:0}.it-sort-header-disabled .it-sort-header-container{cursor:default}.it-sort-header-disabled .it-sort-header-container .it-sort-arrow{opacity:0!important;fill-opacity:0!important}.it-sort-header-container:before{margin:-5px}.it-sort-header-container.it-sort-header-position-before{flex-direction:row-reverse;justify-content:left;gap:.5rem}.it-sort-header-container .it-sort-arrow{opacity:0;fill-opacity:0;transition:fill-opacity .3s ease-out,opacity .3s ease-out;-moz-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-webkit-transition:fill-opacity .3s ease-out,opacity .3s ease-out;-o-transition:fill-opacity .3s ease-out,opacity .3s ease-out}.it-sort-header-container:hover .it-sort-arrow{opacity:.5;fill-opacity:.5}.it-sort-header-container.it-sort-header-sorted .it-sort-arrow{opacity:1!important;fill-opacity:1!important}\n"] }]
101
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ItSortDirective, decorators: [{
102
- type: Optional
103
- }] }, { type: undefined, decorators: [{
104
- type: Optional
105
- }, {
106
- type: Inject,
107
- args: [IT_SORT_DEFAULT_OPTIONS]
108
- }] }], propDecorators: { id: [{
109
- type: Input,
110
- args: ['it-sort-header']
111
- }], arrowPosition: [{
112
- type: Input
113
- }], start: [{
114
- type: Input
115
- }], sortDisabled: [{
116
- type: Input,
117
- args: [{ transform: booleanAttribute }]
118
- }], disableSortClear: [{
119
- type: Input,
120
- args: [{ transform: booleanAttribute }]
121
- }], sortHeaderClass: [{
122
- type: HostBinding,
123
- args: ['class']
124
- }], _handleClick: [{
125
- type: HostListener,
126
- args: ['click']
127
- }], isDisabled: [{
128
- type: HostBinding,
129
- args: ['class.it-sort-header-disabled']
130
- }], ariaSortAttribute: [{
131
- type: HostBinding,
132
- args: ['attr.aria-sort']
133
- }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL3RhYmxlL3NvcnQvc29ydC1oZWFkZXIvc29ydC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL3RhYmxlL3NvcnQvc29ydC1oZWFkZXIvc29ydC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxLQUFLLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsdUJBQXVCLEdBS3hCLE1BQU0sMENBQTBDLENBQUM7OztBQUVsRDs7Ozs7Ozs7R0FRRztBQVlILE1BQU0sT0FBTyxxQkFBcUI7SUE2QmhDLFlBQ21CLGtCQUFxQztJQUN0RCwwRkFBMEY7SUFDOUQsS0FBc0IsRUFDTCxjQUFxQztRQUhqRSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBRTFCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBekJwRCxnRUFBZ0U7UUFDdkQsa0JBQWEsR0FBNEIsT0FBTyxDQUFDO1FBSzFELDJDQUEyQztRQUUzQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQU9kLG9CQUFlLEdBQUcsZ0JBQWdCLENBQUM7UUFhakQsSUFBSSxjQUFj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a0M1QyxRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1Qjt5Q0E1QnBCLEVBQUU7c0JBQTFCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUdkLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLdEMsZ0JBQWdCO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRCLGVBQWU7c0JBRDlCLFdBQVc7dUJBQUMsT0FBTztnQkFpQ3BCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxPQUFPO2dCQW9DVixVQUFVO3NCQURwQixXQUFXO3VCQUFDLCtCQUErQjtnQkFZakMsaUJBQWlCO3NCQUQzQixXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0U29ydERpcmVjdGl2ZSB9IGZyb20gJy4uL3NvcnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IG1lcmdlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2ljb24nO1xuaW1wb3J0IHtcbiAgSVRfU09SVF9ERUZBVUxUX09QVElPTlMsXG4gIEl0U29ydGFibGUsXG4gIEl0U29ydERlZmF1bHRPcHRpb25zLFxuICBTb3J0RGlyZWN0aW9uLFxuICBTb3J0SGVhZGVyQXJyb3dQb3NpdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9zb3J0YWJsZS10YWJsZSc7XG5cbi8qKlxuICogQXBwbGllcyBzb3J0aW5nIGJlaGF2aW9yIChjbGljayB0byBjaGFuZ2Ugc29ydCkgYW5kIHN0eWxlcyB0byBhbiBlbGVtZW50LCBpbmNsdWRpbmcgYW5cbiAqIGFycm93IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnQgc29ydCBkaXJlY3Rpb24uXG4gKlxuICogTXVzdCBiZSBwcm92aWRlZCB3aXRoIGFuIGlkIGFuZCBjb250YWluZWQgd2l0aGluIGEgcGFyZW50IEl0U29ydCBkaXJlY3RpdmUuXG4gKlxuICogSWYgdXNlZCBvbiBoZWFkZXIgY2VsbHMgaW4gYSBDZGtUYWJsZSwgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGRlZmF1bHQgaXRzIGlkIGZyb20gaXRzIGNvbnRhaW5pbmdcbiAqIGNvbHVtbiBkZWZpbml0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbaXQtc29ydC1oZWFkZXJdJyxcbiAgZXhwb3J0QXM6ICdpdFNvcnRIZWFkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSXRJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NvcnQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc29ydC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEl0U29ydEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEl0U29ydGFibGUsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIElEIG9mIHRoaXMgc29ydCBoZWFkZXIuIElmIHVzZWQgd2l0aGluIHRoZSBjb250ZXh0IG9mIGEgQ2RrQ29sdW1uRGVmLCB0aGlzIHdpbGwgZGVmYXVsdCB0b1xuICAgKiB0aGUgY29sdW1uJ3MgbmFtZS5cbiAgICovXG4gIEBJbnB1dCgnaXQtc29ydC1oZWFkZXInKSBpZCE6IHN0cmluZztcblxuICAvKiogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIGFycm93IHRoYXQgZGlzcGxheXMgd2hlbiBzb3J0ZWQuICovXG4gIEBJbnB1dCgpIGFycm93UG9zaXRpb246IFNvcnRIZWFkZXJBcnJvd1Bvc2l0aW9uID0gJ2FmdGVyJztcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBzb3J0IHN0YXJ0IHZhbHVlIG9mIHRoZSBjb250YWluaW5nIE1hdFNvcnQgZm9yIHRoaXMgU29ydEhlYWRlckNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc3RhcnQ/OiBTb3J0RGlyZWN0aW9uO1xuXG4gIC8qKiB3aGV0aGVyIHRoZSBzb3J0IGhlYWRlciBpcyBkaXNhYmxlZC4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHNvcnREaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBPdmVycmlkZXMgdGhlIGRpc2FibGUgY2xlYXIgdmFsdWUgb2YgdGhlIGNvbnRhaW5pbmcgU29ydERpcmVjdGl2ZSBmb3IgdGhpcyBNYXRTb3J0YWJsZS4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGRpc2FibGVTb3J0Q2xlYXI/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgcmVhZG9ubHkgc29ydEhlYWRlckNsYXNzID0gJ2l0LXNvcnQtaGVhZGVyJztcblxuICBwcml2YXRlIF9yZXJlbmRlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAvKiogVGhlIGRpcmVjdGlvbiB0aGUgYXJyb3cgc2hvdWxkIGJlIGZhY2luZyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgc3RhdGUuICovXG4gIHByaXZhdGUgX2Fycm93RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgLy8gYFNvcnREaXJlY3RpdmVgIGlzIG5vdCBvcHRpb25hbGx5IGluamVjdGVkLCBidXQganVzdCBhc3NlcnRlZCBtYW51YWxseSB3LyBiZXR0ZXIgZXJyb3IuXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIHJlYWRvbmx5IF9zb3J0OiBJdFNvcnREaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChJVF9TT1JUX0RFRkFVTFRfT1BUSU9OUykgZGVmYXVsdE9wdGlvbnM/OiBJdFNvcnREZWZhdWx0T3B0aW9uc1xuICApIHtcbiAgICBpZiAoZGVmYXVsdE9wdGlvbnM/LmFycm93UG9zaXRpb24pIHtcbiAgICAgIHRoaXMuYXJyb3dQb3NpdGlvbiA9IGRlZmF1bHRPcHRpb25zPy5hcnJvd1Bvc2l0aW9uO1xuICAgIH1cblxuICAgIHRoaXMuX2hhbmRsZVN0YXRlQ2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgZGlyZWN0aW9uIG9mIHRoZSBhcnJvdyBhbmQgc2V0IHRoZSB2aWV3IHN0YXRlIHRvIGJlIGltbWVkaWF0ZWx5IHRoYXQgc3RhdGUuXG4gICAgdGhpcy51cGRhdGVBcnJvd0RpcmVjdGlvbigpO1xuICAgIHRoaXMuX3NvcnQucmVnaXN0ZXIodGhpcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zb3J0LmRlcmVnaXN0ZXIodGhpcyk7XG4gICAgdGhpcy5fcmVyZW5kZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIF9oYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5fc29ydC5zb3J0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgTWF0U29ydEhlYWRlciBpcyBjdXJyZW50bHkgc29ydGVkIGluIGVpdGhlciBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZyBvcmRlci5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgaXNTb3J0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvcnQuYWN0aXZlID09IHRoaXMuaWQgJiYgKHRoaXMuX3NvcnQuZGlyZWN0aW9uID09PSAnYXNjJyB8fCB0aGlzLl9zb3J0LmRpcmVjdGlvbiA9PT0gJ2Rlc2MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpY29uIGNsYXNzIGJ5IHRoZSBhcnJvdyBkaXJlY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgYXJyb3dJY29uQ2xhc3MoKTogSWNvbk5hbWUge1xuICAgIHJldHVybiBgJHt0aGlzLl9hcnJvd0RpcmVjdGlvbiA9PSAnYXNjJyA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bid9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkaXJlY3Rpb24gdGhlIGFycm93IHNob3VsZCBiZSBwb2ludGluZy4gSWYgaXQgaXMgbm90IHNvcnRlZCwgdGhlIGFycm93IHNob3VsZCBiZVxuICAgKiBmYWNpbmcgdGhlIHN0YXJ0IGRpcmVjdGlvbi4gT3RoZXJ3aXNlIGlmIGl0IGlzIHNvcnRlZCwgdGhlIGFycm93IHNob3VsZCBwb2ludCBpbiB0aGUgY3VycmVudGx5XG4gICAqIGFjdGl2ZSBzb3J0ZWQgZGlyZWN0aW9uLiBUaGUgcmVhc29uIHRoaXMgaXMgdXBkYXRlZCB0aHJvdWdoIGEgZnVuY3Rpb24gaXMgYmVjYXVzZSB0aGUgZGlyZWN0aW9uXG4gICAqIHNob3VsZCBvbmx5IGJlIGNoYW5nZWQgYXQgc3BlY2lmaWMgdGltZXMgLSB3aGVuIGRlYWN0aXZhdGVkIGJ1dCB0aGUgaGludCBpcyBkaXNwbGF5ZWQgYW5kIHdoZW5cbiAgICogdGhlIHNvcnQgaXMgYWN0aXZlIGFuZCB0aGUgZGlyZWN0aW9uIGNoYW5nZXMuIE90aGVyd2lzZSB0aGUgYXJyb3cncyBkaXJlY3Rpb24gc2hvdWxkIGxpbmdlclxuICAgKiBpbiBjYXNlcyBzdWNoIGFzIHRoZSBzb3J0IGJlY29taW5nIGRlYWN0aXZhdGVkIGJ1dCB3ZSB3YW50IHRvIGFuaW1hdGUgdGhlIGFycm93IGF3YXkgd2hpbGVcbiAgICogcHJlc2VydmluZyBpdHMgZGlyZWN0aW9uLCBldmVuIHRob3VnaCB0aGUgbmV4dCBzb3J0IGRpcmVjdGlvbiBpcyBhY3R1YWxseSBkaWZmZXJlbnQgYW5kIHNob3VsZFxuICAgKiBvbmx5IGJlIGNoYW5nZWQgb25jZSB0aGUgYXJyb3cgZGlzcGxheXMgYWdhaW4gKGhpbnQgb3IgYWN0aXZhdGlvbikuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUFycm93RGlyZWN0aW9uKCkge1xuICAgIHRoaXMuX2Fycm93RGlyZWN0aW9uID0gdGhpcy5pc1NvcnRlZCA/IHRoaXMuX3NvcnQuZGlyZWN0aW9uIDogdGhpcy5zdGFydCB8fCB0aGlzLl9zb3J0LnN0YXJ0O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pdC1zb3J0LWhlYWRlci1kaXNhYmxlZCcpXG4gIHB1YmxpYyBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydC5zb3J0RGlzYWJsZWQgfHwgdGhpcy5zb3J0RGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXJpYS1zb3J0IGF0dHJpYnV0ZSB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoaXMgc29ydCBoZWFkZXIuIElmIHRoaXMgaGVhZGVyXG4gICAqIGlzIG5vdCBzb3J0ZWQsIHJldHVybnMgbnVsbCBzbyB0aGF0IHRoZSBhdHRyaWJ1dGUgaXMgcmVtb3ZlZCBmcm9tIHRoZSBob3N0IGVsZW1lbnQuIEFyaWEgc3BlY1xuICAgKiBzYXlzIHRoYXQgdGhlIGFyaWEtc29ydCBwcm9wZXJ0eSBzaG91bGQgb25seSBiZSBwcmVzZW50IG9uIG9uZSBoZWFkZXIgYXQgYSB0aW1lLCBzbyByZW1vdmluZ1xuICAgKiBlbnN1cmVzIHRoaXMgaXMgdHJ1ZS5cbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNvcnQnKVxuICBwdWJsaWMgZ2V0IGFyaWFTb3J0QXR0cmlidXRlKCkge1xuICAgIGlmICghdGhpcy5pc1NvcnRlZCkge1xuICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc29ydC5kaXJlY3Rpb24gPT0gJ2FzYycgPyAnYXNjZW5kaW5nJyA6ICdkZXNjZW5kaW5nJztcbiAgfVxuXG4gIC8qKiBIYW5kbGVzIGNoYW5nZXMgaW4gdGhlIHNvcnRpbmcgc3RhdGUuICovXG4gIHByaXZhdGUgX2hhbmRsZVN0YXRlQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9yZXJlbmRlclN1YnNjcmlwdGlvbiA9IG1lcmdlKHRoaXMuX3NvcnQuc29ydENoYW5nZSwgdGhpcy5fc29ydC5fc3RhdGVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNTb3J0ZWQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVBcnJvd0RpcmVjdGlvbigpO1xuICAgICAgfVxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgV2Ugc2V0IHRoZSBgdGFiaW5kZXhgIG9uIGFuIGVsZW1lbnQgaW5zaWRlIHRoZSB0YWJsZSBoZWFkZXIsIHJhdGhlciB0aGFuIHRoZSBoZWFkZXIgaXRzZWxmLFxuICBiZWNhdXNlIG9mIGEgYnVnIGluIE5WREEgd2hlcmUgaGF2aW5nIGEgYHRhYmluZGV4YCBvbiBhIGB0aGAgYnJlYWtzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlXG4gIHRhYmxlIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL252YWNjZXNzL252ZGEvaXNzdWVzLzc3MTgpLiBUaGlzIGFsbG93cyBmb3IgdGhlIGhlYWRlciB0byBib3RoXG4gIGJlIGZvY3VzYWJsZSwgYW5kIGhhdmUgc2NyZWVuIHJlYWRlcnMgcmVhZCBvdXQgaXRzIGBhcmlhLXNvcnRgIHN0YXRlLiBXZSBwcmVmZXIgdGhpcyBhcHByb2FjaFxuICBvdmVyIGhhdmluZyBhIGJ1dHRvbiB3aXRoIGFuIGBhcmlhLWxhYmVsYCBpbnNpZGUgdGhlIGhlYWRlciwgYmVjYXVzZSB0aGUgYnV0dG9uJ3MgYGFyaWEtbGFiZWxgXG4gIHdpbGwgYmUgcmVhZCBvdXQgYXMgdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0aGUgdGFibGUncyBjZWxsIChzZWUgIzEzMDEyKS5cblxuICBUaGUgYXBwcm9hY2ggaXMgYmFzZWQgb2ZmIG9mOiBodHRwczovL2RlcXVldW5pdmVyc2l0eS5jb20vbGlicmFyeS9hcmlhL3RhYmxlcy9zZi1zb3J0YWJsZS1ncmlkXG4tLT5cbjxkaXZcbiAgY2xhc3M9XCJpdC1zb3J0LWhlYWRlci1jb250YWluZXIgaXQtZm9jdXMtaW5kaWNhdG9yXCJcbiAgW2NsYXNzLml0LXNvcnQtaGVhZGVyLXNvcnRlZF09XCJpc1NvcnRlZFwiXG4gIFtjbGFzcy5pdC1zb3J0LWhlYWRlci1wb3NpdGlvbi1iZWZvcmVdPVwiYXJyb3dQb3NpdGlvbiA9PT0gJ2JlZm9yZSdcIlxuICBbYXR0ci50YWJpbmRleF09XCJpc0Rpc2FibGVkID8gbnVsbCA6IDBcIlxuICBbYXR0ci5yb2xlXT1cImlzRGlzYWJsZWQgPyBudWxsIDogJ2J1dHRvbidcIj5cbiAgPCEtLVxuICAgIFdlIGhhdmUgdG8ga2VlcCBpdCBkdWUgdG8gYSBsYXJnZSBudW1iZXIgb2Ygc2NyZWVuc2hvdCBkaWZmIGZhaWx1cmVzLiBJdCBzaG91bGQgYmUgcmVtb3ZlZCBldmVudHVhbGx5LlxuICAgIE5vdGUgdGhhdCB0aGUgZGlmZmVyZW5jZSBpc24ndCB2aXNpYmxlIHdpdGggYSBzaG9ydGVyIGhlYWRlciwgYnV0IG9uY2UgaXQgYnJlYWtzIHVwIGludG8gbXVsdGlwbGUgbGluZXMsIHRoaXMgZWxlbWVudFxuICAgIGNhdXNlcyBpdCB0byBiZSBjZW50ZXItYWxpZ25lZCwgd2hlcmVhcyByZW1vdmluZyBpdCB3aWxsIGtlZXAgdGhlIHRleHQgdG8gdGhlIGxlZnQuXG4gIC0tPlxuICA8ZGl2IGNsYXNzPVwiaXQtc29ydC1oZWFkZXItY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgPGl0LWljb24gY2xhc3M9XCJpdC1zb3J0LWFycm93XCIgc2l6ZT1cInNtXCIgW25hbWVdPVwiYXJyb3dJY29uQ2xhc3NcIiAvPlxuPC9kaXY+XG4iXX0=