@impartner/design-components 1.2.0 → 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 (291) 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/{esm2020 → esm2022}/lib/pagination/pagination.module.mjs +16 -16
  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/{esm2020 → esm2022}/lib/table/components/bulk-actions/bulk-actions.component.mjs +4 -4
  83. package/{esm2020 → esm2022}/lib/table/components/column-heading/column-heading.component.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/table/components/index.mjs +2 -1
  85. package/esm2022/lib/table/components/row-actions/row-actions.component.mjs +61 -0
  86. package/esm2022/lib/table/containers/table.component.mjs +403 -0
  87. package/esm2022/lib/table/directives/table-inject-component.directive.mjs +46 -0
  88. package/{esm2020 → esm2022}/lib/table/directives/table.directive.mjs +4 -4
  89. package/{esm2020 → esm2022}/lib/table/enumerations/table-column-type.mjs +2 -1
  90. package/{esm2020 → esm2022}/lib/table/helpers/table-theme.helper.mjs +3 -3
  91. package/esm2022/lib/table/interfaces/index.mjs +11 -0
  92. package/esm2022/lib/table/interfaces/table-column-defs.type.mjs +2 -0
  93. package/esm2022/lib/table/interfaces/table-row-action-payload.interface.mjs +2 -0
  94. package/esm2022/lib/table/interfaces/table-row-action.interface.mjs +2 -0
  95. package/esm2022/lib/table/table.module.mjs +96 -0
  96. package/{esm2020 → esm2022}/lib/text-highlight/text-highlight.component.mjs +6 -6
  97. package/{esm2020 → esm2022}/lib/text-highlight/text-highlight.module.mjs +6 -6
  98. package/{esm2020 → esm2022}/services/index.mjs +1 -1
  99. package/esm2022/services/interaction.service.mjs +88 -0
  100. package/{esm2020 → esm2022}/types/component-theme.mjs +1 -1
  101. package/{fesm2020 → fesm2022}/impartner-design-components.mjs +1197 -1032
  102. package/fesm2022/impartner-design-components.mjs.map +1 -0
  103. package/lib/alert/alert.component.d.ts +1 -1
  104. package/lib/alert/theme/alert-theme.d.ts +1 -1
  105. package/lib/avatar/avatar.component.d.ts +1 -1
  106. package/lib/avatar-group/avatar-group.component.d.ts +1 -1
  107. package/lib/backdrop/backdrop.component.d.ts +9 -6
  108. package/lib/badge/badge.component.d.ts +3 -2
  109. package/lib/badge/types/badge-icon.d.ts +1 -1
  110. package/lib/badge/types/badge-size.d.ts +1 -1
  111. package/lib/branding/branded.directive.d.ts +1 -1
  112. package/lib/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  113. package/lib/breadcrumb/breadcrumb.component.d.ts +1 -1
  114. package/lib/button/button.component.d.ts +1 -1
  115. package/lib/button/themes/button-theme.d.ts +1 -1
  116. package/lib/button-group/button-group.component.d.ts +1 -1
  117. package/lib/card-heading/card-heading.component.d.ts +1 -1
  118. package/lib/data-card/data-card.component.d.ts +14 -18
  119. package/lib/data-card/data-card.module.d.ts +2 -1
  120. package/lib/dropdown/components/dropdown-item/dropdown-item.component.d.ts +1 -1
  121. package/lib/dropdown/dropdown.component.d.ts +6 -5
  122. package/lib/dropdown/types/dropdown-position.d.ts +1 -1
  123. package/lib/file-upload/directives/file-drop.directive.d.ts +1 -1
  124. package/lib/file-upload/file-upload.component.d.ts +1 -1
  125. package/lib/form-field/controls/checkbox/checkbox.component.d.ts +1 -1
  126. package/lib/form-field/controls/input/input.directive.d.ts +1 -1
  127. package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +1 -1
  128. package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +1 -1
  129. package/lib/form-field/controls/select/option/select-option.component.d.ts +4 -4
  130. package/lib/form-field/controls/select/select.component.d.ts +1 -1
  131. package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +1 -1
  132. package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +1 -1
  133. package/lib/form-field/directives/corner-hint.directive.d.ts +1 -1
  134. package/lib/form-field/directives/error.directive.d.ts +1 -1
  135. package/lib/form-field/directives/form-root.directive.d.ts +2 -2
  136. package/lib/form-field/directives/hint.directive.d.ts +1 -1
  137. package/lib/form-field/directives/label.directive.d.ts +1 -1
  138. package/lib/form-field/directives/prefix.directive.d.ts +1 -1
  139. package/lib/form-field/directives/suffix.directive.d.ts +1 -1
  140. package/lib/form-field/form-field.component.d.ts +1 -1
  141. package/lib/form-field/services/unique-selection-dispatcher.service.d.ts +1 -1
  142. package/lib/form-field/shared/constructors.type.d.ts +2 -2
  143. package/lib/form-field/shared/disabled.mixin.d.ts +1 -1
  144. package/lib/form-field/shared/error-state.mixin.d.ts +1 -1
  145. package/lib/form-field/shared/form-field-control.d.ts +1 -1
  146. package/lib/form-field/shared/tab-index.mixin.d.ts +1 -1
  147. package/lib/icon/icon.component.d.ts +1 -1
  148. package/lib/modal/modal.component.d.ts +17 -10
  149. package/lib/modal/types/modal-component-sizes.d.ts +1 -1
  150. package/lib/modal/types/modal-theme.d.ts +1 -1
  151. package/lib/pagination/pagination.component.d.ts +1 -1
  152. package/lib/progress-bar/progress-bar.component.d.ts +1 -1
  153. package/lib/scrollable/scrollable.component.d.ts +1 -1
  154. package/lib/select-icon/select-icon.component.d.ts +1 -1
  155. package/lib/size-detection/directive/size-detector.directive.d.ts +1 -1
  156. package/lib/spinner/spinner.component.d.ts +1 -1
  157. package/lib/table/components/bulk-actions/bulk-actions.component.d.ts +1 -1
  158. package/lib/table/components/column-heading/column-heading.component.d.ts +1 -1
  159. package/lib/table/components/index.d.ts +1 -0
  160. package/lib/table/components/row-actions/row-actions.component.d.ts +21 -0
  161. package/lib/table/containers/table.component.d.ts +12 -6
  162. package/lib/table/directives/table-inject-component.directive.d.ts +3 -3
  163. package/lib/table/directives/table.directive.d.ts +1 -1
  164. package/lib/table/enumerations/table-column-type.d.ts +2 -1
  165. package/lib/table/helpers/table-theme.helper.d.ts +4 -4
  166. package/lib/table/interfaces/custom-cell-renderer-components.type.d.ts +1 -1
  167. package/lib/table/interfaces/index.d.ts +3 -1
  168. package/lib/table/interfaces/{table-column-def.interface.d.ts → table-column-defs.type.d.ts} +8 -1
  169. package/lib/table/interfaces/table-row-action-payload.interface.d.ts +6 -0
  170. package/lib/table/interfaces/table-row-action.interface.d.ts +9 -0
  171. package/lib/table/interfaces/table-row-item.interface.d.ts +3 -3
  172. package/lib/table/table.module.d.ts +12 -10
  173. package/lib/text-highlight/text-highlight.component.d.ts +1 -1
  174. package/package.json +16 -22
  175. package/services/index.d.ts +1 -1
  176. package/services/interaction.service.d.ts +20 -10
  177. package/types/component-size.d.ts +2 -2
  178. package/types/component-theme.d.ts +1 -1
  179. package/utilities/boolean-props.d.ts +1 -1
  180. package/utilities/number-props.d.ts +1 -1
  181. package/esm2020/lib/backdrop/backdrop.component.mjs +0 -40
  182. package/esm2020/lib/badge/badge.component.mjs +0 -99
  183. package/esm2020/lib/data-card/data-card.component.mjs +0 -128
  184. package/esm2020/lib/data-card/data-card.module.mjs +0 -20
  185. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -142
  186. package/esm2020/lib/form-field/controls/input/input.directive.mjs +0 -233
  187. package/esm2020/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +0 -260
  188. package/esm2020/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +0 -289
  189. package/esm2020/lib/form-field/controls/select/option/select-option.component.mjs +0 -139
  190. package/esm2020/lib/form-field/controls/select/select-model.mjs +0 -150
  191. package/esm2020/lib/form-field/controls/select/select.component.mjs +0 -522
  192. package/esm2020/lib/form-field/controls/shared/toggle/toggle.component.mjs +0 -96
  193. package/esm2020/lib/form-field/directives/form-root.directive.mjs +0 -91
  194. package/esm2020/lib/form-field/shared/error-state.mixin.mjs +0 -24
  195. package/esm2020/lib/modal/modal.component.mjs +0 -187
  196. package/esm2020/lib/pagination/pagination.component.mjs +0 -176
  197. package/esm2020/lib/scrollable/scrollable.component.mjs +0 -186
  198. package/esm2020/lib/select-icon/select-icon.component.mjs +0 -308
  199. package/esm2020/lib/table/containers/table.component.mjs +0 -386
  200. package/esm2020/lib/table/directives/table-inject-component.directive.mjs +0 -46
  201. package/esm2020/lib/table/interfaces/index.mjs +0 -9
  202. package/esm2020/lib/table/interfaces/table-column-def.interface.mjs +0 -2
  203. package/esm2020/lib/table/table.module.mjs +0 -88
  204. package/esm2020/services/interaction.service.mjs +0 -81
  205. package/fesm2015/impartner-design-components.mjs +0 -9214
  206. package/fesm2015/impartner-design-components.mjs.map +0 -1
  207. package/fesm2020/impartner-design-components.mjs.map +0 -1
  208. /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
  209. /package/{esm2020 → esm2022}/impartner-design-components.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/alert/index.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/alert/theme/alert-theme.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/alert/theme/index.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/avatar/index.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/avatar-group/index.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/backdrop/index.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/badge/types/badge-icon.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/badge/types/index.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/branding/index.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/breadcrumb/index.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/button/themes/button-theme.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/button/themes/index.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/button-group/index.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/card-heading/index.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/data-card/index.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/dropdown/components/index.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/dropdown/types/dropdown-position.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/dropdown/types/index.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/file-upload/directives/index.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/file-upload/index.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/file-upload/pipes/index.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/form-field/controls/checkbox/index.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/form-field/controls/index.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/form-field/controls/input/index.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/index.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/injection-tokens.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/index.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/radio-button.interface.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/radio-change-event.interface.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/form-field/controls/radio/interfaces/radio-group.interface.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/form-field/controls/select/index.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/form-field/controls/select/option/index.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/form-field/controls/select/option-parent.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/form-field/controls/shared/index.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/form-field/controls/shared/toggle/components/index.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/form-field/controls/shared/toggle/index.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/form-field/directives/index.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/form-field/form-field-errors.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/form-field/impdc-forms.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/form-field/index.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/form-field/services/index.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/form-field/shared/constructors.type.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/form-field/shared/index.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/icon/index.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/modal/types/index.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/progress-bar/index.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/scrollable/index.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/select-icon/index.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/size-detection/directive/element-size.interface.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/size-detection/directive/index.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/size-detection/index.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/spinner/index.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/table/constants/index.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/table/constants/public-table.constants.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/table/constants/table.constants.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/table/containers/index.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/table/directives/index.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/table/enumerations/index.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/table/helpers/index.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/table/index.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/table/interfaces/cell-renderer.interface.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/table/interfaces/custom-cell-renderer-components.type.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/table/interfaces/sort-by-payload.interface.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/table/interfaces/table-cell-option.interface.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/table/interfaces/table-event-payload.interface.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/table/interfaces/table-row-item.interface.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/text-highlight/index.mjs +0 -0
  283. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  284. /package/{esm2020 → esm2022}/types/component-size.mjs +0 -0
  285. /package/{esm2020 → esm2022}/types/index.mjs +0 -0
  286. /package/{esm2020 → esm2022}/utilities/boolean-props.mjs +0 -0
  287. /package/{esm2020 → esm2022}/utilities/dc.mjs +0 -0
  288. /package/{esm2020 → esm2022}/utilities/index.mjs +0 -0
  289. /package/{esm2020 → esm2022}/utilities/lc.mjs +0 -0
  290. /package/{esm2020 → esm2022}/utilities/number-props.mjs +0 -0
  291. /package/{esm2020 → esm2022}/utilities/sanitize.mjs +0 -0
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, NgModule, ViewEncapsulation, ViewChild, HostBinding, Directive, InjectionToken, EventEmitter, ChangeDetectionStrategy, Optional, Inject, Output, Host, SkipSelf, Injectable, ElementRef, Attribute, Self, ContentChildren, ContentChild, TemplateRef, HostListener, Pipe } from '@angular/core';
2
+ import { Injectable, Component, Input, NgModule, ViewEncapsulation, ViewChild, HostBinding, Directive, InjectionToken, EventEmitter, ChangeDetectionStrategy, Optional, Inject, Output, Host, SkipSelf, ElementRef, Attribute, Self, ContentChildren, ContentChild, TemplateRef, HostListener, Pipe } from '@angular/core';
3
+ import { BehaviorSubject, map, distinctUntilChanged, shareReplay, Subject, startWith, merge, switchMap, take, defer, takeUntil, filter, fromEvent, tap, debounceTime as debounceTime$1, combineLatest } from 'rxjs';
3
4
  import * as i1 from '@angular/common';
4
5
  import { CommonModule, DatePipe, PercentPipe, DecimalPipe } from '@angular/common';
5
6
  import * as i2 from '@angular/forms';
@@ -10,7 +11,6 @@ import { debounceTime } from 'rxjs/operators';
10
11
  import * as i4 from '@ng-bootstrap/ng-bootstrap';
11
12
  import { NgbDropdownItem, NgbDropdown, NgbDropdownMenu, NgbDropdownModule, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
12
13
  import { nanoid } from 'nanoid';
13
- import { Subject, defer, startWith, switchMap, merge, take, takeUntil, BehaviorSubject, debounceTime as debounceTime$1, distinctUntilChanged, combineLatest, map } from 'rxjs';
14
14
 
15
15
  const FontAwesomeIconThemes = ['solid', 'regular', 'light'];
16
16
  const FontAwesomeIcons = [
@@ -3058,6 +3058,91 @@ const ComponentThemesArr = [
3058
3058
  ComponentTheme.Dark
3059
3059
  ];
3060
3060
 
3061
+ class InteractionService {
3062
+ constructor() {
3063
+ this._interactables = [];
3064
+ this._backdropQueueSubject = new BehaviorSubject([]);
3065
+ this.showBackdrop$ = this._backdropQueueSubject
3066
+ .asObservable()
3067
+ .pipe(map(backdropQueue => backdropQueue.length > 0), distinctUntilChanged(), shareReplay(1));
3068
+ }
3069
+ get showBackdrop() {
3070
+ return this._backdropQueueSubject.value.length > 0;
3071
+ }
3072
+ registerBackdrop(modalBackdrop) {
3073
+ // WARNING: there should only be 1 backdrop component, preferably loaded in the body
3074
+ if (!this._backdrop) {
3075
+ this._backdrop = modalBackdrop;
3076
+ }
3077
+ else if (this._backdrop !== modalBackdrop) {
3078
+ this._backdrop.invalidate();
3079
+ this._backdrop = modalBackdrop;
3080
+ if (!modalBackdrop.valid) {
3081
+ // we invalidated and set backdrop to the same backdrop
3082
+ modalBackdrop.validate();
3083
+ }
3084
+ }
3085
+ }
3086
+ unregisterBackdrop(modalBackdrop) {
3087
+ if (this._backdrop === modalBackdrop) {
3088
+ this._backdrop = undefined;
3089
+ }
3090
+ }
3091
+ add(interactable) {
3092
+ const interactableId = interactable.interactableId;
3093
+ if (!this._interactables.some(i => i.interactableId === interactableId)) {
3094
+ this._interactables.push(interactable);
3095
+ }
3096
+ return interactableId;
3097
+ }
3098
+ remove(interactableId) {
3099
+ if (!interactableId) {
3100
+ return;
3101
+ }
3102
+ const interactableIndex = this._interactables.findIndex(component => component.interactableId === interactableId);
3103
+ if (interactableIndex >= 0) {
3104
+ this._interactables.splice(interactableIndex, 1);
3105
+ this.dequeueBackdrop(interactableId);
3106
+ }
3107
+ }
3108
+ toggle(interactable) {
3109
+ if (!interactable.interactableId || interactable.show) {
3110
+ // other interactables don't need to be altered/notified
3111
+ return false;
3112
+ }
3113
+ for (const otherInteractable of this._interactables.filter(oi => oi.show)) {
3114
+ if (otherInteractable.hide) {
3115
+ otherInteractable.hide();
3116
+ }
3117
+ }
3118
+ return true;
3119
+ }
3120
+ queueBackdrop(interactableId) {
3121
+ if (!this._backdropQueueSubject.value.includes(interactableId)) {
3122
+ this._backdropQueueSubject.next([
3123
+ ...this._backdropQueueSubject.value,
3124
+ interactableId
3125
+ ]);
3126
+ }
3127
+ }
3128
+ dequeueBackdrop(interactableId) {
3129
+ const interactableIdIndex = this._backdropQueueSubject.value.indexOf(interactableId);
3130
+ if (interactableIdIndex !== -1) {
3131
+ const newQueue = [...this._backdropQueueSubject.value];
3132
+ newQueue.splice(interactableIdIndex, 1);
3133
+ this._backdropQueueSubject.next(newQueue);
3134
+ }
3135
+ }
3136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: InteractionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3137
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: InteractionService, providedIn: 'root' }); }
3138
+ }
3139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: InteractionService, decorators: [{
3140
+ type: Injectable,
3141
+ args: [{
3142
+ providedIn: 'root'
3143
+ }]
3144
+ }] });
3145
+
3061
3146
  /**
3062
3147
  * Coerces a value provided via data-binding (usually a string) to a boolean.
3063
3148
  */
@@ -3145,9 +3230,8 @@ class TextHighlightComponent {
3145
3230
  const regEx = new RegExp(`(${this.search})`, 'i');
3146
3231
  this.result = this.text.split(regEx);
3147
3232
  }
3148
- }
3149
- TextHighlightComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TextHighlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3150
- TextHighlightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TextHighlightComponent, selector: "impdc-text-highlight, [impdc-text-highlight]", inputs: { text: "text", search: "search", method: "method", exact: "exact" }, usesOnChanges: true, ngImport: i0, template: `
3233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TextHighlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3234
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: TextHighlightComponent, selector: "impdc-text-highlight, [impdc-text-highlight]", inputs: { text: "text", search: "search", method: "method", exact: "exact" }, usesOnChanges: true, ngImport: i0, template: `
3151
3235
  <ng-container *ngFor="let match of result">
3152
3236
  <ng-container *ngIf="checkMatch(match); else nomatch" [ngSwitch]="method">
3153
3237
  <mark *ngSwitchCase="'mark'">{{ match }}</mark>
@@ -3157,8 +3241,9 @@ TextHighlightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
3157
3241
  </ng-container>
3158
3242
  <ng-template #nomatch>{{ match }}</ng-template>
3159
3243
  </ng-container>
3160
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
3161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TextHighlightComponent, decorators: [{
3244
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
3245
+ }
3246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TextHighlightComponent, decorators: [{
3162
3247
  type: Component,
3163
3248
  args: [{
3164
3249
  selector: 'impdc-text-highlight, [impdc-text-highlight]',
@@ -3186,18 +3271,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3186
3271
 
3187
3272
  class TextHighlightModule {
3188
3273
  constructor() { }
3274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3275
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: TextHighlightModule, declarations: [TextHighlightComponent], imports: [CommonModule], exports: [TextHighlightComponent] }); }
3276
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TextHighlightModule, imports: [CommonModule] }); }
3189
3277
  }
3190
- TextHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3191
- TextHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TextHighlightModule, declarations: [TextHighlightComponent], imports: [CommonModule], exports: [TextHighlightComponent] });
3192
- TextHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TextHighlightModule, imports: [CommonModule] });
3193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TextHighlightModule, decorators: [{
3278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TextHighlightModule, decorators: [{
3194
3279
  type: NgModule,
3195
3280
  args: [{
3196
3281
  imports: [CommonModule],
3197
3282
  declarations: [TextHighlightComponent],
3198
3283
  exports: [TextHighlightComponent]
3199
3284
  }]
3200
- }], ctorParameters: function () { return []; } });
3285
+ }], ctorParameters: () => [] });
3201
3286
 
3202
3287
  /**
3203
3288
  * The `IconComponent` (`<impdc-icon` or `<any impdc-icon`) is an icon wrapper utilizing Font Awesome 5.
@@ -3255,13 +3340,13 @@ class IconComponent {
3255
3340
  }
3256
3341
  }
3257
3342
  }
3343
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: IconComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: { name: "name", theme: "theme", size: "size" }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["icon"], descendants: true, static: true }], ngImport: i0, template: "<i\n #icon\n class=\"{{ typeClass }} fa-{{ name }}\"\n [style.font-size]=\"computedSize\"></i>\n", encapsulation: i0.ViewEncapsulation.None }); }
3258
3345
  }
3259
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3260
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: { name: "name", theme: "theme", size: "size" }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["icon"], descendants: true, static: true }], ngImport: i0, template: "<i\n #icon\n class=\"{{ typeClass }} fa-{{ name }}\"\n [style.font-size]=\"computedSize\"></i>\n", encapsulation: i0.ViewEncapsulation.None });
3261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconComponent, decorators: [{
3346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: IconComponent, decorators: [{
3262
3347
  type: Component,
3263
3348
  args: [{ selector: 'impdc-icon, [impdc-icon]', encapsulation: ViewEncapsulation.None, template: "<i\n #icon\n class=\"{{ typeClass }} fa-{{ name }}\"\n [style.font-size]=\"computedSize\"></i>\n" }]
3264
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
3349
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { name: [{
3265
3350
  type: Input
3266
3351
  }], theme: [{
3267
3352
  type: Input
@@ -3334,10 +3419,10 @@ class ButtonComponent {
3334
3419
  get attrAriaLabel() {
3335
3420
  return this.ariaLabel || this.titleText || this.text || undefined;
3336
3421
  }
3422
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3423
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ButtonComponent, selector: "button[impdcButton]", inputs: { type: "type", theme: "theme", text: "text", disabled: "disabled", titleText: "titleText", ariaLabel: "ariaLabel" }, host: { properties: { "attr.type": "this.attrType", "class.btn": "this.classBtn", "class.btn-primary": "this.classBtnPrimary", "class.btn-danger": "this.classBtnDanger", "class.btn-outline-primary": "this.classBtnSecondary", "class.btn-outline-danger": "this.classBtnSecondaryDanger", "class.btn-close-fa": "this.classBtnClose", "attr.disabled": "this.attrDisabled", "attr.title": "this.attrTitle", "attr.aria-label": "this.attrAriaLabel" } }, ngImport: i0, template: "<ng-container *ngIf=\"theme !== 'close'\">\n <ng-content></ng-content>{{ text }}\n <ng-content select=\"[right]\"></ng-content>\n</ng-container>\n<span impdc-icon *ngIf=\"theme === 'close'\" name=\"times\" theme=\"light\"></span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
3337
3424
  }
3338
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3339
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ButtonComponent, selector: "button[impdcButton]", inputs: { type: "type", theme: "theme", text: "text", disabled: "disabled", titleText: "titleText", ariaLabel: "ariaLabel" }, host: { properties: { "attr.type": "this.attrType", "class.btn": "this.classBtn", "class.btn-primary": "this.classBtnPrimary", "class.btn-danger": "this.classBtnDanger", "class.btn-outline-primary": "this.classBtnSecondary", "class.btn-outline-danger": "this.classBtnSecondaryDanger", "class.btn-close-fa": "this.classBtnClose", "attr.disabled": "this.attrDisabled", "attr.title": "this.attrTitle", "attr.aria-label": "this.attrAriaLabel" } }, ngImport: i0, template: "<ng-container *ngIf=\"theme !== 'close'\">\n <ng-content></ng-content>{{ text }}\n <ng-content select=\"[right]\"></ng-content>\n</ng-container>\n<span impdc-icon *ngIf=\"theme === 'close'\" name=\"times\" theme=\"light\"></span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], encapsulation: i0.ViewEncapsulation.None });
3340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
3425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonComponent, decorators: [{
3341
3426
  type: Component,
3342
3427
  args: [{ selector: 'button[impdcButton]', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"theme !== 'close'\">\n <ng-content></ng-content>{{ text }}\n <ng-content select=\"[right]\"></ng-content>\n</ng-container>\n<span impdc-icon *ngIf=\"theme === 'close'\" name=\"times\" theme=\"light\"></span>\n" }]
3343
3428
  }], propDecorators: { type: [{
@@ -3388,10 +3473,10 @@ class BrandedDirective {
3388
3473
  constructor() {
3389
3474
  this.brandedClass = true;
3390
3475
  }
3476
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BrandedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3477
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: BrandedDirective, selector: "[impdcBranded]", host: { properties: { "class.branded": "this.brandedClass" } }, ngImport: i0 }); }
3391
3478
  }
3392
- BrandedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BrandedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3393
- BrandedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: BrandedDirective, selector: "[impdcBranded]", host: { properties: { "class.branded": "this.brandedClass" } }, ngImport: i0 });
3394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BrandedDirective, decorators: [{
3479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BrandedDirective, decorators: [{
3395
3480
  type: Directive,
3396
3481
  args: [{
3397
3482
  selector: '[impdcBranded]'
@@ -3403,48 +3488,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3403
3488
 
3404
3489
  class BrandingModule {
3405
3490
  constructor() { }
3491
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BrandingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3492
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: BrandingModule, declarations: [BrandedDirective], imports: [CommonModule], exports: [BrandedDirective] }); }
3493
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BrandingModule, imports: [CommonModule] }); }
3406
3494
  }
3407
- BrandingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BrandingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3408
- BrandingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: BrandingModule, declarations: [BrandedDirective], imports: [CommonModule], exports: [BrandedDirective] });
3409
- BrandingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BrandingModule, imports: [CommonModule] });
3410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BrandingModule, decorators: [{
3495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BrandingModule, decorators: [{
3411
3496
  type: NgModule,
3412
3497
  args: [{
3413
3498
  imports: [CommonModule],
3414
3499
  declarations: [BrandedDirective],
3415
3500
  exports: [BrandedDirective]
3416
3501
  }]
3417
- }], ctorParameters: function () { return []; } });
3502
+ }], ctorParameters: () => [] });
3418
3503
 
3419
3504
  class IconModule {
3420
3505
  constructor() { }
3506
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3507
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: IconModule, declarations: [IconComponent], imports: [CommonModule], exports: [IconComponent] }); }
3508
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: IconModule, imports: [CommonModule] }); }
3421
3509
  }
3422
- IconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3423
- IconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: IconModule, declarations: [IconComponent], imports: [CommonModule], exports: [IconComponent] });
3424
- IconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconModule, imports: [CommonModule] });
3425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IconModule, decorators: [{
3510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: IconModule, decorators: [{
3426
3511
  type: NgModule,
3427
3512
  args: [{
3428
3513
  imports: [CommonModule],
3429
3514
  declarations: [IconComponent],
3430
3515
  exports: [IconComponent]
3431
3516
  }]
3432
- }], ctorParameters: function () { return []; } });
3517
+ }], ctorParameters: () => [] });
3433
3518
 
3434
3519
  class ButtonModule {
3435
3520
  constructor() { }
3521
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3522
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ButtonModule, declarations: [ButtonComponent], imports: [CommonModule, BrandingModule, IconModule], exports: [ButtonComponent, BrandingModule, IconModule] }); }
3523
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonModule, imports: [CommonModule, BrandingModule, IconModule, BrandingModule, IconModule] }); }
3436
3524
  }
3437
- ButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3438
- ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ButtonModule, declarations: [ButtonComponent], imports: [CommonModule, BrandingModule, IconModule], exports: [ButtonComponent, BrandingModule, IconModule] });
3439
- ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonModule, imports: [CommonModule, BrandingModule, IconModule, BrandingModule, IconModule] });
3440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonModule, decorators: [{
3525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonModule, decorators: [{
3441
3526
  type: NgModule,
3442
3527
  args: [{
3443
3528
  imports: [CommonModule, BrandingModule, IconModule],
3444
3529
  declarations: [ButtonComponent],
3445
3530
  exports: [ButtonComponent, BrandingModule, IconModule]
3446
3531
  }]
3447
- }], ctorParameters: function () { return []; } });
3532
+ }], ctorParameters: () => [] });
3448
3533
 
3449
3534
  const DEFAULT_PAGE = 1;
3450
3535
  const ROWS_PER_PAGE = 10;
@@ -3490,6 +3575,7 @@ var TableColumnType;
3490
3575
  TableColumnType["Icon"] = "Icon";
3491
3576
  TableColumnType["Email"] = "Email";
3492
3577
  TableColumnType["Url"] = "Url";
3578
+ TableColumnType["Actions"] = "Actions";
3493
3579
  })(TableColumnType || (TableColumnType = {}));
3494
3580
 
3495
3581
  class TableThemeHelper {
@@ -3511,9 +3597,9 @@ class TableThemeHelper {
3511
3597
  }
3512
3598
  static getCellColor(columnDefinition, currentRow) {
3513
3599
  const color = this.getTheme(columnDefinition, currentRow);
3514
- return TableThemeHelper._getCellColor(color);
3600
+ return TableThemeHelper.getColor(color);
3515
3601
  }
3516
- static _getCellColor(color) {
3602
+ static getColor(color) {
3517
3603
  if (!color) {
3518
3604
  return '';
3519
3605
  }
@@ -3530,20 +3616,6 @@ class SelectOptionSelectionChangeEvent {
3530
3616
  }
3531
3617
  }
3532
3618
  class SelectOptionComponent extends NgbDropdownItem {
3533
- constructor(_parent, _changeDetector, _elementRef, _renderer) {
3534
- super(_elementRef, _renderer);
3535
- this._parent = _parent;
3536
- this._changeDetector = _changeDetector;
3537
- /** @ignore */
3538
- this.stateChanges = new Subject();
3539
- this._selected = false;
3540
- this.__disabled = false;
3541
- this._label = '';
3542
- /** @ignore */
3543
- this.id = `impdc-option-${nanoid()}`;
3544
- /** @ignore */
3545
- this.onSelectionChange = new EventEmitter();
3546
- }
3547
3619
  /** @ignore */
3548
3620
  get multiple() {
3549
3621
  return this._parent && !!this._parent.multiple;
@@ -3571,6 +3643,20 @@ class SelectOptionComponent extends NgbDropdownItem {
3571
3643
  set disabled(value) {
3572
3644
  this.__disabled = coerceBooleanPropertyValue(value);
3573
3645
  }
3646
+ constructor(_parent, _changeDetector) {
3647
+ super();
3648
+ this._parent = _parent;
3649
+ this._changeDetector = _changeDetector;
3650
+ /** @ignore */
3651
+ this.stateChanges = new Subject();
3652
+ this._selected = false;
3653
+ this.__disabled = false;
3654
+ this._label = '';
3655
+ /** @ignore */
3656
+ this.id = `impdc-option-${nanoid()}`;
3657
+ /** @ignore */
3658
+ this.onSelectionChange = new EventEmitter();
3659
+ }
3574
3660
  /** @ignore */
3575
3661
  select() {
3576
3662
  if (!this._selected) {
@@ -3624,10 +3710,10 @@ class SelectOptionComponent extends NgbDropdownItem {
3624
3710
  }
3625
3711
  return true;
3626
3712
  }
3713
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionComponent, deps: [{ token: IMPDC_SELECT_OPTION_PARENT_COMPONENT, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3714
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SelectOptionComponent, selector: "impdc-select-option", inputs: { value: "value", label: "label", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "class.impdc-select-option--single": "!multiple", "class.impdc-select-option--multiple": "multiple", "class.impdc-select-option--selected": "selected" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #singleSelectTemplate>\n <span>{{ label || '&nbsp;' }}</span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n class=\"selected-check ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n {{ label }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);padding:var(--impd-size-2) var(--impd-size-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus{background-color:var(--impd-color-gray-100);border:0;outline:0}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected{background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white)}:host.impdc-select-option--single.impdc-select-option--selected:hover,:host.impdc-select-option--single.impdc-select-option--selected:focus{background:linear-gradient(to top,rgba(0,0,0,.1),rgba(0,0,0,.1)) var(--impd-color-motion-blue-600);color:var(--impd-color-white);border:0;outline:0}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3627
3715
  }
3628
- SelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectOptionComponent, deps: [{ token: IMPDC_SELECT_OPTION_PARENT_COMPONENT, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3629
- SelectOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SelectOptionComponent, selector: "impdc-select-option", inputs: { value: "value", label: "label", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "class.impdc-select-option--single": "!multiple", "class.impdc-select-option--multiple": "multiple", "class.impdc-select-option--selected": "selected" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #singleSelectTemplate>\n <span>{{ label || '&nbsp;' }}</span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n class=\"selected-check ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n {{ label }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);padding:var(--impd-size-2) var(--impd-size-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus{background-color:var(--impd-color-gray-100);border:0;outline:0}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected{background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white)}:host.impdc-select-option--single.impdc-select-option--selected:hover,:host.impdc-select-option--single.impdc-select-option--selected:focus{background:linear-gradient(to top,rgba(0,0,0,.1),rgba(0,0,0,.1)) var(--impd-color-motion-blue-600);color:var(--impd-color-white);border:0;outline:0}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectOptionComponent, decorators: [{
3716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionComponent, decorators: [{
3631
3717
  type: Component,
3632
3718
  args: [{ selector: 'impdc-select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
3633
3719
  '[class.impdc-select-option--single]': '!multiple',
@@ -3636,12 +3722,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3636
3722
  '(click)': '_selectViaInteraction()',
3637
3723
  '(keydown)': '_handleKeydown($event)'
3638
3724
  }, template: "<ng-template #singleSelectTemplate>\n <span>{{ label || '&nbsp;' }}</span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n class=\"selected-check ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n {{ label }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);padding:var(--impd-size-2) var(--impd-size-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus{background-color:var(--impd-color-gray-100);border:0;outline:0}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected{background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white)}:host.impdc-select-option--single.impdc-select-option--selected:hover,:host.impdc-select-option--single.impdc-select-option--selected:focus{background:linear-gradient(to top,rgba(0,0,0,.1),rgba(0,0,0,.1)) var(--impd-color-motion-blue-600);color:var(--impd-color-white);border:0;outline:0}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}\n"] }]
3639
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
3725
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
3640
3726
  type: Optional
3641
3727
  }, {
3642
3728
  type: Inject,
3643
3729
  args: [IMPDC_SELECT_OPTION_PARENT_COMPONENT]
3644
- }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { value: [{
3730
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
3645
3731
  type: Input
3646
3732
  }], label: [{
3647
3733
  type: Input
@@ -3654,10 +3740,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3654
3740
  }] } });
3655
3741
 
3656
3742
  class CornerHintDirective {
3743
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CornerHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3744
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: CornerHintDirective, selector: "impdc-corner-hint", ngImport: i0 }); }
3657
3745
  }
3658
- CornerHintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CornerHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3659
- CornerHintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: CornerHintDirective, selector: "impdc-corner-hint", ngImport: i0 });
3660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CornerHintDirective, decorators: [{
3746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CornerHintDirective, decorators: [{
3661
3747
  type: Directive,
3662
3748
  args: [{
3663
3749
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3670,10 +3756,10 @@ class ErrorDirective {
3670
3756
  constructor() {
3671
3757
  this.id = `impdc-form-error-${nanoid()}`;
3672
3758
  }
3759
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3760
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: ErrorDirective, selector: "impdc-error, [impdc-error]", inputs: { id: "id" }, host: { properties: { "id": "id" } }, providers: [{ provide: IMPDC_ERROR, useExisting: ErrorDirective }], ngImport: i0 }); }
3673
3761
  }
3674
- ErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3675
- ErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ErrorDirective, selector: "impdc-error, [impdc-error]", inputs: { id: "id" }, host: { properties: { "id": "id" } }, providers: [{ provide: IMPDC_ERROR, useExisting: ErrorDirective }], ngImport: i0 });
3676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ErrorDirective, decorators: [{
3762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ErrorDirective, decorators: [{
3677
3763
  type: Directive,
3678
3764
  args: [{
3679
3765
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3702,15 +3788,15 @@ class RootFormGroupDirective {
3702
3788
  get form() {
3703
3789
  return this._parentRoot ? this._parentRoot.form : this._formGroupDirective;
3704
3790
  }
3791
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RootFormGroupDirective, deps: [{ token: i2.FormGroupDirective, host: true }, { token: IMPDC_FORM_ROOT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3792
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: RootFormGroupDirective, selector: "[formGroup]", providers: [
3793
+ {
3794
+ provide: IMPDC_FORM_ROOT,
3795
+ useExisting: RootFormGroupDirective
3796
+ }
3797
+ ], ngImport: i0 }); }
3705
3798
  }
3706
- RootFormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RootFormGroupDirective, deps: [{ token: i2.FormGroupDirective, host: true }, { token: IMPDC_FORM_ROOT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
3707
- RootFormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RootFormGroupDirective, selector: "[formGroup]", providers: [
3708
- {
3709
- provide: IMPDC_FORM_ROOT,
3710
- useExisting: RootFormGroupDirective
3711
- }
3712
- ], ngImport: i0 });
3713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RootFormGroupDirective, decorators: [{
3799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RootFormGroupDirective, decorators: [{
3714
3800
  type: Directive,
3715
3801
  args: [{
3716
3802
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3722,7 +3808,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3722
3808
  }
3723
3809
  ]
3724
3810
  }]
3725
- }], ctorParameters: function () { return [{ type: i2.FormGroupDirective, decorators: [{
3811
+ }], ctorParameters: () => [{ type: i2.FormGroupDirective, decorators: [{
3726
3812
  type: Host
3727
3813
  }] }, { type: undefined, decorators: [{
3728
3814
  type: Optional
@@ -3731,7 +3817,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3731
3817
  }, {
3732
3818
  type: Inject,
3733
3819
  args: [IMPDC_FORM_ROOT]
3734
- }] }]; } });
3820
+ }] }] });
3735
3821
  class RootNgFormDirective {
3736
3822
  constructor(_ngForm, _parentRoot) {
3737
3823
  this._ngForm = _ngForm;
@@ -3745,15 +3831,15 @@ class RootNgFormDirective {
3745
3831
  get form() {
3746
3832
  return this._parentRoot ? this._parentRoot.form : this._ngForm;
3747
3833
  }
3834
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RootNgFormDirective, deps: [{ token: i2.NgForm, host: true }, { token: IMPDC_FORM_ROOT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3835
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: RootNgFormDirective, selector: "[ngForm]", providers: [
3836
+ {
3837
+ provide: IMPDC_FORM_ROOT,
3838
+ useExisting: RootNgFormDirective
3839
+ }
3840
+ ], ngImport: i0 }); }
3748
3841
  }
3749
- RootNgFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RootNgFormDirective, deps: [{ token: i2.NgForm, host: true }, { token: IMPDC_FORM_ROOT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
3750
- RootNgFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RootNgFormDirective, selector: "[ngForm]", providers: [
3751
- {
3752
- provide: IMPDC_FORM_ROOT,
3753
- useExisting: RootNgFormDirective
3754
- }
3755
- ], ngImport: i0 });
3756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RootNgFormDirective, decorators: [{
3842
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RootNgFormDirective, decorators: [{
3757
3843
  type: Directive,
3758
3844
  args: [{
3759
3845
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3765,7 +3851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3765
3851
  }
3766
3852
  ]
3767
3853
  }]
3768
- }], ctorParameters: function () { return [{ type: i2.NgForm, decorators: [{
3854
+ }], ctorParameters: () => [{ type: i2.NgForm, decorators: [{
3769
3855
  type: Host
3770
3856
  }] }, { type: undefined, decorators: [{
3771
3857
  type: Optional
@@ -3774,16 +3860,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3774
3860
  }, {
3775
3861
  type: Inject,
3776
3862
  args: [IMPDC_FORM_ROOT]
3777
- }] }]; } });
3863
+ }] }] });
3778
3864
 
3779
3865
  class HintDirective {
3780
3866
  constructor() {
3781
3867
  this.id = `impdc-form-hint-${nanoid()}`;
3782
3868
  }
3869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: HintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3870
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: HintDirective, selector: "impdc-hint", inputs: { id: "id" }, host: { properties: { "id": "id" } }, ngImport: i0 }); }
3783
3871
  }
3784
- HintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3785
- HintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: HintDirective, selector: "impdc-hint", inputs: { id: "id" }, host: { properties: { "id": "id" } }, ngImport: i0 });
3786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HintDirective, decorators: [{
3872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: HintDirective, decorators: [{
3787
3873
  type: Directive,
3788
3874
  args: [{
3789
3875
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3798,10 +3884,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3798
3884
  }] } });
3799
3885
 
3800
3886
  class LabelDirective {
3887
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: LabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3888
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: LabelDirective, selector: "impdc-label", ngImport: i0 }); }
3801
3889
  }
3802
- LabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3803
- LabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: LabelDirective, selector: "impdc-label", ngImport: i0 });
3804
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LabelDirective, decorators: [{
3890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: LabelDirective, decorators: [{
3805
3891
  type: Directive,
3806
3892
  args: [{
3807
3893
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3817,10 +3903,10 @@ class PrefixDirective {
3817
3903
  set isTextSelector(value) {
3818
3904
  this.isText = true;
3819
3905
  }
3906
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3907
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: PrefixDirective, selector: "[impdcPrefix], [impdcTextPrefix]", inputs: { isTextSelector: ["impdcTextPrefix", "isTextSelector"] }, providers: [{ provide: IMPDC_PREFIX, useExisting: PrefixDirective }], ngImport: i0 }); }
3820
3908
  }
3821
- PrefixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3822
- PrefixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: PrefixDirective, selector: "[impdcPrefix], [impdcTextPrefix]", inputs: { isTextSelector: ["impdcTextPrefix", "isTextSelector"] }, providers: [{ provide: IMPDC_PREFIX, useExisting: PrefixDirective }], ngImport: i0 });
3823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PrefixDirective, decorators: [{
3909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PrefixDirective, decorators: [{
3824
3910
  type: Directive,
3825
3911
  args: [{
3826
3912
  selector: '[impdcPrefix], [impdcTextPrefix]',
@@ -3839,10 +3925,10 @@ class SuffixDirective {
3839
3925
  set isTextSelector(value) {
3840
3926
  this.isText = true;
3841
3927
  }
3928
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3929
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: SuffixDirective, selector: "[impdcSuffix], [impdcTextSuffix]", inputs: { isTextSelector: ["impdcTextSuffix", "isTextSelector"] }, providers: [{ provide: IMPDC_SUFFIX, useExisting: SuffixDirective }], ngImport: i0 }); }
3842
3930
  }
3843
- SuffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3844
- SuffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: SuffixDirective, selector: "[impdcSuffix], [impdcTextSuffix]", inputs: { isTextSelector: ["impdcTextSuffix", "isTextSelector"] }, providers: [{ provide: IMPDC_SUFFIX, useExisting: SuffixDirective }], ngImport: i0 });
3845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SuffixDirective, decorators: [{
3931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SuffixDirective, decorators: [{
3846
3932
  type: Directive,
3847
3933
  args: [{
3848
3934
  selector: '[impdcSuffix], [impdcTextSuffix]',
@@ -3855,26 +3941,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3855
3941
 
3856
3942
  function mixinDisabled(base) {
3857
3943
  return class extends base {
3858
- constructor(...args) {
3859
- super(...args);
3860
- this._disabled = false;
3861
- }
3862
3944
  get disabled() {
3863
3945
  return this._disabled;
3864
3946
  }
3865
3947
  set disabled(value) {
3866
3948
  this._disabled = !!value;
3867
3949
  }
3950
+ constructor(...args) {
3951
+ super(...args);
3952
+ this._disabled = false;
3953
+ }
3868
3954
  };
3869
3955
  }
3870
3956
 
3871
3957
  function mixinErrorState(base) {
3872
3958
  return class extends base {
3873
- constructor(...args) {
3874
- super(...args);
3875
- /** Whether the component is in an error state. */
3876
- this.errorState = false;
3877
- }
3878
3959
  /** Updates the error state based on the provided error state matcher. */
3879
3960
  updateErrorState() {
3880
3961
  const oldState = this.errorState;
@@ -3889,24 +3970,24 @@ function mixinErrorState(base) {
3889
3970
  this.stateChanges.next();
3890
3971
  }
3891
3972
  }
3973
+ constructor(...args) {
3974
+ super(...args);
3975
+ /** Whether the component is in an error state. */
3976
+ this.errorState = false;
3977
+ }
3892
3978
  };
3893
3979
  }
3894
3980
 
3895
3981
  class ImpdcFormFieldControl {
3982
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ImpdcFormFieldControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3983
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: ImpdcFormFieldControl, ngImport: i0 }); }
3896
3984
  }
3897
- ImpdcFormFieldControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ImpdcFormFieldControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3898
- ImpdcFormFieldControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ImpdcFormFieldControl, ngImport: i0 });
3899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ImpdcFormFieldControl, decorators: [{
3985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ImpdcFormFieldControl, decorators: [{
3900
3986
  type: Directive
3901
3987
  }] });
3902
3988
 
3903
3989
  function mixinTabIndex(base, defaultTabIndex = 0) {
3904
3990
  return class extends base {
3905
- constructor(...args) {
3906
- super(...args);
3907
- this._tabIndex = defaultTabIndex;
3908
- this.defaultTabIndex = defaultTabIndex;
3909
- }
3910
3991
  get tabIndex() {
3911
3992
  return this.disabled ? -1 : this._tabIndex;
3912
3993
  }
@@ -3915,6 +3996,11 @@ function mixinTabIndex(base, defaultTabIndex = 0) {
3915
3996
  this._tabIndex =
3916
3997
  value != null ? coerceNumberPropertyValue(value) : this.defaultTabIndex;
3917
3998
  }
3999
+ constructor(...args) {
4000
+ super(...args);
4001
+ this._tabIndex = defaultTabIndex;
4002
+ this.defaultTabIndex = defaultTabIndex;
4003
+ }
3918
4004
  };
3919
4005
  }
3920
4006
 
@@ -3922,6 +4008,12 @@ function getMultipleValuesInSingleSelectError() {
3922
4008
  return Error('Cannot pass multiple values into SelectModel in single-value mode.');
3923
4009
  }
3924
4010
  class SelectModel {
4011
+ get selected() {
4012
+ if (!this._selected) {
4013
+ this._selected = Array.from(this._selection.values());
4014
+ }
4015
+ return this._selected;
4016
+ }
3925
4017
  constructor(_multiple = false, initialSelectedValues, _emitChanges = true, compareFunc) {
3926
4018
  this._multiple = _multiple;
3927
4019
  this._emitChanges = _emitChanges;
@@ -3943,12 +4035,6 @@ class SelectModel {
3943
4035
  this._pendingSelectionsToEmit.length = 0;
3944
4036
  }
3945
4037
  }
3946
- get selected() {
3947
- if (!this._selected) {
3948
- this._selected = Array.from(this._selection.values());
3949
- }
3950
- return this._selected;
3951
- }
3952
4038
  select(...values) {
3953
4039
  this._verifyValueAssignment(values);
3954
4040
  values.forEach(value => this._markSelected(value));
@@ -4073,10 +4159,10 @@ class ShowOnDirtyErrorStateMatcher {
4073
4159
  control.invalid &&
4074
4160
  (control.dirty || (form && form.submitted)));
4075
4161
  }
4162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ShowOnDirtyErrorStateMatcher }); }
4076
4164
  }
4077
- ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4078
- ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
4079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
4165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
4080
4166
  type: Injectable
4081
4167
  }] });
4082
4168
  class ErrorStateMatcher {
@@ -4085,10 +4171,10 @@ class ErrorStateMatcher {
4085
4171
  control.invalid &&
4086
4172
  (control.touched || (form && form.submitted)));
4087
4173
  }
4174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4175
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' }); }
4088
4176
  }
4089
- ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4090
- ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
4091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ErrorStateMatcher, decorators: [{
4177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ErrorStateMatcher, decorators: [{
4092
4178
  type: Injectable,
4093
4179
  args: [{ providedIn: 'root' }]
4094
4180
  }] });
@@ -4131,10 +4217,10 @@ class UniqueSelectionDispatcher {
4131
4217
  ngOnDestroy() {
4132
4218
  this._listeners = [];
4133
4219
  }
4220
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4221
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' }); }
4134
4222
  }
4135
- UniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4136
- UniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });
4137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{
4223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{
4138
4224
  type: Injectable,
4139
4225
  args: [{ providedIn: 'root' }]
4140
4226
  }] });
@@ -4191,43 +4277,6 @@ const _SelectComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(class {
4191
4277
  * To use, import `SelectModule` or another module that imports and exports that module from `@impartner/design-components`.
4192
4278
  */
4193
4279
  class SelectComponent extends _SelectComponentBase {
4194
- constructor(_changeDetector, _ngZone, tabIndex, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
4195
- super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
4196
- this._changeDetector = _changeDetector;
4197
- this._ngZone = _ngZone;
4198
- /** @ignore */
4199
- this.optionSelectionChanges = defer(() => {
4200
- const options = this.options;
4201
- if (options) {
4202
- return options.changes.pipe(startWith(options), switchMap(() => merge(...options.map(option => option.onSelectionChange))));
4203
- }
4204
- return this._ngZone.onStable.pipe(take(1), switchMap(() => this.optionSelectionChanges));
4205
- });
4206
- this._uid = `impdc-select-${nanoid()}`;
4207
- this._ngDestroy = new Subject();
4208
- this._compareWith = (o1, o2) => o1 === o2;
4209
- this._cvaOnChange = () => { };
4210
- this._cvaOnTouched = () => { };
4211
- this._placeholder = '- Select -';
4212
- this._multiple = false;
4213
- /** Events fire when selection has been changed by the user. */
4214
- this.selectionChange = new EventEmitter();
4215
- /**
4216
- * Events fire when raw value of select changes. Mainly exists to handle
4217
- * two-way binding of `value` input property.
4218
- * @ignore
4219
- */
4220
- this.valueChange = new EventEmitter();
4221
- /* ImpdcFormFieldControl */
4222
- this.controlType = 'impdc-select';
4223
- this.supportsAffixes = true;
4224
- this._focused = false;
4225
- if (this.ngControl) {
4226
- this.ngControl.valueAccessor = this;
4227
- }
4228
- this.id = this.id;
4229
- this.tabIndex = parseInt(tabIndex) || 0;
4230
- }
4231
4280
  /**
4232
4281
  * The placeholder text that will be displayed when no selection has been made.
4233
4282
  *
@@ -4287,6 +4336,43 @@ class SelectComponent extends _SelectComponentBase {
4287
4336
  get dropdownOpen() {
4288
4337
  return this._ngbDropdown?.isOpen() ?? false;
4289
4338
  }
4339
+ constructor(_changeDetector, _ngZone, tabIndex, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
4340
+ super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
4341
+ this._changeDetector = _changeDetector;
4342
+ this._ngZone = _ngZone;
4343
+ /** @ignore */
4344
+ this.optionSelectionChanges = defer(() => {
4345
+ const options = this.options;
4346
+ if (options) {
4347
+ return options.changes.pipe(startWith(options), switchMap(() => merge(...options.map(option => option.onSelectionChange))));
4348
+ }
4349
+ return this._ngZone.onStable.pipe(take(1), switchMap(() => this.optionSelectionChanges));
4350
+ });
4351
+ this._uid = `impdc-select-${nanoid()}`;
4352
+ this._ngDestroy = new Subject();
4353
+ this._compareWith = (o1, o2) => o1 === o2;
4354
+ this._cvaOnChange = () => { };
4355
+ this._cvaOnTouched = () => { };
4356
+ this._placeholder = '- Select -';
4357
+ this._multiple = false;
4358
+ /** Events fire when selection has been changed by the user. */
4359
+ this.selectionChange = new EventEmitter();
4360
+ /**
4361
+ * Events fire when raw value of select changes. Mainly exists to handle
4362
+ * two-way binding of `value` input property.
4363
+ * @ignore
4364
+ */
4365
+ this.valueChange = new EventEmitter();
4366
+ /* ImpdcFormFieldControl */
4367
+ this.controlType = 'impdc-select';
4368
+ this.supportsAffixes = true;
4369
+ this._focused = false;
4370
+ if (this.ngControl) {
4371
+ this.ngControl.valueAccessor = this;
4372
+ }
4373
+ this.id = this.id;
4374
+ this.tabIndex = parseInt(tabIndex) || 0;
4375
+ }
4290
4376
  get empty() {
4291
4377
  return !this._selectionModel || this._selectionModel.isEmpty();
4292
4378
  }
@@ -4558,19 +4644,19 @@ class SelectComponent extends _SelectComponentBase {
4558
4644
  _buildChangeEvent(value) {
4559
4645
  return new SelectChangeEvent(this, value);
4560
4646
  }
4647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: 'tabindex', attribute: true }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
4648
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SelectComponent, selector: "impdc-select", inputs: { disabled: "disabled", tabIndex: "tabIndex", placeholder: "placeholder", required: "required", multiple: "multiple", compareWith: "compareWith", errorStateMatcher: "errorStateMatcher", value: "value", id: "id" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-select": "true", "class.is-invalid": "errorState", "class.impdc-form-field-control": "true", "class.impdc-select--required": "required", "class.impdc-select--disabled": "disabled", "class.impdc-select--invalid": "errorState", "class.impdc-select--empty": "empty", "class.impdc-select--multiple": "multiple" } }, providers: [
4649
+ {
4650
+ provide: ImpdcFormFieldControl,
4651
+ useExisting: SelectComponent
4652
+ },
4653
+ {
4654
+ provide: IMPDC_SELECT_OPTION_PARENT_COMPONENT,
4655
+ useExisting: SelectComponent
4656
+ }
4657
+ ], queries: [{ propertyName: "options", predicate: SelectOptionComponent, descendants: true }], viewQueries: [{ propertyName: "_ngbDropdown", first: true, predicate: NgbDropdown, descendants: true }, { propertyName: "_ngbDropdownMenu", first: true, predicate: NgbDropdownMenu, descendants: true }, { propertyName: "_toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, static: true }], exportAs: ["impdcSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n ngbDropdown\n [autoClose]=\"multiple ? 'outside' : true\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"_handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select--text impdc-select--placeholder\"\n *ngSwitchCase=\"true\"\n >{{ placeholder }}</span\n >\n <span\n class=\"impdc-select--text impdc-select--value-text\"\n *ngSwitchCase=\"false\"\n >{{ displayedValue }}</span\n >\n </ng-container>\n </button>\n <div\n ngbDropdownMenu\n class=\"w-100 bg-white text-gray-600\"\n role=\"listbox\"\n tabindex=\"-1\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select--disabled{background-color:var(--impd-color-gray-100)}.impdc-select--toggle{font-weight:inherit;padding-right:3.6rem;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select--toggle{padding-right:6.6rem}.impdc-select--toggle:disabled{cursor:default}.impdc-select--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}button[ngbDropdownToggle].dropdown-toggle:after{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4561
4658
  }
4562
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: 'tabindex', attribute: true }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
4563
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SelectComponent, selector: "impdc-select", inputs: { disabled: "disabled", tabIndex: "tabIndex", placeholder: "placeholder", required: "required", multiple: "multiple", compareWith: "compareWith", errorStateMatcher: "errorStateMatcher", value: "value", id: "id" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-select": "true", "class.is-invalid": "errorState", "class.impdc-form-field-control": "true", "class.impdc-select--required": "required", "class.impdc-select--disabled": "disabled", "class.impdc-select--invalid": "errorState", "class.impdc-select--empty": "empty", "class.impdc-select--multiple": "multiple" } }, providers: [
4564
- {
4565
- provide: ImpdcFormFieldControl,
4566
- useExisting: SelectComponent
4567
- },
4568
- {
4569
- provide: IMPDC_SELECT_OPTION_PARENT_COMPONENT,
4570
- useExisting: SelectComponent
4571
- }
4572
- ], queries: [{ propertyName: "options", predicate: SelectOptionComponent, descendants: true }], viewQueries: [{ propertyName: "_ngbDropdown", first: true, predicate: NgbDropdown, descendants: true }, { propertyName: "_ngbDropdownMenu", first: true, predicate: NgbDropdownMenu, descendants: true }, { propertyName: "_toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, static: true }], exportAs: ["impdcSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n ngbDropdown\n [autoClose]=\"multiple ? 'outside' : true\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"_handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select--text impdc-select--placeholder\"\n *ngSwitchCase=\"true\"\n >{{ placeholder }}</span\n >\n <span\n class=\"impdc-select--text impdc-select--value-text\"\n *ngSwitchCase=\"false\"\n >{{ displayedValue }}</span\n >\n </ng-container>\n </button>\n <div\n ngbDropdownMenu\n class=\"w-100 bg-white text-gray-600\"\n role=\"listbox\"\n tabindex=\"-1\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select--disabled{background-color:var(--impd-color-gray-100)}.impdc-select--toggle{font-weight:inherit;padding-right:3.6rem;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select--toggle{padding-right:6.6rem}.impdc-select--toggle:disabled{cursor:default}.impdc-select--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}button[ngbDropdownToggle].dropdown-toggle:after{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectComponent, decorators: [{
4659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectComponent, decorators: [{
4574
4660
  type: Component,
4575
4661
  args: [{ selector: 'impdc-select', exportAs: 'impdcSelect', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
4576
4662
  '[attr.id]': 'id',
@@ -4597,7 +4683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
4597
4683
  useExisting: SelectComponent
4598
4684
  }
4599
4685
  ], template: "<div\n ngbDropdown\n [autoClose]=\"multiple ? 'outside' : true\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"_handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select--text impdc-select--placeholder\"\n *ngSwitchCase=\"true\"\n >{{ placeholder }}</span\n >\n <span\n class=\"impdc-select--text impdc-select--value-text\"\n *ngSwitchCase=\"false\"\n >{{ displayedValue }}</span\n >\n </ng-container>\n </button>\n <div\n ngbDropdownMenu\n class=\"w-100 bg-white text-gray-600\"\n role=\"listbox\"\n tabindex=\"-1\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select--disabled{background-color:var(--impd-color-gray-100)}.impdc-select--toggle{font-weight:inherit;padding-right:3.6rem;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select--toggle{padding-right:6.6rem}.impdc-select--toggle:disabled{cursor:default}.impdc-select--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}button[ngbDropdownToggle].dropdown-toggle:after{display:none}\n"] }]
4600
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
4686
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
4601
4687
  type: Attribute,
4602
4688
  args: ['tabindex']
4603
4689
  }] }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
@@ -4613,7 +4699,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
4613
4699
  type: Self
4614
4700
  }, {
4615
4701
  type: Optional
4616
- }] }]; }, propDecorators: { options: [{
4702
+ }] }], propDecorators: { options: [{
4617
4703
  type: ContentChildren,
4618
4704
  args: [SelectOptionComponent, { descendants: true }]
4619
4705
  }], _ngbDropdown: [{
@@ -4652,6 +4738,12 @@ function getImpdcFormFieldMissingControlError() {
4652
4738
 
4653
4739
  const IMPDC_FORM_FIELD = new InjectionToken('FormFieldComponent');
4654
4740
  class FormFieldComponent {
4741
+ get _control() {
4742
+ return this._explicitFormFieldControl || this._formFieldControl;
4743
+ }
4744
+ set _control(value) {
4745
+ this._explicitFormFieldControl = value;
4746
+ }
4655
4747
  constructor(_elementRef, _changeDetectorRef) {
4656
4748
  this._elementRef = _elementRef;
4657
4749
  this._changeDetectorRef = _changeDetectorRef;
@@ -4661,12 +4753,6 @@ class FormFieldComponent {
4661
4753
  this._isFocused = null;
4662
4754
  this._labelId = `impdc-form-field-label-${nanoid()}`;
4663
4755
  }
4664
- get _control() {
4665
- return this._explicitFormFieldControl || this._formFieldControl;
4666
- }
4667
- set _control(value) {
4668
- this._explicitFormFieldControl = value;
4669
- }
4670
4756
  ngAfterViewInit() {
4671
4757
  this._updateFocusState();
4672
4758
  this._changeDetectorRef.detectChanges();
@@ -4737,10 +4823,10 @@ class FormFieldComponent {
4737
4823
  this._changeDetectorRef.markForCheck();
4738
4824
  });
4739
4825
  }
4826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FormFieldComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4827
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: FormFieldComponent, selector: "impdc-form-field", host: { properties: { "class.impdc-form-field-focused": "_control.focused", "class.impdc-form-field-invalid": "_control.errorState", "class.impdc-form-field-disabled": "_control.disabled", "class.ng-untouched": "_shouldForwardControlState(\"untouched\")", "class.ng-touched": "_shouldForwardControlState(\"touched\")", "class.ng-pristine": "_shouldForwardControlState(\"pristine\")", "class.ng-dirty": "_shouldForwardControlState(\"dirty\")", "class.ng-valid": "_shouldForwardControlState(\"valid\")", "class.ng-invalid": "_shouldForwardControlState(\"invalid\")", "class.ng-pending": "_shouldForwardControlState(\"pending\")" }, classAttribute: "impdc-form-field" }, providers: [{ provide: IMPDC_FORM_FIELD, useExisting: FormFieldComponent }], queries: [{ propertyName: "_formFieldControl", first: true, predicate: ImpdcFormFieldControl, descendants: true }, { propertyName: "_prefixChildren", predicate: IMPDC_PREFIX, descendants: true }, { propertyName: "_suffixChildren", predicate: IMPDC_SUFFIX, descendants: true }, { propertyName: "_errorChildren", predicate: IMPDC_ERROR, descendants: true }], viewQueries: [{ propertyName: "_inputArea", first: true, predicate: ["inputArea"], descendants: true }], exportAs: ["impdcFormField"], ngImport: i0, template: "<ng-template #labelTemplate>\n <label\n class=\"form-label\"\n [id]=\"_labelId\"\n [attr.for]=\"_formFieldControl.id\"\n [attr.aria-owns]=\"_formFieldControl.id\">\n <ng-content select=\"impdc-label\"></ng-content>\n </label>\n</ng-template>\n\n<ng-template #cornerHintTemplate>\n <div class=\"flex-shrink-1 text-gray-400 fw-medium text-end\">\n <ng-content select=\"impdc-corner-hint\"></ng-content>\n </div>\n</ng-template>\n\n<div class=\"d-flex justify-content-between gap-4\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"cornerHintTemplate\"></ng-template>\n</div>\n\n<div\n #inputArea\n class=\"impdc-form-field-wrapper\"\n [class.input-group]=\"_control.supportsAffixes\"\n [class.impdc-form-field--text]=\"_control.supportsAffixes\"\n [class.impdc-form-field--focused]=\"_control.focused\"\n [class.impdc-form-field--disabled]=\"_control.disabled\"\n [class.impdc-form-field--invalid]=\"_control.errorState\"\n [class.impdc-form-field--text--has-text-prefix]=\"_hasTextPrefix\"\n [class.impdc-form-field--text--has-text-suffix]=\"_hasTextSuffix\">\n <ng-container *ngIf=\"_control.supportsAffixes\">\n <ng-content select=\"[impdcPrefix]\"></ng-content>\n <ng-content select=\"[impdcTextPrefix]\"></ng-content>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"_control.supportsAffixes\">\n <ng-content select=\"[impdcTextSuffix]\"></ng-content>\n <ng-content select=\"[impdcSuffix]\"></ng-content>\n </ng-container>\n</div>\n\n<div\n class=\"impdc-form-field-feedback\"\n [class.impdc-form-field-feedback--disabled]=\"false\">\n <div class=\"impdc-form-field-hint-wrapper\">\n <ng-content select=\"impdc-hint\"></ng-content>\n </div>\n <div *ngIf=\"_showErrors()\" class=\"impdc-form-field-error-wrapper\">\n <ng-content select=\"impdc-error, [impdc-error]\"></ng-content>\n </div>\n</div>\n", styles: [":host{font-size:var(--impd-font-size-sm, 1.4rem)}.impdc-form-field-wrapper{--impdc-form-field-focus-color: var(--impd-color-motion-blue-500)}.impdc-form-field-wrapper.impdc-form-field--disabled{--impartner-hex-input-opacity: .5;--impartner-hex-input-group-bg: var(--impd-color-gray-100)}.impdc-form-field-wrapper.impdc-form-field--text{background-color:var(--impartner-hex-input-group-bg, var(--impd-color-white));border:1px solid var(--impartner-hex-gray-400);border-radius:var(--impd-border-radius-md);overflow-x:hidden}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--focused{border-color:var(--impdc-form-field-focus-color)}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--invalid{--impdc-form-field-focus-color: var(--impd-color-red-600);border-color:var(--impd-color-red-600)}.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input::-webkit-outer-spin-button,.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input[type=number]{-moz-appearance:textfield}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control{border-radius:0;border-top:none;border-bottom:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:first-child{border-left:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:last-child{border-right:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:focus{box-shadow:none}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep [impdcTextSuffix],.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep [impdcTextPrefix]{opacity:var(--impartner-hex-input-opacity, 1);color:var(--impd-color-gray-500);display:flex;align-items:center;padding:.8rem .2rem;font-size:1.4rem;text-align:center;white-space:nowrap}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep [impdcTextPrefix]{padding-left:1.2rem}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep .impdc-form-field-control{border-left:none}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep [impdcTextSuffix]{padding-right:1.2rem}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep .impdc-form-field-control{border-right:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text.inset{background-color:unset;padding-left:8px;padding-right:8px;border:none}.impdc-form-field-feedback{font-size:1.4rem;margin-top:.4rem}.impdc-form-field--disabled+.impdc-form-field-feedback{opacity:.5}.impdc-form-field-feedback .impdc-form-field-error-wrapper{color:var(--impd-color-red-600)}.impdc-form-field-feedback .impdc-form-field-hint-wrapper{color:var(--impd-color-gray-500)}.impdc-form-field-feedback .impdc-form-field-error-wrapper ::ng-deep>*,.impdc-form-field-feedback .impdc-form-field-hint-wrapper ::ng-deep>*{display:block}.impdc-form-field-feedback .impdc-form-field-error-wrapper ::ng-deep>*+*,.impdc-form-field-feedback .impdc-form-field-hint-wrapper ::ng-deep>*+*{margin-top:.4rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4740
4828
  }
4741
- FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4742
- FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldComponent, selector: "impdc-form-field", host: { properties: { "class.impdc-form-field-focused": "_control.focused", "class.impdc-form-field-invalid": "_control.errorState", "class.impdc-form-field-disabled": "_control.disabled", "class.ng-untouched": "_shouldForwardControlState(\"untouched\")", "class.ng-touched": "_shouldForwardControlState(\"touched\")", "class.ng-pristine": "_shouldForwardControlState(\"pristine\")", "class.ng-dirty": "_shouldForwardControlState(\"dirty\")", "class.ng-valid": "_shouldForwardControlState(\"valid\")", "class.ng-invalid": "_shouldForwardControlState(\"invalid\")", "class.ng-pending": "_shouldForwardControlState(\"pending\")" }, classAttribute: "impdc-form-field" }, providers: [{ provide: IMPDC_FORM_FIELD, useExisting: FormFieldComponent }], queries: [{ propertyName: "_formFieldControl", first: true, predicate: ImpdcFormFieldControl, descendants: true }, { propertyName: "_prefixChildren", predicate: IMPDC_PREFIX, descendants: true }, { propertyName: "_suffixChildren", predicate: IMPDC_SUFFIX, descendants: true }, { propertyName: "_errorChildren", predicate: IMPDC_ERROR, descendants: true }], viewQueries: [{ propertyName: "_inputArea", first: true, predicate: ["inputArea"], descendants: true }], exportAs: ["impdcFormField"], ngImport: i0, template: "<ng-template #labelTemplate>\n <label\n class=\"form-label\"\n [id]=\"_labelId\"\n [attr.for]=\"_formFieldControl.id\"\n [attr.aria-owns]=\"_formFieldControl.id\">\n <ng-content select=\"impdc-label\"></ng-content>\n </label>\n</ng-template>\n\n<ng-template #cornerHintTemplate>\n <div class=\"flex-shrink-1 text-gray-400 fw-medium text-end\">\n <ng-content select=\"impdc-corner-hint\"></ng-content>\n </div>\n</ng-template>\n\n<div class=\"d-flex justify-content-between gap-4\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"cornerHintTemplate\"></ng-template>\n</div>\n\n<div\n #inputArea\n class=\"impdc-form-field-wrapper\"\n [class.input-group]=\"_control.supportsAffixes\"\n [class.impdc-form-field--text]=\"_control.supportsAffixes\"\n [class.impdc-form-field--focused]=\"_control.focused\"\n [class.impdc-form-field--disabled]=\"_control.disabled\"\n [class.impdc-form-field--invalid]=\"_control.errorState\"\n [class.impdc-form-field--text--has-text-prefix]=\"_hasTextPrefix\"\n [class.impdc-form-field--text--has-text-suffix]=\"_hasTextSuffix\">\n <ng-container *ngIf=\"_control.supportsAffixes\">\n <ng-content select=\"[impdcPrefix]\"></ng-content>\n <ng-content select=\"[impdcTextPrefix]\"></ng-content>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"_control.supportsAffixes\">\n <ng-content select=\"[impdcTextSuffix]\"></ng-content>\n <ng-content select=\"[impdcSuffix]\"></ng-content>\n </ng-container>\n</div>\n\n<div\n class=\"impdc-form-field-feedback\"\n [class.impdc-form-field-feedback--disabled]=\"false\">\n <div class=\"impdc-form-field-hint-wrapper\">\n <ng-content select=\"impdc-hint\"></ng-content>\n </div>\n <div *ngIf=\"_showErrors()\" class=\"impdc-form-field-error-wrapper\">\n <ng-content select=\"impdc-error, [impdc-error]\"></ng-content>\n </div>\n</div>\n", styles: [":host{font-size:var(--impd-font-size-sm, 1.4rem)}.impdc-form-field-wrapper{--impdc-form-field-focus-color: var(--impd-color-motion-blue-500)}.impdc-form-field-wrapper.impdc-form-field--disabled{--impartner-hex-input-opacity: .5;--impartner-hex-input-group-bg: var(--impd-color-gray-100)}.impdc-form-field-wrapper.impdc-form-field--text{background-color:var(--impartner-hex-input-group-bg, var(--impd-color-white));border:1px solid var(--impartner-hex-gray-400);border-radius:var(--impd-border-radius-md);overflow-x:hidden}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--focused{border-color:var(--impdc-form-field-focus-color)}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--invalid{--impdc-form-field-focus-color: var(--impd-color-red-600);border-color:var(--impd-color-red-600)}.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input::-webkit-outer-spin-button,.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input[type=number]{-moz-appearance:textfield}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control{border-radius:0;border-top:none;border-bottom:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:first-child{border-left:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:last-child{border-right:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:focus{box-shadow:none}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep [impdcTextSuffix],.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep [impdcTextPrefix]{opacity:var(--impartner-hex-input-opacity, 1);color:var(--impd-color-gray-500);display:flex;align-items:center;padding:.8rem .2rem;font-size:1.4rem;text-align:center;white-space:nowrap}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep [impdcTextPrefix]{padding-left:1.2rem}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep .impdc-form-field-control{border-left:none}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep [impdcTextSuffix]{padding-right:1.2rem}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep .impdc-form-field-control{border-right:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text.inset{background-color:unset;padding-left:8px;padding-right:8px;border:none}.impdc-form-field-feedback{font-size:1.4rem;margin-top:.4rem}.impdc-form-field--disabled+.impdc-form-field-feedback{opacity:.5}.impdc-form-field-feedback .impdc-form-field-error-wrapper{color:var(--impd-color-red-600)}.impdc-form-field-feedback .impdc-form-field-hint-wrapper{color:var(--impd-color-gray-500)}.impdc-form-field-feedback .impdc-form-field-error-wrapper ::ng-deep>*,.impdc-form-field-feedback .impdc-form-field-hint-wrapper ::ng-deep>*{display:block}.impdc-form-field-feedback .impdc-form-field-error-wrapper ::ng-deep>*+*,.impdc-form-field-feedback .impdc-form-field-hint-wrapper ::ng-deep>*+*{margin-top:.4rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
4829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FormFieldComponent, decorators: [{
4744
4830
  type: Component,
4745
4831
  args: [{ selector: 'impdc-form-field', exportAs: 'impdcFormField', host: {
4746
4832
  class: 'impdc-form-field',
@@ -4755,7 +4841,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
4755
4841
  '[class.ng-invalid]': '_shouldForwardControlState("invalid")',
4756
4842
  '[class.ng-pending]': '_shouldForwardControlState("pending")'
4757
4843
  }, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: IMPDC_FORM_FIELD, useExisting: FormFieldComponent }], template: "<ng-template #labelTemplate>\n <label\n class=\"form-label\"\n [id]=\"_labelId\"\n [attr.for]=\"_formFieldControl.id\"\n [attr.aria-owns]=\"_formFieldControl.id\">\n <ng-content select=\"impdc-label\"></ng-content>\n </label>\n</ng-template>\n\n<ng-template #cornerHintTemplate>\n <div class=\"flex-shrink-1 text-gray-400 fw-medium text-end\">\n <ng-content select=\"impdc-corner-hint\"></ng-content>\n </div>\n</ng-template>\n\n<div class=\"d-flex justify-content-between gap-4\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"cornerHintTemplate\"></ng-template>\n</div>\n\n<div\n #inputArea\n class=\"impdc-form-field-wrapper\"\n [class.input-group]=\"_control.supportsAffixes\"\n [class.impdc-form-field--text]=\"_control.supportsAffixes\"\n [class.impdc-form-field--focused]=\"_control.focused\"\n [class.impdc-form-field--disabled]=\"_control.disabled\"\n [class.impdc-form-field--invalid]=\"_control.errorState\"\n [class.impdc-form-field--text--has-text-prefix]=\"_hasTextPrefix\"\n [class.impdc-form-field--text--has-text-suffix]=\"_hasTextSuffix\">\n <ng-container *ngIf=\"_control.supportsAffixes\">\n <ng-content select=\"[impdcPrefix]\"></ng-content>\n <ng-content select=\"[impdcTextPrefix]\"></ng-content>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"_control.supportsAffixes\">\n <ng-content select=\"[impdcTextSuffix]\"></ng-content>\n <ng-content select=\"[impdcSuffix]\"></ng-content>\n </ng-container>\n</div>\n\n<div\n class=\"impdc-form-field-feedback\"\n [class.impdc-form-field-feedback--disabled]=\"false\">\n <div class=\"impdc-form-field-hint-wrapper\">\n <ng-content select=\"impdc-hint\"></ng-content>\n </div>\n <div *ngIf=\"_showErrors()\" class=\"impdc-form-field-error-wrapper\">\n <ng-content select=\"impdc-error, [impdc-error]\"></ng-content>\n </div>\n</div>\n", styles: [":host{font-size:var(--impd-font-size-sm, 1.4rem)}.impdc-form-field-wrapper{--impdc-form-field-focus-color: var(--impd-color-motion-blue-500)}.impdc-form-field-wrapper.impdc-form-field--disabled{--impartner-hex-input-opacity: .5;--impartner-hex-input-group-bg: var(--impd-color-gray-100)}.impdc-form-field-wrapper.impdc-form-field--text{background-color:var(--impartner-hex-input-group-bg, var(--impd-color-white));border:1px solid var(--impartner-hex-gray-400);border-radius:var(--impd-border-radius-md);overflow-x:hidden}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--focused{border-color:var(--impdc-form-field-focus-color)}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--invalid{--impdc-form-field-focus-color: var(--impd-color-red-600);border-color:var(--impd-color-red-600)}.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input::-webkit-outer-spin-button,.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.impdc-form-field-wrapper.impdc-form-field--text ::ng-deep>input[type=number]{-moz-appearance:textfield}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control{border-radius:0;border-top:none;border-bottom:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:first-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:first-child{border-left:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:last-child,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:last-child{border-right:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-control:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .form-select:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .btn:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text:focus,.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .impdc-form-field-control:focus{box-shadow:none}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep [impdcTextSuffix],.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep [impdcTextPrefix]{opacity:var(--impartner-hex-input-opacity, 1);color:var(--impd-color-gray-500);display:flex;align-items:center;padding:.8rem .2rem;font-size:1.4rem;text-align:center;white-space:nowrap}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep [impdcTextPrefix]{padding-left:1.2rem}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-prefix>::ng-deep .impdc-form-field-control{border-left:none}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep [impdcTextSuffix]{padding-right:1.2rem}.impdc-form-field-wrapper.impdc-form-field--text.impdc-form-field--text--has-text-suffix>::ng-deep .impdc-form-field-control{border-right:none}.impdc-form-field-wrapper.impdc-form-field--text>::ng-deep .input-group-text.inset{background-color:unset;padding-left:8px;padding-right:8px;border:none}.impdc-form-field-feedback{font-size:1.4rem;margin-top:.4rem}.impdc-form-field--disabled+.impdc-form-field-feedback{opacity:.5}.impdc-form-field-feedback .impdc-form-field-error-wrapper{color:var(--impd-color-red-600)}.impdc-form-field-feedback .impdc-form-field-hint-wrapper{color:var(--impd-color-gray-500)}.impdc-form-field-feedback .impdc-form-field-error-wrapper ::ng-deep>*,.impdc-form-field-feedback .impdc-form-field-hint-wrapper ::ng-deep>*{display:block}.impdc-form-field-feedback .impdc-form-field-error-wrapper ::ng-deep>*+*,.impdc-form-field-feedback .impdc-form-field-hint-wrapper ::ng-deep>*+*{margin-top:.4rem}\n"] }]
4758
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _inputArea: [{
4844
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { _inputArea: [{
4759
4845
  type: ViewChild,
4760
4846
  args: ['inputArea']
4761
4847
  }], _formFieldControl: [{
@@ -4804,28 +4890,6 @@ const _InputDirectiveBase = mixinErrorState(class {
4804
4890
  * To use, import `ImpdcFormsModule` or another module that imports and exports that module from `@impartner/design-components`.
4805
4891
  */
4806
4892
  class InputDirective extends _InputDirectiveBase {
4807
- constructor(_elementRef, ngControl, _formRoot, _parentForm, _parentFormGroup, _defaultErrorStateMatcher) {
4808
- super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
4809
- this._elementRef = _elementRef;
4810
- this._uid = `impdc-input-${nanoid()}`;
4811
- this.focused = false;
4812
- this.controlType = 'impdc-input';
4813
- this.supportsAffixes = true;
4814
- this._disabled = false;
4815
- this._type = 'text';
4816
- this._readonly = false;
4817
- const { nativeElement } = this._elementRef;
4818
- const nodeName = nativeElement.nodeName.toLowerCase();
4819
- this._inputValueAccessor = nativeElement;
4820
- this.id = this.id;
4821
- this._isSelect = nodeName === 'select';
4822
- this._isTextarea = nodeName === 'textarea';
4823
- if (this._isSelect) {
4824
- this.controlType = nativeElement.multiple
4825
- ? 'impdc-native-select-multiple'
4826
- : 'impdc-native-select';
4827
- }
4828
- }
4829
4893
  get disabled() {
4830
4894
  return this._disabled;
4831
4895
  }
@@ -4896,26 +4960,48 @@ class InputDirective extends _InputDirectiveBase {
4896
4960
  this.stateChanges.next();
4897
4961
  }
4898
4962
  }
4899
- /** @ignore */
4900
- ngDoCheck() {
4901
- if (this.ngControl) {
4902
- this.updateErrorState();
4903
- if (this.ngControl.disabled !== null &&
4904
- this.ngControl.disabled !== this.disabled) {
4905
- this.disabled = this.ngControl.disabled;
4906
- this.stateChanges.next();
4907
- }
4908
- }
4909
- }
4910
- /** @ignore */
4911
- ngOnChanges() {
4912
- this.stateChanges.next();
4913
- }
4914
- /** @ignore */
4915
- ngOnDestroy() {
4916
- this.stateChanges.complete();
4917
- }
4918
- _focusChanged(isFocused) {
4963
+ constructor(_elementRef, ngControl, _formRoot, _parentForm, _parentFormGroup, _defaultErrorStateMatcher) {
4964
+ super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
4965
+ this._elementRef = _elementRef;
4966
+ this._uid = `impdc-input-${nanoid()}`;
4967
+ this.focused = false;
4968
+ this.controlType = 'impdc-input';
4969
+ this.supportsAffixes = true;
4970
+ this._disabled = false;
4971
+ this._type = 'text';
4972
+ this._readonly = false;
4973
+ const { nativeElement } = this._elementRef;
4974
+ const nodeName = nativeElement.nodeName.toLowerCase();
4975
+ this._inputValueAccessor = nativeElement;
4976
+ this.id = this.id;
4977
+ this._isSelect = nodeName === 'select';
4978
+ this._isTextarea = nodeName === 'textarea';
4979
+ if (this._isSelect) {
4980
+ this.controlType = nativeElement.multiple
4981
+ ? 'impdc-native-select-multiple'
4982
+ : 'impdc-native-select';
4983
+ }
4984
+ }
4985
+ /** @ignore */
4986
+ ngDoCheck() {
4987
+ if (this.ngControl) {
4988
+ this.updateErrorState();
4989
+ if (this.ngControl.disabled !== null &&
4990
+ this.ngControl.disabled !== this.disabled) {
4991
+ this.disabled = this.ngControl.disabled;
4992
+ this.stateChanges.next();
4993
+ }
4994
+ }
4995
+ }
4996
+ /** @ignore */
4997
+ ngOnChanges() {
4998
+ this.stateChanges.next();
4999
+ }
5000
+ /** @ignore */
5001
+ ngOnDestroy() {
5002
+ this.stateChanges.complete();
5003
+ }
5004
+ _focusChanged(isFocused) {
4919
5005
  if (isFocused !== this.focused) {
4920
5006
  this.focused = isFocused;
4921
5007
  this.stateChanges.next();
@@ -4932,10 +5018,10 @@ class InputDirective extends _InputDirectiveBase {
4932
5018
  // Listening to the input event wouldn't be necessary when the input is using the
4933
5019
  // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.
4934
5020
  }
5021
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: InputDirective, deps: [{ token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: ErrorStateMatcher }], target: i0.ɵɵFactoryTarget.Directive }); }
5022
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", 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 }); }
4935
5023
  }
4936
- InputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InputDirective, deps: [{ token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: ErrorStateMatcher }], target: i0.ɵɵFactoryTarget.Directive });
4937
- 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 });
4938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InputDirective, decorators: [{
5024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: InputDirective, decorators: [{
4939
5025
  type: Directive,
4940
5026
  args: [{
4941
5027
  selector: 'input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]',
@@ -4965,7 +5051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
4965
5051
  },
4966
5052
  providers: [{ provide: ImpdcFormFieldControl, useExisting: InputDirective }]
4967
5053
  }]
4968
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
5054
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
4969
5055
  type: Optional
4970
5056
  }, {
4971
5057
  type: Self
@@ -4978,7 +5064,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
4978
5064
  type: Optional
4979
5065
  }] }, { type: i2.FormGroupDirective, decorators: [{
4980
5066
  type: Optional
4981
- }] }, { type: ErrorStateMatcher }]; }, propDecorators: { disabled: [{
5067
+ }] }, { type: ErrorStateMatcher }], propDecorators: { disabled: [{
4982
5068
  type: Input
4983
5069
  }], id: [{
4984
5070
  type: Input
@@ -5023,15 +5109,15 @@ class SizeDetectorDirective {
5023
5109
  this._resizeObserver &&
5024
5110
  this._resizeObserver.unobserve(this._elementRef.nativeElement);
5025
5111
  }
5112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SizeDetectorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
5113
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: { resized: "resized" }, ngImport: i0 }); }
5026
5114
  }
5027
- SizeDetectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SizeDetectorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5028
- SizeDetectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: { resized: "resized" }, ngImport: i0 });
5029
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SizeDetectorDirective, decorators: [{
5115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SizeDetectorDirective, decorators: [{
5030
5116
  type: Directive,
5031
5117
  args: [{
5032
5118
  selector: '[impdcSizeDetector]'
5033
5119
  }]
5034
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { resized: [{
5120
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { resized: [{
5035
5121
  type: Output
5036
5122
  }] } });
5037
5123
 
@@ -5041,36 +5127,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5041
5127
  * `ModalModule` imports and exports ImpdcFormsModule and [ButtonModule](./?path=/docs/design-components-button).
5042
5128
  */
5043
5129
  class PaginationComponent {
5044
- constructor(_changeDetectorRef) {
5045
- this._changeDetectorRef = _changeDetectorRef;
5046
- this._summary = 'Showing {firstPageResult} to {lastPageResult} of {total} results';
5047
- /**
5048
- * The current page.
5049
- */
5050
- this.page = 0;
5051
- /**
5052
- * The number of items shown per page. Items are commonly displayed as rows in a table.
5053
- */
5054
- this.perPage = 10;
5055
- /**
5056
- * The total number of items.
5057
- */
5058
- this.total = 0;
5059
- /**
5060
- * The label text for the per page select input.
5061
- */
5062
- this.perPageLabel = '';
5063
- /**
5064
- * Emitted when the page number is changed, specifying the target page number.
5065
- */
5066
- this.goToPage = new EventEmitter();
5067
- /**
5068
- * Emitted when the per page is changed, specifying the new value.
5069
- */
5070
- this.perPageChange = new EventEmitter();
5071
- /** @ignore */
5072
- this.mobile = false;
5073
- }
5074
5130
  /**
5075
5131
  * A formattable text summary of pagination data. `{firstPageResult}` The first item within the current page.
5076
5132
  * `{lastPageResult}` The last item within the current page. `{total}` The total number of items.
@@ -5126,6 +5182,36 @@ class PaginationComponent {
5126
5182
  return this.perPage * page;
5127
5183
  }
5128
5184
  }
5185
+ constructor(_changeDetectorRef) {
5186
+ this._changeDetectorRef = _changeDetectorRef;
5187
+ this._summary = 'Showing {firstPageResult} to {lastPageResult} of {total} results';
5188
+ /**
5189
+ * The current page.
5190
+ */
5191
+ this.page = 0;
5192
+ /**
5193
+ * The number of items shown per page. Items are commonly displayed as rows in a table.
5194
+ */
5195
+ this.perPage = 10;
5196
+ /**
5197
+ * The total number of items.
5198
+ */
5199
+ this.total = 0;
5200
+ /**
5201
+ * The label text for the per page select input.
5202
+ */
5203
+ this.perPageLabel = '';
5204
+ /**
5205
+ * Emitted when the page number is changed, specifying the target page number.
5206
+ */
5207
+ this.goToPage = new EventEmitter();
5208
+ /**
5209
+ * Emitted when the per page is changed, specifying the new value.
5210
+ */
5211
+ this.perPageChange = new EventEmitter();
5212
+ /** @ignore */
5213
+ this.mobile = false;
5214
+ }
5129
5215
  handleResize(size) {
5130
5216
  this.mobile = size.width < 640;
5131
5217
  this._changeDetectorRef.detectChanges();
@@ -5177,13 +5263,13 @@ class PaginationComponent {
5177
5263
  }
5178
5264
  return page;
5179
5265
  }
5266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5267
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: PaginationComponent, selector: "impdc-pagination, div[impdc-pagination]", inputs: { page: "page", perPage: "perPage", total: "total", summary: "summary", perPageLabel: "perPageLabel" }, outputs: { goToPage: "goToPage", perPageChange: "perPageChange" }, ngImport: i0, template: "<div\n class=\"pagination-container\"\n impdcSizeDetector\n (resized)=\"handleResize($event)\">\n <div class=\"mobile-pagination\" [ngClass]=\"{ 'd-none': !mobile }\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\" [ngClass]=\"{ 'd-none': mobile }\">\n <div class=\"rows-per-page\">\n <div>{{ perPageLabel }}</div>\n <div>\n <impdc-form-field>\n <impdc-select\n [(ngModel)]=\"perPage\"\n (selectionChange)=\"handlePerPageChange()\">\n <impdc-select-option [value]=\"10\" label=\"10\"></impdc-select-option>\n <impdc-select-option [value]=\"25\" label=\"25\"></impdc-select-option>\n <impdc-select-option [value]=\"50\" label=\"50\"></impdc-select-option>\n <impdc-select-option\n [value]=\"100\"\n label=\"100\"></impdc-select-option>\n <impdc-select-option\n [value]=\"200\"\n label=\"200\"></impdc-select-option>\n </impdc-select>\n </impdc-form-field>\n </div>\n </div>\n <div class=\"pagination-rhs\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-5);gap:1rem;color:var(--impd-color-gray-700, #374151)}.pagination-container .mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}.pagination-container .mobile-pagination button[impdcButton]{width:50%;justify-content:left}.pagination-container .desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}.pagination-container .desktop-pagination .rows-per-page{display:flex;flex-direction:row;align-items:center;gap:1rem;flex-grow:1;font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs{display:flex;flex-direction:row;gap:2.4rem;flex-wrap:wrap;align-items:center}.pagination-container .desktop-pagination .pagination-rhs .summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .last{margin-left:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.pagination-container .desktop-pagination .pagination-rhs .page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.pagination-container .desktop-pagination .pagination-rhs .pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SelectOptionComponent, selector: "impdc-select-option", inputs: ["value", "label", "id", "disabled"], outputs: ["onSelectionChange"] }, { kind: "component", type: SelectComponent, selector: "impdc-select", inputs: ["disabled", "tabIndex", "placeholder", "required", "multiple", "compareWith", "errorStateMatcher", "value", "id"], outputs: ["selectionChange", "valueChange"], exportAs: ["impdcSelect"] }, { kind: "component", type: FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }] }); }
5180
5268
  }
5181
- PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5182
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PaginationComponent, selector: "impdc-pagination, div[impdc-pagination]", inputs: { page: "page", perPage: "perPage", total: "total", summary: "summary", perPageLabel: "perPageLabel" }, outputs: { goToPage: "goToPage", perPageChange: "perPageChange" }, ngImport: i0, template: "<div\n class=\"pagination-container\"\n impdcSizeDetector\n (resized)=\"handleResize($event)\">\n <div class=\"mobile-pagination\" [ngClass]=\"{ 'd-none': !mobile }\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\" [ngClass]=\"{ 'd-none': mobile }\">\n <div class=\"rows-per-page\">\n <div>{{ perPageLabel }}</div>\n <div>\n <impdc-form-field>\n <impdc-select\n [(ngModel)]=\"perPage\"\n (selectionChange)=\"handlePerPageChange()\">\n <impdc-select-option [value]=\"10\" label=\"10\"></impdc-select-option>\n <impdc-select-option [value]=\"25\" label=\"25\"></impdc-select-option>\n <impdc-select-option [value]=\"50\" label=\"50\"></impdc-select-option>\n <impdc-select-option\n [value]=\"100\"\n label=\"100\"></impdc-select-option>\n <impdc-select-option\n [value]=\"200\"\n label=\"200\"></impdc-select-option>\n </impdc-select>\n </impdc-form-field>\n </div>\n </div>\n <div class=\"pagination-rhs\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-5);gap:1rem;color:var(--impd-color-gray-700, #374151)}.pagination-container .mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}.pagination-container .mobile-pagination button[impdcButton]{width:50%;justify-content:left}.pagination-container .desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}.pagination-container .desktop-pagination .rows-per-page{display:flex;flex-direction:row;align-items:center;gap:1rem;flex-grow:1;font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs{display:flex;flex-direction:row;gap:2.4rem;flex-wrap:wrap;align-items:center}.pagination-container .desktop-pagination .pagination-rhs .summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .last{margin-left:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.pagination-container .desktop-pagination .pagination-rhs .page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.pagination-container .desktop-pagination .pagination-rhs .pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SelectOptionComponent, selector: "impdc-select-option", inputs: ["value", "label", "id", "disabled"], outputs: ["onSelectionChange"] }, { kind: "component", type: SelectComponent, selector: "impdc-select", inputs: ["disabled", "tabIndex", "placeholder", "required", "multiple", "compareWith", "errorStateMatcher", "value", "id"], outputs: ["selectionChange", "valueChange"], exportAs: ["impdcSelect"] }, { kind: "component", type: FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }] });
5183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
5269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PaginationComponent, decorators: [{
5184
5270
  type: Component,
5185
5271
  args: [{ selector: 'impdc-pagination, div[impdc-pagination]', template: "<div\n class=\"pagination-container\"\n impdcSizeDetector\n (resized)=\"handleResize($event)\">\n <div class=\"mobile-pagination\" [ngClass]=\"{ 'd-none': !mobile }\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\" [ngClass]=\"{ 'd-none': mobile }\">\n <div class=\"rows-per-page\">\n <div>{{ perPageLabel }}</div>\n <div>\n <impdc-form-field>\n <impdc-select\n [(ngModel)]=\"perPage\"\n (selectionChange)=\"handlePerPageChange()\">\n <impdc-select-option [value]=\"10\" label=\"10\"></impdc-select-option>\n <impdc-select-option [value]=\"25\" label=\"25\"></impdc-select-option>\n <impdc-select-option [value]=\"50\" label=\"50\"></impdc-select-option>\n <impdc-select-option\n [value]=\"100\"\n label=\"100\"></impdc-select-option>\n <impdc-select-option\n [value]=\"200\"\n label=\"200\"></impdc-select-option>\n </impdc-select>\n </impdc-form-field>\n </div>\n </div>\n <div class=\"pagination-rhs\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-5);gap:1rem;color:var(--impd-color-gray-700, #374151)}.pagination-container .mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}.pagination-container .mobile-pagination button[impdcButton]{width:50%;justify-content:left}.pagination-container .desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}.pagination-container .desktop-pagination .rows-per-page{display:flex;flex-direction:row;align-items:center;gap:1rem;flex-grow:1;font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs{display:flex;flex-direction:row;gap:2.4rem;flex-wrap:wrap;align-items:center}.pagination-container .desktop-pagination .pagination-rhs .summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .last{margin-left:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.pagination-container .desktop-pagination .pagination-rhs .page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.pagination-container .desktop-pagination .pagination-rhs .pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"] }]
5186
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { page: [{
5272
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { page: [{
5187
5273
  type: Input
5188
5274
  }], perPage: [{
5189
5275
  type: Input
@@ -5203,10 +5289,10 @@ class ToggleInputComponent {
5203
5289
  constructor() {
5204
5290
  this.classFormCheck = true;
5205
5291
  }
5292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5293
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ToggleInputComponent, selector: "input[impdc-toggle-input]", host: { properties: { "class.form-check-input": "this.classFormCheck" } }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
5206
5294
  }
5207
- ToggleInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5208
- ToggleInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ToggleInputComponent, selector: "input[impdc-toggle-input]", host: { properties: { "class.form-check-input": "this.classFormCheck" } }, ngImport: i0, template: '', isInline: true, styles: [""] });
5209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleInputComponent, decorators: [{
5295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleInputComponent, decorators: [{
5210
5296
  type: Component,
5211
5297
  args: [{ selector: 'input[impdc-toggle-input]', template: '' }]
5212
5298
  }], propDecorators: { classFormCheck: [{
@@ -5215,19 +5301,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5215
5301
  }] } });
5216
5302
 
5217
5303
  class ToggleComponent {
5218
- constructor(changeDetectorRef) {
5219
- this.changeDetectorRef = changeDetectorRef;
5220
- this._id = `impdc-toggle-${nanoid()}`;
5221
- this.isSwitch = false;
5222
- this.label = '';
5223
- this.description = '';
5224
- this.inline = false;
5225
- this.switchIcons = false;
5226
- // we don't want this to be brandable yet
5227
- // @Input()
5228
- this.branded = false;
5229
- this.classDefaults = 'impdc form-check';
5230
- }
5231
5304
  get classHasDescription() {
5232
5305
  return this.showDescription;
5233
5306
  }
@@ -5255,6 +5328,19 @@ class ToggleComponent {
5255
5328
  get showDescription() {
5256
5329
  return !this.inline && !!this.label && !!this.description;
5257
5330
  }
5331
+ constructor(changeDetectorRef) {
5332
+ this.changeDetectorRef = changeDetectorRef;
5333
+ this._id = `impdc-toggle-${nanoid()}`;
5334
+ this.isSwitch = false;
5335
+ this.label = '';
5336
+ this.description = '';
5337
+ this.inline = false;
5338
+ this.switchIcons = false;
5339
+ // we don't want this to be brandable yet
5340
+ // @Input()
5341
+ this.branded = false;
5342
+ this.classDefaults = 'impdc form-check';
5343
+ }
5258
5344
  ngAfterViewChecked() {
5259
5345
  if (this.inputRef) {
5260
5346
  if (!this.inputRef.nativeElement.id) {
@@ -5266,13 +5352,13 @@ class ToggleComponent {
5266
5352
  }
5267
5353
  this.changeDetectorRef.detectChanges();
5268
5354
  }
5355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5356
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ToggleComponent, selector: "impdc-toggle", inputs: { isSwitch: "isSwitch", label: "label", description: "description", inline: "inline", switchIcons: "switchIcons" }, host: { properties: { "class": "this.classDefaults", "class.impdc-toggle-has-description": "this.classHasDescription", "class.form-switch": "this.classFormSwitch", "class.form-check-inline": "this.classFormCheckInline", "class.form-switch-icons": "this.classFormSwitchIcons", "class.branded": "this.classBranded" } }, queries: [{ propertyName: "inputRef", first: true, predicate: ToggleInputComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"impdc-toggle-input\">\n <ng-content select=\"[impdc-toggle-input]\"></ng-content>\n</div>\n<div *ngIf=\"label\" class=\"impdc-toggle-info\">\n <label\n *ngIf=\"label\"\n class=\"form-check-label impdc-toggle-label\"\n [attr.for]=\"id\"\n >{{ label }}</label\n >\n <label\n *ngIf=\"showDescription\"\n class=\"impdc-toggle-description\"\n [attr.for]=\"id\"\n >{{ description }}</label\n >\n</div>\n", styles: [":host(.impdc.form-check) .impdc-toggle-input{display:flex}:host(.impdc.form-check) .impdc-toggle-info{display:flex;flex-direction:column}:host(.impdc.form-check) .impdc-toggle-label,:host(.impdc.form-check) .impdc-toggle-description{font-size:var(--impd-font-size-sm, 1.4rem);line-height:var(--impd-size-5, 2rem)}:host(.impdc.form-check) .impdc-toggle-description{color:var(--impd-color-gray-500, #6b7280)}:host(.impdc.form-check).impdc-toggle-has-description .impdc-toggle-input{margin-top:.2rem;align-self:flex-start}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
5269
5357
  }
5270
- ToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5271
- ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ToggleComponent, selector: "impdc-toggle", inputs: { isSwitch: "isSwitch", label: "label", description: "description", inline: "inline", switchIcons: "switchIcons" }, host: { properties: { "class": "this.classDefaults", "class.impdc-toggle-has-description": "this.classHasDescription", "class.form-switch": "this.classFormSwitch", "class.form-check-inline": "this.classFormCheckInline", "class.form-switch-icons": "this.classFormSwitchIcons", "class.branded": "this.classBranded" } }, queries: [{ propertyName: "inputRef", first: true, predicate: ToggleInputComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"impdc-toggle-input\">\n <ng-content select=\"[impdc-toggle-input]\"></ng-content>\n</div>\n<div *ngIf=\"label\" class=\"impdc-toggle-info\">\n <label\n *ngIf=\"label\"\n class=\"form-check-label impdc-toggle-label\"\n [attr.for]=\"id\"\n >{{ label }}</label\n >\n <label\n *ngIf=\"showDescription\"\n class=\"impdc-toggle-description\"\n [attr.for]=\"id\"\n >{{ description }}</label\n >\n</div>\n", styles: [":host(.impdc.form-check) .impdc-toggle-input{display:flex}:host(.impdc.form-check) .impdc-toggle-info{display:flex;flex-direction:column}:host(.impdc.form-check) .impdc-toggle-label,:host(.impdc.form-check) .impdc-toggle-description{font-size:var(--impd-font-size-sm, 1.4rem);line-height:var(--impd-size-5, 2rem)}:host(.impdc.form-check) .impdc-toggle-description{color:var(--impd-color-gray-500, #6b7280)}:host(.impdc.form-check).impdc-toggle-has-description .impdc-toggle-input{margin-top:.2rem;align-self:flex-start}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
5272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleComponent, decorators: [{
5358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleComponent, decorators: [{
5273
5359
  type: Component,
5274
5360
  args: [{ selector: 'impdc-toggle', template: "<div class=\"impdc-toggle-input\">\n <ng-content select=\"[impdc-toggle-input]\"></ng-content>\n</div>\n<div *ngIf=\"label\" class=\"impdc-toggle-info\">\n <label\n *ngIf=\"label\"\n class=\"form-check-label impdc-toggle-label\"\n [attr.for]=\"id\"\n >{{ label }}</label\n >\n <label\n *ngIf=\"showDescription\"\n class=\"impdc-toggle-description\"\n [attr.for]=\"id\"\n >{{ description }}</label\n >\n</div>\n", styles: [":host(.impdc.form-check) .impdc-toggle-input{display:flex}:host(.impdc.form-check) .impdc-toggle-info{display:flex;flex-direction:column}:host(.impdc.form-check) .impdc-toggle-label,:host(.impdc.form-check) .impdc-toggle-description{font-size:var(--impd-font-size-sm, 1.4rem);line-height:var(--impd-size-5, 2rem)}:host(.impdc.form-check) .impdc-toggle-description{color:var(--impd-color-gray-500, #6b7280)}:host(.impdc.form-check).impdc-toggle-has-description .impdc-toggle-input{margin-top:.2rem;align-self:flex-start}\n"] }]
5275
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { isSwitch: [{
5361
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { isSwitch: [{
5276
5362
  type: Input
5277
5363
  }], label: [{
5278
5364
  type: Input
@@ -5332,6 +5418,44 @@ const _CheckboxComponentMixinBase = mixinTabIndex(mixinErrorState(CheckboxCompon
5332
5418
  * To use, import `CheckboxModule` or another module that imports and exports that module from `@impartner/design-components`.
5333
5419
  */
5334
5420
  class CheckboxComponent extends _CheckboxComponentMixinBase {
5421
+ /**
5422
+ * Whether or not the checkbox input is checked.
5423
+ */
5424
+ get checked() {
5425
+ return this.value;
5426
+ }
5427
+ set checked(value) {
5428
+ this.value = value;
5429
+ this._cvaOnChange(this.value);
5430
+ }
5431
+ /**
5432
+ * Whether or not the checkbox input is in an `indeterminate` state.
5433
+ */
5434
+ get indeterminate() {
5435
+ return this._indeterminate;
5436
+ }
5437
+ set indeterminate(value) {
5438
+ const coercedValue = coerceBooleanPropertyValue(value);
5439
+ const isChange = coercedValue !== this._indeterminate;
5440
+ this._indeterminate = coercedValue;
5441
+ if (isChange) {
5442
+ this.indeterminateChange.emit(this._indeterminate);
5443
+ }
5444
+ }
5445
+ get disabled() {
5446
+ return this._disabled;
5447
+ }
5448
+ set disabled(value) {
5449
+ const newDisabledState = coerceBooleanPropertyValue(value);
5450
+ if (newDisabledState !== this._disabled) {
5451
+ this._disabled = newDisabledState;
5452
+ this._changeDetector.markForCheck();
5453
+ this.stateChanges.next();
5454
+ }
5455
+ }
5456
+ get inputId() {
5457
+ return `${this.id || this._uid}-input`;
5458
+ }
5335
5459
  constructor(_changeDetector, tabIndex, defaultErrorStateMatcher, formRoot, parentForm, parentFormGroup, ngControl) {
5336
5460
  super(defaultErrorStateMatcher, formRoot, parentForm, parentFormGroup, ngControl);
5337
5461
  this._changeDetector = _changeDetector;
@@ -5381,44 +5505,6 @@ class CheckboxComponent extends _CheckboxComponentMixinBase {
5381
5505
  });
5382
5506
  }
5383
5507
  }
5384
- /**
5385
- * Whether or not the checkbox input is checked.
5386
- */
5387
- get checked() {
5388
- return this.value;
5389
- }
5390
- set checked(value) {
5391
- this.value = value;
5392
- this._cvaOnChange(this.value);
5393
- }
5394
- /**
5395
- * Whether or not the checkbox input is in an `indeterminate` state.
5396
- */
5397
- get indeterminate() {
5398
- return this._indeterminate;
5399
- }
5400
- set indeterminate(value) {
5401
- const coercedValue = coerceBooleanPropertyValue(value);
5402
- const isChange = coercedValue !== this._indeterminate;
5403
- this._indeterminate = coercedValue;
5404
- if (isChange) {
5405
- this.indeterminateChange.emit(this._indeterminate);
5406
- }
5407
- }
5408
- get disabled() {
5409
- return this._disabled;
5410
- }
5411
- set disabled(value) {
5412
- const newDisabledState = coerceBooleanPropertyValue(value);
5413
- if (newDisabledState !== this._disabled) {
5414
- this._disabled = newDisabledState;
5415
- this._changeDetector.markForCheck();
5416
- this.stateChanges.next();
5417
- }
5418
- }
5419
- get inputId() {
5420
- return `${this.id || this._uid}-input`;
5421
- }
5422
5508
  /** @ignore */
5423
5509
  ngDoCheck() {
5424
5510
  const ngControl = this.ngControl;
@@ -5559,15 +5645,15 @@ class CheckboxComponent extends _CheckboxComponentMixinBase {
5559
5645
  event.stopPropagation();
5560
5646
  }
5561
5647
  }
5648
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
5649
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: CheckboxComponent, selector: "impdc-checkbox", inputs: { tabIndex: "tabIndex", id: "id", label: "label", description: "description", isSwitch: "isSwitch", switchIcons: "switchIcons", inline: "inline", checked: "checked", indeterminate: "indeterminate", disabled: "disabled", errorStateMatcher: "errorStateMatcher", required: "required" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "attr.id": "id", "attr.tabindex": "null", "class.impdc-checkbox--required": "required", "class.impdc-checkbox--disabled": "disabled", "class.impdc-checkbox--invalid": "errorState", "class.impdc-checkbox--inline": "inline" }, classAttribute: "impdc-checkbox" }, providers: [
5650
+ {
5651
+ provide: ImpdcFormFieldControl,
5652
+ useExisting: CheckboxComponent
5653
+ }
5654
+ ], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["nativeInput"], descendants: true, read: ElementRef }], exportAs: ["impdcCheckControl"], usesInheritance: true, ngImport: i0, template: "<impdc-toggle\n [label]=\"label\"\n [description]=\"description\"\n [isSwitch]=\"isSwitch\"\n [switchIcons]=\"switchIcons\"\n [inline]=\"inline\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <input\n #nativeInput\n impdc-toggle-input\n type=\"checkbox\"\n class=\"impdc-checkbox__native-control\"\n [class.is-invalid]=\"errorState\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"tabIndex\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [indeterminate]=\"indeterminate\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_handleCheckClick()\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\" />\n</impdc-toggle>\n", styles: [":host{display:block;opacity:var(--impartner-hex-input-opacity, 1)}:host.impdc-checkbox--inline{display:inline-block}:host.impdc-checkbox--inline:not(:last-of-type){margin-right:4rem}:host:not(.impdc-checkbox--inline):not(:last-of-type){margin-bottom:1.6rem}:host.impdc-checkbox--disabled{--impartner-hex-input-opacity: .5}:host.impdc-checkbox--invalid ::ng-deep .form-check-label{color:var(--impd-color-red-600)}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "impdc-toggle", inputs: ["isSwitch", "label", "description", "inline", "switchIcons"] }, { kind: "component", type: ToggleInputComponent, selector: "input[impdc-toggle-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5562
5655
  }
5563
- CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
5564
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CheckboxComponent, selector: "impdc-checkbox", inputs: { tabIndex: "tabIndex", id: "id", label: "label", description: "description", isSwitch: "isSwitch", switchIcons: "switchIcons", inline: "inline", checked: "checked", indeterminate: "indeterminate", disabled: "disabled", errorStateMatcher: "errorStateMatcher", required: "required" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "attr.id": "id", "attr.tabindex": "null", "class.impdc-checkbox--required": "required", "class.impdc-checkbox--disabled": "disabled", "class.impdc-checkbox--invalid": "errorState", "class.impdc-checkbox--inline": "inline" }, classAttribute: "impdc-checkbox" }, providers: [
5565
- {
5566
- provide: ImpdcFormFieldControl,
5567
- useExisting: CheckboxComponent
5568
- }
5569
- ], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["nativeInput"], descendants: true, read: ElementRef }], exportAs: ["impdcCheckControl"], usesInheritance: true, ngImport: i0, template: "<impdc-toggle\n [label]=\"label\"\n [description]=\"description\"\n [isSwitch]=\"isSwitch\"\n [switchIcons]=\"switchIcons\"\n [inline]=\"inline\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <input\n #nativeInput\n impdc-toggle-input\n type=\"checkbox\"\n class=\"impdc-checkbox__native-control\"\n [class.is-invalid]=\"errorState\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"tabIndex\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [indeterminate]=\"indeterminate\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_handleCheckClick()\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\" />\n</impdc-toggle>\n", styles: [":host{display:block;opacity:var(--impartner-hex-input-opacity, 1)}:host.impdc-checkbox--inline{display:inline-block}:host.impdc-checkbox--inline:not(:last-of-type){margin-right:4rem}:host:not(.impdc-checkbox--inline):not(:last-of-type){margin-bottom:1.6rem}:host.impdc-checkbox--disabled{--impartner-hex-input-opacity: .5}:host.impdc-checkbox--invalid ::ng-deep .form-check-label{color:var(--impd-color-red-600)}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "impdc-toggle", inputs: ["isSwitch", "label", "description", "inline", "switchIcons"] }, { kind: "component", type: ToggleInputComponent, selector: "input[impdc-toggle-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
5656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
5571
5657
  type: Component,
5572
5658
  args: [{ selector: 'impdc-checkbox', host: {
5573
5659
  class: 'impdc-checkbox',
@@ -5583,7 +5669,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5583
5669
  useExisting: CheckboxComponent
5584
5670
  }
5585
5671
  ], template: "<impdc-toggle\n [label]=\"label\"\n [description]=\"description\"\n [isSwitch]=\"isSwitch\"\n [switchIcons]=\"switchIcons\"\n [inline]=\"inline\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <input\n #nativeInput\n impdc-toggle-input\n type=\"checkbox\"\n class=\"impdc-checkbox__native-control\"\n [class.is-invalid]=\"errorState\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"tabIndex\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [indeterminate]=\"indeterminate\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_handleCheckClick()\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\" />\n</impdc-toggle>\n", styles: [":host{display:block;opacity:var(--impartner-hex-input-opacity, 1)}:host.impdc-checkbox--inline{display:inline-block}:host.impdc-checkbox--inline:not(:last-of-type){margin-right:4rem}:host:not(.impdc-checkbox--inline):not(:last-of-type){margin-bottom:1.6rem}:host.impdc-checkbox--disabled{--impartner-hex-input-opacity: .5}:host.impdc-checkbox--invalid ::ng-deep .form-check-label{color:var(--impd-color-red-600)}\n"] }]
5586
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
5672
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
5587
5673
  type: Attribute,
5588
5674
  args: ['tabindex']
5589
5675
  }] }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
@@ -5599,7 +5685,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5599
5685
  type: Self
5600
5686
  }, {
5601
5687
  type: Optional
5602
- }] }]; }, propDecorators: { _inputElement: [{
5688
+ }] }], propDecorators: { _inputElement: [{
5603
5689
  type: ViewChild,
5604
5690
  args: ['nativeInput', { read: ElementRef }]
5605
5691
  }], id: [{
@@ -5632,25 +5718,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5632
5718
 
5633
5719
  class ToggleModule {
5634
5720
  constructor() { }
5721
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5722
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ToggleModule, declarations: [ToggleComponent, ToggleInputComponent], imports: [CommonModule], exports: [ToggleComponent, ToggleInputComponent] }); }
5723
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleModule, imports: [CommonModule] }); }
5635
5724
  }
5636
- ToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5637
- ToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ToggleModule, declarations: [ToggleComponent, ToggleInputComponent], imports: [CommonModule], exports: [ToggleComponent, ToggleInputComponent] });
5638
- ToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleModule, imports: [CommonModule] });
5639
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToggleModule, decorators: [{
5725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ToggleModule, decorators: [{
5640
5726
  type: NgModule,
5641
5727
  args: [{
5642
5728
  imports: [CommonModule],
5643
5729
  declarations: [ToggleComponent, ToggleInputComponent],
5644
5730
  exports: [ToggleComponent, ToggleInputComponent]
5645
5731
  }]
5646
- }], ctorParameters: function () { return []; } });
5732
+ }], ctorParameters: () => [] });
5647
5733
 
5648
5734
  class CheckboxModule {
5735
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5736
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: CheckboxModule, declarations: [CheckboxComponent], imports: [CommonModule, ToggleModule], exports: [CheckboxComponent] }); }
5737
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CheckboxModule, imports: [CommonModule, ToggleModule] }); }
5649
5738
  }
5650
- CheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5651
- CheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: CheckboxModule, declarations: [CheckboxComponent], imports: [CommonModule, ToggleModule], exports: [CheckboxComponent] });
5652
- CheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxModule, imports: [CommonModule, ToggleModule] });
5653
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CheckboxModule, decorators: [{
5739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CheckboxModule, decorators: [{
5654
5740
  type: NgModule,
5655
5741
  args: [{
5656
5742
  declarations: [CheckboxComponent],
@@ -5678,35 +5764,6 @@ class RadioButtonComponentBase {
5678
5764
  }
5679
5765
  const _RadioButtonComponentMixinBase = mixinTabIndex(RadioButtonComponentBase);
5680
5766
  class RadioButtonComponent extends _RadioButtonComponentMixinBase {
5681
- constructor(_changeDetector, _radioDispatcher, tabIndex, _radioGroup) {
5682
- super();
5683
- this._changeDetector = _changeDetector;
5684
- this._radioDispatcher = _radioDispatcher;
5685
- this._radioGroup = _radioGroup;
5686
- this._uid = `impdc-radio-button-${nanoid()}`;
5687
- this._removeUniqueSelectionListener = () => { };
5688
- this.id = this._uid;
5689
- this._checked = false;
5690
- this._value = null;
5691
- this._disabled = false;
5692
- this._required = false;
5693
- /**
5694
- * The primary label text for the radio button.
5695
- */
5696
- this.label = '';
5697
- /**
5698
- * Text to provide additional description or context for the radio button. Does
5699
- * not display if `inline` is `true`.
5700
- */
5701
- this.description = '';
5702
- /**
5703
- * Event emitted when the radio button becomes selected/checked.
5704
- */
5705
- this.change = new EventEmitter();
5706
- if (tabIndex) {
5707
- this.tabIndex = coerceNumberPropertyValue(tabIndex, 0);
5708
- }
5709
- }
5710
5767
  /**
5711
5768
  * Whether or not the radio input is checked/selected.
5712
5769
  */
@@ -5785,6 +5842,35 @@ class RadioButtonComponent extends _RadioButtonComponentMixinBase {
5785
5842
  get _errorState() {
5786
5843
  return this._radioGroup ? this._radioGroup.errorState : false;
5787
5844
  }
5845
+ constructor(_changeDetector, _radioDispatcher, tabIndex, _radioGroup) {
5846
+ super();
5847
+ this._changeDetector = _changeDetector;
5848
+ this._radioDispatcher = _radioDispatcher;
5849
+ this._radioGroup = _radioGroup;
5850
+ this._uid = `impdc-radio-button-${nanoid()}`;
5851
+ this._removeUniqueSelectionListener = () => { };
5852
+ this.id = this._uid;
5853
+ this._checked = false;
5854
+ this._value = null;
5855
+ this._disabled = false;
5856
+ this._required = false;
5857
+ /**
5858
+ * The primary label text for the radio button.
5859
+ */
5860
+ this.label = '';
5861
+ /**
5862
+ * Text to provide additional description or context for the radio button. Does
5863
+ * not display if `inline` is `true`.
5864
+ */
5865
+ this.description = '';
5866
+ /**
5867
+ * Event emitted when the radio button becomes selected/checked.
5868
+ */
5869
+ this.change = new EventEmitter();
5870
+ if (tabIndex) {
5871
+ this.tabIndex = coerceNumberPropertyValue(tabIndex, 0);
5872
+ }
5873
+ }
5788
5874
  /** @ignore */
5789
5875
  ngOnInit() {
5790
5876
  if (this._radioGroup) {
@@ -5855,15 +5941,15 @@ class RadioButtonComponent extends _RadioButtonComponentMixinBase {
5855
5941
  }
5856
5942
  }
5857
5943
  }
5944
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: UniqueSelectionDispatcher }, { token: 'tabindex', attribute: true }, { token: IMPDC_RADIO_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
5945
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: RadioButtonComponent, selector: "impdc-radio-button", inputs: { tabIndex: "tabIndex", id: "id", name: "name", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], checked: "checked", value: "value", inline: "inline", disabled: "disabled", required: "required", label: "label", description: "description" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "class.impdc-radio-button--required": "required", "class.impdc-radio-button--invalid": "_errorState", "class.impdc-radio-button--disabled": "disabled", "class.impdc-radio-button--inline": "inline" }, classAttribute: "impdc-radio-button" }, providers: [
5946
+ {
5947
+ provide: IMPDC_RADIO_BUTTON,
5948
+ useExisting: RadioButtonComponent
5949
+ }
5950
+ ], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["nativeInput"], descendants: true, read: ElementRef }], exportAs: ["impdcRadioButton"], usesInheritance: true, ngImport: i0, template: "<impdc-toggle [label]=\"label\" [description]=\"description\" [inline]=\"inline\">\n <input\n #nativeInput\n impdc-toggle-input\n type=\"radio\"\n class=\"impdc-radio-button__native-control\"\n [class.is-invalid]=\"_errorState\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onInputChange($event)\"\n (blur)=\"_onBlur()\" />\n</impdc-toggle>\n", styles: [":host{display:block;opacity:var(--impartner-hex-input-opacity, 1)}:host.impdc-radio-button--inline{display:inline-block}:host.impdc-radio-button--inline:not(:last-of-type){margin-right:4rem}:host:not(.impdc-radio-button--inline):not(:last-of-type){margin-bottom:1.6rem}:host.impdc-radio-button--disabled{--impartner-hex-input-opacity: .5}:host.impdc-radio-button--invalid ::ng-deep .form-check-label{color:var(--impd-color-red-600)}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "impdc-toggle", inputs: ["isSwitch", "label", "description", "inline", "switchIcons"] }, { kind: "component", type: ToggleInputComponent, selector: "input[impdc-toggle-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5858
5951
  }
5859
- RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: UniqueSelectionDispatcher }, { token: 'tabindex', attribute: true }, { token: IMPDC_RADIO_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
5860
- RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: RadioButtonComponent, selector: "impdc-radio-button", inputs: { tabIndex: "tabIndex", id: "id", name: "name", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], checked: "checked", value: "value", inline: "inline", disabled: "disabled", required: "required", label: "label", description: "description" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "class.impdc-radio-button--required": "required", "class.impdc-radio-button--invalid": "_errorState", "class.impdc-radio-button--disabled": "disabled", "class.impdc-radio-button--inline": "inline" }, classAttribute: "impdc-radio-button" }, providers: [
5861
- {
5862
- provide: IMPDC_RADIO_BUTTON,
5863
- useExisting: RadioButtonComponent
5864
- }
5865
- ], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["nativeInput"], descendants: true, read: ElementRef }], exportAs: ["impdcRadioButton"], usesInheritance: true, ngImport: i0, template: "<impdc-toggle [label]=\"label\" [description]=\"description\" [inline]=\"inline\">\n <input\n #nativeInput\n impdc-toggle-input\n type=\"radio\"\n class=\"impdc-radio-button__native-control\"\n [class.is-invalid]=\"_errorState\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onInputChange($event)\"\n (blur)=\"_onBlur()\" />\n</impdc-toggle>\n", styles: [":host{display:block;opacity:var(--impartner-hex-input-opacity, 1)}:host.impdc-radio-button--inline{display:inline-block}:host.impdc-radio-button--inline:not(:last-of-type){margin-right:4rem}:host:not(.impdc-radio-button--inline):not(:last-of-type){margin-bottom:1.6rem}:host.impdc-radio-button--disabled{--impartner-hex-input-opacity: .5}:host.impdc-radio-button--invalid ::ng-deep .form-check-label{color:var(--impd-color-red-600)}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "impdc-toggle", inputs: ["isSwitch", "label", "description", "inline", "switchIcons"] }, { kind: "component", type: ToggleInputComponent, selector: "input[impdc-toggle-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5866
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioButtonComponent, decorators: [{
5952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioButtonComponent, decorators: [{
5867
5953
  type: Component,
5868
5954
  args: [{ selector: 'impdc-radio-button', host: {
5869
5955
  class: 'impdc-radio-button',
@@ -5882,7 +5968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5882
5968
  useExisting: RadioButtonComponent
5883
5969
  }
5884
5970
  ], template: "<impdc-toggle [label]=\"label\" [description]=\"description\" [inline]=\"inline\">\n <input\n #nativeInput\n impdc-toggle-input\n type=\"radio\"\n class=\"impdc-radio-button__native-control\"\n [class.is-invalid]=\"_errorState\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onInputChange($event)\"\n (blur)=\"_onBlur()\" />\n</impdc-toggle>\n", styles: [":host{display:block;opacity:var(--impartner-hex-input-opacity, 1)}:host.impdc-radio-button--inline{display:inline-block}:host.impdc-radio-button--inline:not(:last-of-type){margin-right:4rem}:host:not(.impdc-radio-button--inline):not(:last-of-type){margin-bottom:1.6rem}:host.impdc-radio-button--disabled{--impartner-hex-input-opacity: .5}:host.impdc-radio-button--invalid ::ng-deep .form-check-label{color:var(--impd-color-red-600)}\n"] }]
5885
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: UniqueSelectionDispatcher }, { type: undefined, decorators: [{
5971
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: UniqueSelectionDispatcher }, { type: undefined, decorators: [{
5886
5972
  type: Attribute,
5887
5973
  args: ['tabindex']
5888
5974
  }] }, { type: undefined, decorators: [{
@@ -5890,7 +5976,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5890
5976
  args: [IMPDC_RADIO_GROUP]
5891
5977
  }, {
5892
5978
  type: Optional
5893
- }] }]; }, propDecorators: { _inputElement: [{
5979
+ }] }], propDecorators: { _inputElement: [{
5894
5980
  type: ViewChild,
5895
5981
  args: ['nativeInput', { read: ElementRef }]
5896
5982
  }], id: [{
@@ -5940,28 +6026,6 @@ const _RadioGroupDirectiveBase = mixinErrorState(class {
5940
6026
  * To use, import `RadioModule` or another module that imports and exports that module from `@impartner/design-components`.
5941
6027
  */
5942
6028
  class RadioGroupDirective extends _RadioGroupDirectiveBase {
5943
- constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
5944
- super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
5945
- this._changeDetector = _changeDetector;
5946
- this._uid = `impdc-radio-group-${nanoid()}`;
5947
- this._initialized = false;
5948
- this._cvaOnChange = () => { };
5949
- this._cvaOnTouched = () => { };
5950
- this._name = this._uid;
5951
- this._inline = false;
5952
- this._selected = null;
5953
- /**
5954
- * Event emitted whenever a new radio option is selected.
5955
- */
5956
- this.change = new EventEmitter();
5957
- this._focused = false;
5958
- this._disabled = false;
5959
- this.controlType = 'impdc-radio-group';
5960
- this.supportsAffixes = false;
5961
- if (this.ngControl) {
5962
- this.ngControl.valueAccessor = this;
5963
- }
5964
- }
5965
6029
  /**
5966
6030
  * The unique name for the group of radio options; Autogenerated by default.
5967
6031
  */
@@ -5993,6 +6057,28 @@ class RadioGroupDirective extends _RadioGroupDirectiveBase {
5993
6057
  this.value = selected ? selected.value : null;
5994
6058
  this._checkSelectedRadioOption();
5995
6059
  }
6060
+ constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
6061
+ super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
6062
+ this._changeDetector = _changeDetector;
6063
+ this._uid = `impdc-radio-group-${nanoid()}`;
6064
+ this._initialized = false;
6065
+ this._cvaOnChange = () => { };
6066
+ this._cvaOnTouched = () => { };
6067
+ this._name = this._uid;
6068
+ this._inline = false;
6069
+ this._selected = null;
6070
+ /**
6071
+ * Event emitted whenever a new radio option is selected.
6072
+ */
6073
+ this.change = new EventEmitter();
6074
+ this._focused = false;
6075
+ this._disabled = false;
6076
+ this.controlType = 'impdc-radio-group';
6077
+ this.supportsAffixes = false;
6078
+ if (this.ngControl) {
6079
+ this.ngControl.valueAccessor = this;
6080
+ }
6081
+ }
5996
6082
  /** @ignore */
5997
6083
  ngAfterContentInit() {
5998
6084
  this._initialized = true;
@@ -6128,19 +6214,19 @@ class RadioGroupDirective extends _RadioGroupDirectiveBase {
6128
6214
  });
6129
6215
  }
6130
6216
  }
6217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6218
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: RadioGroupDirective, selector: "impdc-radio-group", inputs: { name: "name", inline: "inline", selected: "selected", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", disabled: "disabled", required: "required" }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, properties: { "class.impdc-radio-group--required": "required", "class.impdc-radio-group--disabled": "disabled", "class.impdc-radio-group--invalid": "errorState", "class.impdc-radio-group--inline": "inline" }, classAttribute: "impdc-radio-group" }, providers: [
6219
+ {
6220
+ provide: ImpdcFormFieldControl,
6221
+ useExisting: RadioGroupDirective
6222
+ },
6223
+ {
6224
+ provide: IMPDC_RADIO_GROUP,
6225
+ useExisting: RadioGroupDirective
6226
+ }
6227
+ ], queries: [{ propertyName: "_radioOptions", predicate: IMPDC_RADIO_BUTTON, descendants: true }], exportAs: ["impdcRadioGroup"], usesInheritance: true, ngImport: i0 }); }
6131
6228
  }
6132
- RadioGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
6133
- RadioGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RadioGroupDirective, selector: "impdc-radio-group", inputs: { name: "name", inline: "inline", selected: "selected", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", disabled: "disabled", required: "required" }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, properties: { "class.impdc-radio-group--required": "required", "class.impdc-radio-group--disabled": "disabled", "class.impdc-radio-group--invalid": "errorState", "class.impdc-radio-group--inline": "inline" }, classAttribute: "impdc-radio-group" }, providers: [
6134
- {
6135
- provide: ImpdcFormFieldControl,
6136
- useExisting: RadioGroupDirective
6137
- },
6138
- {
6139
- provide: IMPDC_RADIO_GROUP,
6140
- useExisting: RadioGroupDirective
6141
- }
6142
- ], queries: [{ propertyName: "_radioOptions", predicate: IMPDC_RADIO_BUTTON, descendants: true }], exportAs: ["impdcRadioGroup"], usesInheritance: true, ngImport: i0 });
6143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioGroupDirective, decorators: [{
6229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioGroupDirective, decorators: [{
6144
6230
  type: Directive,
6145
6231
  args: [{
6146
6232
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -6166,7 +6252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6166
6252
  '[class.impdc-radio-group--inline]': 'inline'
6167
6253
  }
6168
6254
  }]
6169
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
6255
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
6170
6256
  type: Optional
6171
6257
  }, {
6172
6258
  type: Inject,
@@ -6179,7 +6265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6179
6265
  type: Self
6180
6266
  }, {
6181
6267
  type: Optional
6182
- }] }]; }, propDecorators: { _radioOptions: [{
6268
+ }] }], propDecorators: { _radioOptions: [{
6183
6269
  type: ContentChildren,
6184
6270
  args: [IMPDC_RADIO_BUTTON, { descendants: true }]
6185
6271
  }], name: [{
@@ -6203,11 +6289,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6203
6289
  }] } });
6204
6290
 
6205
6291
  class RadioModule {
6292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6293
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: RadioModule, declarations: [RadioButtonComponent, RadioGroupDirective], imports: [ReactiveFormsModule, ToggleModule], exports: [RadioButtonComponent, RadioGroupDirective] }); }
6294
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioModule, imports: [ReactiveFormsModule, ToggleModule] }); }
6206
6295
  }
6207
- RadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6208
- RadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, declarations: [RadioButtonComponent, RadioGroupDirective], imports: [ReactiveFormsModule, ToggleModule], exports: [RadioButtonComponent, RadioGroupDirective] });
6209
- RadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, imports: [ReactiveFormsModule, ToggleModule] });
6210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, decorators: [{
6296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RadioModule, decorators: [{
6211
6297
  type: NgModule,
6212
6298
  args: [{
6213
6299
  declarations: [RadioButtonComponent, RadioGroupDirective],
@@ -6217,15 +6303,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6217
6303
  }] });
6218
6304
 
6219
6305
  class SelectModule {
6306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6307
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: SelectModule, declarations: [SelectOptionComponent, SelectComponent], imports: [CommonModule, NgbDropdownModule, IconModule], exports: [NgbDropdownModule,
6308
+ IconModule,
6309
+ SelectOptionComponent,
6310
+ SelectComponent] }); }
6311
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectModule, imports: [CommonModule, NgbDropdownModule, IconModule, NgbDropdownModule,
6312
+ IconModule] }); }
6220
6313
  }
6221
- SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6222
- SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, declarations: [SelectOptionComponent, SelectComponent], imports: [CommonModule, NgbDropdownModule, IconModule], exports: [NgbDropdownModule,
6223
- IconModule,
6224
- SelectOptionComponent,
6225
- SelectComponent] });
6226
- SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, imports: [CommonModule, NgbDropdownModule, IconModule, NgbDropdownModule,
6227
- IconModule] });
6228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, decorators: [{
6314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectModule, decorators: [{
6229
6315
  type: NgModule,
6230
6316
  args: [{
6231
6317
  imports: [CommonModule, NgbDropdownModule, IconModule],
@@ -6240,34 +6326,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6240
6326
  }] });
6241
6327
 
6242
6328
  class ImpdcFormsModule {
6329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ImpdcFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6330
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ImpdcFormsModule, declarations: [FormFieldComponent,
6331
+ InputDirective,
6332
+ CornerHintDirective,
6333
+ ErrorDirective,
6334
+ HintDirective,
6335
+ LabelDirective,
6336
+ PrefixDirective,
6337
+ RootFormGroupDirective,
6338
+ RootNgFormDirective,
6339
+ SuffixDirective], imports: [CommonModule, CheckboxModule, RadioModule, SelectModule], exports: [CheckboxModule,
6340
+ RadioModule,
6341
+ SelectModule,
6342
+ FormFieldComponent,
6343
+ InputDirective,
6344
+ CornerHintDirective,
6345
+ ErrorDirective,
6346
+ HintDirective,
6347
+ LabelDirective,
6348
+ PrefixDirective,
6349
+ RootFormGroupDirective,
6350
+ RootNgFormDirective,
6351
+ SuffixDirective] }); }
6352
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ImpdcFormsModule, imports: [CommonModule, CheckboxModule, RadioModule, SelectModule, CheckboxModule,
6353
+ RadioModule,
6354
+ SelectModule] }); }
6243
6355
  }
6244
- ImpdcFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ImpdcFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6245
- ImpdcFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ImpdcFormsModule, declarations: [FormFieldComponent,
6246
- InputDirective,
6247
- CornerHintDirective,
6248
- ErrorDirective,
6249
- HintDirective,
6250
- LabelDirective,
6251
- PrefixDirective,
6252
- RootFormGroupDirective,
6253
- RootNgFormDirective,
6254
- SuffixDirective], imports: [CommonModule, CheckboxModule, RadioModule, SelectModule], exports: [CheckboxModule,
6255
- RadioModule,
6256
- SelectModule,
6257
- FormFieldComponent,
6258
- InputDirective,
6259
- CornerHintDirective,
6260
- ErrorDirective,
6261
- HintDirective,
6262
- LabelDirective,
6263
- PrefixDirective,
6264
- RootFormGroupDirective,
6265
- RootNgFormDirective,
6266
- SuffixDirective] });
6267
- ImpdcFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ImpdcFormsModule, imports: [CommonModule, CheckboxModule, RadioModule, SelectModule, CheckboxModule,
6268
- RadioModule,
6269
- SelectModule] });
6270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ImpdcFormsModule, decorators: [{
6356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ImpdcFormsModule, decorators: [{
6271
6357
  type: NgModule,
6272
6358
  args: [{
6273
6359
  declarations: [
@@ -6302,11 +6388,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6302
6388
  }] });
6303
6389
 
6304
6390
  class SizeDetectionModule {
6391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SizeDetectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6392
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: SizeDetectionModule, declarations: [SizeDetectorDirective], imports: [CommonModule], exports: [SizeDetectorDirective] }); }
6393
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SizeDetectionModule, imports: [CommonModule] }); }
6305
6394
  }
6306
- SizeDetectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SizeDetectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6307
- SizeDetectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SizeDetectionModule, declarations: [SizeDetectorDirective], imports: [CommonModule], exports: [SizeDetectorDirective] });
6308
- SizeDetectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SizeDetectionModule, imports: [CommonModule] });
6309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SizeDetectionModule, decorators: [{
6395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SizeDetectionModule, decorators: [{
6310
6396
  type: NgModule,
6311
6397
  args: [{
6312
6398
  declarations: [SizeDetectorDirective],
@@ -6317,21 +6403,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6317
6403
 
6318
6404
  class PaginationModule {
6319
6405
  constructor() { }
6406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6407
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: PaginationModule, declarations: [PaginationComponent], imports: [CommonModule,
6408
+ ButtonModule,
6409
+ FormsModule,
6410
+ ImpdcFormsModule,
6411
+ IconModule,
6412
+ SizeDetectionModule], exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent] }); }
6413
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PaginationModule, imports: [CommonModule,
6414
+ ButtonModule,
6415
+ FormsModule,
6416
+ ImpdcFormsModule,
6417
+ IconModule,
6418
+ SizeDetectionModule, ButtonModule, ImpdcFormsModule, IconModule] }); }
6320
6419
  }
6321
- PaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6322
- PaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, declarations: [PaginationComponent], imports: [CommonModule,
6323
- ButtonModule,
6324
- FormsModule,
6325
- ImpdcFormsModule,
6326
- IconModule,
6327
- SizeDetectionModule], exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent] });
6328
- PaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule,
6329
- ButtonModule,
6330
- FormsModule,
6331
- ImpdcFormsModule,
6332
- IconModule,
6333
- SizeDetectionModule, ButtonModule, ImpdcFormsModule, IconModule] });
6334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, decorators: [{
6420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: PaginationModule, decorators: [{
6335
6421
  type: NgModule,
6336
6422
  args: [{
6337
6423
  imports: [
@@ -6345,7 +6431,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6345
6431
  declarations: [PaginationComponent],
6346
6432
  exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent]
6347
6433
  }]
6348
- }], ctorParameters: function () { return []; } });
6434
+ }], ctorParameters: () => [] });
6349
6435
 
6350
6436
  class ColumnHeadingComponent {
6351
6437
  constructor() {
@@ -6361,10 +6447,10 @@ class ColumnHeadingComponent {
6361
6447
  onSort() {
6362
6448
  this.sort.emit(this.columnIndex);
6363
6449
  }
6450
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ColumnHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6451
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ColumnHeadingComponent, selector: "impdc-column-heading", inputs: { isSortable: "isSortable", columnIndex: "columnIndex", sortColumnIndex: "sortColumnIndex", direction: "direction", text: "text" }, outputs: { sort: "sort" }, ngImport: i0, template: "<a *ngIf=\"isSortable; else notClickable\" class=\"impdc-table-sort\">\n <span>\n {{ text }}\n </span>\n <span\n [ngClass]=\"sortedColumn ? 'visible' : 'invisible'\"\n impdc-icon\n [name]=\"direction === 'asc' ? 'arrow-up' : 'arrow-down'\"></span>\n</a>\n<ng-template #notClickable>\n {{ text }}\n</ng-template>\n", styles: [":host .impdc-table-sort{color:var(--impd-color-gray-500);display:flex;flex-direction:row;gap:.8rem;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] }); }
6364
6452
  }
6365
- ColumnHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ColumnHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6366
- ColumnHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ColumnHeadingComponent, selector: "impdc-column-heading", inputs: { isSortable: "isSortable", columnIndex: "columnIndex", sortColumnIndex: "sortColumnIndex", direction: "direction", text: "text" }, outputs: { sort: "sort" }, ngImport: i0, template: "<a *ngIf=\"isSortable; else notClickable\" class=\"impdc-table-sort\">\n <span>\n {{ text }}\n </span>\n <span\n [ngClass]=\"sortedColumn ? 'visible' : 'invisible'\"\n impdc-icon\n [name]=\"direction === 'asc' ? 'arrow-up' : 'arrow-down'\"></span>\n</a>\n<ng-template #notClickable>\n {{ text }}\n</ng-template>\n", styles: [":host .impdc-table-sort{color:var(--impd-color-gray-500);display:flex;flex-direction:row;gap:.8rem;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
6367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ColumnHeadingComponent, decorators: [{
6453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ColumnHeadingComponent, decorators: [{
6368
6454
  type: Component,
6369
6455
  args: [{ selector: 'impdc-column-heading', template: "<a *ngIf=\"isSortable; else notClickable\" class=\"impdc-table-sort\">\n <span>\n {{ text }}\n </span>\n <span\n [ngClass]=\"sortedColumn ? 'visible' : 'invisible'\"\n impdc-icon\n [name]=\"direction === 'asc' ? 'arrow-up' : 'arrow-down'\"></span>\n</a>\n<ng-template #notClickable>\n {{ text }}\n</ng-template>\n", styles: [":host .impdc-table-sort{color:var(--impd-color-gray-500);display:flex;flex-direction:row;gap:.8rem;align-items:center}\n"] }]
6370
6456
  }], propDecorators: { isSortable: [{
@@ -6382,14 +6468,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6382
6468
  }] } });
6383
6469
 
6384
6470
  class TableBulkActionsComponent {
6471
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableBulkActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6472
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: TableBulkActionsComponent, selector: "impdc-table-bulk-actions", ngImport: i0, template: "<div class=\"table-bulk-actions\">\n <div class=\"selected-total\">\n <ng-content select=\"[selectedTotal]\"></ng-content>\n </div>\n <div class=\"bulk-actions\">\n <ng-content select=\"[bulkAction]\"></ng-content>\n </div>\n</div>\n", styles: [".table-bulk-actions{display:flex;flex-direction:row;align-items:center;font-weight:400}.table-bulk-actions .selected-total{border-right:1px solid var(--impd-color-gray-200, \"#e5e7eb\");padding-right:1.6rem}.table-bulk-actions .bulk-actions{padding-left:1.6rem;display:flex;flex-direction:row;gap:1.6rem}\n"] }); }
6385
6473
  }
6386
- TableBulkActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableBulkActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6387
- TableBulkActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableBulkActionsComponent, selector: "impdc-table-bulk-actions", ngImport: i0, template: "<div class=\"table-bulk-actions\">\n <div class=\"selected-total\">\n <ng-content select=\"[selectedTotal]\"></ng-content>\n </div>\n <div class=\"bulk-actions\">\n <ng-content select=\"[bulkAction]\"></ng-content>\n </div>\n</div>\n", styles: [".table-bulk-actions{display:flex;flex-direction:row;align-items:center;font-weight:400}.table-bulk-actions .selected-total{border-right:1px solid var(--impd-color-gray-200, \"#e5e7eb\");padding-right:1.6rem}.table-bulk-actions .bulk-actions{padding-left:1.6rem;display:flex;flex-direction:row;gap:1.6rem}\n"] });
6388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableBulkActionsComponent, decorators: [{
6474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableBulkActionsComponent, decorators: [{
6389
6475
  type: Component,
6390
6476
  args: [{ selector: 'impdc-table-bulk-actions', template: "<div class=\"table-bulk-actions\">\n <div class=\"selected-total\">\n <ng-content select=\"[selectedTotal]\"></ng-content>\n </div>\n <div class=\"bulk-actions\">\n <ng-content select=\"[bulkAction]\"></ng-content>\n </div>\n</div>\n", styles: [".table-bulk-actions{display:flex;flex-direction:row;align-items:center;font-weight:400}.table-bulk-actions .selected-total{border-right:1px solid var(--impd-color-gray-200, \"#e5e7eb\");padding-right:1.6rem}.table-bulk-actions .bulk-actions{padding-left:1.6rem;display:flex;flex-direction:row;gap:1.6rem}\n"] }]
6391
6477
  }] });
6392
6478
 
6479
+ class RowActionsComponent {
6480
+ constructor(_branded) {
6481
+ this.lastColumn = false;
6482
+ this.actionClick = new EventEmitter();
6483
+ /** @ignore */
6484
+ this.branded = false;
6485
+ this.branded = _branded ? true : false;
6486
+ }
6487
+ isVisible(action) {
6488
+ if (!action.isVisible) {
6489
+ return true;
6490
+ }
6491
+ return action.isVisible(this.rowItem);
6492
+ }
6493
+ handleActionClick(apiName) {
6494
+ this.actionClick.emit(apiName);
6495
+ }
6496
+ getColor(action) {
6497
+ return TableThemeHelper.getColor(action.theme);
6498
+ }
6499
+ getButtonThemeFromComponentTheme(componentTheme) {
6500
+ switch (componentTheme) {
6501
+ case ComponentTheme.Primary:
6502
+ return 'primary';
6503
+ case ComponentTheme.Danger:
6504
+ return 'danger';
6505
+ case ComponentTheme.Secondary:
6506
+ default:
6507
+ return 'secondary';
6508
+ }
6509
+ }
6510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RowActionsComponent, deps: [{ token: BrandedDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
6511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.1", type: RowActionsComponent, selector: "impdc-row-actions", inputs: { columnDef: "columnDef", rowItem: "rowItem", lastColumn: "lastColumn" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "@if (columnDef.actions) { @if (columnDef.actions.length > 2) {\n<div [ngClass]=\"{ 'text-end': lastColumn }\">\n <div\n ngbDropdown\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n placement=\"bottom-end bottom-start top-end top-start\"\n class=\"lh-1\"\n #dropdown=\"ngbDropdown\">\n <button\n ngbDropdownToggle\n type=\"button\"\n class=\"row-actions-dropdown-toggle btn btn-link btn-sm no-caret p-0\">\n <impdc-icon name=\"ellipsis-v\" size=\"16\" theme=\"solid\"></impdc-icon>\n </button>\n <div ngbDropdownMenu>\n @for (action of columnDef.actions; track action.apiName) { @if\n (isVisible(action)) {\n <button\n type=\"button\"\n ngbDropdownItem\n (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </button>\n } }\n </div>\n </div>\n</div>\n} @else {\n<div class=\"d-flex flex-row gap-2 justify-content-end\">\n <ng-container *ngFor=\"let action of columnDef.actions\">\n @if (isVisible(action)) { @if (columnDef.actionType === 'button') {\n <button\n impdcButton\n theme=\"secondary\"\n class=\"btn-xs\"\n (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </button>\n } @else if (columnDef.actionType === 'link') {\n <a *ngIf=\"!branded\" (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </a>\n <a *ngIf=\"branded\" impdcBranded (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </a>\n } @else {\n <span\n impdc-icon\n [name]=\"action.iconName || 'edit'\"\n [ngClass]=\"getColor(action)\"\n class=\"row-actions-item\"\n (click)=\"handleActionClick(action.apiName)\">\n </span>\n } }\n </ng-container>\n</div>\n} }\n", styles: [".row-actions-item:hover{cursor:pointer}:host button.row-actions-dropdown-toggle{color:var(--impd-color-gray-400)}:host button.row-actions-dropdown-toggle:hover,:host button.row-actions-dropdown-toggle:active,:host button.row-actions-dropdown-toggle:focus,:host button.row-actions-dropdown-toggle:focus-visible,:host button.row-actions-dropdown-toggle.show{color:var(--impd-color-gray-600)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "directive", type: BrandedDirective, selector: "[impdcBranded]" }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i4.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["tabindex", "disabled"] }, { kind: "directive", type: i4.NgbDropdownButtonItem, selector: "button[ngbDropdownItem]" }] }); }
6512
+ }
6513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: RowActionsComponent, decorators: [{
6514
+ type: Component,
6515
+ args: [{ selector: 'impdc-row-actions', template: "@if (columnDef.actions) { @if (columnDef.actions.length > 2) {\n<div [ngClass]=\"{ 'text-end': lastColumn }\">\n <div\n ngbDropdown\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n placement=\"bottom-end bottom-start top-end top-start\"\n class=\"lh-1\"\n #dropdown=\"ngbDropdown\">\n <button\n ngbDropdownToggle\n type=\"button\"\n class=\"row-actions-dropdown-toggle btn btn-link btn-sm no-caret p-0\">\n <impdc-icon name=\"ellipsis-v\" size=\"16\" theme=\"solid\"></impdc-icon>\n </button>\n <div ngbDropdownMenu>\n @for (action of columnDef.actions; track action.apiName) { @if\n (isVisible(action)) {\n <button\n type=\"button\"\n ngbDropdownItem\n (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </button>\n } }\n </div>\n </div>\n</div>\n} @else {\n<div class=\"d-flex flex-row gap-2 justify-content-end\">\n <ng-container *ngFor=\"let action of columnDef.actions\">\n @if (isVisible(action)) { @if (columnDef.actionType === 'button') {\n <button\n impdcButton\n theme=\"secondary\"\n class=\"btn-xs\"\n (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </button>\n } @else if (columnDef.actionType === 'link') {\n <a *ngIf=\"!branded\" (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </a>\n <a *ngIf=\"branded\" impdcBranded (click)=\"handleActionClick(action.apiName)\">\n {{ action.text }}\n </a>\n } @else {\n <span\n impdc-icon\n [name]=\"action.iconName || 'edit'\"\n [ngClass]=\"getColor(action)\"\n class=\"row-actions-item\"\n (click)=\"handleActionClick(action.apiName)\">\n </span>\n } }\n </ng-container>\n</div>\n} }\n", styles: [".row-actions-item:hover{cursor:pointer}:host button.row-actions-dropdown-toggle{color:var(--impd-color-gray-400)}:host button.row-actions-dropdown-toggle:hover,:host button.row-actions-dropdown-toggle:active,:host button.row-actions-dropdown-toggle:focus,:host button.row-actions-dropdown-toggle:focus-visible,:host button.row-actions-dropdown-toggle.show{color:var(--impd-color-gray-600)}\n"] }]
6516
+ }], ctorParameters: () => [{ type: BrandedDirective, decorators: [{
6517
+ type: Optional
6518
+ }] }], propDecorators: { columnDef: [{
6519
+ type: Input,
6520
+ args: [{ required: true }]
6521
+ }], rowItem: [{
6522
+ type: Input,
6523
+ args: [{ required: true }]
6524
+ }], lastColumn: [{
6525
+ type: Input
6526
+ }], actionClick: [{
6527
+ type: Output
6528
+ }] } });
6529
+
6393
6530
  /**
6394
6531
  * The `SpinnerComponent` (`<impdc-spinner` or `<div impdc-spinner`) is used when data is processing and content isn't ready to be interacted with yet.
6395
6532
  * To use, import `SpinnerModule` or another module that imports and exports that module from `@impartner/design-components`.
@@ -6401,10 +6538,10 @@ class SpinnerComponent {
6401
6538
  */
6402
6539
  this.accessibilityText = 'Loading...';
6403
6540
  }
6541
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6542
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SpinnerComponent, selector: "impdc-spinner, div[impdc-spinner]", inputs: { accessibilityText: "accessibilityText" }, ngImport: i0, template: "<div class=\"spinner-border\" role=\"status\">\n <span *ngIf=\"accessibilityText\" class=\"visually-hidden\">{{\n accessibilityText\n }}</span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
6404
6543
  }
6405
- SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6406
- SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SpinnerComponent, selector: "impdc-spinner, div[impdc-spinner]", inputs: { accessibilityText: "accessibilityText" }, ngImport: i0, template: "<div class=\"spinner-border\" role=\"status\">\n <span *ngIf=\"accessibilityText\" class=\"visually-hidden\">{{\n accessibilityText\n }}</span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
6407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinnerComponent, decorators: [{
6544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SpinnerComponent, decorators: [{
6408
6545
  type: Component,
6409
6546
  args: [{ selector: 'impdc-spinner, div[impdc-spinner]', template: "<div class=\"spinner-border\" role=\"status\">\n <span *ngIf=\"accessibilityText\" class=\"visually-hidden\">{{\n accessibilityText\n }}</span>\n</div>\n" }]
6410
6547
  }], propDecorators: { accessibilityText: [{
@@ -6469,7 +6606,10 @@ class BadgeComponent {
6469
6606
  return classes;
6470
6607
  }
6471
6608
  get classBadgeRounded() {
6472
- return this.rounded;
6609
+ return this.rounded && !this.hideBg;
6610
+ }
6611
+ get classNoPadding() {
6612
+ return this.hideBg;
6473
6613
  }
6474
6614
  handleDismiss(event) {
6475
6615
  if (!this.dismissable) {
@@ -6478,10 +6618,10 @@ class BadgeComponent {
6478
6618
  this._dismissed = true;
6479
6619
  this.dismiss.emit(event);
6480
6620
  }
6621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6622
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: { text: "text", icon: "icon", theme: "theme", size: "size", hideBg: "hideBg", rounded: "rounded", dismissable: "dismissable" }, outputs: { dismiss: "dismiss" }, host: { properties: { "class": "this.classBadge", "class.rounded-pill": "this.classBadgeRounded", "class.px-0": "this.classNoPadding", "hidden": "this._dismissed" } }, ngImport: i0, template: "<span *ngIf=\"icon\" impdc-icon [name]=\"icon === 'dot' ? 'circle' : icon\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span impdc-icon name=\"times\"></span>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] }); }
6481
6623
  }
6482
- BadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6483
- BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: { text: "text", icon: "icon", theme: "theme", size: "size", hideBg: "hideBg", rounded: "rounded", dismissable: "dismissable" }, outputs: { dismiss: "dismiss" }, host: { properties: { "class": "this.classBadge", "class.rounded-pill": "this.classBadgeRounded", "hidden": "this._dismissed" } }, ngImport: i0, template: "<span *ngIf=\"icon\" impdc-icon [name]=\"icon === 'dot' ? 'circle' : icon\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span impdc-icon name=\"times\"></span>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
6484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeComponent, decorators: [{
6624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BadgeComponent, decorators: [{
6485
6625
  type: Component,
6486
6626
  args: [{ selector: 'impdc-badge, [impdc-badge]', template: "<span *ngIf=\"icon\" impdc-icon [name]=\"icon === 'dot' ? 'circle' : icon\"></span>\n{{ text }}\n<a *ngIf=\"dismissable\" (click)=\"handleDismiss($event)\">\n <span impdc-icon name=\"times\"></span>\n</a>\n" }]
6487
6627
  }], propDecorators: { text: [{
@@ -6506,6 +6646,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6506
6646
  }], classBadgeRounded: [{
6507
6647
  type: HostBinding,
6508
6648
  args: ['class.rounded-pill']
6649
+ }], classNoPadding: [{
6650
+ type: HostBinding,
6651
+ args: ['class.px-0']
6509
6652
  }], _dismissed: [{
6510
6653
  type: HostBinding,
6511
6654
  args: ['hidden']
@@ -6526,10 +6669,10 @@ class TableDirective {
6526
6669
  get classTableStriped() {
6527
6670
  return this.striped;
6528
6671
  }
6672
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6673
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: TableDirective, selector: "table[impdcTable]", inputs: { striped: "striped" }, host: { properties: { "class.table": "this.classTable", "class.table-striped": "this.classTableStriped" } }, ngImport: i0 }); }
6529
6674
  }
6530
- TableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6531
- TableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TableDirective, selector: "table[impdcTable]", inputs: { striped: "striped" }, host: { properties: { "class.table": "this.classTable", "class.table-striped": "this.classTableStriped" } }, ngImport: i0 });
6532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableDirective, decorators: [{
6675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableDirective, decorators: [{
6533
6676
  type: Directive,
6534
6677
  args: [{
6535
6678
  selector: 'table[impdcTable]'
@@ -6548,7 +6691,6 @@ class TableInjectComponentDirective {
6548
6691
  constructor(_viewContainerRef, _componentFactoryResolver) {
6549
6692
  this._viewContainerRef = _viewContainerRef;
6550
6693
  this._componentFactoryResolver = _componentFactoryResolver;
6551
- this.columnDef = { title: '' };
6552
6694
  this.value = '';
6553
6695
  this.rowItem = { id: 0 };
6554
6696
  this.customCellComponents = {};
@@ -6570,16 +6712,17 @@ class TableInjectComponentDirective {
6570
6712
  componentRef.instance.rowItem = item;
6571
6713
  componentRef.instance.params = cellRendererParams;
6572
6714
  }
6715
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableInjectComponentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
6716
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: TableInjectComponentDirective, selector: "[impdcTableInjectComponent]", inputs: { columnDef: "columnDef", value: "value", rowItem: "rowItem", customCellComponents: "customCellComponents" }, ngImport: i0 }); }
6573
6717
  }
6574
- TableInjectComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableInjectComponentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
6575
- TableInjectComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TableInjectComponentDirective, selector: "[impdcTableInjectComponent]", inputs: { columnDef: "columnDef", value: "value", rowItem: "rowItem", customCellComponents: "customCellComponents" }, ngImport: i0 });
6576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableInjectComponentDirective, decorators: [{
6718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableInjectComponentDirective, decorators: [{
6577
6719
  type: Directive,
6578
6720
  args: [{
6579
6721
  selector: '[impdcTableInjectComponent]'
6580
6722
  }]
6581
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { columnDef: [{
6582
- type: Input
6723
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }], propDecorators: { columnDef: [{
6724
+ type: Input,
6725
+ args: [{ required: true }]
6583
6726
  }], value: [{
6584
6727
  type: Input
6585
6728
  }], rowItem: [{
@@ -6593,6 +6736,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6593
6736
  * To use, import `TableModule` from `@impartner/design-components`.
6594
6737
  */
6595
6738
  class TableComponent {
6739
+ /**
6740
+ * Whether individual rows can be selected. Will be `true` if explicitly set to `true` or `canSelectAllRows` is `true`.
6741
+ */
6742
+ set canSelectRows(value) {
6743
+ this._canSelectRows = value;
6744
+ }
6745
+ get canSelectRows() {
6746
+ return this.canSelectAllRows || this._canSelectRows || !!this.bulkActions;
6747
+ }
6748
+ /**
6749
+ * Whether all rows can be selected at once. Will be `true` if explicitly set to `true` or if `TableBulkActionsComponent` is content projected.
6750
+ */
6751
+ set canSelectAllRows(value) {
6752
+ this._canSelectAllRows = value;
6753
+ }
6754
+ get canSelectAllRows() {
6755
+ return this._canSelectAllRows || !!this.bulkActions;
6756
+ }
6757
+ /**
6758
+ * An array of currently selected IDs from the `tableData` input. Array must be of type `(string | number)[]`.
6759
+ */
6760
+ set selectedRowIds(value) {
6761
+ this._selectedRowIds = [...value];
6762
+ }
6763
+ get selectedRowIds() {
6764
+ return [...this._selectedRowIds];
6765
+ }
6766
+ /** @ignore */
6767
+ get someSelected() {
6768
+ return (!!this._selectedRowIds &&
6769
+ this._selectedRowIds.length > 0 &&
6770
+ !!this.tableData &&
6771
+ this.tableData.length > 0 &&
6772
+ this._selectedRowIds.length < this.tableData.length);
6773
+ }
6774
+ /** @ignore */
6775
+ get tableSpan() {
6776
+ return this.canSelectRows
6777
+ ? this.columnDefs.length + 1
6778
+ : this.columnDefs.length;
6779
+ }
6596
6780
  constructor(_datePipe, _percentPipe, _decmialPipe, _changeDetectorRef, _branded) {
6597
6781
  this._datePipe = _datePipe;
6598
6782
  this._percentPipe = _percentPipe;
@@ -6643,6 +6827,10 @@ class TableComponent {
6643
6827
  * Event emitted when a row link is clicked. Emits `ITableEventPayload` payload.
6644
6828
  */
6645
6829
  this.linkClick = new EventEmitter();
6830
+ /**
6831
+ * Event emitted when a row action is clicked. Emits an `ITableRowActionPayload` payload.
6832
+ */
6833
+ this.rowActionClick = new EventEmitter();
6646
6834
  /** @ignore */
6647
6835
  this.paginationComponent = undefined;
6648
6836
  /** @ignore */
@@ -6667,47 +6855,6 @@ class TableComponent {
6667
6855
  .pipe(debounceTime(DEBOUNCE_TIME))
6668
6856
  .subscribe(this.inputChange);
6669
6857
  }
6670
- /**
6671
- * Whether individual rows can be selected. Will be `true` if explicitly set to `true` or `canSelectAllRows` is `true`.
6672
- */
6673
- set canSelectRows(value) {
6674
- this._canSelectRows = value;
6675
- }
6676
- get canSelectRows() {
6677
- return this.canSelectAllRows || this._canSelectRows || !!this.bulkActions;
6678
- }
6679
- /**
6680
- * Whether all rows can be selected at once. Will be `true` if explicitly set to `true` or if `TableBulkActionsComponent` is content projected.
6681
- */
6682
- set canSelectAllRows(value) {
6683
- this._canSelectAllRows = value;
6684
- }
6685
- get canSelectAllRows() {
6686
- return this._canSelectAllRows || !!this.bulkActions;
6687
- }
6688
- /**
6689
- * An array of currently selected IDs from the `tableData` input. Array must be of type `(string | number)[]`.
6690
- */
6691
- set selectedRowIds(value) {
6692
- this._selectedRowIds = [...value];
6693
- }
6694
- get selectedRowIds() {
6695
- return [...this._selectedRowIds];
6696
- }
6697
- /** @ignore */
6698
- get someSelected() {
6699
- return (!!this._selectedRowIds &&
6700
- this._selectedRowIds.length > 0 &&
6701
- !!this.tableData &&
6702
- this.tableData.length > 0 &&
6703
- this._selectedRowIds.length < this.tableData.length);
6704
- }
6705
- /** @ignore */
6706
- get tableSpan() {
6707
- return this.canSelectRows
6708
- ? this.columnDefs.length + 1
6709
- : this.columnDefs.length;
6710
- }
6711
6858
  ngOnChanges(changes) {
6712
6859
  if (changes['selectedRowIds'] || changes['tableData']) {
6713
6860
  if (!this.tableData ||
@@ -6887,6 +7034,16 @@ class TableComponent {
6887
7034
  columnIndex
6888
7035
  });
6889
7036
  }
7037
+ handleActionClick(columnIndex, item, actionApiName) {
7038
+ this.rowActionClick.emit({
7039
+ item,
7040
+ columnIndex,
7041
+ actionApiName
7042
+ });
7043
+ }
7044
+ columnDefIsActions(columnDef) {
7045
+ return columnDef.columnType === TableColumnType.Actions;
7046
+ }
6890
7047
  _getColumnDefByIndex(columnIndex) {
6891
7048
  return this.columnDefs[columnIndex];
6892
7049
  }
@@ -6902,17 +7059,17 @@ class TableComponent {
6902
7059
  return '';
6903
7060
  }
6904
7061
  }
7062
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableComponent, deps: [{ token: i1.DatePipe }, { token: i1.PercentPipe }, { token: i1.DecimalPipe }, { token: i0.ChangeDetectorRef }, { token: BrandedDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
7063
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.1", type: TableComponent, selector: "impdc-table", inputs: { loading: "loading", columnDefs: "columnDefs", striped: "striped", canSelectRows: "canSelectRows", canSelectAllRows: "canSelectAllRows", selectPlaceholder: "selectPlaceholder", sortColumnIndex: "sortColumnIndex", sortDirection: "sortDirection", tableData: "tableData", selectedRowIds: "selectedRowIds", customCellComponents: "customCellComponents" }, outputs: { rowSelect: "rowSelect", sortBy: "sortBy", linkClick: "linkClick", rowActionClick: "rowActionClick", inputChange: "inputChange" }, queries: [{ propertyName: "paginationComponent", first: true, predicate: PaginationComponent, descendants: true }, { propertyName: "bulkActions", first: true, predicate: TableBulkActionsComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (tableData) {\n<table impdcTable [striped]=\"striped\">\n <thead>\n @if (!!bulkActions) {\n <tr>\n <th [attr.colspan]=\"tableSpan\" scope=\"col\" class=\"bulk-action-column\">\n <ng-content select=\"impdc-table-bulk-actions\"></ng-content>\n <ng-content select=\"[impdcTableBulkActions]\"></ng-content>\n </th>\n </tr>\n }\n <tr>\n @if (canSelectRows) {\n <th\n scope=\"col\"\n [ngClass]=\"{\n 'heading-below-bulk-actions': !!bulkActions\n }\">\n @if (canSelectAllRows) {\n <div>\n <impdc-checkbox\n ngModel\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n (change)=\"handleSelectAll($event)\"></impdc-checkbox>\n </div>\n }\n </th>\n } @for (columnDef of columnDefs; track columnDef; let columnIndex =\n $index) {\n <th\n scope=\"col\"\n [ngClass]=\"{\n 'sorted-column': isSortedColumn(columnIndex),\n 'sortable-column': columnDef.sorted,\n 'heading-below-bulk-actions': !!bulkActions\n }\"\n (click)=\"handleSort(columnIndex)\">\n <impdc-column-heading\n [isSortable]=\"columnDef.sorted || false\"\n [columnIndex]=\"columnIndex\"\n [sortColumnIndex]=\"sortColumnIndex\"\n [direction]=\"sortDirection\"\n [text]=\"columnDef.title\"\n (sort)=\"handleSort($event)\">\n </impdc-column-heading>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (loading) {\n <tr>\n <td [attr.colspan]=\"tableSpan\" class=\"data-loading\">\n <impdc-spinner></impdc-spinner>\n </td>\n </tr>\n } @else { @for (row of tableData; track row; let rowIndex = $index) {\n <tr>\n @if (canSelectRows) {\n <td>\n <div class=\"select-column\">\n <impdc-checkbox\n [ngModel]=\"isRowSelected(row.id)\"\n (change)=\"handleRowSelect($event, row.id)\"></impdc-checkbox>\n </div>\n </td>\n }\n <td\n *ngFor=\"let columnDef of columnDefs; index as colIndex; last as isLast\"\n [ngClass]=\"{\n 'col-no-padding': !!columnDef.noPadding,\n 'actions-column': columnDef.columnType === cellType.Actions\n }\">\n <div>\n @switch (columnDef.columnType) { @case (cellType.Badge) {\n <span>\n <impdc-badge\n [text]=\"getStringValue(colIndex, row)\"\n [theme]=\"getTheme(columnDef, row)\">\n </impdc-badge>\n </span>\n } @case (cellType.Link) {\n <span (click)=\"handleLinkClick(colIndex, row)\">\n @if (!branded) {\n <a>\n {{ getValue(colIndex, row) }}\n </a>\n } @else {\n <a impdcBranded>\n {{ getValue(colIndex, row) }}\n </a>\n }\n </span>\n } @case (cellType.Url) {\n <span>\n @if (!branded) {\n <a target=\"_blank\" [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n } @else {\n <a\n impdcBranded\n target=\"_blank\"\n [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n }\n </span>\n } @case (cellType.Email) {\n <span>\n @if (!branded) {\n <a\n target=\"_blank\"\n [attr.href]=\"'mailto:' + getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n } @else {\n <a impdcBranded [attr.href]=\"getMailToValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n }\n </span>\n } @case (cellType.Input) {\n <span>\n <input\n impdcInput\n type=\"text\"\n class=\"{{ getCellColor(columnDef, row) }}\"\n [ngModel]=\"getValue(colIndex, row)\"\n (ngModelChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event)\n \" />\n </span>\n } @case (cellType.Boolean) {\n <span>\n @if (columnDef.disabled && getValue(colIndex, row) === 'true') {\n <span\n impdc-icon\n name=\"check\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n } @else if (!columnDef.disabled) {\n <impdc-checkbox\n [checked]=\"getValue(colIndex, row) === 'true'\"\n [isSwitch]=\"true\"\n (change)=\"\n handleCellValueChange(colIndex, rowIndex, $event.checked)\n \"></impdc-checkbox>\n }\n </span>\n } @case (cellType.SingleSelect) {\n <span>\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n @if (selectPlaceholder) {\n <impdc-select-option value [label]=\"selectPlaceholder\">\n </impdc-select-option>\n } @for (value of (columnDef.values || []); track value) {\n <impdc-select-option\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n }\n </impdc-select>\n </span>\n } @case (cellType.MultiSelect) {\n <span>\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n multiple=\"true\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n @for (value of (columnDef.values || []); track value) {\n <impdc-select-option\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n }\n </impdc-select>\n </span>\n } @case (cellType.CellRender) {\n <span class=\"{{ getCellColor(columnDef, row) }}\">\n <ng-template\n impdcTableInjectComponent\n [columnDef]=\"columnDef\"\n [rowItem]=\"row\"\n [customCellComponents]=\"customCellComponents || {}\"\n [value]=\"getRawValue(colIndex, row)\"></ng-template>\n </span>\n } @case (cellType.Icon) {\n <span>\n <span\n impdc-icon\n [name]=\"columnDef.iconName\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n </span>\n } @case (cellType.Actions) {\n <span>\n <!-- will always return 'true', but needed to satisfy the type engine -->\n @if (columnDefIsActions(columnDef)) {\n <impdc-row-actions\n [columnDef]=\"columnDef\"\n [rowItem]=\"row\"\n [lastColumn]=\"isLast\"\n (actionClick)=\"\n handleActionClick(colIndex, row, $event)\n \"></impdc-row-actions>\n }\n </span>\n } @default {\n <span class=\"{{ getCellColor(columnDef, row) }}\">\n {{ getValue(colIndex, row) }}\n </span>\n } }\n </div>\n </td>\n </tr>\n } @empty {\n <tr>\n <td [attr.colspan]=\"tableSpan\" class=\"no-data\">\n <ng-content select=\"[noData]\"></ng-content>\n </td>\n </tr>\n } }\n </tbody>\n <tfoot>\n @if (paginationComponent) {\n <tr>\n <td [attr.colspan]=\"tableSpan\">\n <ng-content\n select=\"impdc-pagination, div[impdc-pagination]\"></ng-content>\n </td>\n </tr>\n }\n </tfoot>\n</table>\n}\n", styles: [".bulk-action-container{display:flex;flex-direction:row;border:1px solid var(--impd-color-gray-200);border-top-left-radius:.6rem;border-top-right-radius:.6rem;border-bottom:0px}.bulk-action-container .bulk-action-checkbox{padding:1.6rem 2rem}.bulk-action-container .bulk-actions{display:flex;flex-direction:row;gap:.4rem}.col-no-padding{padding:0!important}.data-loading{height:var(--impd-size-80);vertical-align:middle;text-align:center}.no-data{vertical-align:middle;text-align:center}.select-row{display:flex;height:var(--impd-size-4);align-items:center;justify-items:end;border-radius:var(--impd-border-radius-default)}.heading-with-checkbox{padding-left:5px;padding-right:10px}.actions-column{width:.1%;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: BrandedDirective, selector: "[impdcBranded]" }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "component", type: CheckboxComponent, selector: "impdc-checkbox", inputs: ["tabIndex", "id", "label", "description", "isSwitch", "switchIcons", "inline", "checked", "indeterminate", "disabled", "errorStateMatcher", "required"], outputs: ["change", "indeterminateChange"], exportAs: ["impdcCheckControl"] }, { kind: "component", type: SelectOptionComponent, selector: "impdc-select-option", inputs: ["value", "label", "id", "disabled"], outputs: ["onSelectionChange"] }, { kind: "component", type: SelectComponent, selector: "impdc-select", inputs: ["disabled", "tabIndex", "placeholder", "required", "multiple", "compareWith", "errorStateMatcher", "value", "id"], outputs: ["selectionChange", "valueChange"], exportAs: ["impdcSelect"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SpinnerComponent, selector: "impdc-spinner, div[impdc-spinner]", inputs: ["accessibilityText"] }, { kind: "component", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: ["text", "icon", "theme", "size", "hideBg", "rounded", "dismissable"], outputs: ["dismiss"] }, { kind: "directive", type: TableDirective, selector: "table[impdcTable]", inputs: ["striped"] }, { kind: "component", type: ColumnHeadingComponent, selector: "impdc-column-heading", inputs: ["isSortable", "columnIndex", "sortColumnIndex", "direction", "text"], outputs: ["sort"] }, { kind: "directive", type: TableInjectComponentDirective, selector: "[impdcTableInjectComponent]", inputs: ["columnDef", "value", "rowItem", "customCellComponents"] }, { kind: "component", type: RowActionsComponent, selector: "impdc-row-actions", inputs: ["columnDef", "rowItem", "lastColumn"], outputs: ["actionClick"] }] }); }
6905
7064
  }
6906
- TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, deps: [{ token: i1.DatePipe }, { token: i1.PercentPipe }, { token: i1.DecimalPipe }, { token: i0.ChangeDetectorRef }, { token: BrandedDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
6907
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableComponent, selector: "impdc-table", inputs: { loading: "loading", columnDefs: "columnDefs", striped: "striped", canSelectRows: "canSelectRows", canSelectAllRows: "canSelectAllRows", selectPlaceholder: "selectPlaceholder", sortColumnIndex: "sortColumnIndex", sortDirection: "sortDirection", tableData: "tableData", selectedRowIds: "selectedRowIds", customCellComponents: "customCellComponents" }, outputs: { rowSelect: "rowSelect", sortBy: "sortBy", linkClick: "linkClick", inputChange: "inputChange" }, queries: [{ propertyName: "paginationComponent", first: true, predicate: PaginationComponent, descendants: true }, { propertyName: "bulkActions", first: true, predicate: TableBulkActionsComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table impdcTable *ngIf=\"tableData\" [striped]=\"striped\">\n <thead>\n <tr *ngIf=\"!!bulkActions\">\n <th [attr.colspan]=\"tableSpan\" scope=\"col\" class=\"bulk-action-column\">\n <ng-content select=\"impdc-table-bulk-actions\"></ng-content>\n <ng-content select=\"[impdcTableBulkActions]\"></ng-content>\n </th>\n </tr>\n <tr>\n <th\n *ngIf=\"canSelectRows\"\n scope=\"col\"\n [ngClass]=\"{\n 'heading-below-bulk-actions': !!bulkActions\n }\">\n <div *ngIf=\"canSelectAllRows\">\n <impdc-checkbox\n ngModel\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n (change)=\"handleSelectAll($event)\"></impdc-checkbox>\n </div>\n </th>\n <th\n scope=\"col\"\n *ngFor=\"let columnDef of columnDefs; index as columnIndex\"\n [ngClass]=\"{\n 'sorted-column': isSortedColumn(columnIndex),\n 'sortable-column': columnDef.sorted,\n 'heading-below-bulk-actions': !!bulkActions\n }\"\n (click)=\"handleSort(columnIndex)\">\n <impdc-column-heading\n [isSortable]=\"columnDef.sorted || false\"\n [columnIndex]=\"columnIndex\"\n [sortColumnIndex]=\"sortColumnIndex\"\n [direction]=\"sortDirection\"\n [text]=\"columnDef.title\"\n (sort)=\"handleSort($event)\">\n </impdc-column-heading>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngIf=\"loading; else data\">\n <td [attr.colspan]=\"tableSpan\" class=\"data-loading\">\n <impdc-spinner></impdc-spinner>\n </td>\n </tr>\n <ng-template #data>\n <tr *ngIf=\"tableData.length === 0\">\n <td [attr.colspan]=\"tableSpan\" class=\"no-data\">\n <ng-content select=\"[noData]\"></ng-content>\n </td>\n </tr>\n <tr *ngFor=\"let row of tableData; index as rowIndex\">\n <td *ngIf=\"canSelectRows\">\n <div class=\"select-column\">\n <impdc-checkbox\n [ngModel]=\"isRowSelected(row.id)\"\n (change)=\"handleRowSelect($event, row.id)\"></impdc-checkbox>\n </div>\n </td>\n <td\n *ngFor=\"let columnDef of columnDefs; index as colIndex\"\n [ngClass]=\"{\n 'col-no-padding': !!columnDef.noPadding\n }\">\n <div [ngSwitch]=\"columnDef.columnType\">\n <span *ngSwitchCase=\"cellType.Badge\">\n <impdc-badge\n [text]=\"getStringValue(colIndex, row)\"\n [theme]=\"getTheme(columnDef, row)\">\n </impdc-badge>\n </span>\n <span\n *ngSwitchCase=\"cellType.Link\"\n class=\"cell-type-link\"\n (click)=\"handleLinkClick(colIndex, row)\">\n <a *ngIf=\"!branded\">\n {{ getValue(colIndex, row) }}\n </a>\n <a *ngIf=\"branded\" impdcBranded>\n {{ getValue(colIndex, row) }}\n </a>\n </span>\n <span *ngSwitchCase=\"cellType.Url\" class=\"cell-type-link\">\n <a\n *ngIf=\"!branded\"\n target=\"_blank\"\n [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n <a\n *ngIf=\"branded\"\n impdcBranded\n target=\"_blank\"\n [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n </span>\n <span *ngSwitchCase=\"cellType.Email\" class=\"cell-type-link\">\n <a\n *ngIf=\"!branded\"\n target=\"_blank\"\n [attr.href]=\"'mailto:' + getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n <a\n *ngIf=\"branded\"\n impdcBranded\n [attr.href]=\"getMailToValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n </span>\n <span *ngSwitchCase=\"cellType.Input\">\n <input\n impdcInput\n type=\"text\"\n class=\"{{ getCellColor(columnDef, row) }}\"\n [ngModel]=\"getValue(colIndex, row)\"\n (ngModelChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event)\n \" />\n </span>\n <span *ngSwitchCase=\"cellType.Boolean\">\n <span\n *ngIf=\"columnDef.disabled && getValue(colIndex, row) === 'true'\"\n impdc-icon\n name=\"check\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n <impdc-checkbox\n *ngIf=\"!columnDef.disabled\"\n [checked]=\"getValue(colIndex, row) === 'true'\"\n [isSwitch]=\"true\"\n (change)=\"\n handleCellValueChange(colIndex, rowIndex, $event.checked)\n \"></impdc-checkbox>\n </span>\n <span *ngSwitchCase=\"cellType.SingleSelect\">\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n <impdc-select-option\n *ngIf=\"selectPlaceholder\"\n value\n [label]=\"selectPlaceholder\">\n </impdc-select-option>\n <impdc-select-option\n *ngFor=\"let value of columnDef.values || []\"\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n </impdc-select>\n </span>\n <span *ngSwitchCase=\"cellType.MultiSelect\">\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n multiple=\"true\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n <impdc-select-option\n *ngFor=\"let value of columnDef.values || []\"\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n </impdc-select>\n </span>\n <span\n *ngSwitchCase=\"cellType.CellRender\"\n class=\"{{ getCellColor(columnDef, row) }}\">\n <ng-template\n impdcTableInjectComponent\n [columnDef]=\"columnDef\"\n [rowItem]=\"row\"\n [customCellComponents]=\"customCellComponents || {}\"\n [value]=\"getRawValue(colIndex, row)\"></ng-template>\n </span>\n <span *ngSwitchCase=\"cellType.Icon\">\n <span\n impdc-icon\n [name]=\"columnDef.iconName\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n </span>\n <span *ngSwitchDefault class=\"{{ getCellColor(columnDef, row) }}\">\n {{ getValue(colIndex, row) }}\n </span>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n <tfoot>\n <tr *ngIf=\"paginationComponent\">\n <td [attr.colspan]=\"tableSpan\">\n <ng-content\n select=\"impdc-pagination, div[impdc-pagination]\"></ng-content>\n </td>\n </tr>\n </tfoot>\n</table>\n", styles: [".bulk-action-container{display:flex;flex-direction:row;border:1px solid var(--impd-color-gray-200);border-top-left-radius:.6rem;border-top-right-radius:.6rem;border-bottom:0px}.bulk-action-container .bulk-action-checkbox{padding:1.6rem 2rem}.bulk-action-container .bulk-actions{display:flex;flex-direction:row;gap:.4rem}.col-no-padding{padding:0!important}.data-loading{height:var(--impd-size-80);vertical-align:middle;text-align:center}.no-data{vertical-align:middle;text-align:center}.select-row{display:flex;height:var(--impd-size-4);align-items:center;justify-items:end;border-radius:var(--impd-border-radius-default)}.heading-with-checkbox{padding-left:5px;padding-right:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: BrandedDirective, selector: "[impdcBranded]" }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "component", type: CheckboxComponent, selector: "impdc-checkbox", inputs: ["tabIndex", "id", "label", "description", "isSwitch", "switchIcons", "inline", "checked", "indeterminate", "disabled", "errorStateMatcher", "required"], outputs: ["change", "indeterminateChange"], exportAs: ["impdcCheckControl"] }, { kind: "component", type: SelectOptionComponent, selector: "impdc-select-option", inputs: ["value", "label", "id", "disabled"], outputs: ["onSelectionChange"] }, { kind: "component", type: SelectComponent, selector: "impdc-select", inputs: ["disabled", "tabIndex", "placeholder", "required", "multiple", "compareWith", "errorStateMatcher", "value", "id"], outputs: ["selectionChange", "valueChange"], exportAs: ["impdcSelect"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SpinnerComponent, selector: "impdc-spinner, div[impdc-spinner]", inputs: ["accessibilityText"] }, { kind: "component", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: ["text", "icon", "theme", "size", "hideBg", "rounded", "dismissable"], outputs: ["dismiss"] }, { kind: "directive", type: TableDirective, selector: "table[impdcTable]", inputs: ["striped"] }, { kind: "component", type: ColumnHeadingComponent, selector: "impdc-column-heading", inputs: ["isSortable", "columnIndex", "sortColumnIndex", "direction", "text"], outputs: ["sort"] }, { kind: "directive", type: TableInjectComponentDirective, selector: "[impdcTableInjectComponent]", inputs: ["columnDef", "value", "rowItem", "customCellComponents"] }] });
6908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableComponent, decorators: [{
7065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableComponent, decorators: [{
6909
7066
  type: Component,
6910
- args: [{ selector: 'impdc-table', template: "<table impdcTable *ngIf=\"tableData\" [striped]=\"striped\">\n <thead>\n <tr *ngIf=\"!!bulkActions\">\n <th [attr.colspan]=\"tableSpan\" scope=\"col\" class=\"bulk-action-column\">\n <ng-content select=\"impdc-table-bulk-actions\"></ng-content>\n <ng-content select=\"[impdcTableBulkActions]\"></ng-content>\n </th>\n </tr>\n <tr>\n <th\n *ngIf=\"canSelectRows\"\n scope=\"col\"\n [ngClass]=\"{\n 'heading-below-bulk-actions': !!bulkActions\n }\">\n <div *ngIf=\"canSelectAllRows\">\n <impdc-checkbox\n ngModel\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n (change)=\"handleSelectAll($event)\"></impdc-checkbox>\n </div>\n </th>\n <th\n scope=\"col\"\n *ngFor=\"let columnDef of columnDefs; index as columnIndex\"\n [ngClass]=\"{\n 'sorted-column': isSortedColumn(columnIndex),\n 'sortable-column': columnDef.sorted,\n 'heading-below-bulk-actions': !!bulkActions\n }\"\n (click)=\"handleSort(columnIndex)\">\n <impdc-column-heading\n [isSortable]=\"columnDef.sorted || false\"\n [columnIndex]=\"columnIndex\"\n [sortColumnIndex]=\"sortColumnIndex\"\n [direction]=\"sortDirection\"\n [text]=\"columnDef.title\"\n (sort)=\"handleSort($event)\">\n </impdc-column-heading>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngIf=\"loading; else data\">\n <td [attr.colspan]=\"tableSpan\" class=\"data-loading\">\n <impdc-spinner></impdc-spinner>\n </td>\n </tr>\n <ng-template #data>\n <tr *ngIf=\"tableData.length === 0\">\n <td [attr.colspan]=\"tableSpan\" class=\"no-data\">\n <ng-content select=\"[noData]\"></ng-content>\n </td>\n </tr>\n <tr *ngFor=\"let row of tableData; index as rowIndex\">\n <td *ngIf=\"canSelectRows\">\n <div class=\"select-column\">\n <impdc-checkbox\n [ngModel]=\"isRowSelected(row.id)\"\n (change)=\"handleRowSelect($event, row.id)\"></impdc-checkbox>\n </div>\n </td>\n <td\n *ngFor=\"let columnDef of columnDefs; index as colIndex\"\n [ngClass]=\"{\n 'col-no-padding': !!columnDef.noPadding\n }\">\n <div [ngSwitch]=\"columnDef.columnType\">\n <span *ngSwitchCase=\"cellType.Badge\">\n <impdc-badge\n [text]=\"getStringValue(colIndex, row)\"\n [theme]=\"getTheme(columnDef, row)\">\n </impdc-badge>\n </span>\n <span\n *ngSwitchCase=\"cellType.Link\"\n class=\"cell-type-link\"\n (click)=\"handleLinkClick(colIndex, row)\">\n <a *ngIf=\"!branded\">\n {{ getValue(colIndex, row) }}\n </a>\n <a *ngIf=\"branded\" impdcBranded>\n {{ getValue(colIndex, row) }}\n </a>\n </span>\n <span *ngSwitchCase=\"cellType.Url\" class=\"cell-type-link\">\n <a\n *ngIf=\"!branded\"\n target=\"_blank\"\n [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n <a\n *ngIf=\"branded\"\n impdcBranded\n target=\"_blank\"\n [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n </span>\n <span *ngSwitchCase=\"cellType.Email\" class=\"cell-type-link\">\n <a\n *ngIf=\"!branded\"\n target=\"_blank\"\n [attr.href]=\"'mailto:' + getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n <a\n *ngIf=\"branded\"\n impdcBranded\n [attr.href]=\"getMailToValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n </span>\n <span *ngSwitchCase=\"cellType.Input\">\n <input\n impdcInput\n type=\"text\"\n class=\"{{ getCellColor(columnDef, row) }}\"\n [ngModel]=\"getValue(colIndex, row)\"\n (ngModelChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event)\n \" />\n </span>\n <span *ngSwitchCase=\"cellType.Boolean\">\n <span\n *ngIf=\"columnDef.disabled && getValue(colIndex, row) === 'true'\"\n impdc-icon\n name=\"check\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n <impdc-checkbox\n *ngIf=\"!columnDef.disabled\"\n [checked]=\"getValue(colIndex, row) === 'true'\"\n [isSwitch]=\"true\"\n (change)=\"\n handleCellValueChange(colIndex, rowIndex, $event.checked)\n \"></impdc-checkbox>\n </span>\n <span *ngSwitchCase=\"cellType.SingleSelect\">\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n <impdc-select-option\n *ngIf=\"selectPlaceholder\"\n value\n [label]=\"selectPlaceholder\">\n </impdc-select-option>\n <impdc-select-option\n *ngFor=\"let value of columnDef.values || []\"\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n </impdc-select>\n </span>\n <span *ngSwitchCase=\"cellType.MultiSelect\">\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n multiple=\"true\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n <impdc-select-option\n *ngFor=\"let value of columnDef.values || []\"\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n </impdc-select>\n </span>\n <span\n *ngSwitchCase=\"cellType.CellRender\"\n class=\"{{ getCellColor(columnDef, row) }}\">\n <ng-template\n impdcTableInjectComponent\n [columnDef]=\"columnDef\"\n [rowItem]=\"row\"\n [customCellComponents]=\"customCellComponents || {}\"\n [value]=\"getRawValue(colIndex, row)\"></ng-template>\n </span>\n <span *ngSwitchCase=\"cellType.Icon\">\n <span\n impdc-icon\n [name]=\"columnDef.iconName\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n </span>\n <span *ngSwitchDefault class=\"{{ getCellColor(columnDef, row) }}\">\n {{ getValue(colIndex, row) }}\n </span>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n <tfoot>\n <tr *ngIf=\"paginationComponent\">\n <td [attr.colspan]=\"tableSpan\">\n <ng-content\n select=\"impdc-pagination, div[impdc-pagination]\"></ng-content>\n </td>\n </tr>\n </tfoot>\n</table>\n", styles: [".bulk-action-container{display:flex;flex-direction:row;border:1px solid var(--impd-color-gray-200);border-top-left-radius:.6rem;border-top-right-radius:.6rem;border-bottom:0px}.bulk-action-container .bulk-action-checkbox{padding:1.6rem 2rem}.bulk-action-container .bulk-actions{display:flex;flex-direction:row;gap:.4rem}.col-no-padding{padding:0!important}.data-loading{height:var(--impd-size-80);vertical-align:middle;text-align:center}.no-data{vertical-align:middle;text-align:center}.select-row{display:flex;height:var(--impd-size-4);align-items:center;justify-items:end;border-radius:var(--impd-border-radius-default)}.heading-with-checkbox{padding-left:5px;padding-right:10px}\n"] }]
6911
- }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.PercentPipe }, { type: i1.DecimalPipe }, { type: i0.ChangeDetectorRef }, { type: BrandedDirective, decorators: [{
7067
+ args: [{ selector: 'impdc-table', template: "@if (tableData) {\n<table impdcTable [striped]=\"striped\">\n <thead>\n @if (!!bulkActions) {\n <tr>\n <th [attr.colspan]=\"tableSpan\" scope=\"col\" class=\"bulk-action-column\">\n <ng-content select=\"impdc-table-bulk-actions\"></ng-content>\n <ng-content select=\"[impdcTableBulkActions]\"></ng-content>\n </th>\n </tr>\n }\n <tr>\n @if (canSelectRows) {\n <th\n scope=\"col\"\n [ngClass]=\"{\n 'heading-below-bulk-actions': !!bulkActions\n }\">\n @if (canSelectAllRows) {\n <div>\n <impdc-checkbox\n ngModel\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n (change)=\"handleSelectAll($event)\"></impdc-checkbox>\n </div>\n }\n </th>\n } @for (columnDef of columnDefs; track columnDef; let columnIndex =\n $index) {\n <th\n scope=\"col\"\n [ngClass]=\"{\n 'sorted-column': isSortedColumn(columnIndex),\n 'sortable-column': columnDef.sorted,\n 'heading-below-bulk-actions': !!bulkActions\n }\"\n (click)=\"handleSort(columnIndex)\">\n <impdc-column-heading\n [isSortable]=\"columnDef.sorted || false\"\n [columnIndex]=\"columnIndex\"\n [sortColumnIndex]=\"sortColumnIndex\"\n [direction]=\"sortDirection\"\n [text]=\"columnDef.title\"\n (sort)=\"handleSort($event)\">\n </impdc-column-heading>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (loading) {\n <tr>\n <td [attr.colspan]=\"tableSpan\" class=\"data-loading\">\n <impdc-spinner></impdc-spinner>\n </td>\n </tr>\n } @else { @for (row of tableData; track row; let rowIndex = $index) {\n <tr>\n @if (canSelectRows) {\n <td>\n <div class=\"select-column\">\n <impdc-checkbox\n [ngModel]=\"isRowSelected(row.id)\"\n (change)=\"handleRowSelect($event, row.id)\"></impdc-checkbox>\n </div>\n </td>\n }\n <td\n *ngFor=\"let columnDef of columnDefs; index as colIndex; last as isLast\"\n [ngClass]=\"{\n 'col-no-padding': !!columnDef.noPadding,\n 'actions-column': columnDef.columnType === cellType.Actions\n }\">\n <div>\n @switch (columnDef.columnType) { @case (cellType.Badge) {\n <span>\n <impdc-badge\n [text]=\"getStringValue(colIndex, row)\"\n [theme]=\"getTheme(columnDef, row)\">\n </impdc-badge>\n </span>\n } @case (cellType.Link) {\n <span (click)=\"handleLinkClick(colIndex, row)\">\n @if (!branded) {\n <a>\n {{ getValue(colIndex, row) }}\n </a>\n } @else {\n <a impdcBranded>\n {{ getValue(colIndex, row) }}\n </a>\n }\n </span>\n } @case (cellType.Url) {\n <span>\n @if (!branded) {\n <a target=\"_blank\" [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n } @else {\n <a\n impdcBranded\n target=\"_blank\"\n [attr.href]=\"getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n }\n </span>\n } @case (cellType.Email) {\n <span>\n @if (!branded) {\n <a\n target=\"_blank\"\n [attr.href]=\"'mailto:' + getValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n } @else {\n <a impdcBranded [attr.href]=\"getMailToValue(colIndex, row)\">\n {{ getValue(colIndex, row) }}\n </a>\n }\n </span>\n } @case (cellType.Input) {\n <span>\n <input\n impdcInput\n type=\"text\"\n class=\"{{ getCellColor(columnDef, row) }}\"\n [ngModel]=\"getValue(colIndex, row)\"\n (ngModelChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event)\n \" />\n </span>\n } @case (cellType.Boolean) {\n <span>\n @if (columnDef.disabled && getValue(colIndex, row) === 'true') {\n <span\n impdc-icon\n name=\"check\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n } @else if (!columnDef.disabled) {\n <impdc-checkbox\n [checked]=\"getValue(colIndex, row) === 'true'\"\n [isSwitch]=\"true\"\n (change)=\"\n handleCellValueChange(colIndex, rowIndex, $event.checked)\n \"></impdc-checkbox>\n }\n </span>\n } @case (cellType.SingleSelect) {\n <span>\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n @if (selectPlaceholder) {\n <impdc-select-option value [label]=\"selectPlaceholder\">\n </impdc-select-option>\n } @for (value of (columnDef.values || []); track value) {\n <impdc-select-option\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n }\n </impdc-select>\n </span>\n } @case (cellType.MultiSelect) {\n <span>\n <impdc-select\n [ngModel]=\"getValue(colIndex, row)\"\n [disabled]=\"columnDef.disabled || false\"\n [placeholder]=\"selectPlaceholder\"\n multiple=\"true\"\n (selectionChange)=\"\n handleCellValueChange(colIndex, rowIndex, $event.value)\n \">\n @for (value of (columnDef.values || []); track value) {\n <impdc-select-option\n [value]=\"value.value\"\n [label]=\"value.label\"></impdc-select-option>\n }\n </impdc-select>\n </span>\n } @case (cellType.CellRender) {\n <span class=\"{{ getCellColor(columnDef, row) }}\">\n <ng-template\n impdcTableInjectComponent\n [columnDef]=\"columnDef\"\n [rowItem]=\"row\"\n [customCellComponents]=\"customCellComponents || {}\"\n [value]=\"getRawValue(colIndex, row)\"></ng-template>\n </span>\n } @case (cellType.Icon) {\n <span>\n <span\n impdc-icon\n [name]=\"columnDef.iconName\"\n class=\"{{ getCellColor(columnDef, row) }}\"></span>\n </span>\n } @case (cellType.Actions) {\n <span>\n <!-- will always return 'true', but needed to satisfy the type engine -->\n @if (columnDefIsActions(columnDef)) {\n <impdc-row-actions\n [columnDef]=\"columnDef\"\n [rowItem]=\"row\"\n [lastColumn]=\"isLast\"\n (actionClick)=\"\n handleActionClick(colIndex, row, $event)\n \"></impdc-row-actions>\n }\n </span>\n } @default {\n <span class=\"{{ getCellColor(columnDef, row) }}\">\n {{ getValue(colIndex, row) }}\n </span>\n } }\n </div>\n </td>\n </tr>\n } @empty {\n <tr>\n <td [attr.colspan]=\"tableSpan\" class=\"no-data\">\n <ng-content select=\"[noData]\"></ng-content>\n </td>\n </tr>\n } }\n </tbody>\n <tfoot>\n @if (paginationComponent) {\n <tr>\n <td [attr.colspan]=\"tableSpan\">\n <ng-content\n select=\"impdc-pagination, div[impdc-pagination]\"></ng-content>\n </td>\n </tr>\n }\n </tfoot>\n</table>\n}\n", styles: [".bulk-action-container{display:flex;flex-direction:row;border:1px solid var(--impd-color-gray-200);border-top-left-radius:.6rem;border-top-right-radius:.6rem;border-bottom:0px}.bulk-action-container .bulk-action-checkbox{padding:1.6rem 2rem}.bulk-action-container .bulk-actions{display:flex;flex-direction:row;gap:.4rem}.col-no-padding{padding:0!important}.data-loading{height:var(--impd-size-80);vertical-align:middle;text-align:center}.no-data{vertical-align:middle;text-align:center}.select-row{display:flex;height:var(--impd-size-4);align-items:center;justify-items:end;border-radius:var(--impd-border-radius-default)}.heading-with-checkbox{padding-left:5px;padding-right:10px}.actions-column{width:.1%;white-space:nowrap}\n"] }]
7068
+ }], ctorParameters: () => [{ type: i1.DatePipe }, { type: i1.PercentPipe }, { type: i1.DecimalPipe }, { type: i0.ChangeDetectorRef }, { type: BrandedDirective, decorators: [{
6912
7069
  type: Optional
6913
7070
  }, {
6914
7071
  type: Host
6915
- }] }]; }, propDecorators: { loading: [{
7072
+ }] }], propDecorators: { loading: [{
6916
7073
  type: Input
6917
7074
  }], columnDefs: [{
6918
7075
  type: Input
@@ -6940,6 +7097,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6940
7097
  type: Output
6941
7098
  }], linkClick: [{
6942
7099
  type: Output
7100
+ }], rowActionClick: [{
7101
+ type: Output
6943
7102
  }], paginationComponent: [{
6944
7103
  type: ContentChild,
6945
7104
  args: [PaginationComponent]
@@ -6951,11 +7110,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6951
7110
  }] } });
6952
7111
 
6953
7112
  class SpinnerModule {
7113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7114
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: SpinnerModule, declarations: [SpinnerComponent], imports: [CommonModule], exports: [SpinnerComponent] }); }
7115
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SpinnerModule, imports: [CommonModule] }); }
6954
7116
  }
6955
- SpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6956
- SpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SpinnerModule, declarations: [SpinnerComponent], imports: [CommonModule], exports: [SpinnerComponent] });
6957
- SpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinnerModule, imports: [CommonModule] });
6958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinnerModule, decorators: [{
7117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SpinnerModule, decorators: [{
6959
7118
  type: NgModule,
6960
7119
  args: [{
6961
7120
  imports: [CommonModule],
@@ -6966,57 +7125,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6966
7125
 
6967
7126
  class BadgeModule {
6968
7127
  constructor() { }
7128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7129
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: BadgeModule, declarations: [BadgeComponent], imports: [CommonModule, IconModule], exports: [IconModule, BadgeComponent] }); }
7130
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BadgeModule, imports: [CommonModule, IconModule, IconModule] }); }
6969
7131
  }
6970
- BadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6971
- BadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, declarations: [BadgeComponent], imports: [CommonModule, IconModule], exports: [IconModule, BadgeComponent] });
6972
- BadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, imports: [CommonModule, IconModule, IconModule] });
6973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeModule, decorators: [{
7132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BadgeModule, decorators: [{
6974
7133
  type: NgModule,
6975
7134
  args: [{
6976
7135
  imports: [CommonModule, IconModule],
6977
7136
  declarations: [BadgeComponent],
6978
7137
  exports: [IconModule, BadgeComponent]
6979
7138
  }]
6980
- }], ctorParameters: function () { return []; } });
7139
+ }], ctorParameters: () => [] });
6981
7140
 
6982
7141
  class TableModule {
6983
7142
  constructor() { }
7143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7144
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: TableModule, declarations: [TableDirective,
7145
+ TableComponent,
7146
+ ColumnHeadingComponent,
7147
+ TableInjectComponentDirective,
7148
+ TableBulkActionsComponent,
7149
+ RowActionsComponent], imports: [CommonModule,
7150
+ ButtonModule,
7151
+ PaginationModule,
7152
+ IconModule,
7153
+ ImpdcFormsModule,
7154
+ FormsModule,
7155
+ SpinnerModule,
7156
+ BadgeModule,
7157
+ BrandingModule,
7158
+ NgbDropdownModule], exports: [ButtonModule,
7159
+ TableDirective,
7160
+ ColumnHeadingComponent,
7161
+ TableBulkActionsComponent,
7162
+ PaginationModule,
7163
+ TableComponent,
7164
+ IconModule,
7165
+ TableInjectComponentDirective,
7166
+ BrandingModule,
7167
+ RowActionsComponent] }); }
7168
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableModule, providers: [DatePipe, PercentPipe, DecimalPipe], imports: [CommonModule,
7169
+ ButtonModule,
7170
+ PaginationModule,
7171
+ IconModule,
7172
+ ImpdcFormsModule,
7173
+ FormsModule,
7174
+ SpinnerModule,
7175
+ BadgeModule,
7176
+ BrandingModule,
7177
+ NgbDropdownModule, ButtonModule,
7178
+ PaginationModule,
7179
+ IconModule,
7180
+ BrandingModule] }); }
6984
7181
  }
6985
- TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6986
- TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TableModule, declarations: [TableDirective,
6987
- TableComponent,
6988
- ColumnHeadingComponent,
6989
- TableInjectComponentDirective,
6990
- TableBulkActionsComponent], imports: [CommonModule,
6991
- ButtonModule,
6992
- PaginationModule,
6993
- IconModule,
6994
- ImpdcFormsModule,
6995
- FormsModule,
6996
- SpinnerModule,
6997
- BadgeModule,
6998
- BrandingModule], exports: [ButtonModule,
6999
- TableDirective,
7000
- ColumnHeadingComponent,
7001
- TableBulkActionsComponent,
7002
- PaginationModule,
7003
- TableComponent,
7004
- IconModule,
7005
- TableInjectComponentDirective,
7006
- BrandingModule] });
7007
- TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, providers: [DatePipe, PercentPipe, DecimalPipe], imports: [CommonModule,
7008
- ButtonModule,
7009
- PaginationModule,
7010
- IconModule,
7011
- ImpdcFormsModule,
7012
- FormsModule,
7013
- SpinnerModule,
7014
- BadgeModule,
7015
- BrandingModule, ButtonModule,
7016
- PaginationModule,
7017
- IconModule,
7018
- BrandingModule] });
7019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableModule, decorators: [{
7182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: TableModule, decorators: [{
7020
7183
  type: NgModule,
7021
7184
  args: [{
7022
7185
  imports: [
@@ -7028,14 +7191,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7028
7191
  FormsModule,
7029
7192
  SpinnerModule,
7030
7193
  BadgeModule,
7031
- BrandingModule
7194
+ BrandingModule,
7195
+ NgbDropdownModule
7032
7196
  ],
7033
7197
  declarations: [
7034
7198
  TableDirective,
7035
7199
  TableComponent,
7036
7200
  ColumnHeadingComponent,
7037
7201
  TableInjectComponentDirective,
7038
- TableBulkActionsComponent
7202
+ TableBulkActionsComponent,
7203
+ RowActionsComponent
7039
7204
  ],
7040
7205
  exports: [
7041
7206
  ButtonModule,
@@ -7046,11 +7211,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7046
7211
  TableComponent,
7047
7212
  IconModule,
7048
7213
  TableInjectComponentDirective,
7049
- BrandingModule
7214
+ BrandingModule,
7215
+ RowActionsComponent
7050
7216
  ],
7051
7217
  providers: [DatePipe, PercentPipe, DecimalPipe]
7052
7218
  }]
7053
- }], ctorParameters: function () { return []; } });
7219
+ }], ctorParameters: () => [] });
7054
7220
 
7055
7221
  const ModalComponentSizesArr = [
7056
7222
  ComponentSize.Small,
@@ -7079,9 +7245,26 @@ const ModalThemesArr = [
7079
7245
  * and [IconModule](./?path=/docs/design-components-icon).
7080
7246
  */
7081
7247
  class ModalComponent {
7082
- constructor(_interactionService) {
7248
+ /**
7249
+ * Determines if the Modal should be shown immediately.
7250
+ */
7251
+ set show(show) {
7252
+ if (show) {
7253
+ this.open();
7254
+ }
7255
+ else {
7256
+ this.close();
7257
+ }
7258
+ }
7259
+ get show() {
7260
+ return this._show;
7261
+ }
7262
+ constructor(_interactionService, _elementRef) {
7083
7263
  this._interactionService = _interactionService;
7084
- this._interactableId = 0;
7264
+ this._elementRef = _elementRef;
7265
+ this._interactableId = `impdc-modal-${nanoid()}`;
7266
+ this._closed$ = new Subject();
7267
+ this._initialized = false;
7085
7268
  this._show = false;
7086
7269
  /**
7087
7270
  * The theme of the Modal. Affects the layout of the Modal as well as some colors.
@@ -7125,22 +7308,11 @@ class ModalComponent {
7125
7308
  */
7126
7309
  this.accept = new EventEmitter();
7127
7310
  }
7128
- /**
7129
- * Determines if the Modal should be shown immediately.
7130
- */
7131
- set show(show) {
7132
- if (show) {
7133
- this.open();
7134
- }
7135
- else {
7136
- this.close();
7137
- }
7138
- }
7139
7311
  get interactableId() {
7140
7312
  return this._interactableId;
7141
7313
  }
7142
7314
  get valid() {
7143
- return this.interactableId > 0;
7315
+ return this._initialized;
7144
7316
  }
7145
7317
  get shown() {
7146
7318
  return this.valid && this._show;
@@ -7158,17 +7330,18 @@ class ModalComponent {
7158
7330
  return !this.titleText && !this.dismissable;
7159
7331
  }
7160
7332
  ngOnInit() {
7161
- this._interactableId = this._interactionService.add(this);
7333
+ this._interactionService.add(this);
7162
7334
  if (this.dismissable === undefined && this.theme === ModalTheme.Working) {
7163
7335
  this.dismissable = true;
7164
7336
  }
7165
7337
  if (this.iconName === undefined && this.theme === ModalTheme.Destructive) {
7166
7338
  this.iconName = 'exclamation-triangle';
7167
7339
  }
7340
+ this._initialized = true;
7168
7341
  }
7169
7342
  ngOnDestroy() {
7170
7343
  this._interactionService.remove(this.interactableId);
7171
- this._interactableId = 0;
7344
+ this._disableEventHandling();
7172
7345
  }
7173
7346
  handleDismiss(event) {
7174
7347
  if (!this.dismissable ||
@@ -7199,22 +7372,86 @@ class ModalComponent {
7199
7372
  if (this.backdrop) {
7200
7373
  this._interactionService.queueBackdrop(this.interactableId);
7201
7374
  }
7202
- this._show = true;
7375
+ this._show = true;
7376
+ this._setupEventHandling();
7377
+ }
7378
+ /**
7379
+ * Closes/hides the modal. Can be used programmatically.
7380
+ */
7381
+ close() {
7382
+ this._show = false;
7383
+ this._interactionService.dequeueBackdrop(this.interactableId);
7384
+ this._disableEventHandling();
7385
+ }
7386
+ _setupEventHandling() {
7387
+ const { nativeElement } = this._elementRef;
7388
+ fromEvent(nativeElement, 'keydown')
7389
+ .pipe(takeUntil(this._closed$), filter(evt => evt.key === 'Escape'))
7390
+ .subscribe(evt => {
7391
+ if (this.dismissable && !evt.defaultPrevented) {
7392
+ Promise.resolve().then(() => {
7393
+ this.handleDismiss(evt);
7394
+ evt.stopPropagation();
7395
+ });
7396
+ }
7397
+ });
7398
+ fromEvent(nativeElement, 'keydown')
7399
+ .pipe(takeUntil(this._closed$), filter(evt => evt.key === 'Enter'))
7400
+ .subscribe(evt => {
7401
+ if (!evt.defaultPrevented) {
7402
+ Promise.resolve().then(() => {
7403
+ this.handleAccept(evt);
7404
+ evt.stopPropagation();
7405
+ });
7406
+ }
7407
+ });
7408
+ let preventClose = false;
7409
+ if (this._dialogElementRef) {
7410
+ // listen to 'mousedown' and 'mouseup' to prevent dismissal when mouse is pressed inside
7411
+ // of the dialog window and then released outside
7412
+ fromEvent(this._dialogElementRef.nativeElement, 'mousedown')
7413
+ .pipe(takeUntil(this._closed$), tap(() => {
7414
+ preventClose = false;
7415
+ }), switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))), filter(({ target }) => nativeElement === target))
7416
+ .subscribe(() => {
7417
+ preventClose = true;
7418
+ });
7419
+ }
7420
+ // listen to 'click' events to dismiss on component/container click, except when
7421
+ // clicking inside the dialog window or when prevented by the above 'mousedown'
7422
+ // and 'mouseup' handlers
7423
+ fromEvent(nativeElement, 'click')
7424
+ .pipe(takeUntil(this._closed$))
7425
+ .subscribe(evt => {
7426
+ if (nativeElement === evt.target && !preventClose) {
7427
+ Promise.resolve().then(() => {
7428
+ this.handleDismiss(evt);
7429
+ evt.stopPropagation();
7430
+ });
7431
+ }
7432
+ preventClose = false;
7433
+ });
7203
7434
  }
7204
- /**
7205
- * Closes/hides the modal. Can be used programmatically.
7206
- */
7207
- close() {
7208
- this._show = false;
7209
- this._interactionService.dequeueBackdrop(this.interactableId);
7435
+ _disableEventHandling() {
7436
+ this._closed$.next();
7210
7437
  }
7438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ModalComponent, deps: [{ token: InteractionService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
7439
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ModalComponent, selector: "impdc-modal", inputs: { show: "show", theme: "theme", size: "size", iconName: "iconName", iconTheme: "iconTheme", titleText: "titleText", acceptText: "acceptText", dismissable: "dismissable", fade: "fade", backdrop: "backdrop" }, outputs: { dismiss: "dismiss", deny: "deny", accept: "accept" }, host: { attributes: { "tabindex": "-1" }, properties: { "class.fade": "fade", "class.in": "fade && shown", "class.show": "shown", "class.dismissable": "dismissable" }, classAttribute: "impdc modal" }, viewQueries: [{ propertyName: "_dialogElementRef", first: true, predicate: ["dialogElement"], descendants: true }, { propertyName: "dismissEl", first: true, predicate: ["dismissEl"], descendants: true }, { propertyName: "denyEl", first: true, predicate: ["denyEl"], descendants: true }, { propertyName: "acceptEl", first: true, predicate: ["acceptEl"], descendants: true }], ngImport: i0, template: "<div\n #dialogElement\n *ngIf=\"valid\"\n class=\"modal-dialog modal-dialog-centered modal-dialog-scrollable modal-theme-{{\n theme\n }}\"\n [class.modal-sm]=\"size === 'sm'\"\n [class.modal-lg]=\"size === 'lg'\"\n [class.modal-xl]=\"size === 'xl'\"\n [class.modal-fullscreen]=\"size === 'fs'\"\n [class.modal-fullscreen-lg-down]=\"size !== 'fs'\">\n <div class=\"modal-content\">\n <div *ngIf=\"showDestructiveIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </div>\n <div #header class=\"modal-header\" [class.hide]=\"hideHeader\">\n <h3 class=\"modal-title\">\n <span *ngIf=\"showWorkingIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </span>\n <span>{{ titleText }}</span>\n </h3>\n <button\n impdcButton\n *ngIf=\"dismissable\"\n theme=\"close\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\"></button>\n </div>\n <div #bodyEl class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div #footer class=\"modal-footer\">\n <span\n #dismissEl\n *ngIf=\"dismissable\"\n [class.hide]=\"!dismissEl.children.length\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\">\n <ng-content select=\"[dismiss]\"></ng-content>\n </span>\n <span\n #denyEl\n [class.hide]=\"!denyEl.children.length\"\n (click)=\"handleDeny($event); $event.stopPropagation()\">\n <ng-content select=\"[deny]\"></ng-content>\n </span>\n <span\n #acceptEl\n [class.hide]=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <ng-content select=\"[accept]\"></ng-content>\n </span>\n <span\n #acceptFallbackEl\n *ngIf=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <button\n impdcButton\n [text]=\"acceptText\"\n [theme]=\"acceptFallbackTheme\"></button>\n </span>\n </div>\n </div>\n</div>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host .modal-icon{display:inline-flex;justify-content:center;align-items:center;height:40px;width:40px;color:var(--impd-color-gray-500);background:var(--impd-color-gray-100);border-radius:50%;flex-shrink:0}:host .modal-icon .fa,:host .modal-icon .fa-brands,:host .modal-icon .fa-duotone,:host .modal-icon .fa-light,:host .modal-icon .fa-regular,:host .modal-icon .fa-solid,:host .modal-icon .fa-thin,:host .modal-icon .fab,:host .modal-icon .fad,:host .modal-icon .fal,:host .modal-icon .far,:host .modal-icon .fas,:host .modal-icon .fat{line-height:var(--impartner-hex-modal-title-line-height)}:host.fade.in{background-color:transparent}:host.show{display:block;opacity:1}:host:not(.show),:host.hide,:host .hide{display:none}:host.dismissable{cursor:pointer}:host.dismissable .modal-dialog{cursor:default}:host .modal-dialog{cursor:default;-webkit-user-select:auto;user-select:auto}:host .modal-theme-simple .modal-header,:host .modal-theme-destructive .modal-header{border:0;padding-bottom:0}:host .modal-theme-simple .modal-body,:host .modal-theme-destructive .modal-body{padding:calc(var(--impartner-hex-modal-padding) * .5) var(--impartner-hex-modal-padding) var(--impartner-hex-modal-padding)}:host .modal-theme-simple .modal-footer,:host .modal-theme-destructive .modal-footer{border:0;padding-top:0}:host .modal-theme-working .modal-footer{padding:calc(var(--impartner-hex-modal-padding) * .5 - var(--impartner-hex-modal-footer-gap) * .5) calc(var(--impartner-hex-modal-padding) - var(--impartner-hex-modal-footer-gap) * .5)}:host .modal-theme-destructive .modal-content{display:grid;grid-template-areas:\"modal-icon modal-header\" \"modal-icon modal-body\" \"modal-footer modal-footer\";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto}:host .modal-theme-destructive .modal-content>.modal-icon{grid-area:modal-icon;margin:var(--impartner-hex-modal-header-padding);margin-right:0;margin-bottom:0}:host .modal-theme-destructive .modal-content>.modal-header{grid-area:modal-header;padding-left:16px;margin-top:8px;justify-content:unset}:host .modal-theme-destructive .modal-content>.modal-body{grid-area:modal-body;padding-left:16px}:host .modal-theme-destructive .modal-content>.modal-footer{grid-area:modal-footer}:host .modal-theme-destructive .modal-icon{color:var(--impd-color-red-600);background:var(--impd-color-red-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] }); }
7211
7440
  }
7212
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
7213
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ModalComponent, selector: "impdc-modal", inputs: { show: "show", theme: "theme", size: "size", iconName: "iconName", iconTheme: "iconTheme", titleText: "titleText", acceptText: "acceptText", dismissable: "dismissable", fade: "fade", backdrop: "backdrop" }, outputs: { dismiss: "dismiss", deny: "deny", accept: "accept" }, viewQueries: [{ propertyName: "dismissEl", first: true, predicate: ["dismissEl"], descendants: true }, { propertyName: "denyEl", first: true, predicate: ["denyEl"], descendants: true }, { propertyName: "acceptEl", first: true, predicate: ["acceptEl"], descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"valid\"\n class=\"impdc modal\"\n [class.fade]=\"fade\"\n [class.in]=\"fade && shown\"\n [class.show]=\"shown\"\n [class.dismissable]=\"dismissable\"\n tabindex=\"-1\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\"\n (keydown.escape)=\"handleDismiss($event); $event.stopPropagation()\"\n (keydown.enter)=\"handleAccept($event); $event.stopPropagation()\">\n <div\n class=\"modal-dialog modal-dialog-centered modal-dialog-scrollable modal-theme-{{\n theme\n }}\"\n [class.modal-sm]=\"size === 'sm'\"\n [class.modal-lg]=\"size === 'lg'\"\n [class.modal-xl]=\"size === 'xl'\"\n [class.modal-fullscreen]=\"size === 'fs'\"\n [class.modal-fullscreen-lg-down]=\"size !== 'fs'\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"modal-content\">\n <div *ngIf=\"showDestructiveIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </div>\n <div #header class=\"modal-header\" [class.hide]=\"hideHeader\">\n <h3 class=\"modal-title\">\n <span *ngIf=\"showWorkingIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </span>\n <span>{{ titleText }}</span>\n </h3>\n <button\n impdcButton\n *ngIf=\"dismissable\"\n theme=\"close\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\"></button>\n </div>\n <div #bodyEl class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div #footer class=\"modal-footer\">\n <span\n #dismissEl\n *ngIf=\"dismissable\"\n [class.hide]=\"!dismissEl.children.length\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\">\n <ng-content select=\"[dismiss]\"></ng-content>\n </span>\n <span\n #denyEl\n [class.hide]=\"!denyEl.children.length\"\n (click)=\"handleDeny($event); $event.stopPropagation()\">\n <ng-content select=\"[deny]\"></ng-content>\n </span>\n <span\n #acceptEl\n [class.hide]=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <ng-content select=\"[accept]\"></ng-content>\n </span>\n <span\n #acceptFallbackEl\n *ngIf=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <button\n impdcButton\n [text]=\"acceptText\"\n [theme]=\"acceptFallbackTheme\"></button>\n </span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".impdc.modal{-webkit-user-select:none;user-select:none}.impdc.modal .modal-icon{display:inline-flex;justify-content:center;align-items:center;height:40px;width:40px;color:var(--impd-color-gray-500);background:var(--impd-color-gray-100);border-radius:50%;flex-shrink:0}.impdc.modal .modal-icon .fa,.impdc.modal .modal-icon .fa-brands,.impdc.modal .modal-icon .fa-duotone,.impdc.modal .modal-icon .fa-light,.impdc.modal .modal-icon .fa-regular,.impdc.modal .modal-icon .fa-solid,.impdc.modal .modal-icon .fa-thin,.impdc.modal .modal-icon .fab,.impdc.modal .modal-icon .fad,.impdc.modal .modal-icon .fal,.impdc.modal .modal-icon .far,.impdc.modal .modal-icon .fas,.impdc.modal .modal-icon .fat{line-height:var(--impartner-hex-modal-title-line-height)}.impdc.modal.fade.in{background-color:transparent}.impdc.modal.show{display:block;opacity:1}.impdc.modal:not(.show),.impdc.modal.hide,.impdc.modal .hide{display:none}.impdc.modal.dismissable{cursor:pointer}.impdc.modal.dismissable .modal-dialog{cursor:default}.impdc.modal .modal-dialog{cursor:default;-webkit-user-select:auto;user-select:auto}.impdc.modal .modal-theme-simple .modal-header,.impdc.modal .modal-theme-destructive .modal-header{border:0;padding-bottom:0}.impdc.modal .modal-theme-simple .modal-body,.impdc.modal .modal-theme-destructive .modal-body{padding:calc(var(--impartner-hex-modal-padding) * .5) var(--impartner-hex-modal-padding) var(--impartner-hex-modal-padding)}.impdc.modal .modal-theme-simple .modal-footer,.impdc.modal .modal-theme-destructive .modal-footer{border:0;padding-top:0}.impdc.modal .modal-theme-working .modal-footer{padding:calc(var(--impartner-hex-modal-padding) * .5 - var(--impartner-hex-modal-footer-gap) * .5) calc(var(--impartner-hex-modal-padding) - var(--impartner-hex-modal-footer-gap) * .5)}.impdc.modal .modal-theme-destructive .modal-content{display:grid;grid-template-areas:\"modal-icon modal-header\" \"modal-icon modal-body\" \"modal-footer modal-footer\";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto}.impdc.modal .modal-theme-destructive .modal-content>.modal-icon{grid-area:modal-icon;margin:var(--impartner-hex-modal-header-padding);margin-right:0;margin-bottom:0}.impdc.modal .modal-theme-destructive .modal-content>.modal-header{grid-area:modal-header;padding-left:16px;margin-top:8px;justify-content:unset}.impdc.modal .modal-theme-destructive .modal-content>.modal-body{grid-area:modal-body;padding-left:16px}.impdc.modal .modal-theme-destructive .modal-content>.modal-footer{grid-area:modal-footer}.impdc.modal .modal-theme-destructive .modal-icon{color:var(--impd-color-red-600);background:var(--impd-color-red-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
7214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalComponent, decorators: [{
7441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ModalComponent, decorators: [{
7215
7442
  type: Component,
7216
- args: [{ selector: 'impdc-modal', template: "<div\n *ngIf=\"valid\"\n class=\"impdc modal\"\n [class.fade]=\"fade\"\n [class.in]=\"fade && shown\"\n [class.show]=\"shown\"\n [class.dismissable]=\"dismissable\"\n tabindex=\"-1\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\"\n (keydown.escape)=\"handleDismiss($event); $event.stopPropagation()\"\n (keydown.enter)=\"handleAccept($event); $event.stopPropagation()\">\n <div\n class=\"modal-dialog modal-dialog-centered modal-dialog-scrollable modal-theme-{{\n theme\n }}\"\n [class.modal-sm]=\"size === 'sm'\"\n [class.modal-lg]=\"size === 'lg'\"\n [class.modal-xl]=\"size === 'xl'\"\n [class.modal-fullscreen]=\"size === 'fs'\"\n [class.modal-fullscreen-lg-down]=\"size !== 'fs'\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"modal-content\">\n <div *ngIf=\"showDestructiveIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </div>\n <div #header class=\"modal-header\" [class.hide]=\"hideHeader\">\n <h3 class=\"modal-title\">\n <span *ngIf=\"showWorkingIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </span>\n <span>{{ titleText }}</span>\n </h3>\n <button\n impdcButton\n *ngIf=\"dismissable\"\n theme=\"close\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\"></button>\n </div>\n <div #bodyEl class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div #footer class=\"modal-footer\">\n <span\n #dismissEl\n *ngIf=\"dismissable\"\n [class.hide]=\"!dismissEl.children.length\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\">\n <ng-content select=\"[dismiss]\"></ng-content>\n </span>\n <span\n #denyEl\n [class.hide]=\"!denyEl.children.length\"\n (click)=\"handleDeny($event); $event.stopPropagation()\">\n <ng-content select=\"[deny]\"></ng-content>\n </span>\n <span\n #acceptEl\n [class.hide]=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <ng-content select=\"[accept]\"></ng-content>\n </span>\n <span\n #acceptFallbackEl\n *ngIf=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <button\n impdcButton\n [text]=\"acceptText\"\n [theme]=\"acceptFallbackTheme\"></button>\n </span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".impdc.modal{-webkit-user-select:none;user-select:none}.impdc.modal .modal-icon{display:inline-flex;justify-content:center;align-items:center;height:40px;width:40px;color:var(--impd-color-gray-500);background:var(--impd-color-gray-100);border-radius:50%;flex-shrink:0}.impdc.modal .modal-icon .fa,.impdc.modal .modal-icon .fa-brands,.impdc.modal .modal-icon .fa-duotone,.impdc.modal .modal-icon .fa-light,.impdc.modal .modal-icon .fa-regular,.impdc.modal .modal-icon .fa-solid,.impdc.modal .modal-icon .fa-thin,.impdc.modal .modal-icon .fab,.impdc.modal .modal-icon .fad,.impdc.modal .modal-icon .fal,.impdc.modal .modal-icon .far,.impdc.modal .modal-icon .fas,.impdc.modal .modal-icon .fat{line-height:var(--impartner-hex-modal-title-line-height)}.impdc.modal.fade.in{background-color:transparent}.impdc.modal.show{display:block;opacity:1}.impdc.modal:not(.show),.impdc.modal.hide,.impdc.modal .hide{display:none}.impdc.modal.dismissable{cursor:pointer}.impdc.modal.dismissable .modal-dialog{cursor:default}.impdc.modal .modal-dialog{cursor:default;-webkit-user-select:auto;user-select:auto}.impdc.modal .modal-theme-simple .modal-header,.impdc.modal .modal-theme-destructive .modal-header{border:0;padding-bottom:0}.impdc.modal .modal-theme-simple .modal-body,.impdc.modal .modal-theme-destructive .modal-body{padding:calc(var(--impartner-hex-modal-padding) * .5) var(--impartner-hex-modal-padding) var(--impartner-hex-modal-padding)}.impdc.modal .modal-theme-simple .modal-footer,.impdc.modal .modal-theme-destructive .modal-footer{border:0;padding-top:0}.impdc.modal .modal-theme-working .modal-footer{padding:calc(var(--impartner-hex-modal-padding) * .5 - var(--impartner-hex-modal-footer-gap) * .5) calc(var(--impartner-hex-modal-padding) - var(--impartner-hex-modal-footer-gap) * .5)}.impdc.modal .modal-theme-destructive .modal-content{display:grid;grid-template-areas:\"modal-icon modal-header\" \"modal-icon modal-body\" \"modal-footer modal-footer\";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto}.impdc.modal .modal-theme-destructive .modal-content>.modal-icon{grid-area:modal-icon;margin:var(--impartner-hex-modal-header-padding);margin-right:0;margin-bottom:0}.impdc.modal .modal-theme-destructive .modal-content>.modal-header{grid-area:modal-header;padding-left:16px;margin-top:8px;justify-content:unset}.impdc.modal .modal-theme-destructive .modal-content>.modal-body{grid-area:modal-body;padding-left:16px}.impdc.modal .modal-theme-destructive .modal-content>.modal-footer{grid-area:modal-footer}.impdc.modal .modal-theme-destructive .modal-icon{color:var(--impd-color-red-600);background:var(--impd-color-red-100)}\n"] }]
7217
- }], ctorParameters: function () { return [{ type: InteractionService }]; }, propDecorators: { show: [{
7443
+ args: [{ selector: 'impdc-modal', host: {
7444
+ class: 'impdc modal',
7445
+ '[class.fade]': 'fade',
7446
+ '[class.in]': 'fade && shown',
7447
+ '[class.show]': 'shown',
7448
+ '[class.dismissable]': 'dismissable',
7449
+ tabindex: '-1'
7450
+ }, template: "<div\n #dialogElement\n *ngIf=\"valid\"\n class=\"modal-dialog modal-dialog-centered modal-dialog-scrollable modal-theme-{{\n theme\n }}\"\n [class.modal-sm]=\"size === 'sm'\"\n [class.modal-lg]=\"size === 'lg'\"\n [class.modal-xl]=\"size === 'xl'\"\n [class.modal-fullscreen]=\"size === 'fs'\"\n [class.modal-fullscreen-lg-down]=\"size !== 'fs'\">\n <div class=\"modal-content\">\n <div *ngIf=\"showDestructiveIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </div>\n <div #header class=\"modal-header\" [class.hide]=\"hideHeader\">\n <h3 class=\"modal-title\">\n <span *ngIf=\"showWorkingIcon\" class=\"modal-icon\">\n <span impdc-icon [name]=\"iconName\" [theme]=\"iconTheme\"></span>\n </span>\n <span>{{ titleText }}</span>\n </h3>\n <button\n impdcButton\n *ngIf=\"dismissable\"\n theme=\"close\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\"></button>\n </div>\n <div #bodyEl class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div #footer class=\"modal-footer\">\n <span\n #dismissEl\n *ngIf=\"dismissable\"\n [class.hide]=\"!dismissEl.children.length\"\n (click)=\"handleDismiss($event); $event.stopPropagation()\">\n <ng-content select=\"[dismiss]\"></ng-content>\n </span>\n <span\n #denyEl\n [class.hide]=\"!denyEl.children.length\"\n (click)=\"handleDeny($event); $event.stopPropagation()\">\n <ng-content select=\"[deny]\"></ng-content>\n </span>\n <span\n #acceptEl\n [class.hide]=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <ng-content select=\"[accept]\"></ng-content>\n </span>\n <span\n #acceptFallbackEl\n *ngIf=\"!acceptEl.children.length\"\n (click)=\"handleAccept($event); $event.stopPropagation()\">\n <button\n impdcButton\n [text]=\"acceptText\"\n [theme]=\"acceptFallbackTheme\"></button>\n </span>\n </div>\n </div>\n</div>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host .modal-icon{display:inline-flex;justify-content:center;align-items:center;height:40px;width:40px;color:var(--impd-color-gray-500);background:var(--impd-color-gray-100);border-radius:50%;flex-shrink:0}:host .modal-icon .fa,:host .modal-icon .fa-brands,:host .modal-icon .fa-duotone,:host .modal-icon .fa-light,:host .modal-icon .fa-regular,:host .modal-icon .fa-solid,:host .modal-icon .fa-thin,:host .modal-icon .fab,:host .modal-icon .fad,:host .modal-icon .fal,:host .modal-icon .far,:host .modal-icon .fas,:host .modal-icon .fat{line-height:var(--impartner-hex-modal-title-line-height)}:host.fade.in{background-color:transparent}:host.show{display:block;opacity:1}:host:not(.show),:host.hide,:host .hide{display:none}:host.dismissable{cursor:pointer}:host.dismissable .modal-dialog{cursor:default}:host .modal-dialog{cursor:default;-webkit-user-select:auto;user-select:auto}:host .modal-theme-simple .modal-header,:host .modal-theme-destructive .modal-header{border:0;padding-bottom:0}:host .modal-theme-simple .modal-body,:host .modal-theme-destructive .modal-body{padding:calc(var(--impartner-hex-modal-padding) * .5) var(--impartner-hex-modal-padding) var(--impartner-hex-modal-padding)}:host .modal-theme-simple .modal-footer,:host .modal-theme-destructive .modal-footer{border:0;padding-top:0}:host .modal-theme-working .modal-footer{padding:calc(var(--impartner-hex-modal-padding) * .5 - var(--impartner-hex-modal-footer-gap) * .5) calc(var(--impartner-hex-modal-padding) - var(--impartner-hex-modal-footer-gap) * .5)}:host .modal-theme-destructive .modal-content{display:grid;grid-template-areas:\"modal-icon modal-header\" \"modal-icon modal-body\" \"modal-footer modal-footer\";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto}:host .modal-theme-destructive .modal-content>.modal-icon{grid-area:modal-icon;margin:var(--impartner-hex-modal-header-padding);margin-right:0;margin-bottom:0}:host .modal-theme-destructive .modal-content>.modal-header{grid-area:modal-header;padding-left:16px;margin-top:8px;justify-content:unset}:host .modal-theme-destructive .modal-content>.modal-body{grid-area:modal-body;padding-left:16px}:host .modal-theme-destructive .modal-content>.modal-footer{grid-area:modal-footer}:host .modal-theme-destructive .modal-icon{color:var(--impd-color-red-600);background:var(--impd-color-red-100)}\n"] }]
7451
+ }], ctorParameters: () => [{ type: InteractionService }, { type: i0.ElementRef }], propDecorators: { _dialogElementRef: [{
7452
+ type: ViewChild,
7453
+ args: ['dialogElement']
7454
+ }], show: [{
7218
7455
  type: Input
7219
7456
  }], theme: [{
7220
7457
  type: Input
@@ -7257,21 +7494,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7257
7494
  * To use, import `BackdropModule` or another module that imports and exports that module from `@impartner/design-components`.
7258
7495
  */
7259
7496
  class BackdropComponent {
7260
- constructor(interactionService) {
7261
- this.interactionService = interactionService;
7497
+ constructor(_interactionService, _changeDetector) {
7498
+ this._interactionService = _interactionService;
7499
+ this._changeDetector = _changeDetector;
7500
+ this._ngDestroy = new Subject();
7262
7501
  this._valid = true;
7502
+ this._showBackdrop = false;
7263
7503
  }
7264
7504
  get valid() {
7265
7505
  return this._valid;
7266
7506
  }
7267
7507
  get show() {
7268
- return this.valid && this.interactionService.showBackdrop;
7508
+ return this.valid && this._showBackdrop;
7269
7509
  }
7270
7510
  ngOnInit() {
7271
- this.interactionService.registerBackdrop(this);
7511
+ this._interactionService.registerBackdrop(this);
7512
+ this._interactionService.showBackdrop$
7513
+ .pipe(takeUntil(this._ngDestroy))
7514
+ .subscribe(showBackdrop => {
7515
+ this._showBackdrop = showBackdrop;
7516
+ this._changeDetector.detectChanges();
7517
+ });
7272
7518
  }
7273
7519
  ngOnDestroy() {
7274
- this.interactionService.unregisterBackdrop(this);
7520
+ this._interactionService.unregisterBackdrop(this);
7521
+ this._ngDestroy.next();
7522
+ this._ngDestroy.complete();
7275
7523
  }
7276
7524
  invalidate() {
7277
7525
  this._valid = false;
@@ -7279,44 +7527,44 @@ class BackdropComponent {
7279
7527
  validate() {
7280
7528
  this._valid = true;
7281
7529
  }
7530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BackdropComponent, deps: [{ token: InteractionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
7531
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: BackdropComponent, selector: "impdc-backdrop", ngImport: i0, template: "<div *ngIf=\"valid\" class=\"impdc modal-backdrop fade\" [class.show]=\"show\"></div>\n", styles: [".impdc.modal-backdrop{position:fixed;left:0;top:0;width:100vw;height:100vh;-webkit-user-select:none;user-select:none}.impdc.modal-backdrop.fade{transition:opacity .3s linear}.impdc.modal-backdrop:not(.show){height:0;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7282
7532
  }
7283
- BackdropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BackdropComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
7284
- BackdropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BackdropComponent, selector: "impdc-backdrop", ngImport: i0, template: "<div *ngIf=\"valid\" class=\"impdc modal-backdrop fade\" [class.show]=\"show\"></div>\n", styles: [".impdc.modal-backdrop{position:fixed;left:0;top:0;width:100vw;height:100vh;-webkit-user-select:none;user-select:none}.impdc.modal-backdrop.fade{transition:opacity .3s linear}.impdc.modal-backdrop:not(.show){height:0;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BackdropComponent, decorators: [{
7533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BackdropComponent, decorators: [{
7286
7534
  type: Component,
7287
- args: [{ selector: 'impdc-backdrop', template: "<div *ngIf=\"valid\" class=\"impdc modal-backdrop fade\" [class.show]=\"show\"></div>\n", styles: [".impdc.modal-backdrop{position:fixed;left:0;top:0;width:100vw;height:100vh;-webkit-user-select:none;user-select:none}.impdc.modal-backdrop.fade{transition:opacity .3s linear}.impdc.modal-backdrop:not(.show){height:0;opacity:0;pointer-events:none}\n"] }]
7288
- }], ctorParameters: function () { return [{ type: InteractionService }]; } });
7535
+ args: [{ selector: 'impdc-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"valid\" class=\"impdc modal-backdrop fade\" [class.show]=\"show\"></div>\n", styles: [".impdc.modal-backdrop{position:fixed;left:0;top:0;width:100vw;height:100vh;-webkit-user-select:none;user-select:none}.impdc.modal-backdrop.fade{transition:opacity .3s linear}.impdc.modal-backdrop:not(.show){height:0;opacity:0;pointer-events:none}\n"] }]
7536
+ }], ctorParameters: () => [{ type: InteractionService }, { type: i0.ChangeDetectorRef }] });
7289
7537
 
7290
7538
  class BackdropModule {
7291
7539
  constructor() { }
7540
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BackdropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7541
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: BackdropModule, declarations: [BackdropComponent], imports: [CommonModule], exports: [BackdropComponent] }); }
7542
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BackdropModule, imports: [CommonModule] }); }
7292
7543
  }
7293
- BackdropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BackdropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7294
- BackdropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: BackdropModule, declarations: [BackdropComponent], imports: [CommonModule], exports: [BackdropComponent] });
7295
- BackdropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BackdropModule, imports: [CommonModule] });
7296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BackdropModule, decorators: [{
7544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BackdropModule, decorators: [{
7297
7545
  type: NgModule,
7298
7546
  args: [{
7299
7547
  imports: [CommonModule],
7300
7548
  declarations: [BackdropComponent],
7301
7549
  exports: [BackdropComponent]
7302
7550
  }]
7303
- }], ctorParameters: function () { return []; } });
7551
+ }], ctorParameters: () => [] });
7304
7552
 
7305
7553
  class ModalModule {
7306
7554
  constructor() { }
7555
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7556
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule,
7557
+ FormsModule,
7558
+ BackdropModule,
7559
+ ButtonModule,
7560
+ IconModule], exports: [BackdropModule, ButtonModule, IconModule, ModalComponent] }); }
7561
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ModalModule, imports: [CommonModule,
7562
+ FormsModule,
7563
+ BackdropModule,
7564
+ ButtonModule,
7565
+ IconModule, BackdropModule, ButtonModule, IconModule] }); }
7307
7566
  }
7308
- ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7309
- ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule,
7310
- FormsModule,
7311
- BackdropModule,
7312
- ButtonModule,
7313
- IconModule], exports: [BackdropModule, ButtonModule, IconModule, ModalComponent] });
7314
- ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalModule, imports: [CommonModule,
7315
- FormsModule,
7316
- BackdropModule,
7317
- ButtonModule,
7318
- IconModule, BackdropModule, ButtonModule, IconModule] });
7319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalModule, decorators: [{
7567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ModalModule, decorators: [{
7320
7568
  type: NgModule,
7321
7569
  args: [{
7322
7570
  imports: [
@@ -7329,7 +7577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7329
7577
  declarations: [ModalComponent],
7330
7578
  exports: [BackdropModule, ButtonModule, IconModule, ModalComponent]
7331
7579
  }]
7332
- }], ctorParameters: function () { return []; } });
7580
+ }], ctorParameters: () => [] });
7333
7581
 
7334
7582
  /**
7335
7583
  * The `ProgressBarComponent` (`<impdc-progress-bar`) is a display-only slider to show progress.
@@ -7350,13 +7598,13 @@ class ProgressBarComponent {
7350
7598
  */
7351
7599
  this.progressPercentage = 0;
7352
7600
  }
7601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7602
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ProgressBarComponent, selector: "impdc-progress-bar", inputs: { labelText: "labelText", statusText: "statusText", progressPercentage: "progressPercentage" }, ngImport: i0, template: "<div class=\"progress-container\">\n <div class=\"progress-text\">\n <div class=\"text-left\">\n {{ labelText }}\n </div>\n <div class=\"text-right\">\n {{ statusText }}\n </div>\n </div>\n <div class=\"bar-bg\">\n <div\n class=\"bar\"\n role=\"progressbar\"\n [style.width.%]=\"progressPercentage\"\n [attr.aria-valuenow]=\"progressPercentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n</div>\n", styles: [".progress-container{min-width:50rem;width:100%;display:flex;flex-direction:column}.progress-container .progress-text{color:#000;display:flex;flex-direction:row;font-size:1.4rem}.progress-container .text-left{flex-grow:1}.progress-container .bar-bg{height:.6rem;overflow:hidden;border-top-right-radius:.6rem;border-bottom-right-radius:.6rem;background-color:#e5e7eb}.progress-container .bar{height:.6rem;overflow:hidden;background-color:#1d4ed8}\n"] }); }
7353
7603
  }
7354
- ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7355
- ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ProgressBarComponent, selector: "impdc-progress-bar", inputs: { labelText: "labelText", statusText: "statusText", progressPercentage: "progressPercentage" }, ngImport: i0, template: "<div class=\"progress-container\">\n <div class=\"progress-text\">\n <div class=\"text-left\">\n {{ labelText }}\n </div>\n <div class=\"text-right\">\n {{ statusText }}\n </div>\n </div>\n <div class=\"bar-bg\">\n <div\n class=\"bar\"\n role=\"progressbar\"\n [style.width.%]=\"progressPercentage\"\n [attr.aria-valuenow]=\"progressPercentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n</div>\n", styles: [".progress-container{min-width:50rem;width:100%;display:flex;flex-direction:column}.progress-container .progress-text{color:#000;display:flex;flex-direction:row;font-size:1.4rem}.progress-container .text-left{flex-grow:1}.progress-container .bar-bg{height:.6rem;overflow:hidden;border-top-right-radius:.6rem;border-bottom-right-radius:.6rem;background-color:#e5e7eb}.progress-container .bar{height:.6rem;overflow:hidden;background-color:#1d4ed8}\n"] });
7356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ProgressBarComponent, decorators: [{
7604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ProgressBarComponent, decorators: [{
7357
7605
  type: Component,
7358
7606
  args: [{ selector: 'impdc-progress-bar', template: "<div class=\"progress-container\">\n <div class=\"progress-text\">\n <div class=\"text-left\">\n {{ labelText }}\n </div>\n <div class=\"text-right\">\n {{ statusText }}\n </div>\n </div>\n <div class=\"bar-bg\">\n <div\n class=\"bar\"\n role=\"progressbar\"\n [style.width.%]=\"progressPercentage\"\n [attr.aria-valuenow]=\"progressPercentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n</div>\n", styles: [".progress-container{min-width:50rem;width:100%;display:flex;flex-direction:column}.progress-container .progress-text{color:#000;display:flex;flex-direction:row;font-size:1.4rem}.progress-container .text-left{flex-grow:1}.progress-container .bar-bg{height:.6rem;overflow:hidden;border-top-right-radius:.6rem;border-bottom-right-radius:.6rem;background-color:#e5e7eb}.progress-container .bar{height:.6rem;overflow:hidden;background-color:#1d4ed8}\n"] }]
7359
- }], ctorParameters: function () { return []; }, propDecorators: { labelText: [{
7607
+ }], ctorParameters: () => [], propDecorators: { labelText: [{
7360
7608
  type: Input
7361
7609
  }], statusText: [{
7362
7610
  type: Input
@@ -7365,11 +7613,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7365
7613
  }] } });
7366
7614
 
7367
7615
  class ProgressBarModule {
7616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7617
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent], imports: [CommonModule], exports: [ProgressBarComponent] }); }
7618
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ProgressBarModule, imports: [CommonModule] }); }
7368
7619
  }
7369
- ProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7370
- ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent], imports: [CommonModule], exports: [ProgressBarComponent] });
7371
- ProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ProgressBarModule, imports: [CommonModule] });
7372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ProgressBarModule, decorators: [{
7620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ProgressBarModule, decorators: [{
7373
7621
  type: NgModule,
7374
7622
  args: [{
7375
7623
  imports: [CommonModule],
@@ -7385,10 +7633,10 @@ class DropdownItemComponent {
7385
7633
  */
7386
7634
  this.divider = false;
7387
7635
  }
7636
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7637
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: DropdownItemComponent, selector: "impdc-dropdown-item", inputs: { divider: "divider" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }); }
7388
7638
  }
7389
- DropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7390
- DropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DropdownItemComponent, selector: "impdc-dropdown-item", inputs: { divider: "divider" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" });
7391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemComponent, decorators: [{
7639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownItemComponent, decorators: [{
7392
7640
  type: Component,
7393
7641
  args: [{ selector: 'impdc-dropdown-item', template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
7394
7642
  }], propDecorators: { divider: [{
@@ -7405,9 +7653,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7405
7653
  * `DropdownModule` imports and exports [ButtonModule](./?path=/docs/design-components-button).
7406
7654
  */
7407
7655
  class DropdownComponent {
7656
+ get classDropdown() {
7657
+ return this.position === 'down';
7658
+ }
7659
+ get classDropend() {
7660
+ return this.position === 'right';
7661
+ }
7662
+ get classDropstart() {
7663
+ return this.position === 'left';
7664
+ }
7665
+ get classDropup() {
7666
+ return this.position === 'up';
7667
+ }
7668
+ handleHostClick($event) {
7669
+ $event.stopPropagation();
7670
+ }
7671
+ handleDocumentClick() {
7672
+ if (this.show) {
7673
+ this.hide();
7674
+ }
7675
+ }
7408
7676
  constructor(_interactionService) {
7409
7677
  this._interactionService = _interactionService;
7410
- this._interactableId = 0;
7678
+ this._interactableId = `impdc-dropdown-${nanoid()}`;
7679
+ this._initialized = false;
7411
7680
  /**
7412
7681
  * Whether or not the dropdown list is showing.
7413
7682
  */
@@ -7441,41 +7710,20 @@ class DropdownComponent {
7441
7710
  this.buttonClick = new EventEmitter();
7442
7711
  this.classBtnGroup = true;
7443
7712
  }
7444
- get classDropdown() {
7445
- return this.position === 'down';
7446
- }
7447
- get classDropend() {
7448
- return this.position === 'right';
7449
- }
7450
- get classDropstart() {
7451
- return this.position === 'left';
7452
- }
7453
- get classDropup() {
7454
- return this.position === 'up';
7455
- }
7456
- handleHostClick($event) {
7457
- $event.stopPropagation();
7458
- }
7459
- handleDocumentClick() {
7460
- if (this.show) {
7461
- this.hide();
7462
- }
7463
- }
7464
7713
  get interactableId() {
7465
7714
  return this._interactableId;
7466
7715
  }
7467
7716
  get valid() {
7468
- return this.interactableId > 0;
7717
+ return this._initialized;
7469
7718
  }
7470
7719
  get shown() {
7471
7720
  return this.valid && this.show;
7472
7721
  }
7473
7722
  ngOnInit() {
7474
- this._interactableId = this._interactionService.add(this);
7723
+ this._interactionService.add(this);
7475
7724
  }
7476
7725
  ngOnDestroy() {
7477
7726
  this._interactionService.remove(this.interactableId);
7478
- this._interactableId = 0;
7479
7727
  }
7480
7728
  handleToggle() {
7481
7729
  this.show = this._interactionService.toggle(this);
@@ -7488,13 +7736,13 @@ class DropdownComponent {
7488
7736
  this.show = false;
7489
7737
  this.toggle.emit(this.show);
7490
7738
  }
7739
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component }); }
7740
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", 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 }], exportAs: ["impdcDropdown"], 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }] }); }
7491
7741
  }
7492
- DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
7493
- 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }] });
7494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
7742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownComponent, decorators: [{
7495
7743
  type: Component,
7496
- 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"] }]
7497
- }], ctorParameters: function () { return [{ type: InteractionService }]; }, propDecorators: { show: [{
7744
+ args: [{ selector: 'impdc-dropdown, [impdc-dropdown]', exportAs: 'impdcDropdown', 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"] }]
7745
+ }], ctorParameters: () => [{ type: InteractionService }], propDecorators: { show: [{
7498
7746
  type: Input
7499
7747
  }], items: [{
7500
7748
  type: ContentChildren,
@@ -7536,18 +7784,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7536
7784
 
7537
7785
  class DropdownModule {
7538
7786
  constructor() { }
7787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7788
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: DropdownModule, declarations: [DropdownItemComponent, DropdownComponent], imports: [CommonModule, ButtonModule], exports: [ButtonModule, DropdownItemComponent, DropdownComponent] }); }
7789
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownModule, imports: [CommonModule, ButtonModule, ButtonModule] }); }
7539
7790
  }
7540
- DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7541
- DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, declarations: [DropdownItemComponent, DropdownComponent], imports: [CommonModule, ButtonModule], exports: [ButtonModule, DropdownItemComponent, DropdownComponent] });
7542
- DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, imports: [CommonModule, ButtonModule, ButtonModule] });
7543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, decorators: [{
7791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DropdownModule, decorators: [{
7544
7792
  type: NgModule,
7545
7793
  args: [{
7546
7794
  imports: [CommonModule, ButtonModule],
7547
7795
  declarations: [DropdownItemComponent, DropdownComponent],
7548
7796
  exports: [ButtonModule, DropdownItemComponent, DropdownComponent]
7549
7797
  }]
7550
- }], ctorParameters: function () { return []; } });
7798
+ }], ctorParameters: () => [] });
7551
7799
 
7552
7800
  /**
7553
7801
  * The `AlertComponent` (`<impdc-alert` or `<any impdc-alert`) is intended to show information or feedback inline with content.
@@ -7620,10 +7868,10 @@ class AlertComponent {
7620
7868
  this.show = false;
7621
7869
  this.dismiss.emit();
7622
7870
  }
7871
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7872
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: AlertComponent, selector: "impdc-alert, [impdc-alert]", inputs: { theme: "theme", show: "show", headingText: "headingText", bodyText: "bodyText", inline: "inline", hideIcon: "hideIcon", dismissible: "dismissible" }, outputs: { dismiss: "dismiss" }, ngImport: i0, template: "<div *ngIf=\"show\" class=\"impdc alert\" [ngClass]=\"componentClasses\">\n <ng-container *ngIf=\"!hideIcon\">\n <span #alertIcon [hidden]=\"!alertIcon.children.length\" class=\"alert-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </span>\n <span *ngIf=\"!alertIcon.children.length\" class=\"alert-icon\">\n <span impdc-icon [name]=\"themeIconName\"></span>\n </span>\n </ng-container>\n\n <div class=\"alert-content\">\n <div class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n <span *ngIf=\"headingText\">{{ headingText }}</span>\n </div>\n\n <div\n #bodyContent\n class=\"alert-body\"\n [hidden]=\"!bodyContent.children.length\">\n <div *ngIf=\"bodyText\">{{ bodyText }}</div>\n\n <ng-content></ng-content>\n\n <div\n #alertActions\n [hidden]=\"!alertActions.children.length\"\n class=\"alert-actions\">\n <ng-content select=\"[action]\"></ng-content>\n </div>\n </div>\n </div>\n\n <a\n *ngIf=\"dismissible\"\n class=\"close-icon\"\n (click)=\"closeAlert()\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\">\n <span impdc-icon name=\"times\" theme=\"regular\"></span>\n </a>\n</div>\n", styles: [".impdc.alert{display:flex;gap:1.2rem}.impdc.alert .alert-icon,.impdc.alert .close-icon{display:flex;width:2rem;height:2rem;font-size:1.6rem;line-height:2rem;align-items:center;justify-content:center}.impdc.alert .alert-content{flex:1;display:flex;flex-direction:column;gap:.8rem}.impdc.alert .alert-content .alert-heading{display:flex;align-items:center;gap:1.2rem}.impdc.alert .alert-content .alert-body{display:flex;flex-direction:column;gap:1.6rem;font-size:1.4rem;font-weight:400;line-height:2rem}.impdc.alert .alert-content .alert-body .alert-actions{display:flex;gap:2.8rem}.impdc.alert .alert-content .alert-body .alert-actions ::ng-deep a{font-size:1.4rem;font-weight:500;line-height:2rem;text-decoration-line:underline;color:var(--impartner-hex-alert-action-color)}.impdc.alert .close-icon{cursor:pointer;color:var(--impartner-hex-btn-close-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] }); }
7623
7873
  }
7624
- AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7625
- AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AlertComponent, selector: "impdc-alert, [impdc-alert]", inputs: { theme: "theme", show: "show", headingText: "headingText", bodyText: "bodyText", inline: "inline", hideIcon: "hideIcon", dismissible: "dismissible" }, outputs: { dismiss: "dismiss" }, ngImport: i0, template: "<div *ngIf=\"show\" class=\"impdc alert\" [ngClass]=\"componentClasses\">\n <ng-container *ngIf=\"!hideIcon\">\n <span #alertIcon [hidden]=\"!alertIcon.children.length\" class=\"alert-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </span>\n <span *ngIf=\"!alertIcon.children.length\" class=\"alert-icon\">\n <span impdc-icon [name]=\"themeIconName\"></span>\n </span>\n </ng-container>\n\n <div class=\"alert-content\">\n <div class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n <span *ngIf=\"headingText\">{{ headingText }}</span>\n </div>\n\n <div\n #bodyContent\n class=\"alert-body\"\n [hidden]=\"!bodyContent.children.length\">\n <div *ngIf=\"bodyText\">{{ bodyText }}</div>\n\n <ng-content></ng-content>\n\n <div\n #alertActions\n [hidden]=\"!alertActions.children.length\"\n class=\"alert-actions\">\n <ng-content select=\"[action]\"></ng-content>\n </div>\n </div>\n </div>\n\n <a\n *ngIf=\"dismissible\"\n class=\"close-icon\"\n (click)=\"closeAlert()\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\">\n <span impdc-icon name=\"times\" theme=\"regular\"></span>\n </a>\n</div>\n", styles: [".impdc.alert{display:flex;gap:1.2rem}.impdc.alert .alert-icon,.impdc.alert .close-icon{display:flex;width:2rem;height:2rem;font-size:1.6rem;line-height:2rem;align-items:center;justify-content:center}.impdc.alert .alert-content{flex:1;display:flex;flex-direction:column;gap:.8rem}.impdc.alert .alert-content .alert-heading{display:flex;align-items:center;gap:1.2rem}.impdc.alert .alert-content .alert-body{display:flex;flex-direction:column;gap:1.6rem;font-size:1.4rem;font-weight:400;line-height:2rem}.impdc.alert .alert-content .alert-body .alert-actions{display:flex;gap:2.8rem}.impdc.alert .alert-content .alert-body .alert-actions ::ng-deep a{font-size:1.4rem;font-weight:500;line-height:2rem;text-decoration-line:underline;color:var(--impartner-hex-alert-action-color)}.impdc.alert .close-icon{cursor:pointer;color:var(--impartner-hex-btn-close-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
7626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AlertComponent, decorators: [{
7874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AlertComponent, decorators: [{
7627
7875
  type: Component,
7628
7876
  args: [{ selector: 'impdc-alert, [impdc-alert]', template: "<div *ngIf=\"show\" class=\"impdc alert\" [ngClass]=\"componentClasses\">\n <ng-container *ngIf=\"!hideIcon\">\n <span #alertIcon [hidden]=\"!alertIcon.children.length\" class=\"alert-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </span>\n <span *ngIf=\"!alertIcon.children.length\" class=\"alert-icon\">\n <span impdc-icon [name]=\"themeIconName\"></span>\n </span>\n </ng-container>\n\n <div class=\"alert-content\">\n <div class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n <span *ngIf=\"headingText\">{{ headingText }}</span>\n </div>\n\n <div\n #bodyContent\n class=\"alert-body\"\n [hidden]=\"!bodyContent.children.length\">\n <div *ngIf=\"bodyText\">{{ bodyText }}</div>\n\n <ng-content></ng-content>\n\n <div\n #alertActions\n [hidden]=\"!alertActions.children.length\"\n class=\"alert-actions\">\n <ng-content select=\"[action]\"></ng-content>\n </div>\n </div>\n </div>\n\n <a\n *ngIf=\"dismissible\"\n class=\"close-icon\"\n (click)=\"closeAlert()\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\">\n <span impdc-icon name=\"times\" theme=\"regular\"></span>\n </a>\n</div>\n", styles: [".impdc.alert{display:flex;gap:1.2rem}.impdc.alert .alert-icon,.impdc.alert .close-icon{display:flex;width:2rem;height:2rem;font-size:1.6rem;line-height:2rem;align-items:center;justify-content:center}.impdc.alert .alert-content{flex:1;display:flex;flex-direction:column;gap:.8rem}.impdc.alert .alert-content .alert-heading{display:flex;align-items:center;gap:1.2rem}.impdc.alert .alert-content .alert-body{display:flex;flex-direction:column;gap:1.6rem;font-size:1.4rem;font-weight:400;line-height:2rem}.impdc.alert .alert-content .alert-body .alert-actions{display:flex;gap:2.8rem}.impdc.alert .alert-content .alert-body .alert-actions ::ng-deep a{font-size:1.4rem;font-weight:500;line-height:2rem;text-decoration-line:underline;color:var(--impartner-hex-alert-action-color)}.impdc.alert .close-icon{cursor:pointer;color:var(--impartner-hex-btn-close-color)}\n"] }]
7629
7877
  }], propDecorators: { theme: [{
@@ -7645,11 +7893,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7645
7893
  }] } });
7646
7894
 
7647
7895
  class AlertModule {
7896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7897
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: AlertModule, declarations: [AlertComponent], imports: [CommonModule, IconModule], exports: [IconModule, AlertComponent] }); }
7898
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AlertModule, imports: [CommonModule, IconModule, IconModule] }); }
7648
7899
  }
7649
- AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7650
- AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AlertModule, declarations: [AlertComponent], imports: [CommonModule, IconModule], exports: [IconModule, AlertComponent] });
7651
- AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AlertModule, imports: [CommonModule, IconModule, IconModule] });
7652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AlertModule, decorators: [{
7900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AlertModule, decorators: [{
7653
7901
  type: NgModule,
7654
7902
  args: [{
7655
7903
  imports: [CommonModule, IconModule],
@@ -7682,10 +7930,10 @@ class FileDropDirective {
7682
7930
  this.filesDropped.emit(fileList);
7683
7931
  }
7684
7932
  }
7933
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7934
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.1", type: FileDropDirective, selector: "[impdcFileDrop]", outputs: { filesDropped: "filesDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "OnDrop($event)" }, properties: { "class.file-hover": "this.fileHovering" } }, ngImport: i0 }); }
7685
7935
  }
7686
- FileDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7687
- FileDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FileDropDirective, selector: "[impdcFileDrop]", outputs: { filesDropped: "filesDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "OnDrop($event)" }, properties: { "class.file-hover": "this.fileHovering" } }, ngImport: i0 });
7688
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileDropDirective, decorators: [{
7936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileDropDirective, decorators: [{
7689
7937
  type: Directive,
7690
7938
  args: [{
7691
7939
  selector: '[impdcFileDrop]'
@@ -7717,10 +7965,10 @@ class HumanReadableByteSizePipe {
7717
7965
  const display = round < 10 ? num.toFixed(2) : round < 100 ? num.toFixed(1) : round;
7718
7966
  return `${display}${'KMGTPEZY'[i - 1]}B`;
7719
7967
  }
7968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: HumanReadableByteSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
7969
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: HumanReadableByteSizePipe, name: "humanReadableByteSize" }); }
7720
7970
  }
7721
- HumanReadableByteSizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HumanReadableByteSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
7722
- HumanReadableByteSizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: HumanReadableByteSizePipe, name: "humanReadableByteSize" });
7723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HumanReadableByteSizePipe, decorators: [{
7971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: HumanReadableByteSizePipe, decorators: [{
7724
7972
  type: Pipe,
7725
7973
  args: [{
7726
7974
  name: 'humanReadableByteSize'
@@ -7742,6 +7990,24 @@ const _FileUploadComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(cla
7742
7990
  * To use, import `FileUploadModule` or another module that imports and exports that module from `@impartner/design-components`.
7743
7991
  */
7744
7992
  class FileUploadComponent extends _FileUploadComponentBase {
7993
+ get canUpload() {
7994
+ return this.multiple || this._value.length === 0;
7995
+ }
7996
+ get acceptTypes() {
7997
+ if (!this.accept || !this.accept.length) {
7998
+ return [];
7999
+ }
8000
+ return this.accept
8001
+ .split(',')
8002
+ .map(a => a.trim())
8003
+ .filter(a => !!a);
8004
+ }
8005
+ get empty() {
8006
+ return this._value.length === 0;
8007
+ }
8008
+ get filesForDisplay() {
8009
+ return this._value || [];
8010
+ }
7745
8011
  constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
7746
8012
  super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
7747
8013
  this._changeDetector = _changeDetector;
@@ -7770,24 +8036,6 @@ class FileUploadComponent extends _FileUploadComponentBase {
7770
8036
  }
7771
8037
  this.id = this.id;
7772
8038
  }
7773
- get canUpload() {
7774
- return this.multiple || this._value.length === 0;
7775
- }
7776
- get acceptTypes() {
7777
- if (!this.accept || !this.accept.length) {
7778
- return [];
7779
- }
7780
- return this.accept
7781
- .split(',')
7782
- .map(a => a.trim())
7783
- .filter(a => !!a);
7784
- }
7785
- get empty() {
7786
- return this._value.length === 0;
7787
- }
7788
- get filesForDisplay() {
7789
- return this._value || [];
7790
- }
7791
8039
  /** @ignore */
7792
8040
  handleChange(event) {
7793
8041
  const fileList = (event.target || {})
@@ -7983,15 +8231,15 @@ class FileUploadComponent extends _FileUploadComponentBase {
7983
8231
  const acceptedByExtension = this.acceptTypes.some(type => fileExtensions.includes(type));
7984
8232
  return acceptedByExtension;
7985
8233
  }
8234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
8235
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: FileUploadComponent, selector: "impdc-file-upload, [impdc-file-upload]", inputs: { disabled: "disabled", tabIndex: "tabIndex", multiple: "multiple", uploadText: "uploadText", accept: "accept", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.impdc-file-upload--required": "required", "class.impdc-file-upload--disabled": "disabled", "class.impdc-file-upload--invalid": "errorState", "class.impdc-file-upload--multiple": "multiple", "class.impdc-file-upload--empty": "empty" }, classAttribute: "impdc-file-upload" }, providers: [
8236
+ {
8237
+ provide: ImpdcFormFieldControl,
8238
+ useExisting: FileUploadComponent
8239
+ }
8240
+ ], viewQueries: [{ propertyName: "fileDropElementRef", first: true, predicate: FileDropDirective, descendants: true, read: ElementRef }, { propertyName: "fileUploadInputEltRef", first: true, predicate: ["fileUploadInputElt"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label>button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: FileDropDirective, selector: "[impdcFileDrop]", outputs: ["filesDropped"] }, { kind: "pipe", type: HumanReadableByteSizePipe, name: "humanReadableByteSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7986
8241
  }
7987
- FileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
7988
- FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileUploadComponent, selector: "impdc-file-upload, [impdc-file-upload]", inputs: { disabled: "disabled", tabIndex: "tabIndex", multiple: "multiple", uploadText: "uploadText", accept: "accept", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.impdc-file-upload--required": "required", "class.impdc-file-upload--disabled": "disabled", "class.impdc-file-upload--invalid": "errorState", "class.impdc-file-upload--multiple": "multiple", "class.impdc-file-upload--empty": "empty" }, classAttribute: "impdc-file-upload" }, providers: [
7989
- {
7990
- provide: ImpdcFormFieldControl,
7991
- useExisting: FileUploadComponent
7992
- }
7993
- ], viewQueries: [{ propertyName: "fileDropElementRef", first: true, predicate: FileDropDirective, descendants: true, read: ElementRef }, { propertyName: "fileUploadInputEltRef", first: true, predicate: ["fileUploadInputElt"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label > button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: FileDropDirective, selector: "[impdcFileDrop]", outputs: ["filesDropped"] }, { kind: "pipe", type: HumanReadableByteSizePipe, name: "humanReadableByteSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
8242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileUploadComponent, decorators: [{
7995
8243
  type: Component,
7996
8244
  args: [{ selector: 'impdc-file-upload, [impdc-file-upload]', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
7997
8245
  class: 'impdc-file-upload',
@@ -8011,8 +8259,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8011
8259
  provide: ImpdcFormFieldControl,
8012
8260
  useExisting: FileUploadComponent
8013
8261
  }
8014
- ], template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label > button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"] }]
8015
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
8262
+ ], template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label>button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"] }]
8263
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
8016
8264
  type: Optional
8017
8265
  }, {
8018
8266
  type: Inject,
@@ -8025,7 +8273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8025
8273
  type: Self
8026
8274
  }, {
8027
8275
  type: Optional
8028
- }] }]; }, propDecorators: { fileDropElementRef: [{
8276
+ }] }], propDecorators: { fileDropElementRef: [{
8029
8277
  type: ViewChild,
8030
8278
  args: [FileDropDirective, { read: ElementRef }]
8031
8279
  }], fileUploadInputEltRef: [{
@@ -8049,13 +8297,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8049
8297
 
8050
8298
  class FileUploadModule {
8051
8299
  constructor() { }
8300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8301
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: FileUploadModule, declarations: [FileDropDirective,
8302
+ FileUploadComponent,
8303
+ HumanReadableByteSizePipe], imports: [CommonModule, FormsModule, ButtonModule, IconModule], exports: [IconModule, FileDropDirective, FileUploadComponent] }); }
8304
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileUploadModule, imports: [CommonModule, FormsModule, ButtonModule, IconModule, IconModule] }); }
8052
8305
  }
8053
- FileUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8054
- FileUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: FileUploadModule, declarations: [FileDropDirective,
8055
- FileUploadComponent,
8056
- HumanReadableByteSizePipe], imports: [CommonModule, FormsModule, ButtonModule, IconModule], exports: [IconModule, FileDropDirective, FileUploadComponent] });
8057
- FileUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadModule, imports: [CommonModule, FormsModule, ButtonModule, IconModule, IconModule] });
8058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadModule, decorators: [{
8306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: FileUploadModule, decorators: [{
8059
8307
  type: NgModule,
8060
8308
  args: [{
8061
8309
  imports: [CommonModule, FormsModule, ButtonModule, IconModule],
@@ -8066,7 +8314,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8066
8314
  ],
8067
8315
  exports: [IconModule, FileDropDirective, FileUploadComponent]
8068
8316
  }]
8069
- }], ctorParameters: function () { return []; } });
8317
+ }], ctorParameters: () => [] });
8070
8318
 
8071
8319
  /**
8072
8320
  * The `AvatarComponent` (`<impdc-avatar`) is a rounded user avatar/icon with an optional status color.
@@ -8095,10 +8343,10 @@ class AvatarComponent {
8095
8343
  get avatarHasImg() {
8096
8344
  return this.imgSrc && this.imgSrc.length > 0 ? true : false;
8097
8345
  }
8346
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8347
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: AvatarComponent, selector: "impdc-avatar", inputs: { imgSrc: "imgSrc", initials: "initials", status: "status", size: "size" }, ngImport: i0, template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span impdc-icon name=\"user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] }); }
8098
8348
  }
8099
- AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8100
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AvatarComponent, selector: "impdc-avatar", inputs: { imgSrc: "imgSrc", initials: "initials", status: "status", size: "size" }, ngImport: i0, template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span impdc-icon name=\"user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
8101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarComponent, decorators: [{
8349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarComponent, decorators: [{
8102
8350
  type: Component,
8103
8351
  args: [{ selector: 'impdc-avatar', template: "<div class=\"avatar-container\">\n <span class=\"avatar-status\" *ngIf=\"status\" [ngClass]=\"[size, status]\"></span>\n\n <img\n class=\"avatar\"\n *ngIf=\"avatarHasImg\"\n [attr.src]=\"imgSrc\"\n [ngClass]=\"size\" />\n <div\n class=\"avatar initials\"\n *ngIf=\"!avatarHasImg && initials\"\n [ngClass]=\"size\">\n {{ initials.toUpperCase() }}\n </div>\n\n <div\n class=\"avatar fallback\"\n *ngIf=\"!avatarHasImg && !initials\"\n [ngClass]=\"size\">\n <span impdc-icon name=\"user\"></span>\n </div>\n</div>\n", styles: [".avatar-container{display:flex;position:relative;align-items:center;justify-content:center}.avatar-right{margin-left:1.2rem}.avatar{border-radius:50%}.avatar.xs{height:2.4rem;width:2.4rem}.avatar.sm{height:3.2rem;width:3.2rem}.avatar.md{height:4rem;width:4rem}.avatar.lg{height:4.8rem;width:4.8rem}.avatar.xl{height:5.6rem;width:5.6rem}.avatar.xxl{height:6.4rem;width:6.4rem}.avatar.initials{background-color:var(--impd-color-gray-400);color:var(--impd-color-white)}.avatar.initials.xs{font-size:1.2rem}.avatar.initials.sm{font-size:1.4rem}.avatar.initials.md{font-size:1.6rem}.avatar.initials.lg{font-size:1.8rem}.avatar.initials.xl{font-size:2rem}.avatar.initials.xxl{font-size:2.2rem}.avatar.fallback{background:var(--impd-color-gray-100);color:var(--impd-color-gray-300)}.avatar.fallback.xs{font-size:1.2rem}.avatar.fallback.sm{font-size:1.7rem}.avatar.fallback.md{font-size:2.3rem}.avatar.fallback.lg{font-size:2.9rem}.avatar.fallback.xl{font-size:3.5rem}.avatar.fallback.xxl{font-size:3.9rem}.avatar.initials,.avatar.fallback{display:flex;align-items:center;justify-content:center}.avatar-status{border-radius:50%;border:.2rem solid var(--impd-color-white);position:absolute;top:0;right:0}.avatar-status.xs{height:.6rem;width:.6rem}.avatar-status.sm{height:.8rem;width:.8rem}.avatar-status.md{height:1rem;width:1rem}.avatar-status.lg{height:1.2rem;width:1.2rem}.avatar-status.xl{height:1.4rem;width:1.4rem}.avatar-status.xxl{height:1.6rem;width:1.6rem}.avatar-status.active{background-color:var(--impd-color-green-400)}.avatar-status.inactive{background-color:var(--impd-color-gray-300)}.avatar-status.busy{background-color:var(--impd-color-red-400)}\n"] }]
8104
8352
  }], propDecorators: { imgSrc: [{
@@ -8112,11 +8360,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8112
8360
  }] } });
8113
8361
 
8114
8362
  class AvatarModule {
8363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8364
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule, IconModule], exports: [IconModule, AvatarComponent] }); }
8365
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarModule, imports: [CommonModule, IconModule, IconModule] }); }
8115
8366
  }
8116
- AvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8117
- AvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule, IconModule], exports: [IconModule, AvatarComponent] });
8118
- AvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, imports: [CommonModule, IconModule, IconModule] });
8119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarModule, decorators: [{
8367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarModule, decorators: [{
8120
8368
  type: NgModule,
8121
8369
  args: [{
8122
8370
  imports: [CommonModule, IconModule],
@@ -8131,20 +8379,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8131
8379
  * `AvatarGroupModule` also imports and exports [AvatarModule](./?path=/docs/design-components-avatar--single)
8132
8380
  */
8133
8381
  class AvatarGroupComponent {
8382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: AvatarGroupComponent, selector: "impdc-avatar-group", ngImport: i0, template: "<div class=\"avatar-group\">\n <ng-content select=\"impdc-avatar\"></ng-content>\n</div>\n", styles: [".avatar-group{display:flex}::ng-deep impdc-avatar-group .avatar{border:.2rem solid #fff}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xs{margin-left:-1rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.sm{margin-left:-1.2rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.md{margin-left:-1.4rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.lg{margin-left:-1.6rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xl{margin-left:-1.8rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xxl{margin-left:-2rem}\n"] }); }
8134
8384
  }
8135
- AvatarGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8136
- AvatarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AvatarGroupComponent, selector: "impdc-avatar-group", ngImport: i0, template: "<div class=\"avatar-group\">\n <ng-content select=\"impdc-avatar\"></ng-content>\n</div>\n", styles: [".avatar-group{display:flex}::ng-deep impdc-avatar-group .avatar{border:.2rem solid #fff}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xs{margin-left:-1rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.sm{margin-left:-1.2rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.md{margin-left:-1.4rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.lg{margin-left:-1.6rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xl{margin-left:-1.8rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xxl{margin-left:-2rem}\n"] });
8137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarGroupComponent, decorators: [{
8385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarGroupComponent, decorators: [{
8138
8386
  type: Component,
8139
8387
  args: [{ selector: 'impdc-avatar-group', template: "<div class=\"avatar-group\">\n <ng-content select=\"impdc-avatar\"></ng-content>\n</div>\n", styles: [".avatar-group{display:flex}::ng-deep impdc-avatar-group .avatar{border:.2rem solid #fff}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xs{margin-left:-1rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.sm{margin-left:-1.2rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.md{margin-left:-1.4rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.lg{margin-left:-1.6rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xl{margin-left:-1.8rem}::ng-deep impdc-avatar:not(:first-of-type) .avatar.xxl{margin-left:-2rem}\n"] }]
8140
8388
  }] });
8141
8389
 
8142
8390
  class AvatarGroupModule {
8391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8392
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: AvatarGroupModule, declarations: [AvatarGroupComponent], imports: [CommonModule, AvatarModule], exports: [AvatarModule, AvatarGroupComponent] }); }
8393
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarGroupModule, imports: [CommonModule, AvatarModule, AvatarModule] }); }
8143
8394
  }
8144
- AvatarGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8145
- AvatarGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AvatarGroupModule, declarations: [AvatarGroupComponent], imports: [CommonModule, AvatarModule], exports: [AvatarModule, AvatarGroupComponent] });
8146
- AvatarGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarGroupModule, imports: [CommonModule, AvatarModule, AvatarModule] });
8147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AvatarGroupModule, decorators: [{
8395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: AvatarGroupModule, decorators: [{
8148
8396
  type: NgModule,
8149
8397
  args: [{
8150
8398
  declarations: [AvatarGroupComponent],
@@ -8154,14 +8402,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8154
8402
  }] });
8155
8403
 
8156
8404
  class BreadcrumbItemComponent {
8157
- }
8158
- BreadcrumbItemComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8159
- BreadcrumbItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BreadcrumbItemComponent, selector: "impdc-breadcrumb-item", viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, read: TemplateRef }], ngImport: i0, template: `
8405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8406
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: BreadcrumbItemComponent, selector: "impdc-breadcrumb-item", viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, read: TemplateRef }], ngImport: i0, template: `
8160
8407
  <ng-template #content>
8161
8408
  <ng-content></ng-content>
8162
8409
  </ng-template>
8163
- `, isInline: true });
8164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{
8410
+ `, isInline: true }); }
8411
+ }
8412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{
8165
8413
  type: Component,
8166
8414
  args: [{
8167
8415
  selector: 'impdc-breadcrumb-item',
@@ -8193,13 +8441,13 @@ class BreadcrumbComponent {
8193
8441
  ngAfterViewInit() {
8194
8442
  this._changeDetectorRef.detectChanges();
8195
8443
  }
8444
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
8445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: BreadcrumbComponent, selector: "impdc-breadcrumb, div[impdc-breadcrumb]", inputs: { label: "label" }, host: { properties: { "class.impdc-breadcrumb": "this.impdcBreadcrumb" } }, queries: [{ propertyName: "breadcrumbItems", predicate: BreadcrumbItemComponent }], ngImport: i0, template: "<nav class=\"impdc-breadcrumb\" [attr.aria-label]=\"label || 'breadcrumb'\">\n <ol>\n <li\n *ngFor=\"let breadcrumbItem of breadcrumbItems; last as isLast\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <ng-container\n [ngTemplateOutlet]=\"breadcrumbItem.contentTemplate\"></ng-container>\n </li>\n </ol>\n</nav>\n", styles: [".impdc-breadcrumb{--impartner-hex-link-color: var(--impd-color-gray-500, #6b7280);--impartner-hex-link-hover-color: var(--impd-color-gray-700, #374151);font-size:var(--impd-font-size-sm, 1.4rem);line-height:2rem;color:var(--impd-color-gray-500, #6b7280);font-weight:500}.impdc-breadcrumb a:not([href]):not([class]){color:var(--impartner-hex-link-color)}.impdc-breadcrumb a:not([href]):not([class]):hover{color:var(--impartner-hex-link-hover-color)}.impdc-breadcrumb ol,.impdc-breadcrumb ol li.impdc-crumb{display:inline-flex;align-items:center;vertical-align:middle}.impdc-breadcrumb ol{margin:0;padding-left:0;list-style:none}.impdc-breadcrumb li+li:before{margin:0 .8rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;width:2rem;font-family:\"Font Awesome 6 Pro\",\"Font Awesome 6 Free\",\"Font Awesome 5 Pro\",\"Font Awesome 5 Free\";font-size:var(--impd-font-size-sm, 1.4rem);line-height:2rem;color:var(--impd-color-gray-400, #6b7280);font-weight:900;content:\"\\f054\";text-rendering:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
8196
8446
  }
8197
- BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8198
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BreadcrumbComponent, selector: "impdc-breadcrumb, div[impdc-breadcrumb]", inputs: { label: "label" }, host: { properties: { "class.impdc-breadcrumb": "this.impdcBreadcrumb" } }, queries: [{ propertyName: "breadcrumbItems", predicate: BreadcrumbItemComponent }], ngImport: i0, template: "<nav class=\"impdc-breadcrumb\" [attr.aria-label]=\"label || 'breadcrumb'\">\n <ol>\n <li\n *ngFor=\"let breadcrumbItem of breadcrumbItems; last as isLast\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <ng-container\n [ngTemplateOutlet]=\"breadcrumbItem.contentTemplate\"></ng-container>\n </li>\n </ol>\n</nav>\n", styles: [".impdc-breadcrumb{--impartner-hex-link-color: var(--impd-color-gray-500, #6b7280);--impartner-hex-link-hover-color: var(--impd-color-gray-700, #374151);font-size:var(--impd-font-size-sm, 1.4rem);line-height:2rem;color:var(--impd-color-gray-500, #6b7280);font-weight:500}.impdc-breadcrumb a:not([href]):not([class]){color:var(--impartner-hex-link-color)}.impdc-breadcrumb a:not([href]):not([class]):hover{color:var(--impartner-hex-link-hover-color)}.impdc-breadcrumb ol,.impdc-breadcrumb ol li.impdc-crumb{display:inline-flex;align-items:center;vertical-align:middle}.impdc-breadcrumb ol{margin:0;padding-left:0;list-style:none}.impdc-breadcrumb li+li:before{margin:0 .8rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;width:2rem;font-family:\"Font Awesome 6 Pro\",\"Font Awesome 6 Free\",\"Font Awesome 5 Pro\",\"Font Awesome 5 Free\";font-size:var(--impd-font-size-sm, 1.4rem);line-height:2rem;color:var(--impd-color-gray-400, #6b7280);font-weight:900;content:\"\\f054\";text-rendering:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
8199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbComponent, decorators: [{
8447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbComponent, decorators: [{
8200
8448
  type: Component,
8201
8449
  args: [{ selector: 'impdc-breadcrumb, div[impdc-breadcrumb]', encapsulation: ViewEncapsulation.None, template: "<nav class=\"impdc-breadcrumb\" [attr.aria-label]=\"label || 'breadcrumb'\">\n <ol>\n <li\n *ngFor=\"let breadcrumbItem of breadcrumbItems; last as isLast\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <ng-container\n [ngTemplateOutlet]=\"breadcrumbItem.contentTemplate\"></ng-container>\n </li>\n </ol>\n</nav>\n", styles: [".impdc-breadcrumb{--impartner-hex-link-color: var(--impd-color-gray-500, #6b7280);--impartner-hex-link-hover-color: var(--impd-color-gray-700, #374151);font-size:var(--impd-font-size-sm, 1.4rem);line-height:2rem;color:var(--impd-color-gray-500, #6b7280);font-weight:500}.impdc-breadcrumb a:not([href]):not([class]){color:var(--impartner-hex-link-color)}.impdc-breadcrumb a:not([href]):not([class]):hover{color:var(--impartner-hex-link-hover-color)}.impdc-breadcrumb ol,.impdc-breadcrumb ol li.impdc-crumb{display:inline-flex;align-items:center;vertical-align:middle}.impdc-breadcrumb ol{margin:0;padding-left:0;list-style:none}.impdc-breadcrumb li+li:before{margin:0 .8rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;width:2rem;font-family:\"Font Awesome 6 Pro\",\"Font Awesome 6 Free\",\"Font Awesome 5 Pro\",\"Font Awesome 5 Free\";font-size:var(--impd-font-size-sm, 1.4rem);line-height:2rem;color:var(--impd-color-gray-400, #6b7280);font-weight:900;content:\"\\f054\";text-rendering:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}\n"] }]
8202
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
8450
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { label: [{
8203
8451
  type: Input
8204
8452
  }], impdcBreadcrumb: [{
8205
8453
  type: HostBinding,
@@ -8210,11 +8458,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8210
8458
  }] } });
8211
8459
 
8212
8460
  class BreadcrumbModule {
8461
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8462
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbModule, declarations: [BreadcrumbItemComponent, BreadcrumbComponent], imports: [CommonModule], exports: [BreadcrumbItemComponent, BreadcrumbComponent] }); }
8463
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbModule, imports: [CommonModule] }); }
8213
8464
  }
8214
- BreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8215
- BreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbModule, declarations: [BreadcrumbItemComponent, BreadcrumbComponent], imports: [CommonModule], exports: [BreadcrumbItemComponent, BreadcrumbComponent] });
8216
- BreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbModule, imports: [CommonModule] });
8217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbModule, decorators: [{
8465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: BreadcrumbModule, decorators: [{
8218
8466
  type: NgModule,
8219
8467
  args: [{
8220
8468
  declarations: [BreadcrumbItemComponent, BreadcrumbComponent],
@@ -8224,67 +8472,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8224
8472
  }] });
8225
8473
 
8226
8474
  class DesignComponentsModule {
8475
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DesignComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8476
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: DesignComponentsModule, imports: [CommonModule,
8477
+ FormsModule,
8478
+ TextHighlightModule,
8479
+ IconModule,
8480
+ BadgeModule,
8481
+ ProgressBarModule,
8482
+ ButtonModule,
8483
+ TableModule,
8484
+ DropdownModule,
8485
+ AlertModule,
8486
+ ModalModule,
8487
+ FileUploadModule,
8488
+ AvatarModule,
8489
+ AvatarGroupModule,
8490
+ BreadcrumbModule,
8491
+ BrandingModule], exports: [TextHighlightModule,
8492
+ IconModule,
8493
+ BadgeModule,
8494
+ ProgressBarModule,
8495
+ ButtonModule,
8496
+ TableModule,
8497
+ DropdownModule,
8498
+ AlertModule,
8499
+ ModalModule,
8500
+ FileUploadModule,
8501
+ AvatarModule,
8502
+ AvatarGroupModule,
8503
+ BreadcrumbModule,
8504
+ BrandingModule] }); }
8505
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DesignComponentsModule, imports: [CommonModule,
8506
+ FormsModule,
8507
+ TextHighlightModule,
8508
+ IconModule,
8509
+ BadgeModule,
8510
+ ProgressBarModule,
8511
+ ButtonModule,
8512
+ TableModule,
8513
+ DropdownModule,
8514
+ AlertModule,
8515
+ ModalModule,
8516
+ FileUploadModule,
8517
+ AvatarModule,
8518
+ AvatarGroupModule,
8519
+ BreadcrumbModule,
8520
+ BrandingModule, TextHighlightModule,
8521
+ IconModule,
8522
+ BadgeModule,
8523
+ ProgressBarModule,
8524
+ ButtonModule,
8525
+ TableModule,
8526
+ DropdownModule,
8527
+ AlertModule,
8528
+ ModalModule,
8529
+ FileUploadModule,
8530
+ AvatarModule,
8531
+ AvatarGroupModule,
8532
+ BreadcrumbModule,
8533
+ BrandingModule] }); }
8227
8534
  }
8228
- DesignComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DesignComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8229
- DesignComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DesignComponentsModule, imports: [CommonModule,
8230
- FormsModule,
8231
- TextHighlightModule,
8232
- IconModule,
8233
- BadgeModule,
8234
- ProgressBarModule,
8235
- ButtonModule,
8236
- TableModule,
8237
- DropdownModule,
8238
- AlertModule,
8239
- ModalModule,
8240
- FileUploadModule,
8241
- AvatarModule,
8242
- AvatarGroupModule,
8243
- BreadcrumbModule,
8244
- BrandingModule], exports: [TextHighlightModule,
8245
- IconModule,
8246
- BadgeModule,
8247
- ProgressBarModule,
8248
- ButtonModule,
8249
- TableModule,
8250
- DropdownModule,
8251
- AlertModule,
8252
- ModalModule,
8253
- FileUploadModule,
8254
- AvatarModule,
8255
- AvatarGroupModule,
8256
- BreadcrumbModule,
8257
- BrandingModule] });
8258
- DesignComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DesignComponentsModule, imports: [CommonModule,
8259
- FormsModule,
8260
- TextHighlightModule,
8261
- IconModule,
8262
- BadgeModule,
8263
- ProgressBarModule,
8264
- ButtonModule,
8265
- TableModule,
8266
- DropdownModule,
8267
- AlertModule,
8268
- ModalModule,
8269
- FileUploadModule,
8270
- AvatarModule,
8271
- AvatarGroupModule,
8272
- BreadcrumbModule,
8273
- BrandingModule, TextHighlightModule,
8274
- IconModule,
8275
- BadgeModule,
8276
- ProgressBarModule,
8277
- ButtonModule,
8278
- TableModule,
8279
- DropdownModule,
8280
- AlertModule,
8281
- ModalModule,
8282
- FileUploadModule,
8283
- AvatarModule,
8284
- AvatarGroupModule,
8285
- BreadcrumbModule,
8286
- BrandingModule] });
8287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DesignComponentsModule, decorators: [{
8535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DesignComponentsModule, decorators: [{
8288
8536
  type: NgModule,
8289
8537
  args: [{
8290
8538
  imports: [
@@ -8350,10 +8598,10 @@ class ButtonGroupComponent {
8350
8598
  get attrAriaLabel() {
8351
8599
  return this.ariaLabel || undefined;
8352
8600
  }
8601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8602
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ButtonGroupComponent, selector: "impdc-button-group, [impdc-button-group]", inputs: { vertical: "vertical", ariaLabel: "ariaLabel" }, host: { properties: { "class.btn-group": "this.classBtnGroup", "class.btn-group-vertical": "this.classBtnGroupVertical", "attr.role": "this.attrRole", "attr.aria-label": "this.attrAriaLabel" } }, ngImport: i0, template: "<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); }
8353
8603
  }
8354
- ButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8355
- ButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ButtonGroupComponent, selector: "impdc-button-group, [impdc-button-group]", inputs: { vertical: "vertical", ariaLabel: "ariaLabel" }, host: { properties: { "class.btn-group": "this.classBtnGroup", "class.btn-group-vertical": "this.classBtnGroupVertical", "attr.role": "this.attrRole", "attr.aria-label": "this.attrAriaLabel" } }, ngImport: i0, template: "<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None });
8356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonGroupComponent, decorators: [{
8604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonGroupComponent, decorators: [{
8357
8605
  type: Component,
8358
8606
  args: [{ selector: 'impdc-button-group, [impdc-button-group]', encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n" }]
8359
8607
  }], propDecorators: { vertical: [{
@@ -8376,18 +8624,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8376
8624
 
8377
8625
  class ButtonGroupModule {
8378
8626
  constructor() { }
8627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8628
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ButtonGroupModule, declarations: [ButtonGroupComponent], imports: [CommonModule, ButtonModule], exports: [ButtonModule, ButtonGroupComponent] }); }
8629
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonGroupModule, imports: [CommonModule, ButtonModule, ButtonModule] }); }
8379
8630
  }
8380
- ButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8381
- ButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ButtonGroupModule, declarations: [ButtonGroupComponent], imports: [CommonModule, ButtonModule], exports: [ButtonModule, ButtonGroupComponent] });
8382
- ButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonGroupModule, imports: [CommonModule, ButtonModule, ButtonModule] });
8383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
8631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ButtonGroupModule, decorators: [{
8384
8632
  type: NgModule,
8385
8633
  args: [{
8386
8634
  imports: [CommonModule, ButtonModule],
8387
8635
  declarations: [ButtonGroupComponent],
8388
8636
  exports: [ButtonModule, ButtonGroupComponent]
8389
8637
  }]
8390
- }], ctorParameters: function () { return []; } });
8638
+ }], ctorParameters: () => [] });
8391
8639
 
8392
8640
  /**
8393
8641
  * The `CardHeadingComponent` (`<impdc-card-heading` or `<div impdc-card-heading`) is used to display projected content as a card with a consistent heading.
@@ -8404,13 +8652,13 @@ class CardHeadingComponent {
8404
8652
  */
8405
8653
  this.description = '';
8406
8654
  }
8655
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CardHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8656
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: CardHeadingComponent, selector: "impdc-card-heading, div[impdc-card-heading]", inputs: { title: "title", description: "description" }, ngImport: i0, template: "<div class=\"card-heading\">\n <div class=\"heading\">\n <div class=\"heading-left\">\n <div class=\"heading-avatar\">\n <ng-content select=\"impdc-avatar\"></ng-content>\n </div>\n <div class=\"heading-title\">\n <h3 *ngIf=\"title\">{{ title }}</h3>\n <span class=\"description\" *ngIf=\"description\">{{ description }}</span>\n </div>\n </div>\n <div class=\"heading-actions\">\n <ng-content select=\"button[impdcButton]\"></ng-content>\n </div>\n </div>\n <div class=\"card-heading-body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".card-heading{background-color:var(--impdc-color-white, #ffffff);border:.1rem solid;border-color:var(--impd-color-gray-200);border-radius:var(--impd-border-radius-md)}.card-heading .heading{display:flex;flex-direction:row;flex-wrap:wrap;padding:2rem 2.4rem;align-items:center;gap:1.5rem;justify-content:space-between}.card-heading .heading .heading-left{display:flex;flex-direction:row;align-items:center;gap:1.6rem;flex-grow:1}.card-heading .heading .heading-left .heading-avatar{display:none}.card-heading .heading .heading-left .heading-avatar:has(impdc-avatar){display:block}.card-heading .heading .heading-left .heading-title{align-content:center;display:flex;flex-direction:column;color:var(--impd-color-gray-900)}.card-heading .heading .heading-left .heading-title h3{margin-bottom:0}.card-heading .heading .heading-left .heading-title .description{color:var(--impd-color-gray-500);margin-bottom:0;margin-top:.4rem;font-size:var(--impd-font-size-sm);line-height:2rem}.card-heading .heading .heading-actions{display:flex;flex-direction:row;gap:1.2rem;flex-flow:wrap}.card-heading .card-heading-body{border-top:.1rem solid;border-top-color:var(--impd-color-gray-200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
8407
8657
  }
8408
- CardHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CardHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8409
- CardHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CardHeadingComponent, selector: "impdc-card-heading, div[impdc-card-heading]", inputs: { title: "title", description: "description" }, ngImport: i0, template: "<div class=\"card-heading\">\n <div class=\"heading\">\n <div class=\"heading-left\">\n <div class=\"heading-avatar\">\n <ng-content select=\"impdc-avatar\"></ng-content>\n </div>\n <div class=\"heading-title\">\n <h3 *ngIf=\"title\">{{ title }}</h3>\n <span class=\"description\" *ngIf=\"description\">{{ description }}</span>\n </div>\n </div>\n <div class=\"heading-actions\">\n <ng-content select=\"button[impdcButton]\"></ng-content>\n </div>\n </div>\n <div class=\"card-heading-body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".card-heading{background-color:var(--impdc-color-white, #ffffff);border:.1rem solid;border-color:var(--impd-color-gray-200);border-radius:var(--impd-border-radius-md)}.card-heading .heading{display:flex;flex-direction:row;flex-wrap:wrap;padding:2rem 2.4rem;align-items:center;gap:1.5rem;justify-content:space-between}.card-heading .heading .heading-left{display:flex;flex-direction:row;align-items:center;gap:1.6rem;flex-grow:1}.card-heading .heading .heading-left .heading-avatar{display:none}.card-heading .heading .heading-left .heading-avatar:has(impdc-avatar){display:block}.card-heading .heading .heading-left .heading-title{align-content:center;display:flex;flex-direction:column;color:var(--impd-color-gray-900)}.card-heading .heading .heading-left .heading-title h3{margin-bottom:0}.card-heading .heading .heading-left .heading-title .description{color:var(--impd-color-gray-500);margin-bottom:0;margin-top:.4rem;font-size:var(--impd-font-size-sm);line-height:2rem}.card-heading .heading .heading-actions{display:flex;flex-direction:row;gap:1.2rem;flex-flow:wrap}.card-heading .card-heading-body{border-top:.1rem solid;border-top-color:var(--impd-color-gray-200)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
8410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CardHeadingComponent, decorators: [{
8658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CardHeadingComponent, decorators: [{
8411
8659
  type: Component,
8412
8660
  args: [{ selector: 'impdc-card-heading, div[impdc-card-heading]', template: "<div class=\"card-heading\">\n <div class=\"heading\">\n <div class=\"heading-left\">\n <div class=\"heading-avatar\">\n <ng-content select=\"impdc-avatar\"></ng-content>\n </div>\n <div class=\"heading-title\">\n <h3 *ngIf=\"title\">{{ title }}</h3>\n <span class=\"description\" *ngIf=\"description\">{{ description }}</span>\n </div>\n </div>\n <div class=\"heading-actions\">\n <ng-content select=\"button[impdcButton]\"></ng-content>\n </div>\n </div>\n <div class=\"card-heading-body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".card-heading{background-color:var(--impdc-color-white, #ffffff);border:.1rem solid;border-color:var(--impd-color-gray-200);border-radius:var(--impd-border-radius-md)}.card-heading .heading{display:flex;flex-direction:row;flex-wrap:wrap;padding:2rem 2.4rem;align-items:center;gap:1.5rem;justify-content:space-between}.card-heading .heading .heading-left{display:flex;flex-direction:row;align-items:center;gap:1.6rem;flex-grow:1}.card-heading .heading .heading-left .heading-avatar{display:none}.card-heading .heading .heading-left .heading-avatar:has(impdc-avatar){display:block}.card-heading .heading .heading-left .heading-title{align-content:center;display:flex;flex-direction:column;color:var(--impd-color-gray-900)}.card-heading .heading .heading-left .heading-title h3{margin-bottom:0}.card-heading .heading .heading-left .heading-title .description{color:var(--impd-color-gray-500);margin-bottom:0;margin-top:.4rem;font-size:var(--impd-font-size-sm);line-height:2rem}.card-heading .heading .heading-actions{display:flex;flex-direction:row;gap:1.2rem;flex-flow:wrap}.card-heading .card-heading-body{border-top:.1rem solid;border-top-color:var(--impd-color-gray-200)}\n"] }]
8413
- }], ctorParameters: function () { return []; }, propDecorators: { title: [{
8661
+ }], ctorParameters: () => [], propDecorators: { title: [{
8414
8662
  type: Input
8415
8663
  }], description: [{
8416
8664
  type: Input
@@ -8418,18 +8666,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8418
8666
 
8419
8667
  class CardHeadingModule {
8420
8668
  constructor() { }
8669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CardHeadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8670
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: CardHeadingModule, declarations: [CardHeadingComponent], imports: [CommonModule], exports: [CardHeadingComponent] }); }
8671
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CardHeadingModule, imports: [CommonModule] }); }
8421
8672
  }
8422
- CardHeadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CardHeadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8423
- CardHeadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: CardHeadingModule, declarations: [CardHeadingComponent], imports: [CommonModule], exports: [CardHeadingComponent] });
8424
- CardHeadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CardHeadingModule, imports: [CommonModule] });
8425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CardHeadingModule, decorators: [{
8673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: CardHeadingModule, decorators: [{
8426
8674
  type: NgModule,
8427
8675
  args: [{
8428
8676
  imports: [CommonModule],
8429
8677
  declarations: [CardHeadingComponent],
8430
8678
  exports: [CardHeadingComponent]
8431
8679
  }]
8432
- }], ctorParameters: function () { return []; } });
8680
+ }], ctorParameters: () => [] });
8433
8681
 
8434
8682
  /**
8435
8683
  * The `ScrollableComponent` (`<impdc-scrollable` or `<div impdc-scrollable`) is a container that hides items that wouldn't fit
@@ -8438,21 +8686,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8438
8686
  * `ScrollableModule` also imports and exports [BrandingModule](./?path=/docs/design-components-directives-impdcbranded).
8439
8687
  */
8440
8688
  class ScrollableComponent {
8441
- constructor(_cd, _hostElementRef) {
8442
- this._cd = _cd;
8443
- this._hostElementRef = _hostElementRef;
8444
- this.GET_ANCESTOR_BG_SEARCH_DEPTH = 64;
8445
- /**
8446
- * The base amount to scroll.
8447
- */
8448
- this.scrollUnit = 20;
8449
- /**
8450
- * Used in combination with `scrollUnit` to determine how far the Scrollable scrolls when directional arrows are clicked.
8451
- */
8452
- this.clickScrollMultiplier = 5;
8453
- this._scrollableBgColor = null;
8454
- this._width = 0;
8455
- }
8456
8689
  get canScrollLeft() {
8457
8690
  if (!this._contentElement) {
8458
8691
  return false;
@@ -8478,6 +8711,21 @@ class ScrollableComponent {
8478
8711
  }
8479
8712
  return this.contentRef.nativeElement;
8480
8713
  }
8714
+ constructor(_cd, _hostElementRef) {
8715
+ this._cd = _cd;
8716
+ this._hostElementRef = _hostElementRef;
8717
+ this.GET_ANCESTOR_BG_SEARCH_DEPTH = 64;
8718
+ /**
8719
+ * The base amount to scroll.
8720
+ */
8721
+ this.scrollUnit = 20;
8722
+ /**
8723
+ * Used in combination with `scrollUnit` to determine how far the Scrollable scrolls when directional arrows are clicked.
8724
+ */
8725
+ this.clickScrollMultiplier = 5;
8726
+ this._scrollableBgColor = null;
8727
+ this._width = 0;
8728
+ }
8481
8729
  ngOnChanges(changes) {
8482
8730
  if (changes['scrollUnit'] || changes['clickScrollMultiplier']) {
8483
8731
  if (this._containerElement) {
@@ -8592,13 +8840,13 @@ class ScrollableComponent {
8592
8840
  }
8593
8841
  return element.style.backgroundColor;
8594
8842
  }
8843
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ScrollableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8844
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: ScrollableComponent, selector: "impdc-scrollable, div[impdc-scrollable]", inputs: { scrollUnit: "scrollUnit", clickScrollMultiplier: "clickScrollMultiplier" }, host: { properties: { "style.--impdc-scrollable-bg": "this._scrollableBgColor" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "contentRef", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"impdc-scrollable\"\n #container\n impdcSizeDetector\n (resized)=\"widthChanged($event)\">\n <a class=\"impdc-scrollable-left\" (click)=\"scroll(-1)\" *ngIf=\"canScrollLeft\">\n <i impdc-icon name=\"chevron-left\" class=\"default\"></i>\n </a>\n <div #content class=\"content-container\">\n <ng-content></ng-content>\n </div>\n <a class=\"impdc-scrollable-right\" (click)=\"scroll(1)\" *ngIf=\"canScrollRight\">\n <i impdc-icon name=\"chevron-right\" class=\"default\"></i>\n </a>\n</div>\n", styles: [".impdc-scrollable{position:relative;overflow-y:hidden}.impdc-scrollable .impdc-scrollable-base,.impdc-scrollable .impdc-scrollable-right,.impdc-scrollable .impdc-scrollable-left{position:absolute;top:0;bottom:0;display:flex;align-items:center;text-align:center;width:6.9rem;z-index:1;color:var(--impd-color-motion-blue-600, #01606d)}.impdc-scrollable .impdc-scrollable-left{justify-content:left;padding-left:1.5rem;background-image:linear-gradient(to right,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .impdc-scrollable-right{right:0;padding-right:1.5rem;justify-content:right;background-image:linear-gradient(to left,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .content-container{overflow-x:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}:host(.branded) .impdc-scrollable .impdc-scrollable-left,:host(.branded) .impdc-scrollable .impdc-scrollable-right{color:var(--px-primary-color, var(--impd-color-motion-blue-600, #01606d))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8595
8845
  }
8596
- ScrollableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ScrollableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8597
- ScrollableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ScrollableComponent, selector: "impdc-scrollable, div[impdc-scrollable]", inputs: { scrollUnit: "scrollUnit", clickScrollMultiplier: "clickScrollMultiplier" }, host: { properties: { "style.--impdc-scrollable-bg": "this._scrollableBgColor" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "contentRef", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"impdc-scrollable\"\n #container\n impdcSizeDetector\n (resized)=\"widthChanged($event)\">\n <a class=\"impdc-scrollable-left\" (click)=\"scroll(-1)\" *ngIf=\"canScrollLeft\">\n <i impdc-icon name=\"chevron-left\" class=\"default\"></i>\n </a>\n <div #content class=\"content-container\">\n <ng-content></ng-content>\n </div>\n <a class=\"impdc-scrollable-right\" (click)=\"scroll(1)\" *ngIf=\"canScrollRight\">\n <i impdc-icon name=\"chevron-right\" class=\"default\"></i>\n </a>\n</div>\n", styles: [".impdc-scrollable{position:relative;overflow-y:hidden}.impdc-scrollable .impdc-scrollable-base,.impdc-scrollable .impdc-scrollable-right,.impdc-scrollable .impdc-scrollable-left{position:absolute;top:0px;bottom:0px;display:flex;align-items:center;text-align:center;width:6.9rem;z-index:1;color:var(--impd-color-motion-blue-600, #01606d)}.impdc-scrollable .impdc-scrollable-left{justify-content:left;padding-left:1.5rem;background-image:linear-gradient(to right,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .impdc-scrollable-right{right:0;padding-right:1.5rem;justify-content:right;background-image:linear-gradient(to left,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .content-container{overflow-x:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}:host(.branded) .impdc-scrollable .impdc-scrollable-left,:host(.branded) .impdc-scrollable .impdc-scrollable-right{color:var(--px-primary-color, var(--impd-color-motion-blue-600, #01606d))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8598
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ScrollableComponent, decorators: [{
8846
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ScrollableComponent, decorators: [{
8599
8847
  type: Component,
8600
- args: [{ selector: 'impdc-scrollable, div[impdc-scrollable]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"impdc-scrollable\"\n #container\n impdcSizeDetector\n (resized)=\"widthChanged($event)\">\n <a class=\"impdc-scrollable-left\" (click)=\"scroll(-1)\" *ngIf=\"canScrollLeft\">\n <i impdc-icon name=\"chevron-left\" class=\"default\"></i>\n </a>\n <div #content class=\"content-container\">\n <ng-content></ng-content>\n </div>\n <a class=\"impdc-scrollable-right\" (click)=\"scroll(1)\" *ngIf=\"canScrollRight\">\n <i impdc-icon name=\"chevron-right\" class=\"default\"></i>\n </a>\n</div>\n", styles: [".impdc-scrollable{position:relative;overflow-y:hidden}.impdc-scrollable .impdc-scrollable-base,.impdc-scrollable .impdc-scrollable-right,.impdc-scrollable .impdc-scrollable-left{position:absolute;top:0px;bottom:0px;display:flex;align-items:center;text-align:center;width:6.9rem;z-index:1;color:var(--impd-color-motion-blue-600, #01606d)}.impdc-scrollable .impdc-scrollable-left{justify-content:left;padding-left:1.5rem;background-image:linear-gradient(to right,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .impdc-scrollable-right{right:0;padding-right:1.5rem;justify-content:right;background-image:linear-gradient(to left,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .content-container{overflow-x:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}:host(.branded) .impdc-scrollable .impdc-scrollable-left,:host(.branded) .impdc-scrollable .impdc-scrollable-right{color:var(--px-primary-color, var(--impd-color-motion-blue-600, #01606d))}\n"] }]
8601
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { scrollUnit: [{
8848
+ args: [{ selector: 'impdc-scrollable, div[impdc-scrollable]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"impdc-scrollable\"\n #container\n impdcSizeDetector\n (resized)=\"widthChanged($event)\">\n <a class=\"impdc-scrollable-left\" (click)=\"scroll(-1)\" *ngIf=\"canScrollLeft\">\n <i impdc-icon name=\"chevron-left\" class=\"default\"></i>\n </a>\n <div #content class=\"content-container\">\n <ng-content></ng-content>\n </div>\n <a class=\"impdc-scrollable-right\" (click)=\"scroll(1)\" *ngIf=\"canScrollRight\">\n <i impdc-icon name=\"chevron-right\" class=\"default\"></i>\n </a>\n</div>\n", styles: [".impdc-scrollable{position:relative;overflow-y:hidden}.impdc-scrollable .impdc-scrollable-base,.impdc-scrollable .impdc-scrollable-right,.impdc-scrollable .impdc-scrollable-left{position:absolute;top:0;bottom:0;display:flex;align-items:center;text-align:center;width:6.9rem;z-index:1;color:var(--impd-color-motion-blue-600, #01606d)}.impdc-scrollable .impdc-scrollable-left{justify-content:left;padding-left:1.5rem;background-image:linear-gradient(to right,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .impdc-scrollable-right{right:0;padding-right:1.5rem;justify-content:right;background-image:linear-gradient(to left,var(--impdc-scrollable-bg, #fff) 50%,rgba(255,255,255,.0001) 86.46%)}.impdc-scrollable .content-container{overflow-x:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}:host(.branded) .impdc-scrollable .impdc-scrollable-left,:host(.branded) .impdc-scrollable .impdc-scrollable-right{color:var(--px-primary-color, var(--impd-color-motion-blue-600, #01606d))}\n"] }]
8849
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { scrollUnit: [{
8602
8850
  type: Input
8603
8851
  }], clickScrollMultiplier: [{
8604
8852
  type: Input
@@ -8615,18 +8863,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8615
8863
 
8616
8864
  class ScrollableModule {
8617
8865
  constructor() { }
8866
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8867
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: ScrollableModule, declarations: [ScrollableComponent], imports: [CommonModule, SizeDetectionModule, BrandingModule], exports: [ScrollableComponent, BrandingModule] }); }
8868
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ScrollableModule, imports: [CommonModule, SizeDetectionModule, BrandingModule, BrandingModule] }); }
8618
8869
  }
8619
- ScrollableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8620
- ScrollableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ScrollableModule, declarations: [ScrollableComponent], imports: [CommonModule, SizeDetectionModule, BrandingModule], exports: [ScrollableComponent, BrandingModule] });
8621
- ScrollableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ScrollableModule, imports: [CommonModule, SizeDetectionModule, BrandingModule, BrandingModule] });
8622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ScrollableModule, decorators: [{
8870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: ScrollableModule, decorators: [{
8623
8871
  type: NgModule,
8624
8872
  args: [{
8625
8873
  imports: [CommonModule, SizeDetectionModule, BrandingModule],
8626
8874
  declarations: [ScrollableComponent],
8627
8875
  exports: [ScrollableComponent, BrandingModule]
8628
8876
  }]
8629
- }], ctorParameters: function () { return []; } });
8877
+ }], ctorParameters: () => [] });
8630
8878
 
8631
8879
  /* eslint-disable @angular-eslint/no-conflicting-lifecycle */
8632
8880
  class ImpdcSelectIconChange {
@@ -8650,6 +8898,29 @@ const _SelectIconComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(cla
8650
8898
  * To use, import `SelectIconModule` or another module that imports and exports that module from `@impartner/design-components`.
8651
8899
  */
8652
8900
  class SelectIconComponent extends _SelectIconComponentBase {
8901
+ get iconOptions() {
8902
+ return [...this._iconOptionsSubject.value];
8903
+ }
8904
+ /**
8905
+ * Set to override the default set of FontAwesome icon options.
8906
+ */
8907
+ set iconOptions(iconOptions) {
8908
+ if (iconOptions) {
8909
+ this._iconOptionsSubject.next([...iconOptions]);
8910
+ }
8911
+ }
8912
+ /**
8913
+ * The placeholder text that will be displayed when no selection has been made.
8914
+ *
8915
+ * @default \- Select -
8916
+ */
8917
+ get placeholder() {
8918
+ return this._placeholder;
8919
+ }
8920
+ set placeholder(value) {
8921
+ this._placeholder = value;
8922
+ this.stateChanges.next();
8923
+ }
8653
8924
  constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
8654
8925
  super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
8655
8926
  this._changeDetector = _changeDetector;
@@ -8691,29 +8962,6 @@ class SelectIconComponent extends _SelectIconComponentBase {
8691
8962
  }
8692
8963
  this.id = this.id;
8693
8964
  }
8694
- get iconOptions() {
8695
- return [...this._iconOptionsSubject.value];
8696
- }
8697
- /**
8698
- * Set to override the default set of FontAwesome icon options.
8699
- */
8700
- set iconOptions(iconOptions) {
8701
- if (iconOptions) {
8702
- this._iconOptionsSubject.next([...iconOptions]);
8703
- }
8704
- }
8705
- /**
8706
- * The placeholder text that will be displayed when no selection has been made.
8707
- *
8708
- * @default \- Select -
8709
- */
8710
- get placeholder() {
8711
- return this._placeholder;
8712
- }
8713
- set placeholder(value) {
8714
- this._placeholder = value;
8715
- this.stateChanges.next();
8716
- }
8717
8965
  get empty() {
8718
8966
  return !this.value;
8719
8967
  }
@@ -8849,15 +9097,15 @@ class SelectIconComponent extends _SelectIconComponentBase {
8849
9097
  _buildChangeEvent(value) {
8850
9098
  return new ImpdcSelectIconChange(this, value);
8851
9099
  }
9100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectIconComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
9101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SelectIconComponent, selector: "impdc-select-icon", inputs: { disabled: "disabled", tabIndex: "tabIndex", allowSearch: "allowSearch", iconOptions: "iconOptions", showText: "showText", showSelectedText: "showSelectedText", placeholder: "placeholder", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-select": "true", "class.is-invalid": "errorState", "class.impdc-form-field-control": "true", "class.impdc-select-icon--required": "required", "class.impdc-select-icon--disabled": "disabled", "class.impdc-select-icon--invalid": "errorState", "class.impdc-select-icon--empty": "empty" }, classAttribute: "impdc-select-icon" }, providers: [
9102
+ {
9103
+ provide: ImpdcFormFieldControl,
9104
+ useExisting: SelectIconComponent
9105
+ }
9106
+ ], viewQueries: [{ propertyName: "_toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n ngbDropdown\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select-icon--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select-icon--text impdc-select-icon--placeholder\"\n *ngSwitchCase=\"true\">\n {{ placeholder }}\n </span>\n <div\n class=\"impdc-select-icon--text impdc-select-icon--value-text\"\n *ngSwitchCase=\"false\">\n <i impdc-icon [name]=\"value ?? undefined\"></i>\n <span *ngIf=\"showSelectedText\" class=\"ms-2\">{{ value }}</span>\n </div>\n </ng-container>\n </button>\n <div ngbDropdownMenu class=\"select-icon-dropdown-menu\" tabindex=\"-1\">\n <div *ngIf=\"allowSearch\" class=\"select-icon-search\">\n <impdc-form-field>\n <span impdcTextPrefix><i impdc-icon name=\"search\"></i></span>\n <input\n impdcInput\n [formControl]=\"searchControl\"\n class=\"select-icon-search-input\"\n type=\"search\" />\n </impdc-form-field>\n </div>\n <div class=\"select-icon-grid\">\n <button\n *ngFor=\"let iconName of filteredOptions$ | async\"\n type=\"button\"\n (click)=\"selectIcon(iconName)\"\n class=\"icon-option\"\n [class.selected]=\"value === iconName\"\n [title]=\"iconName\"\n [attr.aria-labelledby]=\"showText ? id + '_' + iconName : null\">\n <div class=\"icon-container\">\n <i impdc-icon [name]=\"iconName\" class=\"fs-2xl\"></i>\n </div>\n <div\n id=\"{{ id }}_{{ iconName }}\"\n class=\"icon-label\"\n [class.sr-only]=\"!showText\">\n {{ iconName }}\n </div>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select-icon--disabled{background-color:var(--impd-color-gray-100)}.impdc-select-icon--toggle{font-weight:inherit;padding-right:3.6rem;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select-icon--toggle{padding-right:6.6rem}.impdc-select-icon--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.select-icon-dropdown-menu{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);max-width:51.2rem;min-width:32rem;overflow:hidden;width:100%}.select-icon-search{margin:var(--impd-size-2);font-size:var(--impd-font-size-sm)}.select-icon-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));gap:var(--impd-size-4);width:100%;max-height:var(--impd-size-40);overflow-y:auto;overflow-x:hidden;padding:var(--impd-size-4);-webkit-user-select:none;user-select:none}button[ngbDropdownToggle].dropdown-toggle:after{display:none}.icon-option{padding:0;background:unset;border:none}.icon-option:focus{outline:0}.icon-container{height:4rem;width:4rem;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border-radius:50%;justify-items:center}.selected>.icon-container,:hover>.icon-container,:focus>.icon-container{background-color:var(--impartner-hex-primary);color:var(--impartner-hex-white)}.icon-label{text-align:center;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "component", type: FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: PrefixDirective, selector: "[impdcPrefix], [impdcTextPrefix]", inputs: ["impdcTextPrefix"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8852
9107
  }
8853
- SelectIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectIconComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
8854
- SelectIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SelectIconComponent, selector: "impdc-select-icon", inputs: { disabled: "disabled", tabIndex: "tabIndex", allowSearch: "allowSearch", iconOptions: "iconOptions", showText: "showText", showSelectedText: "showSelectedText", placeholder: "placeholder", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-select": "true", "class.is-invalid": "errorState", "class.impdc-form-field-control": "true", "class.impdc-select-icon--required": "required", "class.impdc-select-icon--disabled": "disabled", "class.impdc-select-icon--invalid": "errorState", "class.impdc-select-icon--empty": "empty" }, classAttribute: "impdc-select-icon" }, providers: [
8855
- {
8856
- provide: ImpdcFormFieldControl,
8857
- useExisting: SelectIconComponent
8858
- }
8859
- ], viewQueries: [{ propertyName: "_toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n ngbDropdown\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select-icon--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select-icon--text impdc-select-icon--placeholder\"\n *ngSwitchCase=\"true\">\n {{ placeholder }}\n </span>\n <div\n class=\"impdc-select-icon--text impdc-select-icon--value-text\"\n *ngSwitchCase=\"false\">\n <i impdc-icon [name]=\"value ?? undefined\"></i>\n <span *ngIf=\"showSelectedText\" class=\"ms-2\">{{ value }}</span>\n </div>\n </ng-container>\n </button>\n <div ngbDropdownMenu class=\"select-icon-dropdown-menu\" tabindex=\"-1\">\n <div *ngIf=\"allowSearch\" class=\"select-icon-search\">\n <impdc-form-field>\n <span impdcTextPrefix><i impdc-icon name=\"search\"></i></span>\n <input\n impdcInput\n [formControl]=\"searchControl\"\n class=\"select-icon-search-input\"\n type=\"search\" />\n </impdc-form-field>\n </div>\n <div class=\"select-icon-grid\">\n <button\n *ngFor=\"let iconName of filteredOptions$ | async\"\n type=\"button\"\n (click)=\"selectIcon(iconName)\"\n class=\"icon-option\"\n [class.selected]=\"value === iconName\"\n [title]=\"iconName\"\n [attr.aria-labelledby]=\"showText ? id + '_' + iconName : null\">\n <div class=\"icon-container\">\n <i impdc-icon [name]=\"iconName\" class=\"fs-2xl\"></i>\n </div>\n <div\n id=\"{{ id }}_{{ iconName }}\"\n class=\"icon-label\"\n [class.sr-only]=\"!showText\">\n {{ iconName }}\n </div>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select-icon--disabled{background-color:var(--impd-color-gray-100)}.impdc-select-icon--toggle{font-weight:inherit;padding-right:3.6rem;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select-icon--toggle{padding-right:6.6rem}.impdc-select-icon--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.select-icon-dropdown-menu{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);max-width:51.2rem;min-width:32rem;overflow:hidden;width:100%}.select-icon-search{margin:var(--impd-size-2);font-size:var(--impd-font-size-sm)}.select-icon-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));gap:var(--impd-size-4);width:100%;max-height:var(--impd-size-40);overflow-y:auto;overflow-x:hidden;padding:var(--impd-size-4);-webkit-user-select:none;user-select:none}button[ngbDropdownToggle].dropdown-toggle:after{display:none}.icon-option{padding:0;background:unset;border:none}.icon-option:focus{outline:0}.icon-container{height:4rem;width:4rem;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border-radius:50%;justify-items:center}.selected>.icon-container,:hover>.icon-container,:focus>.icon-container{background-color:var(--impartner-hex-primary);color:var(--impartner-hex-white)}.icon-label{text-align:center;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "component", type: FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: PrefixDirective, selector: "[impdcPrefix], [impdcTextPrefix]", inputs: ["impdcTextPrefix"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8860
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectIconComponent, decorators: [{
9108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectIconComponent, decorators: [{
8861
9109
  type: Component,
8862
9110
  args: [{ selector: 'impdc-select-icon', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
8863
9111
  class: 'impdc-select-icon',
@@ -8880,7 +9128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8880
9128
  useExisting: SelectIconComponent
8881
9129
  }
8882
9130
  ], template: "<div\n ngbDropdown\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select-icon--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select-icon--text impdc-select-icon--placeholder\"\n *ngSwitchCase=\"true\">\n {{ placeholder }}\n </span>\n <div\n class=\"impdc-select-icon--text impdc-select-icon--value-text\"\n *ngSwitchCase=\"false\">\n <i impdc-icon [name]=\"value ?? undefined\"></i>\n <span *ngIf=\"showSelectedText\" class=\"ms-2\">{{ value }}</span>\n </div>\n </ng-container>\n </button>\n <div ngbDropdownMenu class=\"select-icon-dropdown-menu\" tabindex=\"-1\">\n <div *ngIf=\"allowSearch\" class=\"select-icon-search\">\n <impdc-form-field>\n <span impdcTextPrefix><i impdc-icon name=\"search\"></i></span>\n <input\n impdcInput\n [formControl]=\"searchControl\"\n class=\"select-icon-search-input\"\n type=\"search\" />\n </impdc-form-field>\n </div>\n <div class=\"select-icon-grid\">\n <button\n *ngFor=\"let iconName of filteredOptions$ | async\"\n type=\"button\"\n (click)=\"selectIcon(iconName)\"\n class=\"icon-option\"\n [class.selected]=\"value === iconName\"\n [title]=\"iconName\"\n [attr.aria-labelledby]=\"showText ? id + '_' + iconName : null\">\n <div class=\"icon-container\">\n <i impdc-icon [name]=\"iconName\" class=\"fs-2xl\"></i>\n </div>\n <div\n id=\"{{ id }}_{{ iconName }}\"\n class=\"icon-label\"\n [class.sr-only]=\"!showText\">\n {{ iconName }}\n </div>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select-icon--disabled{background-color:var(--impd-color-gray-100)}.impdc-select-icon--toggle{font-weight:inherit;padding-right:3.6rem;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select-icon--toggle{padding-right:6.6rem}.impdc-select-icon--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.select-icon-dropdown-menu{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);max-width:51.2rem;min-width:32rem;overflow:hidden;width:100%}.select-icon-search{margin:var(--impd-size-2);font-size:var(--impd-font-size-sm)}.select-icon-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));gap:var(--impd-size-4);width:100%;max-height:var(--impd-size-40);overflow-y:auto;overflow-x:hidden;padding:var(--impd-size-4);-webkit-user-select:none;user-select:none}button[ngbDropdownToggle].dropdown-toggle:after{display:none}.icon-option{padding:0;background:unset;border:none}.icon-option:focus{outline:0}.icon-container{height:4rem;width:4rem;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border-radius:50%;justify-items:center}.selected>.icon-container,:hover>.icon-container,:focus>.icon-container{background-color:var(--impartner-hex-primary);color:var(--impartner-hex-white)}.icon-label{text-align:center;font-size:1rem}\n"] }]
8883
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
9131
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: ErrorStateMatcher }, { type: undefined, decorators: [{
8884
9132
  type: Optional
8885
9133
  }, {
8886
9134
  type: Inject,
@@ -8893,7 +9141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8893
9141
  type: Self
8894
9142
  }, {
8895
9143
  type: Optional
8896
- }] }]; }, propDecorators: { _toggleButtonRef: [{
9144
+ }] }], propDecorators: { _toggleButtonRef: [{
8897
9145
  type: ViewChild,
8898
9146
  args: ['toggleButton', { static: true, read: ElementRef }]
8899
9147
  }], allowSearch: [{
@@ -8921,19 +9169,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8921
9169
  }] } });
8922
9170
 
8923
9171
  class SelectIconModule {
9172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9173
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: SelectIconModule, declarations: [SelectIconComponent], imports: [CommonModule,
9174
+ ImpdcFormsModule,
9175
+ NgbTypeaheadModule,
9176
+ NgbDropdownModule,
9177
+ ReactiveFormsModule], exports: [SelectIconComponent] }); }
9178
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectIconModule, imports: [CommonModule,
9179
+ ImpdcFormsModule,
9180
+ NgbTypeaheadModule,
9181
+ NgbDropdownModule,
9182
+ ReactiveFormsModule] }); }
8924
9183
  }
8925
- SelectIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8926
- SelectIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SelectIconModule, declarations: [SelectIconComponent], imports: [CommonModule,
8927
- ImpdcFormsModule,
8928
- NgbTypeaheadModule,
8929
- NgbDropdownModule,
8930
- ReactiveFormsModule], exports: [SelectIconComponent] });
8931
- SelectIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectIconModule, imports: [CommonModule,
8932
- ImpdcFormsModule,
8933
- NgbTypeaheadModule,
8934
- NgbDropdownModule,
8935
- ReactiveFormsModule] });
8936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectIconModule, decorators: [{
9184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectIconModule, decorators: [{
8937
9185
  type: NgModule,
8938
9186
  args: [{
8939
9187
  declarations: [SelectIconComponent],
@@ -8951,10 +9199,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
8951
9199
  /**
8952
9200
  * The `CardHeadingComponent` (`<impdc-data-card` or `<any impdc-data-card`) is to display data snapshots with support for
8953
9201
  * previous values and differences.
9202
+ *
8954
9203
  * To use, import `DataCardModule` or another module that imports and exports that module from `@impartner/design-components`.
9204
+ *
9205
+ * An icon may be displayed in the card via Angular content projection and the `icon` attribute.
8955
9206
  */
8956
9207
  class DataCardComponent {
8957
9208
  constructor() {
9209
+ this.BadgeTheme = ComponentTheme;
8958
9210
  /**
8959
9211
  * The subject text for the Data Card.
8960
9212
  */
@@ -8965,6 +9217,7 @@ class DataCardComponent {
8965
9217
  this.current = '0';
8966
9218
  /**
8967
9219
  * The previous data value. Any number/currency format is supported.
9220
+ * Only displayed when an icon is not provided via Angular content projection.
8968
9221
  */
8969
9222
  this.previous = '';
8970
9223
  /**
@@ -8980,19 +9233,6 @@ class DataCardComponent {
8980
9233
  * When stacking multiple Data Card elements together, it's common to combine their borders.
8981
9234
  */
8982
9235
  this.sharedBorders = true;
8983
- /**
8984
- * Makes the title stand out more than it does by default.
8985
- */
8986
- // @Input()
8987
- this.titleAttention = false;
8988
- /**
8989
- * Determines if the difference value will be wrapped in a `rounded-pill`.
8990
- */
8991
- this.differencePill = false;
8992
- /**
8993
- * Changes the text color for the current value.
8994
- */
8995
- this.currentColor = '';
8996
9236
  /**
8997
9237
  * Changes the color of the icon.
8998
9238
  */
@@ -9028,19 +9268,25 @@ class DataCardComponent {
9028
9268
  get differenceDisplay() {
9029
9269
  return this.difference.replace('-', '');
9030
9270
  }
9271
+ get hasIcon() {
9272
+ return !!this.iconContentElementRef.nativeElement.children.length;
9273
+ }
9031
9274
  handleLinkClick(event) {
9032
9275
  this.linkClicked.emit(event);
9033
9276
  }
9034
9277
  handleCornerClick(event) {
9035
9278
  this.cornerClicked.emit(event);
9036
9279
  }
9280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DataCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: DataCardComponent, selector: "impdc-data-card, [impdc-data-card]", inputs: { title: "title", current: "current", previous: "previous", difference: "difference", linkText: "linkText", sharedBorders: "sharedBorders", iconColor: "iconColor", iconBgColor: "iconBgColor" }, outputs: { linkClicked: "linkClicked", cornerClicked: "cornerClicked" }, host: { properties: { "class": "this.classDataCard", "class.impdc-data-card-shared-borders": "this.classDataCardSharedBorders" } }, viewQueries: [{ propertyName: "iconContentElementRef", first: true, predicate: ["iconContentEl"], descendants: true, read: (ElementRef), static: true }], ngImport: i0, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.d-none]=\"!hasIcon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"!hasIcon\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"!hasIcon && !previous && !difference\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"!hasIcon && previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <impdc-badge\n *ngIf=\"difference\"\n [text]=\"differenceDisplay\"\n [icon]=\"\n differencePositive\n ? 'arrow-up'\n : differenceNegative\n ? 'arrow-down'\n : ''\n \"\n [theme]=\"\n differencePositive\n ? BadgeTheme.Success\n : differenceNegative\n ? BadgeTheme.Danger\n : BadgeTheme.Light\n \"\n [hideBg]=\"hasIcon\"\n [rounded]=\"true\"></impdc-badge>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.d-none]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.d-none]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.d-none]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [":host(.impdc-data-card){overflow-x:hidden;border:0;box-shadow:var(--impartner-hex-box-shadow);border-radius:var(--impd-border-radius-lg)}:host(.impdc-data-card).impdc-data-card-shared-borders:first-child:not(:last-child){border-right:solid var(--impd-color-gray-200) 1px;border-top-right-radius:0;border-bottom-right-radius:0}:host(.impdc-data-card).impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host(.impdc-data-card).impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:solid var(--impd-color-gray-200) 1px;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:var(--impd-size-5);padding:var(--impd-size-6)}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:var(--impd-size-3);background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white);border-radius:var(--impd-border-radius-md)}.impdc-data-card-icon ::ng-deep .fa,.impdc-data-card-icon ::ng-deep .fa-brands,.impdc-data-card-icon ::ng-deep .fa-duotone,.impdc-data-card-icon ::ng-deep .fa-light,.impdc-data-card-icon ::ng-deep .fa-regular,.impdc-data-card-icon ::ng-deep .fa-solid,.impdc-data-card-icon ::ng-deep .fa-thin,.impdc-data-card-icon ::ng-deep .fab,.impdc-data-card-icon ::ng-deep .fad,.impdc-data-card-icon ::ng-deep .fal,.impdc-data-card-icon ::ng-deep .far,.impdc-data-card-icon ::ng-deep .fas,.impdc-data-card-icon ::ng-deep .fat,.impdc-data-card-icon ::ng-deep svg{display:flex;align-items:center;justify-content:center;height:var(--impd-size-6);width:var(--impd-size-6);font-size:var(--impd-font-size-lg);line-height:var(--impd-size-6)}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:var(--impd-color-gray-500);font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:var(--impd-font-weight-medium);min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:var(--impd-color-gray-900);font-size:var(--impd-font-size-base);line-height:var(--impd-size-6);font-weight:var(--impd-font-weight-normal)}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:baseline;min-width:0;gap:var(--impd-size-2)}.impdc-data-card-data .data-current{color:var(--impd-color-gray-900);font-size:var(--impd-size-6);line-height:var(--impd-size-8);font-weight:var(--impd-font-weight-semibold);min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-data .data-current.data-current-enlarged{font-size:var(--impd-font-size-3xl);line-height:var(--impd-size-9)}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:baseline;gap:var(--impd-size-2)}.impdc-data-card-data .data-previous{min-width:0;color:var(--impd-color-gray-500);font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:var(--impd-font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:var(--impd-size-2_5);line-height:var(--impd-size-3_5);color:var(--impd-color-gray-700)}.impdc-data-card-corner ::ng-deep .fa,.impdc-data-card-corner ::ng-deep .fa-brands,.impdc-data-card-corner ::ng-deep .fa-duotone,.impdc-data-card-corner ::ng-deep .fa-light,.impdc-data-card-corner ::ng-deep .fa-regular,.impdc-data-card-corner ::ng-deep .fa-solid,.impdc-data-card-corner ::ng-deep .fa-thin,.impdc-data-card-corner ::ng-deep .fab,.impdc-data-card-corner ::ng-deep .fad,.impdc-data-card-corner ::ng-deep .fal,.impdc-data-card-corner ::ng-deep .far,.impdc-data-card-corner ::ng-deep .fas,.impdc-data-card-corner ::ng-deep .fat,.impdc-data-card-corner ::ng-deep svg{height:var(--impd-size-3_5);line-height:var(--impd-size-3_5)}.impdc-data-card-footer{display:flex;align-items:center;padding:var(--impd-size-4);background-color:var(--impd-color-gray-50)}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer .footer-link{font-weight:var(--impd-font-weight-medium);font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BadgeComponent, selector: "impdc-badge, [impdc-badge]", inputs: ["text", "icon", "theme", "size", "hideBg", "rounded", "dismissable"], outputs: ["dismiss"] }] }); }
9037
9282
  }
9038
- DataCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9039
- DataCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DataCardComponent, selector: "impdc-data-card, [impdc-data-card]", inputs: { title: "title", current: "current", previous: "previous", difference: "difference", linkText: "linkText", sharedBorders: "sharedBorders", differencePill: "differencePill", currentColor: "currentColor", iconColor: "iconColor", iconBgColor: "iconBgColor" }, outputs: { linkClicked: "linkClicked", cornerClicked: "cornerClicked" }, host: { properties: { "class": "this.classDataCard", "class.impdc-data-card-shared-borders": "this.classDataCardSharedBorders" } }, ngImport: i0, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.hide]=\"!iconContentEl.children.length\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"titleAttention\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"\n !iconContentEl.children.length && !previous && !difference\n \"\n [style.color]=\"currentColor ? currentColor : undefined\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <span\n *ngIf=\"difference\"\n class=\"data-difference\"\n [class.difference-negative]=\"differenceNegative\"\n [class.difference-positive]=\"differencePositive\"\n [class.badge]=\"differencePill\"\n [class.rounded-pill]=\"differencePill\">\n <span *ngIf=\"differenceNegative\" impdc-icon name=\"arrow-down\"></span>\n <span *ngIf=\"differencePositive\" impdc-icon name=\"arrow-up\"></span>\n <span class=\"difference-display\">{{ differenceDisplay }}</span>\n </span>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.hide]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.hide]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.hide]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [".hide{display:none}.impdc-data-card{overflow-x:hidden;border:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:8px}.impdc-data-card.impdc-data-card-shared-borders:first-child:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.impdc-data-card.impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.impdc-data-card.impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:0;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:20px;padding:24px}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:12px;background-color:#01606d;color:#fff;border-radius:6px}.impdc-data-card-icon .fa,.impdc-data-card-icon .fa-brands,.impdc-data-card-icon .fa-duotone,.impdc-data-card-icon .fa-light,.impdc-data-card-icon .fa-regular,.impdc-data-card-icon .fa-solid,.impdc-data-card-icon .fa-thin,.impdc-data-card-icon .fab,.impdc-data-card-icon .fad,.impdc-data-card-icon .fal,.impdc-data-card-icon .far,.impdc-data-card-icon .fas,.impdc-data-card-icon .fat,.impdc-data-card-icon svg{display:flex;align-items:center;justify-content:center;height:24px;width:24px;font-size:18px;line-height:24px}.impdc-data-card-icon.hide{display:none}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:#6b7280;font-size:14px;line-height:20px;font-weight:500;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:#161e2e;font-size:16px;line-height:24px;font-weight:400}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:end;min-width:0}.impdc-data-card-data .data-current{color:#161e2e;font-size:24px;line-height:32px;font-weight:600;min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.impdc-data-card-data .data-current.data-current-enlarged{font-size:30px;line-height:36px}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:end;min-width:50px}.impdc-data-card-data .data-previous{min-width:0;color:#6b7280;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:13px}.impdc-data-card-data .data-difference{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:14px;line-height:20px;font-weight:500}.impdc-data-card-data .data-difference.difference-negative{color:#e02424}.impdc-data-card-data .data-difference.difference-negative.badge{background-color:#fde8e8}.impdc-data-card-data .data-difference.difference-positive{color:#057a55}.impdc-data-card-data .data-difference.difference-positive.badge{background-color:#def7ec}.impdc-data-card-data .data-difference.rounded-pill{padding:4px 10px;border-radius:12px!important}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:1rem;line-height:14px;color:#374151}.impdc-data-card-corner .fa,.impdc-data-card-corner .fa-brands,.impdc-data-card-corner .fa-duotone,.impdc-data-card-corner .fa-light,.impdc-data-card-corner .fa-regular,.impdc-data-card-corner .fa-solid,.impdc-data-card-corner .fa-thin,.impdc-data-card-corner .fab,.impdc-data-card-corner .fad,.impdc-data-card-corner .fal,.impdc-data-card-corner .far,.impdc-data-card-corner .fas,.impdc-data-card-corner .fat,.impdc-data-card-corner svg{height:14px;line-height:14px}.impdc-data-card-corner.hide{display:none}.impdc-data-card-footer{display:flex;align-items:center;padding:16px;background-color:#f9fafb}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer.hide{display:none}.impdc-data-card-footer .footer-link{color:#01606d;font-weight:500;font-size:14px;line-height:20px}.impdc-data-card-footer .footer-link:hover{color:#19a8c1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], encapsulation: i0.ViewEncapsulation.None });
9040
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardComponent, decorators: [{
9283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DataCardComponent, decorators: [{
9041
9284
  type: Component,
9042
- args: [{ selector: 'impdc-data-card, [impdc-data-card]', encapsulation: ViewEncapsulation.None, template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.hide]=\"!iconContentEl.children.length\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"titleAttention\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"\n !iconContentEl.children.length && !previous && !difference\n \"\n [style.color]=\"currentColor ? currentColor : undefined\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <span\n *ngIf=\"difference\"\n class=\"data-difference\"\n [class.difference-negative]=\"differenceNegative\"\n [class.difference-positive]=\"differencePositive\"\n [class.badge]=\"differencePill\"\n [class.rounded-pill]=\"differencePill\">\n <span *ngIf=\"differenceNegative\" impdc-icon name=\"arrow-down\"></span>\n <span *ngIf=\"differencePositive\" impdc-icon name=\"arrow-up\"></span>\n <span class=\"difference-display\">{{ differenceDisplay }}</span>\n </span>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.hide]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.hide]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.hide]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [".hide{display:none}.impdc-data-card{overflow-x:hidden;border:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-radius:8px}.impdc-data-card.impdc-data-card-shared-borders:first-child:not(:last-child){border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.impdc-data-card.impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.impdc-data-card.impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:0;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:20px;padding:24px}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:12px;background-color:#01606d;color:#fff;border-radius:6px}.impdc-data-card-icon .fa,.impdc-data-card-icon .fa-brands,.impdc-data-card-icon .fa-duotone,.impdc-data-card-icon .fa-light,.impdc-data-card-icon .fa-regular,.impdc-data-card-icon .fa-solid,.impdc-data-card-icon .fa-thin,.impdc-data-card-icon .fab,.impdc-data-card-icon .fad,.impdc-data-card-icon .fal,.impdc-data-card-icon .far,.impdc-data-card-icon .fas,.impdc-data-card-icon .fat,.impdc-data-card-icon svg{display:flex;align-items:center;justify-content:center;height:24px;width:24px;font-size:18px;line-height:24px}.impdc-data-card-icon.hide{display:none}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:#6b7280;font-size:14px;line-height:20px;font-weight:500;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:#161e2e;font-size:16px;line-height:24px;font-weight:400}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:end;min-width:0}.impdc-data-card-data .data-current{color:#161e2e;font-size:24px;line-height:32px;font-weight:600;min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.impdc-data-card-data .data-current.data-current-enlarged{font-size:30px;line-height:36px}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:end;min-width:50px}.impdc-data-card-data .data-previous{min-width:0;color:#6b7280;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:13px}.impdc-data-card-data .data-difference{display:inline-flex;align-items:center;gap:5px;color:#6b7280;font-size:14px;line-height:20px;font-weight:500}.impdc-data-card-data .data-difference.difference-negative{color:#e02424}.impdc-data-card-data .data-difference.difference-negative.badge{background-color:#fde8e8}.impdc-data-card-data .data-difference.difference-positive{color:#057a55}.impdc-data-card-data .data-difference.difference-positive.badge{background-color:#def7ec}.impdc-data-card-data .data-difference.rounded-pill{padding:4px 10px;border-radius:12px!important}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:1rem;line-height:14px;color:#374151}.impdc-data-card-corner .fa,.impdc-data-card-corner .fa-brands,.impdc-data-card-corner .fa-duotone,.impdc-data-card-corner .fa-light,.impdc-data-card-corner .fa-regular,.impdc-data-card-corner .fa-solid,.impdc-data-card-corner .fa-thin,.impdc-data-card-corner .fab,.impdc-data-card-corner .fad,.impdc-data-card-corner .fal,.impdc-data-card-corner .far,.impdc-data-card-corner .fas,.impdc-data-card-corner .fat,.impdc-data-card-corner svg{height:14px;line-height:14px}.impdc-data-card-corner.hide{display:none}.impdc-data-card-footer{display:flex;align-items:center;padding:16px;background-color:#f9fafb}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer.hide{display:none}.impdc-data-card-footer .footer-link{color:#01606d;font-weight:500;font-size:14px;line-height:20px}.impdc-data-card-footer .footer-link:hover{color:#19a8c1}\n"] }]
9043
- }], propDecorators: { title: [{
9285
+ args: [{ selector: 'impdc-data-card, [impdc-data-card]', template: "<div class=\"card-body impdc-data-card-body\">\n <div\n #iconContentEl\n class=\"impdc-data-card-icon\"\n [style.color]=\"iconColor ? iconColor : undefined\"\n [style.background-color]=\"iconBgColor ? iconBgColor : undefined\"\n [class.d-none]=\"!hasIcon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n <div class=\"impdc-data-card-container\">\n <div class=\"impdc-data-card-title\" [class.title-attention]=\"!hasIcon\">\n {{ title }}\n </div>\n <div class=\"impdc-data-card-data\">\n <ng-content></ng-content>\n <span\n *ngIf=\"current\"\n class=\"data-current\"\n [class.data-current-enlarged]=\"!hasIcon && !previous && !difference\"\n [innerText]=\"current\"></span>\n <span class=\"data-other\">\n <span\n *ngIf=\"!hasIcon && previous\"\n class=\"data-previous\"\n [innerText]=\"previous\"></span>\n <impdc-badge\n *ngIf=\"difference\"\n [text]=\"differenceDisplay\"\n [icon]=\"\n differencePositive\n ? 'arrow-up'\n : differenceNegative\n ? 'arrow-down'\n : ''\n \"\n [theme]=\"\n differencePositive\n ? BadgeTheme.Success\n : differenceNegative\n ? BadgeTheme.Danger\n : BadgeTheme.Light\n \"\n [hideBg]=\"hasIcon\"\n [rounded]=\"true\"></impdc-badge>\n </span>\n </div>\n </div>\n <div\n #cornerContentEl\n class=\"impdc-data-card-corner\"\n [class.d-none]=\"!cornerContentEl.children.length\"\n (click)=\"handleCornerClick($event); $event.stopPropagation()\">\n <ng-content select=\"[corner]\"></ng-content>\n </div>\n</div>\n<div\n class=\"card-footer impdc-data-card-footer\"\n [class.d-none]=\"!linkText && !footerContentEl.children.length\">\n <div #footerContentEl [class.d-none]=\"!footerContentEl.children.length\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <a\n *ngIf=\"linkText\"\n class=\"footer-link\"\n (click)=\"handleLinkClick($event); $event.stopPropagation()\"\n >{{ linkText }}</a\n >\n</div>\n", styles: [":host(.impdc-data-card){overflow-x:hidden;border:0;box-shadow:var(--impartner-hex-box-shadow);border-radius:var(--impd-border-radius-lg)}:host(.impdc-data-card).impdc-data-card-shared-borders:first-child:not(:last-child){border-right:solid var(--impd-color-gray-200) 1px;border-top-right-radius:0;border-bottom-right-radius:0}:host(.impdc-data-card).impdc-data-card-shared-borders:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host(.impdc-data-card).impdc-data-card-shared-borders:not(:first-child):not(:last-child){border-right:solid var(--impd-color-gray-200) 1px;border-radius:0}.impdc-data-card-body{position:relative;display:flex;align-items:center;gap:var(--impd-size-5);padding:var(--impd-size-6)}.impdc-data-card-icon{display:flex;align-items:center;justify-content:center;padding:var(--impd-size-3);background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white);border-radius:var(--impd-border-radius-md)}.impdc-data-card-icon ::ng-deep .fa,.impdc-data-card-icon ::ng-deep .fa-brands,.impdc-data-card-icon ::ng-deep .fa-duotone,.impdc-data-card-icon ::ng-deep .fa-light,.impdc-data-card-icon ::ng-deep .fa-regular,.impdc-data-card-icon ::ng-deep .fa-solid,.impdc-data-card-icon ::ng-deep .fa-thin,.impdc-data-card-icon ::ng-deep .fab,.impdc-data-card-icon ::ng-deep .fad,.impdc-data-card-icon ::ng-deep .fal,.impdc-data-card-icon ::ng-deep .far,.impdc-data-card-icon ::ng-deep .fas,.impdc-data-card-icon ::ng-deep .fat,.impdc-data-card-icon ::ng-deep svg{display:flex;align-items:center;justify-content:center;height:var(--impd-size-6);width:var(--impd-size-6);font-size:var(--impd-font-size-lg);line-height:var(--impd-size-6)}.impdc-data-card-container{display:flex;flex-direction:column;min-width:50px}.impdc-data-card-title{color:var(--impd-color-gray-500);font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:var(--impd-font-weight-medium);min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-title.title-attention{color:var(--impd-color-gray-900);font-size:var(--impd-font-size-base);line-height:var(--impd-size-6);font-weight:var(--impd-font-weight-normal)}.impdc-data-card-data{display:flex;flex-wrap:wrap;align-items:baseline;min-width:0;gap:var(--impd-size-2)}.impdc-data-card-data .data-current{color:var(--impd-color-gray-900);font-size:var(--impd-size-6);line-height:var(--impd-size-8);font-weight:var(--impd-font-weight-semibold);min-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-data .data-current.data-current-enlarged{font-size:var(--impd-font-size-3xl);line-height:var(--impd-size-9)}.impdc-data-card-data .data-other{display:inline-flex;justify-content:space-between;align-items:baseline;gap:var(--impd-size-2)}.impdc-data-card-data .data-previous{min-width:0;color:var(--impd-color-gray-500);font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:var(--impd-font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impdc-data-card-corner{position:absolute;top:0;right:0;margin:var(--impd-size-2_5);line-height:var(--impd-size-3_5);color:var(--impd-color-gray-700)}.impdc-data-card-corner ::ng-deep .fa,.impdc-data-card-corner ::ng-deep .fa-brands,.impdc-data-card-corner ::ng-deep .fa-duotone,.impdc-data-card-corner ::ng-deep .fa-light,.impdc-data-card-corner ::ng-deep .fa-regular,.impdc-data-card-corner ::ng-deep .fa-solid,.impdc-data-card-corner ::ng-deep .fa-thin,.impdc-data-card-corner ::ng-deep .fab,.impdc-data-card-corner ::ng-deep .fad,.impdc-data-card-corner ::ng-deep .fal,.impdc-data-card-corner ::ng-deep .far,.impdc-data-card-corner ::ng-deep .fas,.impdc-data-card-corner ::ng-deep .fat,.impdc-data-card-corner ::ng-deep svg{height:var(--impd-size-3_5);line-height:var(--impd-size-3_5)}.impdc-data-card-footer{display:flex;align-items:center;padding:var(--impd-size-4);background-color:var(--impd-color-gray-50)}.impdc-data-card-footer.card-footer{border-top:0}.impdc-data-card-footer .footer-link{font-weight:var(--impd-font-weight-medium);font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5)}\n"] }]
9286
+ }], propDecorators: { iconContentElementRef: [{
9287
+ type: ViewChild,
9288
+ args: ['iconContentEl', { static: true, read: (ElementRef) }]
9289
+ }], title: [{
9044
9290
  type: Input
9045
9291
  }], current: [{
9046
9292
  type: Input
@@ -9052,10 +9298,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
9052
9298
  type: Input
9053
9299
  }], sharedBorders: [{
9054
9300
  type: Input
9055
- }], differencePill: [{
9056
- type: Input
9057
- }], currentColor: [{
9058
- type: Input
9059
9301
  }], iconColor: [{
9060
9302
  type: Input
9061
9303
  }], iconBgColor: [{
@@ -9074,104 +9316,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
9074
9316
 
9075
9317
  class DataCardModule {
9076
9318
  constructor() { }
9319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DataCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9320
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.1", ngImport: i0, type: DataCardModule, declarations: [DataCardComponent], imports: [CommonModule, IconModule, BadgeModule], exports: [IconModule, DataCardComponent] }); }
9321
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DataCardModule, imports: [CommonModule, IconModule, BadgeModule, IconModule] }); }
9077
9322
  }
9078
- DataCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9079
- DataCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, declarations: [DataCardComponent], imports: [CommonModule, IconModule], exports: [IconModule, DataCardComponent] });
9080
- DataCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, imports: [CommonModule, IconModule, IconModule] });
9081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DataCardModule, decorators: [{
9323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: DataCardModule, decorators: [{
9082
9324
  type: NgModule,
9083
9325
  args: [{
9084
- imports: [CommonModule, IconModule],
9326
+ imports: [CommonModule, IconModule, BadgeModule],
9085
9327
  declarations: [DataCardComponent],
9086
9328
  exports: [IconModule, DataCardComponent]
9087
9329
  }]
9088
- }], ctorParameters: function () { return []; } });
9089
-
9090
- class InteractionService {
9091
- constructor() {
9092
- this._interactables = [];
9093
- this._backdropQueue = [];
9094
- }
9095
- get showBackdrop() {
9096
- return this._backdropQueue.length > 0;
9097
- }
9098
- registerBackdrop(modalBackdrop) {
9099
- // WARNING: there should only be 1 backdrop component, preferably loaded in the body
9100
- if (!this._backdrop) {
9101
- this._backdrop = modalBackdrop;
9102
- }
9103
- else if (this._backdrop !== modalBackdrop) {
9104
- this._backdrop.invalidate();
9105
- this._backdrop = modalBackdrop;
9106
- if (!modalBackdrop.valid) {
9107
- // we invalidated and set backdrop to the same backdrop
9108
- modalBackdrop.validate();
9109
- }
9110
- }
9111
- }
9112
- unregisterBackdrop(modalBackdrop) {
9113
- if (this._backdrop === modalBackdrop) {
9114
- this._backdrop = undefined;
9115
- }
9116
- }
9117
- add(interactable) {
9118
- const interactableId = interactable.interactableId;
9119
- if (interactableId > 0) {
9120
- if (!this._interactables.some(i => i.interactableId === interactableId)) {
9121
- this._interactables.push(interactable);
9122
- }
9123
- return interactableId;
9124
- }
9125
- this._interactables.push(interactable);
9126
- return this._interactables.length;
9127
- }
9128
- remove(interactableId) {
9129
- if (interactableId <= 0 || interactableId > this._interactables.length) {
9130
- return;
9131
- }
9132
- this._interactables.splice(interactableId - 1, 1);
9133
- this.dequeueBackdrop(interactableId);
9134
- }
9135
- toggle(interactable) {
9136
- if (interactable.interactableId <= 0 || interactable.show) {
9137
- // other interactables don't need to be altered/notified
9138
- return false;
9139
- }
9140
- for (const otherInteractable of this._interactables.filter(oi => oi.show)) {
9141
- if (otherInteractable instanceof DropdownComponent) {
9142
- otherInteractable.hide();
9143
- }
9144
- }
9145
- return true;
9146
- }
9147
- queueBackdrop(interactableId) {
9148
- if (!this._backdropQueue.includes(interactableId)) {
9149
- this._backdropQueue.push(interactableId);
9150
- }
9151
- }
9152
- dequeueBackdrop(interactableId) {
9153
- const interactableIdIndex = this._backdropQueue.indexOf(interactableId);
9154
- if (interactableIdIndex !== -1) {
9155
- this._backdropQueue.splice(interactableIdIndex, 1);
9156
- }
9157
- }
9158
- }
9159
- InteractionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9160
- InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, providedIn: 'root' });
9161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, decorators: [{
9162
- type: Injectable,
9163
- args: [{
9164
- providedIn: 'root'
9165
- }]
9166
- }] });
9330
+ }], ctorParameters: () => [] });
9167
9331
 
9168
9332
  /*
9169
9333
  * Public API Surface of design-components
9170
9334
  */
9335
+ // do not export design or utilities
9171
9336
 
9172
9337
  /**
9173
9338
  * Generated bundle index. Do not edit.
9174
9339
  */
9175
9340
 
9176
- export { AlertComponent, AlertModule, AvatarComponent, AvatarGroupComponent, AvatarGroupModule, AvatarModule, BackdropComponent, BackdropModule, BadgeComponent, BadgeModule, BadgeSize, BadgeSizesArr, BrandedDirective, BrandingModule, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, ButtonComponent, ButtonGroupComponent, ButtonGroupModule, ButtonModule, CardHeadingComponent, CardHeadingModule, CheckboxChangeEvent, CheckboxComponent, CheckboxModule, ColumnHeadingComponent, ComponentSize, ComponentTheme, ComponentThemesArr, CornerHintDirective, DataCardComponent, DataCardModule, DesignComponentsModule, DropdownComponent, DropdownItemComponent, DropdownModule, ErrorDirective, ErrorStateMatcher, FileDropDirective, FileUploadComponent, FileUploadModule, FontAwesomeFreeRegularIcons, FontAwesomeFreeSolidIcons, FontAwesomeIconThemes, FontAwesomeIcons, FormFieldComponent, HintDirective, HumanReadableByteSizePipe, IMPDC_FORM_FIELD, IMPDC_FORM_ROOT, IMPDC_RADIO_BUTTON, IMPDC_RADIO_GROUP, IMPDC_SELECT_OPTION_PARENT_COMPONENT, IconComponent, IconModule, ImpdcFormFieldControl, ImpdcFormsModule, ImpdcSelectIconChange, InputDirective, InteractionService, LabelDirective, ModalComponent, ModalComponentSizesArr, ModalModule, ModalTheme, ModalThemesArr, PaginationComponent, PaginationModule, PrefixDirective, ProgressBarComponent, ProgressBarModule, RadioButtonComponent, RadioChangeEvent, RadioGroupDirective, RadioModule, RootFormGroupDirective, RootNgFormDirective, ScrollableComponent, ScrollableModule, SelectChangeEvent, SelectComponent, SelectIconComponent, SelectIconModule, SelectModel, SelectModule, SelectOptionComponent, SelectOptionSelectionChangeEvent, ShowOnDirtyErrorStateMatcher, SizeDetectionModule, SizeDetectorDirective, SpinnerComponent, SpinnerModule, SuffixDirective, TableBulkActionsComponent, TableColumnType, TableComponent, TableDirective, TableInjectComponentDirective, TableModule, TableThemeHelper, TextHighlightComponent, TextHighlightModule, UniqueSelectionDispatcher, getImpdcFormFieldMissingControlError, mixinDisabled, mixinErrorState, mixinTabIndex };
9341
+ export { AlertComponent, AlertModule, AvatarComponent, AvatarGroupComponent, AvatarGroupModule, AvatarModule, BackdropComponent, BackdropModule, BadgeComponent, BadgeModule, BadgeSize, BadgeSizesArr, BrandedDirective, BrandingModule, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, ButtonComponent, ButtonGroupComponent, ButtonGroupModule, ButtonModule, CardHeadingComponent, CardHeadingModule, CheckboxChangeEvent, CheckboxComponent, CheckboxModule, ColumnHeadingComponent, ComponentSize, ComponentTheme, ComponentThemesArr, CornerHintDirective, DataCardComponent, DataCardModule, DesignComponentsModule, DropdownComponent, DropdownItemComponent, DropdownModule, ErrorDirective, ErrorStateMatcher, FileDropDirective, FileUploadComponent, FileUploadModule, FontAwesomeFreeRegularIcons, FontAwesomeFreeSolidIcons, FontAwesomeIconThemes, FontAwesomeIcons, FormFieldComponent, HintDirective, HumanReadableByteSizePipe, IMPDC_FORM_FIELD, IMPDC_FORM_ROOT, IMPDC_RADIO_BUTTON, IMPDC_RADIO_GROUP, IMPDC_SELECT_OPTION_PARENT_COMPONENT, IconComponent, IconModule, ImpdcFormFieldControl, ImpdcFormsModule, ImpdcSelectIconChange, InputDirective, InteractionService, LabelDirective, ModalComponent, ModalComponentSizesArr, ModalModule, ModalTheme, ModalThemesArr, PaginationComponent, PaginationModule, PrefixDirective, ProgressBarComponent, ProgressBarModule, RadioButtonComponent, RadioChangeEvent, RadioGroupDirective, RadioModule, RootFormGroupDirective, RootNgFormDirective, RowActionsComponent, ScrollableComponent, ScrollableModule, SelectChangeEvent, SelectComponent, SelectIconComponent, SelectIconModule, SelectModel, SelectModule, SelectOptionComponent, SelectOptionSelectionChangeEvent, ShowOnDirtyErrorStateMatcher, SizeDetectionModule, SizeDetectorDirective, SpinnerComponent, SpinnerModule, SuffixDirective, TableBulkActionsComponent, TableColumnType, TableComponent, TableDirective, TableInjectComponentDirective, TableModule, TableThemeHelper, TextHighlightComponent, TextHighlightModule, UniqueSelectionDispatcher, getImpdcFormFieldMissingControlError, mixinDisabled, mixinErrorState, mixinTabIndex };
9177
9342
  //# sourceMappingURL=impartner-design-components.mjs.map