@impartner/design-components 1.1.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +5 -4
  2. package/constants/fontawesome-icons.d.ts +2 -2
  3. package/{esm2020 → esm2022}/constants/fontawesome-icons.mjs +1 -1
  4. package/{esm2020 → esm2022}/lib/alert/alert.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/alert/alert.module.mjs +5 -5
  6. package/{esm2020 → esm2022}/lib/avatar/avatar.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/avatar/avatar.module.mjs +5 -5
  8. package/{esm2020 → esm2022}/lib/avatar-group/avatar-group.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/avatar-group/avatar-group.module.mjs +5 -5
  10. package/esm2022/lib/backdrop/backdrop.component.mjs +52 -0
  11. package/{esm2020 → esm2022}/lib/backdrop/backdrop.module.mjs +6 -6
  12. package/esm2022/lib/badge/badge.component.mjs +105 -0
  13. package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +6 -6
  14. package/{esm2020 → esm2022}/lib/badge/types/badge-size.mjs +1 -1
  15. package/{esm2020 → esm2022}/lib/branding/branded.directive.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/branding/branding.module.mjs +6 -6
  17. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb-item.component.mjs +6 -6
  18. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb.component.mjs +5 -5
  19. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb.module.mjs +5 -5
  20. package/{esm2020 → esm2022}/lib/button/button.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/button/button.module.mjs +6 -6
  22. package/{esm2020 → esm2022}/lib/button-group/button-group.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/button-group/button-group.module.mjs +6 -6
  24. package/{esm2020 → esm2022}/lib/card-heading/card-heading.component.mjs +5 -5
  25. package/{esm2020 → esm2022}/lib/card-heading/card-heading.module.mjs +6 -6
  26. package/esm2022/lib/data-card/data-card.component.mjs +123 -0
  27. package/esm2022/lib/data-card/data-card.module.mjs +21 -0
  28. package/{esm2020 → esm2022}/lib/design-components.module.mjs +61 -61
  29. package/{esm2020 → esm2022}/lib/dropdown/components/dropdown-item/dropdown-item.component.mjs +4 -4
  30. package/esm2022/lib/dropdown/dropdown.component.mjs +143 -0
  31. package/{esm2020 → esm2022}/lib/dropdown/dropdown.module.mjs +6 -6
  32. package/{esm2020 → esm2022}/lib/file-upload/directives/file-drop.directive.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/file-upload/file-upload.component.mjs +30 -30
  34. package/{esm2020 → esm2022}/lib/file-upload/file-upload.module.mjs +8 -8
  35. package/{esm2020 → esm2022}/lib/file-upload/pipes/human-readable-byte-size.pipe.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/form-field/controls/checkbox/checkbox.component.mjs +49 -49
  37. package/{esm2020 → esm2022}/lib/form-field/controls/checkbox/checkbox.module.mjs +5 -5
  38. package/esm2022/lib/form-field/controls/input/input.directive.mjs +233 -0
  39. package/esm2022/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +260 -0
  40. package/esm2022/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +289 -0
  41. package/{esm2020 → esm2022}/lib/form-field/controls/radio/radio.module.mjs +5 -5
  42. package/esm2022/lib/form-field/controls/select/option/select-option.component.mjs +139 -0
  43. package/esm2022/lib/form-field/controls/select/select-model.mjs +150 -0
  44. package/esm2022/lib/form-field/controls/select/select.component.mjs +522 -0
  45. package/{esm2020 → esm2022}/lib/form-field/controls/select/select.module.mjs +9 -9
  46. package/{esm2020 → esm2022}/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +4 -4
  47. package/esm2022/lib/form-field/controls/shared/toggle/toggle.component.mjs +96 -0
  48. package/{esm2020 → esm2022}/lib/form-field/controls/shared/toggle/toggle.module.mjs +6 -6
  49. package/{esm2020 → esm2022}/lib/form-field/directives/corner-hint.directive.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/form-field/directives/error.directive.mjs +4 -4
  51. package/esm2022/lib/form-field/directives/form-root.directive.mjs +91 -0
  52. package/{esm2020 → esm2022}/lib/form-field/directives/hint.directive.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/form-field/directives/label.directive.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/form-field/directives/prefix.directive.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/form-field/directives/suffix.directive.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/form-field/form-field.component.mjs +11 -11
  57. package/{esm2020 → esm2022}/lib/form-field/impdc-forms.module.mjs +28 -28
  58. package/{esm2020 → esm2022}/lib/form-field/services/error-state-matcher.service.mjs +7 -7
  59. package/{esm2020 → esm2022}/lib/form-field/services/unique-selection-dispatcher.service.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/form-field/shared/disabled.mixin.mjs +5 -5
  61. package/esm2022/lib/form-field/shared/error-state.mixin.mjs +24 -0
  62. package/{esm2020 → esm2022}/lib/form-field/shared/form-field-control.mjs +4 -4
  63. package/{esm2020 → esm2022}/lib/form-field/shared/tab-index.mixin.mjs +6 -6
  64. package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +5 -5
  65. package/{esm2020 → esm2022}/lib/icon/icon.module.mjs +6 -6
  66. package/esm2022/lib/modal/modal.component.mjs +260 -0
  67. package/{esm2020 → esm2022}/lib/modal/modal.module.mjs +14 -14
  68. package/{esm2020 → esm2022}/lib/modal/types/modal-component-sizes.mjs +1 -1
  69. package/{esm2020 → esm2022}/lib/modal/types/modal-theme.mjs +1 -1
  70. package/esm2022/lib/pagination/pagination.component.mjs +176 -0
  71. package/esm2022/lib/pagination/pagination.module.mjs +41 -0
  72. package/{esm2020 → esm2022}/lib/progress-bar/progress-bar.component.mjs +5 -5
  73. package/{esm2020 → esm2022}/lib/progress-bar/progress-bar.module.mjs +5 -5
  74. package/esm2022/lib/scrollable/scrollable.component.mjs +186 -0
  75. package/{esm2020 → esm2022}/lib/scrollable/scrollable.module.mjs +6 -6
  76. package/esm2022/lib/select-icon/select-icon.component.mjs +308 -0
  77. package/{esm2020 → esm2022}/lib/select-icon/select-icon.module.mjs +13 -13
  78. package/{esm2020 → esm2022}/lib/size-detection/directive/size-detector.directive.mjs +5 -5
  79. package/{esm2020 → esm2022}/lib/size-detection/size-detection.module.mjs +5 -5
  80. package/{esm2020 → esm2022}/lib/spinner/spinner.component.mjs +4 -4
  81. package/{esm2020 → esm2022}/lib/spinner/spinner.module.mjs +5 -5
  82. package/esm2022/lib/table/components/bulk-actions/bulk-actions.component.mjs +11 -0
  83. package/esm2022/lib/table/components/column-heading/column-heading.component.mjs +38 -0
  84. package/esm2022/lib/table/components/index.mjs +4 -0
  85. package/esm2022/lib/table/components/row-actions/row-actions.component.mjs +61 -0
  86. package/esm2022/lib/table/constants/index.mjs +3 -0
  87. package/esm2022/lib/table/constants/public-table.constants.mjs +2 -0
  88. package/esm2022/lib/table/constants/table.constants.mjs +24 -0
  89. package/esm2022/lib/table/containers/index.mjs +2 -0
  90. package/esm2022/lib/table/containers/table.component.mjs +403 -0
  91. package/esm2022/lib/table/directives/index.mjs +3 -0
  92. package/esm2022/lib/table/directives/table-inject-component.directive.mjs +46 -0
  93. package/esm2022/lib/table/directives/table.directive.mjs +35 -0
  94. package/esm2022/lib/table/enumerations/index.mjs +2 -0
  95. package/esm2022/lib/table/enumerations/table-column-type.mjs +21 -0
  96. package/esm2022/lib/table/helpers/index.mjs +2 -0
  97. package/esm2022/lib/table/helpers/table-theme.helper.mjs +31 -0
  98. package/esm2022/lib/table/index.mjs +8 -0
  99. package/esm2022/lib/table/interfaces/cell-renderer.interface.mjs +2 -0
  100. package/esm2022/lib/table/interfaces/custom-cell-renderer-components.type.mjs +2 -0
  101. package/esm2022/lib/table/interfaces/index.mjs +11 -0
  102. package/esm2022/lib/table/interfaces/sort-by-payload.interface.mjs +2 -0
  103. package/esm2022/lib/table/interfaces/table-cell-option.interface.mjs +2 -0
  104. package/esm2022/lib/table/interfaces/table-column-defs.type.mjs +2 -0
  105. package/esm2022/lib/table/interfaces/table-event-payload.interface.mjs +2 -0
  106. package/esm2022/lib/table/interfaces/table-row-action-payload.interface.mjs +2 -0
  107. package/esm2022/lib/table/interfaces/table-row-action.interface.mjs +2 -0
  108. package/esm2022/lib/table/interfaces/table-row-item.interface.mjs +2 -0
  109. package/esm2022/lib/table/table.module.mjs +96 -0
  110. package/{esm2020 → esm2022}/lib/text-highlight/text-highlight.component.mjs +6 -6
  111. package/{esm2020 → esm2022}/lib/text-highlight/text-highlight.module.mjs +6 -6
  112. package/{esm2020 → esm2022}/services/index.mjs +1 -1
  113. package/esm2022/services/interaction.service.mjs +88 -0
  114. package/{esm2020 → esm2022}/types/component-theme.mjs +1 -1
  115. package/{fesm2020 → fesm2022}/impartner-design-components.mjs +3768 -2988
  116. package/fesm2022/impartner-design-components.mjs.map +1 -0
  117. package/lib/alert/alert.component.d.ts +1 -1
  118. package/lib/alert/theme/alert-theme.d.ts +1 -1
  119. package/lib/avatar/avatar.component.d.ts +1 -1
  120. package/lib/avatar-group/avatar-group.component.d.ts +1 -1
  121. package/lib/backdrop/backdrop.component.d.ts +9 -6
  122. package/lib/badge/badge.component.d.ts +3 -2
  123. package/lib/badge/types/badge-icon.d.ts +1 -1
  124. package/lib/badge/types/badge-size.d.ts +1 -1
  125. package/lib/branding/branded.directive.d.ts +1 -1
  126. package/lib/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  127. package/lib/breadcrumb/breadcrumb.component.d.ts +1 -1
  128. package/lib/button/button.component.d.ts +1 -1
  129. package/lib/button/themes/button-theme.d.ts +1 -1
  130. package/lib/button-group/button-group.component.d.ts +1 -1
  131. package/lib/card-heading/card-heading.component.d.ts +1 -1
  132. package/lib/data-card/data-card.component.d.ts +14 -18
  133. package/lib/data-card/data-card.module.d.ts +2 -1
  134. package/lib/dropdown/components/dropdown-item/dropdown-item.component.d.ts +1 -1
  135. package/lib/dropdown/dropdown.component.d.ts +6 -5
  136. package/lib/dropdown/types/dropdown-position.d.ts +1 -1
  137. package/lib/file-upload/directives/file-drop.directive.d.ts +1 -1
  138. package/lib/file-upload/file-upload.component.d.ts +1 -1
  139. package/lib/form-field/controls/checkbox/checkbox.component.d.ts +1 -1
  140. package/lib/form-field/controls/input/input.directive.d.ts +1 -1
  141. package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +1 -1
  142. package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +1 -1
  143. package/lib/form-field/controls/select/option/select-option.component.d.ts +4 -4
  144. package/lib/form-field/controls/select/select.component.d.ts +1 -1
  145. package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +1 -1
  146. package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +1 -1
  147. package/lib/form-field/directives/corner-hint.directive.d.ts +1 -1
  148. package/lib/form-field/directives/error.directive.d.ts +1 -1
  149. package/lib/form-field/directives/form-root.directive.d.ts +2 -2
  150. package/lib/form-field/directives/hint.directive.d.ts +1 -1
  151. package/lib/form-field/directives/label.directive.d.ts +1 -1
  152. package/lib/form-field/directives/prefix.directive.d.ts +1 -1
  153. package/lib/form-field/directives/suffix.directive.d.ts +1 -1
  154. package/lib/form-field/form-field.component.d.ts +1 -1
  155. package/lib/form-field/services/unique-selection-dispatcher.service.d.ts +1 -1
  156. package/lib/form-field/shared/constructors.type.d.ts +2 -2
  157. package/lib/form-field/shared/disabled.mixin.d.ts +1 -1
  158. package/lib/form-field/shared/error-state.mixin.d.ts +1 -1
  159. package/lib/form-field/shared/form-field-control.d.ts +1 -1
  160. package/lib/form-field/shared/tab-index.mixin.d.ts +1 -1
  161. package/lib/icon/icon.component.d.ts +1 -1
  162. package/lib/modal/modal.component.d.ts +17 -10
  163. package/lib/modal/types/modal-component-sizes.d.ts +1 -1
  164. package/lib/modal/types/modal-theme.d.ts +1 -1
  165. package/lib/pagination/pagination.component.d.ts +18 -3
  166. package/lib/pagination/pagination.module.d.ts +2 -1
  167. package/lib/progress-bar/progress-bar.component.d.ts +1 -1
  168. package/lib/scrollable/scrollable.component.d.ts +1 -1
  169. package/lib/select-icon/select-icon.component.d.ts +1 -1
  170. package/lib/size-detection/directive/size-detector.directive.d.ts +1 -1
  171. package/lib/spinner/spinner.component.d.ts +1 -1
  172. package/lib/table/components/bulk-actions/bulk-actions.component.d.ts +5 -0
  173. package/lib/table/components/column-heading/column-heading.component.d.ts +14 -0
  174. package/lib/table/components/index.d.ts +3 -0
  175. package/lib/table/components/row-actions/row-actions.component.d.ts +21 -0
  176. package/lib/table/constants/index.d.ts +2 -0
  177. package/lib/table/constants/public-table.constants.d.ts +1 -0
  178. package/lib/table/constants/table.constants.d.ts +10 -0
  179. package/lib/table/containers/index.d.ts +1 -0
  180. package/lib/table/containers/table.component.d.ts +133 -0
  181. package/lib/table/directives/index.d.ts +2 -0
  182. package/lib/table/directives/table-inject-component.directive.d.ts +16 -0
  183. package/lib/table/directives/table.directive.d.ts +15 -0
  184. package/lib/table/enumerations/index.d.ts +1 -0
  185. package/lib/table/enumerations/table-column-type.d.ts +19 -0
  186. package/lib/table/helpers/index.d.ts +1 -0
  187. package/lib/table/helpers/table-theme.helper.d.ts +7 -0
  188. package/lib/table/index.d.ts +7 -2
  189. package/lib/table/interfaces/cell-renderer.interface.d.ts +6 -0
  190. package/lib/table/interfaces/custom-cell-renderer-components.type.d.ts +3 -0
  191. package/lib/table/interfaces/index.d.ts +10 -0
  192. package/lib/table/interfaces/sort-by-payload.interface.d.ts +5 -0
  193. package/lib/table/interfaces/table-cell-option.interface.d.ts +4 -0
  194. package/lib/table/interfaces/table-column-defs.type.d.ts +29 -0
  195. package/lib/table/interfaces/table-event-payload.interface.d.ts +6 -0
  196. package/lib/table/interfaces/table-row-action-payload.interface.d.ts +6 -0
  197. package/lib/table/interfaces/table-row-action.interface.d.ts +9 -0
  198. package/lib/table/interfaces/table-row-item.interface.d.ts +9 -0
  199. package/lib/table/table.module.d.ts +17 -3
  200. package/lib/text-highlight/text-highlight.component.d.ts +1 -1
  201. package/package.json +15 -20
  202. package/services/index.d.ts +1 -1
  203. package/services/interaction.service.d.ts +20 -10
  204. package/types/component-size.d.ts +2 -2
  205. package/types/component-theme.d.ts +1 -1
  206. package/utilities/boolean-props.d.ts +1 -1
  207. package/utilities/number-props.d.ts +1 -1
  208. package/esm2020/lib/backdrop/backdrop.component.mjs +0 -40
  209. package/esm2020/lib/badge/badge.component.mjs +0 -99
  210. package/esm2020/lib/data-card/data-card.component.mjs +0 -128
  211. package/esm2020/lib/data-card/data-card.module.mjs +0 -20
  212. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -142
  213. package/esm2020/lib/form-field/controls/input/input.directive.mjs +0 -233
  214. package/esm2020/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +0 -260
  215. package/esm2020/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +0 -289
  216. package/esm2020/lib/form-field/controls/select/option/select-option.component.mjs +0 -139
  217. package/esm2020/lib/form-field/controls/select/select-model.mjs +0 -150
  218. package/esm2020/lib/form-field/controls/select/select.component.mjs +0 -522
  219. package/esm2020/lib/form-field/controls/shared/toggle/toggle.component.mjs +0 -96
  220. package/esm2020/lib/form-field/directives/form-root.directive.mjs +0 -91
  221. package/esm2020/lib/form-field/shared/error-state.mixin.mjs +0 -24
  222. package/esm2020/lib/modal/modal.component.mjs +0 -187
  223. package/esm2020/lib/pagination/pagination.component.mjs +0 -145
  224. package/esm2020/lib/pagination/pagination.module.mjs +0 -37
  225. package/esm2020/lib/scrollable/scrollable.component.mjs +0 -186
  226. package/esm2020/lib/select-icon/select-icon.component.mjs +0 -308
  227. package/esm2020/lib/table/index.mjs +0 -3
  228. package/esm2020/lib/table/table.component.mjs +0 -33
  229. package/esm2020/lib/table/table.module.mjs +0 -19
  230. package/esm2020/services/interaction.service.mjs +0 -81
  231. package/fesm2015/impartner-design-components.mjs +0 -8595
  232. package/fesm2015/impartner-design-components.mjs.map +0 -1
  233. package/fesm2020/impartner-design-components.mjs.map +0 -1
  234. package/lib/table/table.component.d.ts +0 -15
  235. /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
  236. /package/{esm2020 → esm2022}/impartner-design-components.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/alert/index.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/alert/theme/alert-theme.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/alert/theme/index.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/avatar/index.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/avatar-group/index.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/backdrop/index.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/badge/types/badge-icon.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/badge/types/index.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/branding/index.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/breadcrumb/index.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/button/themes/button-theme.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/button/themes/index.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/button-group/index.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/card-heading/index.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/data-card/index.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/dropdown/components/index.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/dropdown/types/dropdown-position.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/dropdown/types/index.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/file-upload/directives/index.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/file-upload/index.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/file-upload/pipes/index.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/form-field/controls/checkbox/index.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/form-field/controls/index.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/form-field/controls/input/index.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/index.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/injection-tokens.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/index.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/radio-button.interface.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/radio-change-event.interface.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/radio-group.interface.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/form-field/controls/select/index.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/form-field/controls/select/option/index.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/form-field/controls/select/option-parent.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/form-field/controls/shared/index.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/form-field/controls/shared/toggle/components/index.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/form-field/controls/shared/toggle/index.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/form-field/directives/index.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/form-field/form-field-errors.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/form-field/impdc-forms.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/form-field/index.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/form-field/services/index.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/form-field/shared/constructors.type.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/form-field/shared/index.mjs +0 -0
  283. /package/{esm2020 → esm2022}/lib/icon/index.mjs +0 -0
  284. /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
  285. /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
  286. /package/{esm2020 → esm2022}/lib/modal/types/index.mjs +0 -0
  287. /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
  288. /package/{esm2020 → esm2022}/lib/progress-bar/index.mjs +0 -0
  289. /package/{esm2020 → esm2022}/lib/scrollable/index.mjs +0 -0
  290. /package/{esm2020 → esm2022}/lib/select-icon/index.mjs +0 -0
  291. /package/{esm2020 → esm2022}/lib/size-detection/directive/element-size.interface.mjs +0 -0
  292. /package/{esm2020 → esm2022}/lib/size-detection/directive/index.mjs +0 -0
  293. /package/{esm2020 → esm2022}/lib/size-detection/index.mjs +0 -0
  294. /package/{esm2020 → esm2022}/lib/spinner/index.mjs +0 -0
  295. /package/{esm2020 → esm2022}/lib/text-highlight/index.mjs +0 -0
  296. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  297. /package/{esm2020 → esm2022}/types/component-size.mjs +0 -0
  298. /package/{esm2020 → esm2022}/types/index.mjs +0 -0
  299. /package/{esm2020 → esm2022}/utilities/boolean-props.mjs +0 -0
  300. /package/{esm2020 → esm2022}/utilities/dc.mjs +0 -0
  301. /package/{esm2020 → esm2022}/utilities/index.mjs +0 -0
  302. /package/{esm2020 → esm2022}/utilities/lc.mjs +0 -0
  303. /package/{esm2020 → esm2022}/utilities/number-props.mjs +0 -0
  304. /package/{esm2020 → esm2022}/utilities/sanitize.mjs +0 -0
@@ -1,142 +0,0 @@
1
- import { Component, Input, HostListener, Output, EventEmitter, HostBinding, ContentChildren } from '@angular/core';
2
- import { DropdownItemComponent } from './components';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "../button/button.component";
7
- /**
8
- * The `DropdownComponent` (`<impdc-dropdown` or `<any impdc-dropdown`) contains a button that toggles a dropdown where a user
9
- * can select various actions. Items within must be wrapped with `DropdownItemComponent` (`<impdc-dropdown-item`).
10
- * To use, import `DropdownModule` or another module that imports and exports that module from `@impartner/design-components`.
11
- * `DropdownModule` imports and exports [ButtonModule](./?path=/docs/design-components-button).
12
- */
13
- export class DropdownComponent {
14
- constructor(_interactionService) {
15
- this._interactionService = _interactionService;
16
- this._interactableId = 0;
17
- /**
18
- * Whether or not the dropdown list is showing.
19
- */
20
- this.show = false;
21
- /**
22
- * The theme of the button affecting text, icons, backgrounds, and borders.
23
- */
24
- this.buttonTheme = 'primary';
25
- /**
26
- * The text of the button.
27
- */
28
- this.buttonText = '';
29
- // we don't want headerText to be available right now
30
- // @Input()
31
- //headerText: string = '';
32
- /**
33
- * Where the list shows relative to the button when it is showing.
34
- */
35
- this.position = 'down';
36
- /**
37
- * If true, the icon is split from the button and only clicking the icon triggers the list showing/hiding.
38
- */
39
- this.split = false;
40
- /**
41
- * Emitted when the dropdown is toggled.
42
- */
43
- this.toggle = new EventEmitter();
44
- /**
45
- * Emitted when the button is clicked.
46
- */
47
- this.buttonClick = new EventEmitter();
48
- this.classBtnGroup = true;
49
- }
50
- get classDropdown() {
51
- return this.position === 'down';
52
- }
53
- get classDropend() {
54
- return this.position === 'right';
55
- }
56
- get classDropstart() {
57
- return this.position === 'left';
58
- }
59
- get classDropup() {
60
- return this.position === 'up';
61
- }
62
- handleHostClick($event) {
63
- $event.stopPropagation();
64
- }
65
- handleDocumentClick() {
66
- if (this.show) {
67
- this.hide();
68
- }
69
- }
70
- get interactableId() {
71
- return this._interactableId;
72
- }
73
- get valid() {
74
- return this.interactableId > 0;
75
- }
76
- get shown() {
77
- return this.valid && this.show;
78
- }
79
- ngOnInit() {
80
- this._interactableId = this._interactionService.add(this);
81
- }
82
- ngOnDestroy() {
83
- this._interactionService.remove(this.interactableId);
84
- this._interactableId = 0;
85
- }
86
- handleToggle() {
87
- this.show = this._interactionService.toggle(this);
88
- this.toggle.emit(this.show);
89
- }
90
- handleButtonClick(event) {
91
- this.buttonClick.emit(event);
92
- }
93
- hide() {
94
- this.show = false;
95
- this.toggle.emit(this.show);
96
- }
97
- }
98
- DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.InteractionService }], target: i0.ɵɵFactoryTarget.Component });
99
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DropdownComponent, selector: "impdc-dropdown, [impdc-dropdown]", inputs: { show: "show", buttonTheme: "buttonTheme", buttonText: "buttonText", position: "position", split: "split" }, outputs: { toggle: "toggle", buttonClick: "buttonClick" }, host: { listeners: { "click": "handleHostClick()", "document:click": "handleDocumentClick()" }, properties: { "class.btn-group": "this.classBtnGroup", "class.dropdown": "this.classDropdown", "class.dropend": "this.classDropend", "class.dropstart": "this.classDropstart", "class.dropup": "this.classDropup" } }, queries: [{ propertyName: "items", predicate: DropdownItemComponent }], ngImport: i0, template: "<ng-container *ngIf=\"!linkEl.children.length\">\n <button\n *ngIf=\"!split; else splitTemplate\"\n impdcButton\n [theme]=\"buttonTheme\"\n [text]=\"buttonText\"\n class=\"dropdown-toggle\"\n [class.show]=\"show\"\n data-bs-toggle=\"dropdown\"\n [attr.aria-expanded]=\"show\"\n (click)=\"handleToggle(); $event.stopPropagation()\"></button>\n\n <ng-template #splitTemplate>\n <button\n impdcButton\n [theme]=\"buttonTheme\"\n [text]=\"buttonText\"\n (click)=\"handleButtonClick($event)\"></button>\n <button\n impdcButton\n [theme]=\"buttonTheme\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [class.show]=\"show\"\n [attr.aria-expanded]=\"show\"\n (click)=\"handleToggle(); $event.stopPropagation()\">\n <span class=\"visually-hidden\">Toggle Dropdown</span>\n </button>\n </ng-template>\n</ng-container>\n\n<ul\n class=\"dropdown-menu\"\n [class.dropdown-menu-end]=\"false\"\n [class.show]=\"show\"\n (click)=\"$event.stopPropagation()\">\n <!-- <li *ngIf=\"headerText\">\n <h6 class=\"dropdown-header\">{{ headerText }}</h6>\n </li> -->\n <li *ngFor=\"let item of items\">\n <span *ngIf=\"!item.divider; else dividerTemplate\" class=\"dropdown-item\">\n <ng-content *ngTemplateOutlet=\"item.template\"></ng-content>\n </span>\n </li>\n</ul>\n\n<ng-template #dividerTemplate>\n <hr class=\"dropdown-divider\" />\n</ng-template>\n\n<a\n #linkEl\n class=\"impdc-dropdown-link\"\n [class.hide]=\"!linkEl.children.length\"\n [class.impdc-dropdown-open]=\"show\"\n data-bs-toggle=\"dropdown\"\n [attr.aria-expanded]=\"show\"\n (click)=\"handleToggle(); $event.stopPropagation()\">\n <ng-content select=\"[toggle]\"></ng-content>\n</a>\n", styles: [".impdc-dropdown-link{position:relative;padding:.8rem 1.6rem;border-radius:6px;font-size:14px;line-height:18px;font-weight:500}.impdc-dropdown-link.impdc-dropdown-open,.impdc-dropdown-link:active,.impdc-dropdown-link:focus{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.impdc-dropdown-link.hide{display:none}:host-context(.impdc-form-field-wrapper.input-group)>:host>.btn{border-top:none;border-bottom:none}:host-context(.impdc-form-field-wrapper.input-group)>:host:first-child>.btn:first-of-type{border-left:none}:host-context(.impdc-form-field-wrapper.input-group)>:host:last-child>.btn:last-of-type{border-right:none}:host-context(.input-group)>:host:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host-context(.input-group:not(.has-validation))>:host:not(:last-child)>.btn,:host-context(.input-group:not(.has-validation))>:host:last-child>.btn:not(:last-of-type),:host-context(.input-group.has-validation)>:host:nth-last-child(n+3)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }] });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
101
- type: Component,
102
- args: [{ selector: 'impdc-dropdown, [impdc-dropdown]', template: "<ng-container *ngIf=\"!linkEl.children.length\">\n <button\n *ngIf=\"!split; else splitTemplate\"\n impdcButton\n [theme]=\"buttonTheme\"\n [text]=\"buttonText\"\n class=\"dropdown-toggle\"\n [class.show]=\"show\"\n data-bs-toggle=\"dropdown\"\n [attr.aria-expanded]=\"show\"\n (click)=\"handleToggle(); $event.stopPropagation()\"></button>\n\n <ng-template #splitTemplate>\n <button\n impdcButton\n [theme]=\"buttonTheme\"\n [text]=\"buttonText\"\n (click)=\"handleButtonClick($event)\"></button>\n <button\n impdcButton\n [theme]=\"buttonTheme\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [class.show]=\"show\"\n [attr.aria-expanded]=\"show\"\n (click)=\"handleToggle(); $event.stopPropagation()\">\n <span class=\"visually-hidden\">Toggle Dropdown</span>\n </button>\n </ng-template>\n</ng-container>\n\n<ul\n class=\"dropdown-menu\"\n [class.dropdown-menu-end]=\"false\"\n [class.show]=\"show\"\n (click)=\"$event.stopPropagation()\">\n <!-- <li *ngIf=\"headerText\">\n <h6 class=\"dropdown-header\">{{ headerText }}</h6>\n </li> -->\n <li *ngFor=\"let item of items\">\n <span *ngIf=\"!item.divider; else dividerTemplate\" class=\"dropdown-item\">\n <ng-content *ngTemplateOutlet=\"item.template\"></ng-content>\n </span>\n </li>\n</ul>\n\n<ng-template #dividerTemplate>\n <hr class=\"dropdown-divider\" />\n</ng-template>\n\n<a\n #linkEl\n class=\"impdc-dropdown-link\"\n [class.hide]=\"!linkEl.children.length\"\n [class.impdc-dropdown-open]=\"show\"\n data-bs-toggle=\"dropdown\"\n [attr.aria-expanded]=\"show\"\n (click)=\"handleToggle(); $event.stopPropagation()\">\n <ng-content select=\"[toggle]\"></ng-content>\n</a>\n", styles: [".impdc-dropdown-link{position:relative;padding:.8rem 1.6rem;border-radius:6px;font-size:14px;line-height:18px;font-weight:500}.impdc-dropdown-link.impdc-dropdown-open,.impdc-dropdown-link:active,.impdc-dropdown-link:focus{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.impdc-dropdown-link.hide{display:none}:host-context(.impdc-form-field-wrapper.input-group)>:host>.btn{border-top:none;border-bottom:none}:host-context(.impdc-form-field-wrapper.input-group)>:host:first-child>.btn:first-of-type{border-left:none}:host-context(.impdc-form-field-wrapper.input-group)>:host:last-child>.btn:last-of-type{border-right:none}:host-context(.input-group)>:host:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host-context(.input-group:not(.has-validation))>:host:not(:last-child)>.btn,:host-context(.input-group:not(.has-validation))>:host:last-child>.btn:not(:last-of-type),:host-context(.input-group.has-validation)>:host:nth-last-child(n+3)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}\n"] }]
103
- }], ctorParameters: function () { return [{ type: i1.InteractionService }]; }, propDecorators: { show: [{
104
- type: Input
105
- }], items: [{
106
- type: ContentChildren,
107
- args: [DropdownItemComponent]
108
- }], buttonTheme: [{
109
- type: Input
110
- }], buttonText: [{
111
- type: Input
112
- }], position: [{
113
- type: Input
114
- }], split: [{
115
- type: Input
116
- }], toggle: [{
117
- type: Output
118
- }], buttonClick: [{
119
- type: Output
120
- }], classBtnGroup: [{
121
- type: HostBinding,
122
- args: ['class.btn-group']
123
- }], classDropdown: [{
124
- type: HostBinding,
125
- args: ['class.dropdown']
126
- }], classDropend: [{
127
- type: HostBinding,
128
- args: ['class.dropend']
129
- }], classDropstart: [{
130
- type: HostBinding,
131
- args: ['class.dropstart']
132
- }], classDropup: [{
133
- type: HostBinding,
134
- args: ['class.dropup']
135
- }], handleHostClick: [{
136
- type: HostListener,
137
- args: ['click']
138
- }], handleDocumentClick: [{
139
- type: HostListener,
140
- args: ['document:click']
141
- }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsRUFFWCxlQUFlLEVBR2hCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHckQ7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBcUY1QixZQUFvQixtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQXBGbkQsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFNUI7O1dBRUc7UUFFSCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBUWI7O1dBRUc7UUFFSCxnQkFBVyxHQUFnQixTQUFTLENBQUM7UUFFckM7O1dBRUc7UUFFSCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLHFEQUFxRDtRQUNyRCxXQUFXO1FBQ1gsMEJBQTBCO1FBRTFCOztXQUVHO1FBRUgsYUFBUSxHQUFxQixNQUFNLENBQUM7UUFFcEM7O1dBRUc7UUFFSCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQ7O1dBRUc7UUFFSCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVyQzs7V0FFRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVaLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBOEJDLENBQUM7SUE1Qi9ELElBQTJDLGFBQWE7UUFDdEQsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBMEMsWUFBWTtRQUNwRCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUE0QyxjQUFjO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQXlDLFdBQVc7UUFDbEQsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBR0QsZUFBZSxDQUFDLE1BQWtCO1FBQ2hDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUlELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFpQjtRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzsrR0F4SFUsaUJBQWlCO21HQUFqQixpQkFBaUIsc2tCQVlYLHFCQUFxQiw2QkN4Q3hDLHV1REEyREE7NEZEL0JhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxrQ0FBa0M7eUdBVzVDLElBQUk7c0JBREgsS0FBSztnQkFPTixLQUFLO3NCQURKLGVBQWU7dUJBQUMscUJBQXFCO2dCQU90QyxXQUFXO3NCQURWLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQVdOLFFBQVE7c0JBRFAsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04sTUFBTTtzQkFETCxNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBR2lDLGFBQWE7c0JBQXBELFdBQVc7dUJBQUMsaUJBQWlCO2dCQUVhLGFBQWE7c0JBQXZELFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUlhLFlBQVk7c0JBQXJELFdBQVc7dUJBQUMsZUFBZTtnQkFJZ0IsY0FBYztzQkFBekQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSVcsV0FBVztzQkFBbkQsV0FBVzt1QkFBQyxjQUFjO2dCQUszQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsT0FBTztnQkFNckIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCdXR0b25UaGVtZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRHJvcGRvd25Qb3NpdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgRHJvcGRvd25Db21wb25lbnRgIChgPGltcGRjLWRyb3Bkb3duYCBvciBgPGFueSBpbXBkYy1kcm9wZG93bmApIGNvbnRhaW5zIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyBhIGRyb3Bkb3duIHdoZXJlIGEgdXNlclxuICogY2FuIHNlbGVjdCB2YXJpb3VzIGFjdGlvbnMuIEl0ZW1zIHdpdGhpbiBtdXN0IGJlIHdyYXBwZWQgd2l0aCBgRHJvcGRvd25JdGVtQ29tcG9uZW50YCAoYDxpbXBkYy1kcm9wZG93bi1pdGVtYCkuXG4gKiBUbyB1c2UsIGltcG9ydCBgRHJvcGRvd25Nb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqIGBEcm9wZG93bk1vZHVsZWAgaW1wb3J0cyBhbmQgZXhwb3J0cyBbQnV0dG9uTW9kdWxlXSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWJ1dHRvbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLWRyb3Bkb3duLCBbaW1wZGMtZHJvcGRvd25dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfaW50ZXJhY3RhYmxlSWQgPSAwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZHJvcGRvd24gbGlzdCBpcyBzaG93aW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBwcm9qZWN0ZWQgYERyb3Bkb3duSXRlbUNvbXBvbmVudGAgY2hpbGRyZW4uXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKERyb3Bkb3duSXRlbUNvbXBvbmVudClcbiAgaXRlbXMhOiBRdWVyeUxpc3Q8RHJvcGRvd25JdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogVGhlIHRoZW1lIG9mIHRoZSBidXR0b24gYWZmZWN0aW5nIHRleHQsIGljb25zLCBiYWNrZ3JvdW5kcywgYW5kIGJvcmRlcnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBidXR0b25UaGVtZTogQnV0dG9uVGhlbWUgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IG9mIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBidXR0b25UZXh0ID0gJyc7XG5cbiAgLy8gd2UgZG9uJ3Qgd2FudCBoZWFkZXJUZXh0IHRvIGJlIGF2YWlsYWJsZSByaWdodCBub3dcbiAgLy8gQElucHV0KClcbiAgLy9oZWFkZXJUZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hlcmUgdGhlIGxpc3Qgc2hvd3MgcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbiB3aGVuIGl0IGlzIHNob3dpbmcuXG4gICAqL1xuICBASW5wdXQoKVxuICBwb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvbiA9ICdkb3duJztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGljb24gaXMgc3BsaXQgZnJvbSB0aGUgYnV0dG9uIGFuZCBvbmx5IGNsaWNraW5nIHRoZSBpY29uIHRyaWdnZXJzIHRoZSBsaXN0IHNob3dpbmcvaGlkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgc3BsaXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpcyB0b2dnbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tZ3JvdXAnKSBwcml2YXRlIGNsYXNzQnRuR3JvdXAgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJvcGRvd24nKSBwcml2YXRlIGdldCBjbGFzc0Ryb3Bkb3duKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAnZG93bic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3BlbmQnKSBwcml2YXRlIGdldCBjbGFzc0Ryb3BlbmQoKSB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb24gPT09ICdyaWdodCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3BzdGFydCcpIHByaXZhdGUgZ2V0IGNsYXNzRHJvcHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3B1cCcpIHByaXZhdGUgZ2V0IGNsYXNzRHJvcHVwKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSAndXAnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBoYW5kbGVIb3N0Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBoYW5kbGVEb2N1bWVudENsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3cpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlKSB7fVxuXG4gIGdldCBpbnRlcmFjdGFibGVJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGFibGVJZDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGFibGVJZCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWQgJiYgdGhpcy5zaG93O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJhY3RhYmxlSWQgPSB0aGlzLl9pbnRlcmFjdGlvblNlcnZpY2UuYWRkKHRoaXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJhY3Rpb25TZXJ2aWNlLnJlbW92ZSh0aGlzLmludGVyYWN0YWJsZUlkKTtcbiAgICB0aGlzLl9pbnRlcmFjdGFibGVJZCA9IDA7XG4gIH1cblxuICBoYW5kbGVUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93ID0gdGhpcy5faW50ZXJhY3Rpb25TZXJ2aWNlLnRvZ2dsZSh0aGlzKTtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHRoaXMuc2hvdyk7XG4gIH1cblxuICBoYW5kbGVCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMudG9nZ2xlLmVtaXQodGhpcy5zaG93KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsaW5rRWwuY2hpbGRyZW4ubGVuZ3RoXCI+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiFzcGxpdDsgZWxzZSBzcGxpdFRlbXBsYXRlXCJcbiAgICBpbXBkY0J1dHRvblxuICAgIFt0aGVtZV09XCJidXR0b25UaGVtZVwiXG4gICAgW3RleHRdPVwiYnV0dG9uVGV4dFwiXG4gICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGVcIlxuICAgIFtjbGFzcy5zaG93XT1cInNob3dcIlxuICAgIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2hvd1wiXG4gICAgKGNsaWNrKT1cImhhbmRsZVRvZ2dsZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj48L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI3NwbGl0VGVtcGxhdGU+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIFt0aGVtZV09XCJidXR0b25UaGVtZVwiXG4gICAgICBbdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygkZXZlbnQpXCI+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIFt0aGVtZV09XCJidXR0b25UaGVtZVwiXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBkcm9wZG93bi10b2dnbGUtc3BsaXRcIlxuICAgICAgW2NsYXNzLnNob3ddPVwic2hvd1wiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZVRvZ2dsZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+VG9nZ2xlIERyb3Bkb3duPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjx1bFxuICBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIlxuICBbY2xhc3MuZHJvcGRvd24tbWVudS1lbmRdPVwiZmFsc2VcIlxuICBbY2xhc3Muc2hvd109XCJzaG93XCJcbiAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICA8IS0tIDxsaSAqbmdJZj1cImhlYWRlclRleHRcIj5cbiAgICA8aDYgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIj57eyBoZWFkZXJUZXh0IH19PC9oNj5cbiAgPC9saT4gLS0+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uZGl2aWRlcjsgZWxzZSBkaXZpZGVyVGVtcGxhdGVcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgIDxuZy1jb250ZW50ICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbS50ZW1wbGF0ZVwiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIDwvbGk+XG48L3VsPlxuXG48bmctdGVtcGxhdGUgI2RpdmlkZXJUZW1wbGF0ZT5cbiAgPGhyIGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiIC8+XG48L25nLXRlbXBsYXRlPlxuXG48YVxuICAjbGlua0VsXG4gIGNsYXNzPVwiaW1wZGMtZHJvcGRvd24tbGlua1wiXG4gIFtjbGFzcy5oaWRlXT1cIiFsaW5rRWwuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgW2NsYXNzLmltcGRjLWRyb3Bkb3duLW9wZW5dPVwic2hvd1wiXG4gIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dcIlxuICAoY2xpY2spPVwiaGFuZGxlVG9nZ2xlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9nZ2xlXVwiPjwvbmctY29udGVudD5cbjwvYT5cbiJdfQ==
@@ -1,233 +0,0 @@
1
- /* eslint-disable @angular-eslint/no-conflicting-lifecycle */
2
- import { Directive, Inject, Input, Optional, Self } from '@angular/core';
3
- import { Validators } from '@angular/forms';
4
- import { nanoid } from 'nanoid';
5
- import { Subject } from 'rxjs';
6
- import { coerceBooleanPropertyValue } from '../../../../utilities';
7
- import { IMPDC_FORM_ROOT } from '../../directives';
8
- import { mixinErrorState } from '../../shared';
9
- import { ImpdcFormFieldControl } from '../../shared/form-field-control';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/forms";
12
- import * as i2 from "../../services";
13
- const IMPDC_INPUT_INVALID_TYPES = [
14
- 'button',
15
- 'checkbox',
16
- 'file',
17
- 'hidden',
18
- 'image',
19
- 'radio',
20
- 'range',
21
- 'reset',
22
- 'submit'
23
- ];
24
- /** @docs-private */
25
- export function getInputUnsupportedTypeError(type) {
26
- return Error(`Input type "${type}" isn't supported by impdcInput.`);
27
- }
28
- const _InputDirectiveBase = mixinErrorState(class {
29
- constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
30
- this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
31
- this._formRoot = _formRoot;
32
- this._parentForm = _parentForm;
33
- this._parentFormGroup = _parentFormGroup;
34
- this.ngControl = ngControl;
35
- this.stateChanges = new Subject();
36
- }
37
- });
38
- /**
39
- * The `InputDirective` (`<input impdcInput`, `<textarea impdcInput` or `<select impdcInput`) is a directive for text inputs.
40
- * With this directive, the input, textarea, and select can be used within a `FormFieldComponent` (`<impdc-form-field`).
41
- * To use, import `ImpdcFormsModule` or another module that imports and exports that module from `@impartner/design-components`.
42
- */
43
- export class InputDirective extends _InputDirectiveBase {
44
- constructor(_elementRef, ngControl, _formRoot, _parentForm, _parentFormGroup, _defaultErrorStateMatcher) {
45
- super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
46
- this._elementRef = _elementRef;
47
- this._uid = `impdc-input-${nanoid()}`;
48
- this.focused = false;
49
- this.controlType = 'impdc-input';
50
- this.supportsAffixes = true;
51
- this._disabled = false;
52
- this._type = 'text';
53
- this._readonly = false;
54
- const { nativeElement } = this._elementRef;
55
- const nodeName = nativeElement.nodeName.toLowerCase();
56
- this._inputValueAccessor = nativeElement;
57
- this.id = this.id;
58
- this._isSelect = nodeName === 'select';
59
- this._isTextarea = nodeName === 'textarea';
60
- if (this._isSelect) {
61
- this.controlType = nativeElement.multiple
62
- ? 'impdc-native-select-multiple'
63
- : 'impdc-native-select';
64
- }
65
- }
66
- get disabled() {
67
- return this._disabled;
68
- }
69
- set disabled(value) {
70
- this._disabled = coerceBooleanPropertyValue(value);
71
- if (this.focused) {
72
- this.focused = false;
73
- this.stateChanges.next();
74
- }
75
- }
76
- get id() {
77
- return this._id;
78
- }
79
- set id(value) {
80
- this._id = value || this._uid;
81
- }
82
- /**
83
- * Supports most standard `<input [type]>` attribute values. Does not support `button`, `checkbox`,
84
- * `file`, `hidden`, `image`, `radio`, `range`, `reset`, or `button`, and does not apply to
85
- * `<textarea>` or `<select>` elements.
86
- *
87
- * @default text
88
- */
89
- get type() {
90
- return this._type;
91
- }
92
- set type(value) {
93
- if (!this._typeIsValid(value)) {
94
- throw getInputUnsupportedTypeError(value);
95
- }
96
- this._type = value || 'text';
97
- // Sync with native input element.
98
- if (!this._isTextarea) {
99
- this._elementRef.nativeElement.type = this._type;
100
- }
101
- }
102
- /**
103
- * Used to set requiredness of control in a template-based manner;
104
- * not necessary when using the Angular reactive forms API and `required` validator.
105
- */
106
- get required() {
107
- return (this._required ??
108
- this.ngControl?.control?.hasValidator(Validators.required) ??
109
- false);
110
- }
111
- set required(value) {
112
- this._required = coerceBooleanPropertyValue(value);
113
- this.stateChanges.next();
114
- }
115
- /**
116
- * Used to put the control in a non-interactive readonly state; only supports `<input>` and
117
- * `<textarea>` elements.
118
- *
119
- * To see the difference between `readonly` and `disabled`, refer to [MDN's documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly).
120
- */
121
- get readonly() {
122
- return this._readonly;
123
- }
124
- set readonly(value) {
125
- this._readonly = coerceBooleanPropertyValue(value);
126
- }
127
- get value() {
128
- return this._inputValueAccessor.value;
129
- }
130
- set value(value) {
131
- if (value !== this.value) {
132
- this._inputValueAccessor.value = value;
133
- this.stateChanges.next();
134
- }
135
- }
136
- /** @ignore */
137
- ngDoCheck() {
138
- if (this.ngControl) {
139
- this.updateErrorState();
140
- if (this.ngControl.disabled !== null &&
141
- this.ngControl.disabled !== this.disabled) {
142
- this.disabled = this.ngControl.disabled;
143
- this.stateChanges.next();
144
- }
145
- }
146
- }
147
- /** @ignore */
148
- ngOnChanges() {
149
- this.stateChanges.next();
150
- }
151
- /** @ignore */
152
- ngOnDestroy() {
153
- this.stateChanges.complete();
154
- }
155
- _focusChanged(isFocused) {
156
- if (isFocused !== this.focused) {
157
- this.focused = isFocused;
158
- this.stateChanges.next();
159
- }
160
- }
161
- _typeIsValid(inputType) {
162
- return IMPDC_INPUT_INVALID_TYPES.indexOf(inputType) === -1;
163
- }
164
- _onInput() {
165
- // This is a noop function and is used to let Angular know whenever the value changes.
166
- // Angular will run a new change detection each time the `input` event has been dispatched.
167
- // It's necessary that Angular recognizes the value change, because when Angular forms
168
- // aren't used, the placeholder won't recognize the value changes and will not disappear.
169
- // Listening to the input event wouldn't be necessary when the input is using the
170
- // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.
171
- }
172
- }
173
- InputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InputDirective, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }], target: i0.ɵɵFactoryTarget.Directive });
174
- InputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: { disabled: "disabled", id: "id", type: "type", required: "required", readonly: "readonly", errorStateMatcher: "errorStateMatcher", value: "value" }, host: { listeners: { "focus": "_focusChanged(true)", "blur": "_focusChanged(false)", "input": "_onInput()" }, properties: { "id": "id", "disabled": "disabled", "required": "required", "attr.id": "id", "attr.readonly": "readonly && !_isSelect || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-control": "!_isSelect", "class.form-control-color": "type === \"color\"", "class.form-select": "_isSelect", "class.impdc-form-field-control": "true", "class.is-invalid": "errorState", "class.impdc-input--invalid": "errorState", "class.impdc-input--disabled": "disabled", "class.impdc-input--required": "required" }, classAttribute: "impdc-input" }, providers: [{ provide: ImpdcFormFieldControl, useExisting: InputDirective }], exportAs: ["impdcInput"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InputDirective, decorators: [{
176
- type: Directive,
177
- args: [{
178
- selector: 'input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]',
179
- exportAs: 'impdcInput',
180
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
181
- host: {
182
- class: 'impdc-input',
183
- '[id]': 'id',
184
- '[disabled]': 'disabled',
185
- '[required]': 'required',
186
- '[attr.id]': 'id',
187
- '[attr.readonly]': 'readonly && !_isSelect || null',
188
- '[attr.aria-required]': 'required.toString()',
189
- '[attr.aria-disabled]': 'disabled.toString()',
190
- '[attr.aria-invalid]': 'errorState',
191
- '[class.form-control]': '!_isSelect',
192
- '[class.form-control-color]': 'type === "color"',
193
- '[class.form-select]': '_isSelect',
194
- '[class.impdc-form-field-control]': 'true',
195
- '[class.is-invalid]': 'errorState',
196
- '[class.impdc-input--invalid]': 'errorState',
197
- '[class.impdc-input--disabled]': 'disabled',
198
- '[class.impdc-input--required]': 'required',
199
- '(focus)': '_focusChanged(true)',
200
- '(blur)': '_focusChanged(false)',
201
- '(input)': '_onInput()'
202
- },
203
- providers: [{ provide: ImpdcFormFieldControl, useExisting: InputDirective }]
204
- }]
205
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
206
- type: Optional
207
- }, {
208
- type: Self
209
- }] }, { type: undefined, decorators: [{
210
- type: Optional
211
- }, {
212
- type: Inject,
213
- args: [IMPDC_FORM_ROOT]
214
- }] }, { type: i1.NgForm, decorators: [{
215
- type: Optional
216
- }] }, { type: i1.FormGroupDirective, decorators: [{
217
- type: Optional
218
- }] }, { type: i2.ErrorStateMatcher }]; }, propDecorators: { disabled: [{
219
- type: Input
220
- }], id: [{
221
- type: Input
222
- }], type: [{
223
- type: Input
224
- }], required: [{
225
- type: Input
226
- }], readonly: [{
227
- type: Input
228
- }], errorStateMatcher: [{
229
- type: Input
230
- }], value: [{
231
- type: Input
232
- }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbnRyb2xzL2lucHV0L2lucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2REFBNkQ7QUFDN0QsT0FBTyxFQUNMLFNBQVMsRUFHVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBRUwsMEJBQTBCLEVBQzNCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRSxPQUFPLEVBR0wsZUFBZSxFQUNoQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUV4RSxNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLFFBQVE7SUFDUixVQUFVO0lBQ1YsTUFBTTtJQUNOLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsUUFBUTtDQUNULENBQUM7QUFFRixvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLDRCQUE0QixDQUFDLElBQVk7SUFDdkQsT0FBTyxLQUFLLENBQUMsZUFBZSxJQUFJLGtDQUFrQyxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUN6QztJQUdFLFlBQ1MseUJBQTRDLEVBQzVDLFNBQXdCLEVBQ3hCLFdBQW1CLEVB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Q1osWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLFlBQVksRUFBRSxVQUFVO3dCQUN4QixXQUFXLEVBQUUsSUFBSTt3QkFDakIsaUJBQWlCLEVBQUUsZ0NBQWdDO3dCQUNuRCxzQkFBc0IsRUFBRSxxQkFBcUI7d0JBQzdDLHNCQUFzQixFQUFFLHFCQUFxQjt3QkFDN0MscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMsNEJBQTRCLEVBQUUsa0JBQWtCO3dCQUNoRCxxQkFBcUIsRUFBRSxXQUFXO3dCQUNsQyxrQ0FBa0MsRUFBRSxNQUFNO3dCQUMxQyxvQkFBb0IsRUFBRSxZQUFZO3dCQUNsQyw4QkFBOEIsRUFBRSxZQUFZO3dCQUM1QywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQyxTQUFTLEVBQUUscUJBQXFCO3dCQUNoQyxRQUFRLEVBQUUsc0JBQXNCO3dCQUNoQyxTQUFTLEVBQUUsWUFBWTtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUM3RTs7MEJBeUhJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFDUixRQUFROzRFQXJHUCxRQUFRO3NCQURYLEtBQUs7Z0JBZUYsRUFBRTtzQkFETCxLQUFLO2dCQWlCRixJQUFJO3NCQURQLEtBQUs7Z0JBdUJLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBcUJLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBVVUsaUJBQWlCO3NCQURoQyxLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1jb25mbGljdGluZy1saWZlY3ljbGUgKi9cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0NvbnRyb2wsXG4gIE5nRm9ybSxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQm9vbGVhbklucHV0LFxuICBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZVxufSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgSW1wZGNGb3JtUm9vdCwgSU1QRENfRk9STV9ST09UIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIElDYW5VcGRhdGVFcnJvclN0YXRlLFxuICBJSGFzRXJyb3JTdGF0ZSxcbiAgbWl4aW5FcnJvclN0YXRlXG59IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBJbXBkY0Zvcm1GaWVsZENvbnRyb2wgfSBmcm9tICcuLi8uLi9zaGFyZWQvZm9ybS1maWVsZC1jb250cm9sJztcblxuY29uc3QgSU1QRENfSU5QVVRfSU5WQUxJRF9UWVBFUyA9IFtcbiAgJ2J1dHRvbicsXG4gICdjaGVja2JveCcsXG4gICdmaWxlJyxcbiAgJ2hpZGRlbicsXG4gICdpbWFnZScsXG4gICdyYWRpbycsXG4gICdyYW5nZScsXG4gICdyZXNldCcsXG4gICdzdWJtaXQnXG5dO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldElucHV0VW5zdXBwb3J0ZWRUeXBlRXJyb3IodHlwZTogc3RyaW5nKTogRXJyb3Ige1xuICByZXR1cm4gRXJyb3IoYElucHV0IHR5cGUgXCIke3R5cGV9XCIgaXNuJ3Qgc3VwcG9ydGVkIGJ5IGltcGRjSW5wdXQuYCk7XG59XG5cbmNvbnN0IF9JbnB1dERpcmVjdGl2ZUJhc2UgPSBtaXhpbkVycm9yU3RhdGUoXG4gIGNsYXNzIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgcHVibGljIF9mb3JtUm9vdDogSW1wZGNGb3JtUm9vdCxcbiAgICAgIHB1YmxpYyBfcGFyZW50Rm9ybTogTmdGb3JtLFxuICAgICAgcHVibGljIF9wYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICAgIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGxcbiAgICApIHt9XG4gIH1cbik7XG5cbi8qKlxuICogVGhlIGBJbnB1dERpcmVjdGl2ZWAgKGA8aW5wdXQgaW1wZGNJbnB1dGAsIGA8dGV4dGFyZWEgaW1wZGNJbnB1dGAgb3IgYDxzZWxlY3QgaW1wZGNJbnB1dGApIGlzIGEgZGlyZWN0aXZlIGZvciB0ZXh0IGlucHV0cy5cbiAqIFdpdGggdGhpcyBkaXJlY3RpdmUsIHRoZSBpbnB1dCwgdGV4dGFyZWEsIGFuZCBzZWxlY3QgY2FuIGJlIHVzZWQgd2l0aGluIGEgYEZvcm1GaWVsZENvbXBvbmVudGAgKGA8aW1wZGMtZm9ybS1maWVsZGApLlxuICogVG8gdXNlLCBpbXBvcnQgYEltcGRjRm9ybXNNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOlxuICAgICdpbnB1dFtpbXBkY0lucHV0XSwgdGV4dGFyZWFbaW1wZGNJbnB1dF0sIHNlbGVjdFtpbXBkY05hdGl2ZVNlbGVjdF0nLFxuICBleHBvcnRBczogJ2ltcGRjSW5wdXQnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnaW1wZGMtaW5wdXQnLFxuICAgICdbaWRdJzogJ2lkJyxcbiAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tyZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbYXR0ci5yZWFkb25seV0nOiAncmVhZG9ubHkgJiYgIV9pc1NlbGVjdCB8fCBudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1yZXF1aXJlZF0nOiAncmVxdWlyZWQudG9TdHJpbmcoKScsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkLnRvU3RyaW5nKCknLFxuICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuZm9ybS1jb250cm9sXSc6ICchX2lzU2VsZWN0JyxcbiAgICAnW2NsYXNzLmZvcm0tY29udHJvbC1jb2xvcl0nOiAndHlwZSA9PT0gXCJjb2xvclwiJyxcbiAgICAnW2NsYXNzLmZvcm0tc2VsZWN0XSc6ICdfaXNTZWxlY3QnLFxuICAgICdbY2xhc3MuaW1wZGMtZm9ybS1maWVsZC1jb250cm9sXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmlzLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuaW1wZGMtaW5wdXQtLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuaW1wZGMtaW5wdXQtLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pbXBkYy1pbnB1dC0tcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnKGZvY3VzKSc6ICdfZm9jdXNDaGFuZ2VkKHRydWUpJyxcbiAgICAnKGJsdXIpJzogJ19mb2N1c0NoYW5nZWQoZmFsc2UpJyxcbiAgICAnKGlucHV0KSc6ICdfb25JbnB1dCgpJ1xuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEltcGRjRm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IElucHV0RGlyZWN0aXZlIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RGlyZWN0aXZlXG4gIGV4dGVuZHMgX0lucHV0RGlyZWN0aXZlQmFzZVxuICBpbXBsZW1lbnRzXG4gICAgSW1wZGNGb3JtRmllbGRDb250cm9sPGFueT4sXG4gICAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgSUhhc0Vycm9yU3RhdGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBEb0NoZWNrXG57XG4gIHByaXZhdGUgX2lucHV0VmFsdWVBY2Nlc3NvcjogeyB2YWx1ZTogYW55IH07XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBgaW1wZGMtaW5wdXQtJHtuYW5vaWQoKX1gO1xuICBwcm90ZWN0ZWQgX2lzU2VsZWN0OiBib29sZWFuO1xuICBwcm90ZWN0ZWQgX2lzVGV4dGFyZWE6IGJvb2xlYW47XG5cbiAgcHVibGljIGZvY3VzZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnaW1wZGMtaW5wdXQnO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydHNBZmZpeGVzOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSh2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIG1vc3Qgc3RhbmRhcmQgYDxpbnB1dCBbdHlwZV0+YCBhdHRyaWJ1dGUgdmFsdWVzLiBEb2VzIG5vdCBzdXBwb3J0IGBidXR0b25gLCBgY2hlY2tib3hgLFxuICAgKiBgZmlsZWAsIGBoaWRkZW5gLCBgaW1hZ2VgLCBgcmFkaW9gLCBgcmFuZ2VgLCBgcmVzZXRgLCBvciBgYnV0dG9uYCwgYW5kIGRvZXMgbm90IGFwcGx5IHRvXG4gICAqIGA8dGV4dGFyZWE+YCBvciBgPHNlbGVjdD5gIGVsZW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0ZXh0XG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG4gIHNldCB0eXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX3R5cGVJc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgdGhyb3cgZ2V0SW5wdXRVbnN1cHBvcnRlZFR5cGVFcnJvcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlIHx8ICd0ZXh0JztcblxuICAgIC8vIFN5bmMgd2l0aCBuYXRpdmUgaW5wdXQgZWxlbWVudC5cbiAgICBpZiAoIXRoaXMuX2lzVGV4dGFyZWEpIHtcbiAgICAgICh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudHlwZSA9IHRoaXMuX3R5cGU7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBfdHlwZSA9ICd0ZXh0JztcblxuICAvKipcbiAgICogVXNlZCB0byBzZXQgcmVxdWlyZWRuZXNzIG9mIGNvbnRyb2wgaW4gYSB0ZW1wbGF0ZS1iYXNlZCBtYW5uZXI7XG4gICAqIG5vdCBuZWNlc3Nhcnkgd2hlbiB1c2luZyB0aGUgQW5ndWxhciByZWFjdGl2ZSBmb3JtcyBBUEkgYW5kIGByZXF1aXJlZGAgdmFsaWRhdG9yLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fcmVxdWlyZWQgPz9cbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz9cbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHV0IHRoZSBjb250cm9sIGluIGEgbm9uLWludGVyYWN0aXZlIHJlYWRvbmx5IHN0YXRlOyBvbmx5IHN1cHBvcnRzIGA8aW5wdXQ+YCBhbmRcbiAgICogYDx0ZXh0YXJlYT5gIGVsZW1lbnRzLlxuICAgKlxuICAgKiBUbyBzZWUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgLCByZWZlciB0byBbTUROJ3MgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9BdHRyaWJ1dGVzL3JlYWRvbmx5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG4gIHB1YmxpYyBzZXQgcmVhZG9ubHkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGVycm9yU3RhdGVNYXRjaGVyITogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0VmFsdWVBY2Nlc3Nvci52YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5faW5wdXRWYWx1ZUFjY2Vzc29yLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudFxuICAgID4sXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElNUERDX0ZPUk1fUk9PVCkgX2Zvcm1Sb290OiBJbXBkY0Zvcm1Sb290LFxuICAgIEBPcHRpb25hbCgpIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgIF9mb3JtUm9vdCxcbiAgICAgIF9wYXJlbnRGb3JtLFxuICAgICAgX3BhcmVudEZvcm1Hcm91cCxcbiAgICAgIG5nQ29udHJvbFxuICAgICk7XG5cbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IHRoaXMuX2VsZW1lbnRSZWY7XG4gICAgY29uc3Qgbm9kZU5hbWUgPSBuYXRpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICB0aGlzLl9pbnB1dFZhbHVlQWNjZXNzb3IgPSBuYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICAgIHRoaXMuX2lzU2VsZWN0ID0gbm9kZU5hbWUgPT09ICdzZWxlY3QnO1xuICAgIHRoaXMuX2lzVGV4dGFyZWEgPSBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJztcblxuICAgIGlmICh0aGlzLl9pc1NlbGVjdCkge1xuICAgICAgdGhpcy5jb250cm9sVHlwZSA9IChuYXRpdmVFbGVtZW50IGFzIEhUTUxTZWxlY3RFbGVtZW50KS5tdWx0aXBsZVxuICAgICAgICA/ICdpbXBkYy1uYXRpdmUtc2VsZWN0LW11bHRpcGxlJ1xuICAgICAgICA6ICdpbXBkYy1uYXRpdmUtc2VsZWN0JztcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwgJiZcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IHRoaXMuZGlzYWJsZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2ZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNGb2N1c2VkICE9PSB0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX3R5cGVJc1ZhbGlkKGlucHV0VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIElNUERDX0lOUFVUX0lOVkFMSURfVFlQRVMuaW5kZXhPZihpbnB1dFR5cGUpID09PSAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfb25JbnB1dCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgbm9vcCBmdW5jdGlvbiBhbmQgaXMgdXNlZCB0byBsZXQgQW5ndWxhciBrbm93IHdoZW5ldmVyIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIC8vIEFuZ3VsYXIgd2lsbCBydW4gYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBlYWNoIHRpbWUgdGhlIGBpbnB1dGAgZXZlbnQgaGFzIGJlZW4gZGlzcGF0Y2hlZC5cbiAgICAvLyBJdCdzIG5lY2Vzc2FyeSB0aGF0IEFuZ3VsYXIgcmVjb2duaXplcyB0aGUgdmFsdWUgY2hhbmdlLCBiZWNhdXNlIHdoZW4gQW5ndWxhciBmb3Jtc1xuICAgIC8vIGFyZW4ndCB1c2VkLCB0aGUgcGxhY2Vob2xkZXIgd29uJ3QgcmVjb2duaXplIHRoZSB2YWx1ZSBjaGFuZ2VzIGFuZCB3aWxsIG5vdCBkaXNhcHBlYXIuXG4gICAgLy8gTGlzdGVuaW5nIHRvIHRoZSBpbnB1dCBldmVudCB3b3VsZG4ndCBiZSBuZWNlc3Nhcnkgd2hlbiB0aGUgaW5wdXQgaXMgdXNpbmcgdGhlXG4gICAgLy8gRm9ybXNNb2R1bGUgb3IgUmVhY3RpdmVGb3Jtc01vZHVsZSwgYmVjYXVzZSBBbmd1bGFyIGZvcm1zIGFsc28gbGlzdGVucyB0byBpbnB1dCBldmVudHMuXG4gIH1cbn1cbiJdfQ==