@impartner/design-components 3.0.1 → 4.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 (442) hide show
  1. package/README.md +9 -8
  2. package/fesm2022/impartner-design-components.mjs +1668 -973
  3. package/fesm2022/impartner-design-components.mjs.map +1 -1
  4. package/index.d.ts +3634 -3
  5. package/package.json +9 -12
  6. package/constants/fontawesome-icons.d.ts +0 -6
  7. package/constants/index.d.ts +0 -1
  8. package/esm2022/constants/fontawesome-icons.mjs +0 -3012
  9. package/esm2022/constants/index.mjs +0 -2
  10. package/esm2022/impartner-design-components.mjs +0 -5
  11. package/esm2022/lib/alert/alert.component.mjs +0 -106
  12. package/esm2022/lib/alert/alert.module.mjs +0 -19
  13. package/esm2022/lib/alert/index.mjs +0 -4
  14. package/esm2022/lib/alert/theme/alert-theme.mjs +0 -2
  15. package/esm2022/lib/alert/theme/index.mjs +0 -2
  16. package/esm2022/lib/avatar/avatar.component.mjs +0 -48
  17. package/esm2022/lib/avatar/avatar.module.mjs +0 -19
  18. package/esm2022/lib/avatar/index.mjs +0 -3
  19. package/esm2022/lib/avatar-group/avatar-group.component.mjs +0 -16
  20. package/esm2022/lib/avatar-group/avatar-group.module.mjs +0 -19
  21. package/esm2022/lib/avatar-group/index.mjs +0 -3
  22. package/esm2022/lib/backdrop/backdrop.component.mjs +0 -52
  23. package/esm2022/lib/backdrop/backdrop.module.mjs +0 -19
  24. package/esm2022/lib/backdrop/index.mjs +0 -3
  25. package/esm2022/lib/badge/badge.component.mjs +0 -121
  26. package/esm2022/lib/badge/badge.module.mjs +0 -20
  27. package/esm2022/lib/badge/index.mjs +0 -4
  28. package/esm2022/lib/badge/types/badge-icon.mjs +0 -2
  29. package/esm2022/lib/badge/types/badge-size.mjs +0 -7
  30. package/esm2022/lib/badge/types/index.mjs +0 -2
  31. package/esm2022/lib/branding/branded.directive.mjs +0 -19
  32. package/esm2022/lib/branding/branding.module.mjs +0 -19
  33. package/esm2022/lib/branding/index.mjs +0 -3
  34. package/esm2022/lib/breadcrumb/breadcrumb-item.component.mjs +0 -25
  35. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -37
  36. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -19
  37. package/esm2022/lib/breadcrumb/index.mjs +0 -4
  38. package/esm2022/lib/button/button.component.mjs +0 -116
  39. package/esm2022/lib/button/button.module.mjs +0 -21
  40. package/esm2022/lib/button/index.mjs +0 -4
  41. package/esm2022/lib/button/themes/button-theme.mjs +0 -2
  42. package/esm2022/lib/button/themes/index.mjs +0 -2
  43. package/esm2022/lib/button-group/button-group.component.mjs +0 -52
  44. package/esm2022/lib/button-group/button-group.module.mjs +0 -20
  45. package/esm2022/lib/button-group/index.mjs +0 -3
  46. package/esm2022/lib/card-heading/card-heading.component.mjs +0 -30
  47. package/esm2022/lib/card-heading/card-heading.module.mjs +0 -19
  48. package/esm2022/lib/card-heading/index.mjs +0 -3
  49. package/esm2022/lib/data-card/data-card.component.mjs +0 -123
  50. package/esm2022/lib/data-card/data-card.module.mjs +0 -21
  51. package/esm2022/lib/data-card/index.mjs +0 -3
  52. package/esm2022/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.mjs +0 -105
  53. package/esm2022/lib/datetime-picker/components/datepicker-nav/index.mjs +0 -2
  54. package/esm2022/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.mjs +0 -33
  55. package/esm2022/lib/datetime-picker/components/datepicker-template-host/index.mjs +0 -2
  56. package/esm2022/lib/datetime-picker/components/datetime-picker/datetime-picker.component.mjs +0 -369
  57. package/esm2022/lib/datetime-picker/components/datetime-picker/index.mjs +0 -2
  58. package/esm2022/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.mjs +0 -367
  59. package/esm2022/lib/datetime-picker/components/datetime-picker-input/index.mjs +0 -2
  60. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.mjs +0 -68
  61. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/index.mjs +0 -2
  62. package/esm2022/lib/datetime-picker/components/index.mjs +0 -6
  63. package/esm2022/lib/datetime-picker/constants/datetime-picker-defaults.mjs +0 -12
  64. package/esm2022/lib/datetime-picker/constants/index.mjs +0 -2
  65. package/esm2022/lib/datetime-picker/datetime-picker.module.mjs +0 -22
  66. package/esm2022/lib/datetime-picker/index.mjs +0 -4
  67. package/esm2022/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.mjs +0 -40
  68. package/esm2022/lib/datetime-picker/services/datetime-formatter/index.mjs +0 -2
  69. package/esm2022/lib/datetime-picker/services/index.mjs +0 -2
  70. package/esm2022/lib/datetime-picker/types/datetime-picker-value.interface.mjs +0 -2
  71. package/esm2022/lib/datetime-picker/types/index.mjs +0 -2
  72. package/esm2022/lib/design-components.module.mjs +0 -132
  73. package/esm2022/lib/dropdown/components/dropdown-item/dropdown-item.component.mjs +0 -22
  74. package/esm2022/lib/dropdown/components/index.mjs +0 -2
  75. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -143
  76. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -21
  77. package/esm2022/lib/dropdown/index.mjs +0 -5
  78. package/esm2022/lib/dropdown/types/dropdown-position.mjs +0 -2
  79. package/esm2022/lib/dropdown/types/index.mjs +0 -2
  80. package/esm2022/lib/file-upload/directives/file-drop.directive.mjs +0 -50
  81. package/esm2022/lib/file-upload/directives/index.mjs +0 -2
  82. package/esm2022/lib/file-upload/file-upload.component.mjs +0 -335
  83. package/esm2022/lib/file-upload/file-upload.module.mjs +0 -38
  84. package/esm2022/lib/file-upload/index.mjs +0 -5
  85. package/esm2022/lib/file-upload/pipes/human-readable-byte-size.pipe.mjs +0 -23
  86. package/esm2022/lib/file-upload/pipes/index.mjs +0 -2
  87. package/esm2022/lib/form-field/component/directives/corner-hint.directive.mjs +0 -15
  88. package/esm2022/lib/form-field/component/directives/error.directive.mjs +0 -27
  89. package/esm2022/lib/form-field/component/directives/form-root.directive.mjs +0 -93
  90. package/esm2022/lib/form-field/component/directives/hint.directive.mjs +0 -25
  91. package/esm2022/lib/form-field/component/directives/index.mjs +0 -25
  92. package/esm2022/lib/form-field/component/directives/label.directive.mjs +0 -15
  93. package/esm2022/lib/form-field/component/directives/prefix.directive.mjs +0 -25
  94. package/esm2022/lib/form-field/component/directives/suffix.directive.mjs +0 -25
  95. package/esm2022/lib/form-field/component/form-field.component.mjs +0 -131
  96. package/esm2022/lib/form-field/component/form-field.module.mjs +0 -24
  97. package/esm2022/lib/form-field/component/index.mjs +0 -4
  98. package/esm2022/lib/form-field/controls/checkbox/checkbox.component.mjs +0 -345
  99. package/esm2022/lib/form-field/controls/checkbox/checkbox.module.mjs +0 -16
  100. package/esm2022/lib/form-field/controls/checkbox/index.mjs +0 -3
  101. package/esm2022/lib/form-field/controls/index.mjs +0 -6
  102. package/esm2022/lib/form-field/controls/input/index.mjs +0 -2
  103. package/esm2022/lib/form-field/controls/input/input.directive.mjs +0 -234
  104. package/esm2022/lib/form-field/controls/radio/index.mjs +0 -6
  105. package/esm2022/lib/form-field/controls/radio/injection-tokens.mjs +0 -4
  106. package/esm2022/lib/form-field/controls/radio/interfaces/index.mjs +0 -4
  107. package/esm2022/lib/form-field/controls/radio/interfaces/radio-button.interface.mjs +0 -2
  108. package/esm2022/lib/form-field/controls/radio/interfaces/radio-change-event.interface.mjs +0 -11
  109. package/esm2022/lib/form-field/controls/radio/interfaces/radio-group.interface.mjs +0 -2
  110. package/esm2022/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +0 -262
  111. package/esm2022/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +0 -290
  112. package/esm2022/lib/form-field/controls/radio/radio.module.mjs +0 -17
  113. package/esm2022/lib/form-field/controls/select/index.mjs +0 -9
  114. package/esm2022/lib/form-field/controls/select/interfaces/index.mjs +0 -2
  115. package/esm2022/lib/form-field/controls/select/interfaces/select-option.interface.mjs +0 -2
  116. package/esm2022/lib/form-field/controls/select/option/index.mjs +0 -2
  117. package/esm2022/lib/form-field/controls/select/option/select-option.component.mjs +0 -44
  118. package/esm2022/lib/form-field/controls/select/option-display/index.mjs +0 -2
  119. package/esm2022/lib/form-field/controls/select/option-display/select-option-display.component.mjs +0 -162
  120. package/esm2022/lib/form-field/controls/select/option-group/index.mjs +0 -2
  121. package/esm2022/lib/form-field/controls/select/option-group/select-option-group.component.mjs +0 -35
  122. package/esm2022/lib/form-field/controls/select/option-parent.mjs +0 -4
  123. package/esm2022/lib/form-field/controls/select/select-model.mjs +0 -150
  124. package/esm2022/lib/form-field/controls/select/select.component.mjs +0 -725
  125. package/esm2022/lib/form-field/controls/select/select.module.mjs +0 -37
  126. package/esm2022/lib/form-field/controls/select/value-tags-display/index.mjs +0 -2
  127. package/esm2022/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.mjs +0 -91
  128. package/esm2022/lib/form-field/controls/shared/index.mjs +0 -2
  129. package/esm2022/lib/form-field/controls/shared/toggle/components/index.mjs +0 -2
  130. package/esm2022/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +0 -17
  131. package/esm2022/lib/form-field/controls/shared/toggle/index.mjs +0 -4
  132. package/esm2022/lib/form-field/controls/shared/toggle/toggle.component.mjs +0 -112
  133. package/esm2022/lib/form-field/controls/shared/toggle/toggle.module.mjs +0 -18
  134. package/esm2022/lib/form-field/controls/tag-select/index.mjs +0 -2
  135. package/esm2022/lib/form-field/controls/tag-select/tag-select.component.mjs +0 -146
  136. package/esm2022/lib/form-field/form-field-errors.mjs +0 -5
  137. package/esm2022/lib/form-field/impdc-forms.mjs +0 -7
  138. package/esm2022/lib/form-field/impdc-forms.module.mjs +0 -53
  139. package/esm2022/lib/form-field/index.mjs +0 -2
  140. package/esm2022/lib/form-field/services/error-state-matcher.service.mjs +0 -28
  141. package/esm2022/lib/form-field/services/index.mjs +0 -3
  142. package/esm2022/lib/form-field/services/unique-selection-dispatcher.service.mjs +0 -48
  143. package/esm2022/lib/form-field/shared/constructors.type.mjs +0 -2
  144. package/esm2022/lib/form-field/shared/disabled.mixin.mjs +0 -15
  145. package/esm2022/lib/form-field/shared/error-state.mixin.mjs +0 -24
  146. package/esm2022/lib/form-field/shared/form-field-control.mjs +0 -10
  147. package/esm2022/lib/form-field/shared/index.mjs +0 -5
  148. package/esm2022/lib/form-field/shared/tab-index.mixin.mjs +0 -19
  149. package/esm2022/lib/icon/icon.component.mjs +0 -83
  150. package/esm2022/lib/icon/icon.module.mjs +0 -19
  151. package/esm2022/lib/icon/index.mjs +0 -3
  152. package/esm2022/lib/index.mjs +0 -29
  153. package/esm2022/lib/modal/index.mjs +0 -4
  154. package/esm2022/lib/modal/modal.component.mjs +0 -266
  155. package/esm2022/lib/modal/modal.module.mjs +0 -37
  156. package/esm2022/lib/modal/types/index.mjs +0 -3
  157. package/esm2022/lib/modal/types/modal-component-sizes.mjs +0 -9
  158. package/esm2022/lib/modal/types/modal-theme.mjs +0 -12
  159. package/esm2022/lib/pagination/index.mjs +0 -3
  160. package/esm2022/lib/pagination/pagination.component.mjs +0 -176
  161. package/esm2022/lib/pagination/pagination.module.mjs +0 -41
  162. package/esm2022/lib/progress-bar/index.mjs +0 -3
  163. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -51
  164. package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -18
  165. package/esm2022/lib/scrollable/index.mjs +0 -3
  166. package/esm2022/lib/scrollable/scrollable.component.mjs +0 -186
  167. package/esm2022/lib/scrollable/scrollable.module.mjs +0 -21
  168. package/esm2022/lib/select-icon/index.mjs +0 -3
  169. package/esm2022/lib/select-icon/select-icon.component.mjs +0 -308
  170. package/esm2022/lib/select-icon/select-icon.module.mjs +0 -39
  171. package/esm2022/lib/size-detection/directive/element-size.interface.mjs +0 -2
  172. package/esm2022/lib/size-detection/directive/index.mjs +0 -3
  173. package/esm2022/lib/size-detection/directive/size-detector.directive.mjs +0 -43
  174. package/esm2022/lib/size-detection/index.mjs +0 -3
  175. package/esm2022/lib/size-detection/size-detection.module.mjs +0 -18
  176. package/esm2022/lib/spinner/index.mjs +0 -3
  177. package/esm2022/lib/spinner/spinner.component.mjs +0 -24
  178. package/esm2022/lib/spinner/spinner.module.mjs +0 -18
  179. package/esm2022/lib/table/components/bulk-actions/bulk-actions.component.mjs +0 -16
  180. package/esm2022/lib/table/components/column-heading/column-heading.component.mjs +0 -38
  181. package/esm2022/lib/table/components/index.mjs +0 -4
  182. package/esm2022/lib/table/components/row-actions/row-actions.component.mjs +0 -61
  183. package/esm2022/lib/table/constants/index.mjs +0 -3
  184. package/esm2022/lib/table/constants/public-table.constants.mjs +0 -2
  185. package/esm2022/lib/table/constants/table.constants.mjs +0 -23
  186. package/esm2022/lib/table/containers/index.mjs +0 -2
  187. package/esm2022/lib/table/containers/table.component.mjs +0 -474
  188. package/esm2022/lib/table/directives/collapse-monitor.directive.mjs +0 -42
  189. package/esm2022/lib/table/directives/index.mjs +0 -4
  190. package/esm2022/lib/table/directives/table-inject-component.directive.mjs +0 -46
  191. package/esm2022/lib/table/directives/table.directive.mjs +0 -55
  192. package/esm2022/lib/table/enumerations/index.mjs +0 -2
  193. package/esm2022/lib/table/enumerations/table-column-type.mjs +0 -21
  194. package/esm2022/lib/table/helpers/index.mjs +0 -2
  195. package/esm2022/lib/table/helpers/table-theme.helper.mjs +0 -31
  196. package/esm2022/lib/table/index.mjs +0 -8
  197. package/esm2022/lib/table/interfaces/cell-renderer.interface.mjs +0 -2
  198. package/esm2022/lib/table/interfaces/collapsible-row-content-context.interface.mjs +0 -2
  199. package/esm2022/lib/table/interfaces/custom-cell-renderer-components.type.mjs +0 -2
  200. package/esm2022/lib/table/interfaces/index.mjs +0 -13
  201. package/esm2022/lib/table/interfaces/sort-by-payload.interface.mjs +0 -2
  202. package/esm2022/lib/table/interfaces/table-cell-option.interface.mjs +0 -2
  203. package/esm2022/lib/table/interfaces/table-column-defs.type.mjs +0 -2
  204. package/esm2022/lib/table/interfaces/table-event-payload.interface.mjs +0 -2
  205. package/esm2022/lib/table/interfaces/table-row-action-payload.interface.mjs +0 -2
  206. package/esm2022/lib/table/interfaces/table-row-action.interface.mjs +0 -2
  207. package/esm2022/lib/table/interfaces/table-row-collapse-change.interface.mjs +0 -2
  208. package/esm2022/lib/table/interfaces/table-row-item.interface.mjs +0 -2
  209. package/esm2022/lib/table/table.module.mjs +0 -101
  210. package/esm2022/lib/tag/index.mjs +0 -2
  211. package/esm2022/lib/tag/tag.component.mjs +0 -104
  212. package/esm2022/lib/text-highlight/index.mjs +0 -3
  213. package/esm2022/lib/text-highlight/text-highlight.component.mjs +0 -101
  214. package/esm2022/lib/text-highlight/text-highlight.module.mjs +0 -17
  215. package/esm2022/public-api.mjs +0 -9
  216. package/esm2022/services/index.mjs +0 -2
  217. package/esm2022/services/interaction.service.mjs +0 -88
  218. package/esm2022/types/component-size.mjs +0 -12
  219. package/esm2022/types/component-theme.mjs +0 -22
  220. package/esm2022/types/index.mjs +0 -3
  221. package/esm2022/utilities/boolean-props.mjs +0 -7
  222. package/esm2022/utilities/dc.mjs +0 -9
  223. package/esm2022/utilities/index.mjs +0 -6
  224. package/esm2022/utilities/lc.mjs +0 -9
  225. package/esm2022/utilities/number-props.mjs +0 -18
  226. package/esm2022/utilities/sanitize.mjs +0 -7
  227. package/lib/alert/alert.component.d.ts +0 -50
  228. package/lib/alert/alert.module.d.ts +0 -9
  229. package/lib/alert/index.d.ts +0 -3
  230. package/lib/alert/theme/alert-theme.d.ts +0 -1
  231. package/lib/alert/theme/index.d.ts +0 -1
  232. package/lib/avatar/avatar.component.d.ts +0 -28
  233. package/lib/avatar/avatar.module.d.ts +0 -9
  234. package/lib/avatar/index.d.ts +0 -2
  235. package/lib/avatar-group/avatar-group.component.d.ts +0 -10
  236. package/lib/avatar-group/avatar-group.module.d.ts +0 -9
  237. package/lib/avatar-group/index.d.ts +0 -2
  238. package/lib/backdrop/backdrop.component.d.ts +0 -24
  239. package/lib/backdrop/backdrop.module.d.ts +0 -9
  240. package/lib/backdrop/index.d.ts +0 -2
  241. package/lib/badge/badge.component.d.ts +0 -63
  242. package/lib/badge/badge.module.d.ts +0 -10
  243. package/lib/badge/index.d.ts +0 -3
  244. package/lib/badge/types/badge-icon.d.ts +0 -1
  245. package/lib/badge/types/badge-size.d.ts +0 -6
  246. package/lib/badge/types/index.d.ts +0 -2
  247. package/lib/branding/branded.directive.d.ts +0 -6
  248. package/lib/branding/branding.module.d.ts +0 -9
  249. package/lib/branding/index.d.ts +0 -2
  250. package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -7
  251. package/lib/breadcrumb/breadcrumb.component.d.ts +0 -21
  252. package/lib/breadcrumb/breadcrumb.module.d.ts +0 -9
  253. package/lib/breadcrumb/index.d.ts +0 -3
  254. package/lib/button/button.component.d.ts +0 -47
  255. package/lib/button/button.module.d.ts +0 -11
  256. package/lib/button/index.d.ts +0 -3
  257. package/lib/button/themes/button-theme.d.ts +0 -1
  258. package/lib/button/themes/index.d.ts +0 -1
  259. package/lib/button-group/button-group.component.d.ts +0 -22
  260. package/lib/button-group/button-group.module.d.ts +0 -10
  261. package/lib/button-group/index.d.ts +0 -2
  262. package/lib/card-heading/card-heading.component.d.ts +0 -18
  263. package/lib/card-heading/card-heading.module.d.ts +0 -9
  264. package/lib/card-heading/index.d.ts +0 -2
  265. package/lib/data-card/data-card.component.d.ts +0 -68
  266. package/lib/data-card/data-card.module.d.ts +0 -11
  267. package/lib/data-card/index.d.ts +0 -2
  268. package/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.d.ts +0 -31
  269. package/lib/datetime-picker/components/datepicker-nav/index.d.ts +0 -1
  270. package/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.d.ts +0 -15
  271. package/lib/datetime-picker/components/datepicker-template-host/index.d.ts +0 -1
  272. package/lib/datetime-picker/components/datetime-picker/datetime-picker.component.d.ts +0 -155
  273. package/lib/datetime-picker/components/datetime-picker/index.d.ts +0 -1
  274. package/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.d.ts +0 -160
  275. package/lib/datetime-picker/components/datetime-picker-input/index.d.ts +0 -1
  276. package/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.d.ts +0 -24
  277. package/lib/datetime-picker/components/datetime-picker-input-footer/index.d.ts +0 -1
  278. package/lib/datetime-picker/components/index.d.ts +0 -5
  279. package/lib/datetime-picker/constants/datetime-picker-defaults.d.ts +0 -4
  280. package/lib/datetime-picker/constants/index.d.ts +0 -1
  281. package/lib/datetime-picker/datetime-picker.module.d.ts +0 -8
  282. package/lib/datetime-picker/index.d.ts +0 -4
  283. package/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.d.ts +0 -20
  284. package/lib/datetime-picker/services/datetime-formatter/index.d.ts +0 -1
  285. package/lib/datetime-picker/services/index.d.ts +0 -1
  286. package/lib/datetime-picker/types/datetime-picker-value.interface.d.ts +0 -5
  287. package/lib/datetime-picker/types/index.d.ts +0 -1
  288. package/lib/design-components.module.d.ts +0 -24
  289. package/lib/dropdown/components/dropdown-item/dropdown-item.component.d.ts +0 -11
  290. package/lib/dropdown/components/index.d.ts +0 -1
  291. package/lib/dropdown/dropdown.component.d.ts +0 -67
  292. package/lib/dropdown/dropdown.module.d.ts +0 -11
  293. package/lib/dropdown/index.d.ts +0 -4
  294. package/lib/dropdown/types/dropdown-position.d.ts +0 -1
  295. package/lib/dropdown/types/index.d.ts +0 -1
  296. package/lib/file-upload/directives/file-drop.directive.d.ts +0 -11
  297. package/lib/file-upload/directives/index.d.ts +0 -1
  298. package/lib/file-upload/file-upload.component.d.ts +0 -105
  299. package/lib/file-upload/file-upload.module.d.ts +0 -14
  300. package/lib/file-upload/index.d.ts +0 -4
  301. package/lib/file-upload/pipes/human-readable-byte-size.pipe.d.ts +0 -7
  302. package/lib/file-upload/pipes/index.d.ts +0 -1
  303. package/lib/form-field/component/directives/corner-hint.directive.d.ts +0 -5
  304. package/lib/form-field/component/directives/error.directive.d.ts +0 -8
  305. package/lib/form-field/component/directives/form-root.directive.d.ts +0 -26
  306. package/lib/form-field/component/directives/hint.directive.d.ts +0 -6
  307. package/lib/form-field/component/directives/index.d.ts +0 -15
  308. package/lib/form-field/component/directives/label.directive.d.ts +0 -5
  309. package/lib/form-field/component/directives/prefix.directive.d.ts +0 -9
  310. package/lib/form-field/component/directives/suffix.directive.d.ts +0 -9
  311. package/lib/form-field/component/form-field.component.d.ts +0 -37
  312. package/lib/form-field/component/form-field.module.d.ts +0 -14
  313. package/lib/form-field/component/index.d.ts +0 -3
  314. package/lib/form-field/controls/checkbox/checkbox.component.d.ts +0 -137
  315. package/lib/form-field/controls/checkbox/checkbox.module.d.ts +0 -7
  316. package/lib/form-field/controls/checkbox/index.d.ts +0 -2
  317. package/lib/form-field/controls/index.d.ts +0 -5
  318. package/lib/form-field/controls/input/index.d.ts +0 -1
  319. package/lib/form-field/controls/input/input.directive.d.ts +0 -84
  320. package/lib/form-field/controls/radio/index.d.ts +0 -5
  321. package/lib/form-field/controls/radio/injection-tokens.d.ts +0 -4
  322. package/lib/form-field/controls/radio/interfaces/index.d.ts +0 -3
  323. package/lib/form-field/controls/radio/interfaces/radio-button.interface.d.ts +0 -6
  324. package/lib/form-field/controls/radio/interfaces/radio-change-event.interface.d.ts +0 -12
  325. package/lib/form-field/controls/radio/interfaces/radio-group.interface.d.ts +0 -13
  326. package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +0 -98
  327. package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +0 -104
  328. package/lib/form-field/controls/radio/radio.module.d.ts +0 -8
  329. package/lib/form-field/controls/select/index.d.ts +0 -9
  330. package/lib/form-field/controls/select/interfaces/index.d.ts +0 -1
  331. package/lib/form-field/controls/select/interfaces/select-option.interface.d.ts +0 -6
  332. package/lib/form-field/controls/select/option/index.d.ts +0 -1
  333. package/lib/form-field/controls/select/option/select-option.component.d.ts +0 -21
  334. package/lib/form-field/controls/select/option-display/index.d.ts +0 -1
  335. package/lib/form-field/controls/select/option-display/select-option-display.component.d.ts +0 -64
  336. package/lib/form-field/controls/select/option-group/index.d.ts +0 -1
  337. package/lib/form-field/controls/select/option-group/select-option-group.component.d.ts +0 -11
  338. package/lib/form-field/controls/select/option-parent.d.ts +0 -16
  339. package/lib/form-field/controls/select/select-model.d.ts +0 -36
  340. package/lib/form-field/controls/select/select.component.d.ts +0 -232
  341. package/lib/form-field/controls/select/select.module.d.ts +0 -10
  342. package/lib/form-field/controls/select/value-tags-display/index.d.ts +0 -1
  343. package/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.d.ts +0 -46
  344. package/lib/form-field/controls/shared/index.d.ts +0 -1
  345. package/lib/form-field/controls/shared/toggle/components/index.d.ts +0 -1
  346. package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +0 -6
  347. package/lib/form-field/controls/shared/toggle/index.d.ts +0 -3
  348. package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +0 -29
  349. package/lib/form-field/controls/shared/toggle/toggle.module.d.ts +0 -9
  350. package/lib/form-field/controls/tag-select/index.d.ts +0 -1
  351. package/lib/form-field/controls/tag-select/tag-select.component.d.ts +0 -43
  352. package/lib/form-field/form-field-errors.d.ts +0 -2
  353. package/lib/form-field/impdc-forms.d.ts +0 -6
  354. package/lib/form-field/impdc-forms.module.d.ts +0 -13
  355. package/lib/form-field/index.d.ts +0 -1
  356. package/lib/form-field/services/error-state-matcher.service.d.ts +0 -12
  357. package/lib/form-field/services/index.d.ts +0 -2
  358. package/lib/form-field/services/unique-selection-dispatcher.service.d.ts +0 -29
  359. package/lib/form-field/shared/constructors.type.d.ts +0 -7
  360. package/lib/form-field/shared/disabled.mixin.d.ts +0 -10
  361. package/lib/form-field/shared/error-state.mixin.d.ts +0 -31
  362. package/lib/form-field/shared/form-field-control.d.ts +0 -24
  363. package/lib/form-field/shared/index.d.ts +0 -5
  364. package/lib/form-field/shared/tab-index.mixin.d.ts +0 -13
  365. package/lib/icon/icon.component.d.ts +0 -36
  366. package/lib/icon/icon.module.d.ts +0 -9
  367. package/lib/icon/index.d.ts +0 -2
  368. package/lib/index.d.ts +0 -28
  369. package/lib/modal/index.d.ts +0 -3
  370. package/lib/modal/modal.component.d.ts +0 -116
  371. package/lib/modal/modal.module.d.ts +0 -13
  372. package/lib/modal/types/index.d.ts +0 -2
  373. package/lib/modal/types/modal-component-sizes.d.ts +0 -3
  374. package/lib/modal/types/modal-theme.d.ts +0 -7
  375. package/lib/pagination/index.d.ts +0 -2
  376. package/lib/pagination/pagination.component.d.ts +0 -58
  377. package/lib/pagination/pagination.module.d.ts +0 -14
  378. package/lib/progress-bar/index.d.ts +0 -2
  379. package/lib/progress-bar/progress-bar.component.d.ts +0 -31
  380. package/lib/progress-bar/progress-bar.module.d.ts +0 -8
  381. package/lib/scrollable/index.d.ts +0 -2
  382. package/lib/scrollable/scrollable.component.d.ts +0 -41
  383. package/lib/scrollable/scrollable.module.d.ts +0 -11
  384. package/lib/select-icon/index.d.ts +0 -2
  385. package/lib/select-icon/select-icon.component.d.ts +0 -123
  386. package/lib/select-icon/select-icon.module.d.ts +0 -12
  387. package/lib/size-detection/directive/element-size.interface.d.ts +0 -4
  388. package/lib/size-detection/directive/index.d.ts +0 -2
  389. package/lib/size-detection/directive/size-detector.directive.d.ts +0 -14
  390. package/lib/size-detection/index.d.ts +0 -3
  391. package/lib/size-detection/size-detection.module.d.ts +0 -8
  392. package/lib/spinner/index.d.ts +0 -2
  393. package/lib/spinner/spinner.component.d.ts +0 -13
  394. package/lib/spinner/spinner.module.d.ts +0 -8
  395. package/lib/table/components/bulk-actions/bulk-actions.component.d.ts +0 -10
  396. package/lib/table/components/column-heading/column-heading.component.d.ts +0 -14
  397. package/lib/table/components/index.d.ts +0 -3
  398. package/lib/table/components/row-actions/row-actions.component.d.ts +0 -21
  399. package/lib/table/constants/index.d.ts +0 -2
  400. package/lib/table/constants/public-table.constants.d.ts +0 -1
  401. package/lib/table/constants/table.constants.d.ts +0 -9
  402. package/lib/table/containers/index.d.ts +0 -1
  403. package/lib/table/containers/table.component.d.ts +0 -178
  404. package/lib/table/directives/collapse-monitor.directive.d.ts +0 -12
  405. package/lib/table/directives/index.d.ts +0 -3
  406. package/lib/table/directives/table-inject-component.directive.d.ts +0 -16
  407. package/lib/table/directives/table.directive.d.ts +0 -23
  408. package/lib/table/enumerations/index.d.ts +0 -1
  409. package/lib/table/enumerations/table-column-type.d.ts +0 -19
  410. package/lib/table/helpers/index.d.ts +0 -1
  411. package/lib/table/helpers/table-theme.helper.d.ts +0 -7
  412. package/lib/table/index.d.ts +0 -7
  413. package/lib/table/interfaces/cell-renderer.interface.d.ts +0 -13
  414. package/lib/table/interfaces/collapsible-row-content-context.interface.d.ts +0 -39
  415. package/lib/table/interfaces/custom-cell-renderer-components.type.d.ts +0 -3
  416. package/lib/table/interfaces/index.d.ts +0 -12
  417. package/lib/table/interfaces/sort-by-payload.interface.d.ts +0 -11
  418. package/lib/table/interfaces/table-cell-option.interface.d.ts +0 -4
  419. package/lib/table/interfaces/table-column-defs.type.d.ts +0 -53
  420. package/lib/table/interfaces/table-event-payload.interface.d.ts +0 -13
  421. package/lib/table/interfaces/table-row-action-payload.interface.d.ts +0 -13
  422. package/lib/table/interfaces/table-row-action.interface.d.ts +0 -17
  423. package/lib/table/interfaces/table-row-collapse-change.interface.d.ts +0 -11
  424. package/lib/table/interfaces/table-row-item.interface.d.ts +0 -8
  425. package/lib/table/table.module.d.ts +0 -24
  426. package/lib/tag/index.d.ts +0 -1
  427. package/lib/tag/tag.component.d.ts +0 -54
  428. package/lib/text-highlight/index.d.ts +0 -2
  429. package/lib/text-highlight/text-highlight.component.d.ts +0 -37
  430. package/lib/text-highlight/text-highlight.module.d.ts +0 -8
  431. package/public-api.d.ts +0 -4
  432. package/services/index.d.ts +0 -1
  433. package/services/interaction.service.d.ts +0 -28
  434. package/types/component-size.d.ts +0 -12
  435. package/types/component-theme.d.ts +0 -12
  436. package/types/index.d.ts +0 -2
  437. package/utilities/boolean-props.d.ts +0 -8
  438. package/utilities/dc.d.ts +0 -6
  439. package/utilities/index.d.ts +0 -5
  440. package/utilities/lc.d.ts +0 -6
  441. package/utilities/number-props.d.ts +0 -15
  442. package/utilities/sanitize.d.ts +0 -1
@@ -1,176 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { sanitize } from '../../utilities';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../button/button.component";
6
- import * as i3 from "../icon/icon.component";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "../form-field/component/form-field.component";
9
- import * as i6 from "../form-field/controls/select/option/select-option.component";
10
- import * as i7 from "../form-field/controls/select/select.component";
11
- import * as i8 from "../form-field/controls/input/input.directive";
12
- import * as i9 from "../size-detection/directive/size-detector.directive";
13
- /**
14
- * The `PaginationComponent` (`<impdc-pagination` or `<div impdc-pagination`) is a control for paged content such as tables or lists.
15
- * To use, import `PaginationModule` or another module that imports and exports that module from `@impartner/design-components`.
16
- * `ModalModule` imports and exports ImpdcFormsModule and [ButtonModule](./?path=/docs/design-components-button).
17
- */
18
- export class PaginationComponent {
19
- /**
20
- * A formattable text summary of pagination data. `{firstPageResult}` The first item within the current page.
21
- * `{lastPageResult}` The last item within the current page. `{total}` The total number of items.
22
- */
23
- set summary(summary) {
24
- this._summary = summary;
25
- }
26
- get summary() {
27
- return sanitize(this._summary)
28
- .replace('{firstPageResult}', `<b>${this.firstPageResult}</b>`)
29
- .replace('{lastPageResult}', `<b>${this.lastPageResult}</b>`)
30
- .replace('{total}', `<b>${this.total}</b>`);
31
- }
32
- get totalPages() {
33
- if (this.total < 1 || this.perPage < 1) {
34
- return 0;
35
- }
36
- if (this.total < this.perPage) {
37
- return 1;
38
- }
39
- return Math.ceil(this.total / this.perPage);
40
- }
41
- get firstPageResult() {
42
- const page = this._getPageClamped();
43
- if (this.total < 1 || page < 1 || this.perPage < 1) {
44
- return 0;
45
- }
46
- if (page === 1) {
47
- return 1;
48
- }
49
- if (page > Math.ceil(this.total / this.perPage)) {
50
- return this.total;
51
- }
52
- return (page - 1) * this.perPage + 1;
53
- }
54
- get lastPageResult() {
55
- const page = this._getPageClamped();
56
- if (this.total <= 0 || page < 1 || this.perPage < 1) {
57
- return 0;
58
- }
59
- if (page === 1) {
60
- if (this.total < this.perPage) {
61
- return this.total;
62
- }
63
- else {
64
- return this.perPage;
65
- }
66
- }
67
- if (this.total < this.perPage * page) {
68
- return this.total;
69
- }
70
- else {
71
- return this.perPage * page;
72
- }
73
- }
74
- constructor(_changeDetectorRef) {
75
- this._changeDetectorRef = _changeDetectorRef;
76
- this._summary = 'Showing {firstPageResult} to {lastPageResult} of {total} results';
77
- /**
78
- * The current page.
79
- */
80
- this.page = 0;
81
- /**
82
- * The number of items shown per page. Items are commonly displayed as rows in a table.
83
- */
84
- this.perPage = 10;
85
- /**
86
- * The total number of items.
87
- */
88
- this.total = 0;
89
- /**
90
- * The label text for the per page select input.
91
- */
92
- this.perPageLabel = '';
93
- /**
94
- * Emitted when the page number is changed, specifying the target page number.
95
- */
96
- this.goToPage = new EventEmitter();
97
- /**
98
- * Emitted when the per page is changed, specifying the new value.
99
- */
100
- this.perPageChange = new EventEmitter();
101
- /** @ignore */
102
- this.mobile = false;
103
- }
104
- handleResize(size) {
105
- this.mobile = size.width < 640;
106
- this._changeDetectorRef.detectChanges();
107
- }
108
- goToPreviousPage() {
109
- const page = this._getPageClamped();
110
- if (page <= 1) {
111
- return;
112
- }
113
- const previousPage = page - 1;
114
- this.page = previousPage;
115
- this.goToPage.emit(previousPage);
116
- }
117
- goToNextPage() {
118
- const page = this._getPageClamped();
119
- if (page >= this.totalPages) {
120
- return;
121
- }
122
- const nextPage = page + 1;
123
- this.page = nextPage;
124
- this.goToPage.emit(nextPage);
125
- }
126
- goToExactPageFromEvent({ target }) {
127
- this.goToExactPage(target?.value);
128
- }
129
- goToExactPage(page) {
130
- const targetPage = this._getPageClamped(page);
131
- if (targetPage === this.page) {
132
- return;
133
- }
134
- this.page = targetPage;
135
- this.goToPage.emit(this.page);
136
- }
137
- handlePerPageChange() {
138
- this.perPageChange.emit(this.perPage);
139
- }
140
- preventDefaultAndBlur(event) {
141
- // prevents PRM form submit
142
- event.preventDefault();
143
- event.target.blur();
144
- }
145
- _getPageClamped(page) {
146
- page = Number(page || this.page || 0);
147
- if (isNaN(page) || page < 1) {
148
- return 1;
149
- }
150
- if (page > this.totalPages) {
151
- return this.totalPages;
152
- }
153
- return page;
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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 allowClear=\"false\"\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: i2.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: i3.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "component", type: i6.SelectOptionComponent, selector: "impdc-select-option", inputs: ["value", "label", "disabled"] }, { kind: "component", type: i7.SelectComponent, selector: "impdc-select", inputs: ["disabled", "tabIndex", "search", "placeholder", "required", "compareWith", "dropdownContainer", "errorStateMatcher", "allowClear", "multiple", "multipleDisplay"], outputs: ["selectionChange", "valueChange", "searchTextChanges"], exportAs: ["impdcSelect"] }, { kind: "directive", type: i8.InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: i9.SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }] }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationComponent, decorators: [{
159
- type: Component,
160
- 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 allowClear=\"false\"\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"] }]
161
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { page: [{
162
- type: Input
163
- }], perPage: [{
164
- type: Input
165
- }], total: [{
166
- type: Input
167
- }], summary: [{
168
- type: Input
169
- }], perPageLabel: [{
170
- type: Input
171
- }], goToPage: [{
172
- type: Output
173
- }], perPageChange: [{
174
- type: Output
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFHM0M7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFzQjlCOzs7T0FHRztJQUNILElBQ1csT0FBTyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzNCLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLElBQUksQ0FBQyxlQUFlLE1BQU0sQ0FBQzthQUM5RCxPQUFPLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxJQUFJLENBQUMsY0FBYyxNQUFNLENBQUM7YUFDNUQsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFrQkQsSUFBVyxVQUFVO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxJQUFJ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LENBQUM7UUFDdEIsS0FBSyxDQUFDLE1BQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFzQjtRQUM1QyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBL0tVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGtRQ3BCaEMsK3lHQW9HQTs7MkZEaEZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx5Q0FBeUM7c0ZBWTVDLElBQUk7c0JBRFYsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBT0MsS0FBSztzQkFEWCxLQUFLO2dCQVFLLE9BQU87c0JBRGpCLEtBQUs7Z0JBZ0JDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBTW9CLFFBQVE7c0JBQWpDLE1BQU07Z0JBS21CLGFBQWE7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzYW5pdGl6ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQgeyBJRWxlbWVudFNpemUgfSBmcm9tICcuLi9zaXplLWRldGVjdGlvbic7XG5cbi8qKlxuICogVGhlIGBQYWdpbmF0aW9uQ29tcG9uZW50YCAoYDxpbXBkYy1wYWdpbmF0aW9uYCBvciBgPGRpdiBpbXBkYy1wYWdpbmF0aW9uYCkgaXMgYSBjb250cm9sIGZvciBwYWdlZCBjb250ZW50IHN1Y2ggYXMgdGFibGVzIG9yIGxpc3RzLlxuICogVG8gdXNlLCBpbXBvcnQgYFBhZ2luYXRpb25Nb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqIGBNb2RhbE1vZHVsZWAgaW1wb3J0cyBhbmQgZXhwb3J0cyBJbXBkY0Zvcm1zTW9kdWxlIGFuZCBbQnV0dG9uTW9kdWxlXSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWJ1dHRvbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLXBhZ2luYXRpb24sIGRpdltpbXBkYy1wYWdpbmF0aW9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBwcml2YXRlIF9zdW1tYXJ5ID1cbiAgICAnU2hvd2luZyB7Zmlyc3RQYWdlUmVzdWx0fSB0byB7bGFzdFBhZ2VSZXN1bHR9IG9mIHt0b3RhbH0gcmVzdWx0cyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHBhZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZSA9IDA7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgaXRlbXMgc2hvd24gcGVyIHBhZ2UuIEl0ZW1zIGFyZSBjb21tb25seSBkaXNwbGF5ZWQgYXMgcm93cyBpbiBhIHRhYmxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBlclBhZ2UgPSAxMDtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0b3RhbCA9IDA7XG5cbiAgLyoqXG4gICAqIEEgZm9ybWF0dGFibGUgdGV4dCBzdW1tYXJ5IG9mIHBhZ2luYXRpb24gZGF0YS4gYHtmaXJzdFBhZ2VSZXN1bHR9YCBUaGUgZmlyc3QgaXRlbSB3aXRoaW4gdGhlIGN1cnJlbnQgcGFnZS5cbiAgICogYHtsYXN0UGFnZVJlc3VsdH1gIFRoZSBsYXN0IGl0ZW0gd2l0aGluIHRoZSBjdXJyZW50IHBhZ2UuIGB7dG90YWx9YCBUaGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdW1tYXJ5KHN1bW1hcnk6IHN0cmluZykge1xuICAgIHRoaXMuX3N1bW1hcnkgPSBzdW1tYXJ5O1xuICB9XG5cbiAgcHVibGljIGdldCBzdW1tYXJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNhbml0aXplKHRoaXMuX3N1bW1hcnkpXG4gICAgICAucmVwbGFjZSgne2ZpcnN0UGFnZVJlc3VsdH0nLCBgPGI+JHt0aGlzLmZpcnN0UGFnZVJlc3VsdH08L2I+YClcbiAgICAgIC5yZXBsYWNlKCd7bGFzdFBhZ2VSZXN1bHR9JywgYDxiPiR7dGhpcy5sYXN0UGFnZVJlc3VsdH08L2I+YClcbiAgICAgIC5yZXBsYWNlKCd7dG90YWx9JywgYDxiPiR7dGhpcy50b3RhbH08L2I+YCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRleHQgZm9yIHRoZSBwZXIgcGFnZSBzZWxlY3QgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGVyUGFnZUxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcGFnZSBudW1iZXIgaXMgY2hhbmdlZCwgc3BlY2lmeWluZyB0aGUgdGFyZ2V0IHBhZ2UgbnVtYmVyLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBnb1RvUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBlciBwYWdlIGlzIGNoYW5nZWQsIHNwZWNpZnlpbmcgdGhlIG5ldyB2YWx1ZS5cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgcGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLnRvdGFsIDwgMSB8fCB0aGlzLnBlclBhZ2UgPCAxKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3RhbCA8IHRoaXMucGVyUGFnZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wZXJQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RQYWdlUmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX2dldFBhZ2VDbGFtcGVkKCk7XG4gICAgaWYgKHRoaXMudG90YWwgPCAxIHx8IHBhZ2UgPCAxIHx8IHRoaXMucGVyUGFnZSA8IDEpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGlmIChwYWdlID09PSAxKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBpZiAocGFnZSA+IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wZXJQYWdlKSkge1xuICAgICAgcmV0dXJuIHRoaXMudG90YWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChwYWdlIC0gMSkgKiB0aGlzLnBlclBhZ2UgKyAxO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UGFnZVJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZCgpO1xuICAgIGlmICh0aGlzLnRvdGFsIDw9IDAgfHwgcGFnZSA8IDEgfHwgdGhpcy5wZXJQYWdlIDwgMSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgaWYgKHBhZ2UgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLnRvdGFsIDwgdGhpcy5wZXJQYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyUGFnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3RhbCA8IHRoaXMucGVyUGFnZSAqIHBhZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wZXJQYWdlICogcGFnZTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbW9iaWxlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHB1YmxpYyBoYW5kbGVSZXNpemUoc2l6ZTogSUVsZW1lbnRTaXplKTogdm9pZCB7XG4gICAgdGhpcy5tb2JpbGUgPSBzaXplLndpZHRoIDwgNjQwO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZCgpO1xuICAgIGlmIChwYWdlIDw9IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91c1BhZ2UgPSBwYWdlIC0gMTtcbiAgICB0aGlzLnBhZ2UgPSBwcmV2aW91c1BhZ2U7XG5cbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQocHJldmlvdXNQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX2dldFBhZ2VDbGFtcGVkKCk7XG4gICAgaWYgKHBhZ2UgPj0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFBhZ2UgPSBwYWdlICsgMTtcbiAgICB0aGlzLnBhZ2UgPSBuZXh0UGFnZTtcblxuICAgIHRoaXMuZ29Ub1BhZ2UuZW1pdChuZXh0UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub0V4YWN0UGFnZUZyb21FdmVudCh7IHRhcmdldCB9OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5nb1RvRXhhY3RQYWdlKCh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvRXhhY3RQYWdlKHBhZ2U6IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldFBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZChwYWdlKTtcblxuICAgIGlmICh0YXJnZXRQYWdlID09PSB0aGlzLnBhZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2UgPSB0YXJnZXRQYWdlO1xuXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KHRoaXMucGFnZSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUGVyUGFnZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBlclBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBlclBhZ2UpO1xuICB9XG5cbiAgcHVibGljIHByZXZlbnREZWZhdWx0QW5kQmx1cihldmVudDogRXZlbnQpIHtcbiAgICAvLyBwcmV2ZW50cyBQUk0gZm9ybSBzdWJtaXRcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuYmx1cigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFnZUNsYW1wZWQocGFnZT86IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gICAgcGFnZSA9IE51bWJlcihwYWdlIHx8IHRoaXMucGFnZSB8fCAwKTtcbiAgICBpZiAoaXNOYU4ocGFnZSkgfHwgcGFnZSA8IDEpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChwYWdlID4gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy50b3RhbFBhZ2VzO1xuICAgIH1cblxuICAgIHJldHVybiBwYWdlO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwicGFnaW5hdGlvbi1jb250YWluZXJcIlxuICBpbXBkY1NpemVEZXRlY3RvclxuICAocmVzaXplZCk9XCJoYW5kbGVSZXNpemUoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwibW9iaWxlLXBhZ2luYXRpb25cIiBbbmdDbGFzc109XCJ7ICdkLW5vbmUnOiAhbW9iaWxlIH1cIj5cbiAgICA8YnV0dG9uXG4gICAgICBpbXBkY0J1dHRvblxuICAgICAgdGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiXG4gICAgICAoY2xpY2spPVwiZ29Ub1ByZXZpb3VzUGFnZSgpXCI+XG4gICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJwYWdlID09PSB0b3RhbFBhZ2VzXCJcbiAgICAgIChjbGljayk9XCJnb1RvTmV4dFBhZ2UoKVwiPlxuICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImRlc2t0b3AtcGFnaW5hdGlvblwiIFtuZ0NsYXNzXT1cInsgJ2Qtbm9uZSc6IG1vYmlsZSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd3MtcGVyLXBhZ2VcIj5cbiAgICAgIDxkaXY+e3sgcGVyUGFnZUxhYmVsIH19PC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aW1wZGMtZm9ybS1maWVsZD5cbiAgICAgICAgICA8aW1wZGMtc2VsZWN0XG4gICAgICAgICAgICBhbGxvd0NsZWFyPVwiZmFsc2VcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwZXJQYWdlXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiaGFuZGxlUGVyUGFnZUNoYW5nZSgpXCI+XG4gICAgICAgICAgICA8aW1wZGMtc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiMTBcIiBsYWJlbD1cIjEwXCI+PC9pbXBkYy1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgPGltcGRjLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIjI1XCIgbGFiZWw9XCIyNVwiPjwvaW1wZGMtc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgIDxpbXBkYy1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCI1MFwiIGxhYmVsPVwiNTBcIj48L2ltcGRjLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICA8aW1wZGMtc2VsZWN0LW9wdGlvblxuICAgICAgICAgICAgICBbdmFsdWVdPVwiMTAwXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCIxMDBcIj48L2ltcGRjLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICA8aW1wZGMtc2VsZWN0LW9wdGlvblxuICAgICAgICAgICAgICBbdmFsdWVdPVwiMjAwXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCIyMDBcIj48L2ltcGRjLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgPC9pbXBkYy1zZWxlY3Q+XG4gICAgICAgIDwvaW1wZGMtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLXJoc1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdW1tYXJ5XCIgW2lubmVySFRNTF09XCJzdW1tYXJ5XCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdGlvbi1hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiRmlyc3QgUGFnZVwiXG4gICAgICAgICAgY2xhc3M9XCJwYWdpbmF0aW9uLWZpcnN0LWxhc3QtYnRuc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9FeGFjdFBhZ2UoMSlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJwYWdlIDw9IDFcIj5cbiAgICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnQgZmlyc3RcIj48L2k+XG4gICAgICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCI+PC9pPlxuICAgICAgICAgIDwhLS0gMSAtLT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBjbGFzcz1cInByZXZpb3VzXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIlxuICAgICAgICAgIChjbGljayk9XCJnb1RvUHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJwYWdlIDw9IDFcIj5cbiAgICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1jaGFuZ2VcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGltcGRjSW5wdXRcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicGFnZVwiXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI0XCJcbiAgICAgICAgICAgIChibHVyKT1cImdvVG9FeGFjdFBhZ2VGcm9tRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJwcmV2ZW50RGVmYXVsdEFuZEJsdXIoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgPHNwYW4+IC8ge3sgdG90YWxQYWdlcyB9fSA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHRcIlxuICAgICAgICAgIChjbGljayk9XCJnb1RvTmV4dFBhZ2UoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPj0gdG90YWxQYWdlc1wiPlxuICAgICAgICAgIDxpIGltcGRjLWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgY2xhc3M9XCJwYWdpbmF0aW9uLWZpcnN0LWxhc3QtYnRuc1wiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkxhc3QgUGFnZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9FeGFjdFBhZ2UodG90YWxQYWdlcylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJwYWdlID09PSB0b3RhbFBhZ2VzXCI+XG4gICAgICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLXJpZ2h0IGxhc3RcIj48L2k+XG4gICAgICAgICAgPCEtLSB7eyB0b3RhbFBhZ2VzIH19IC0tPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,41 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { ButtonModule } from '../button';
5
- import { ImpdcFormsModule } from '../form-field';
6
- import { IconModule } from '../icon';
7
- import { PaginationComponent } from './pagination.component';
8
- import { SizeDetectionModule } from '../size-detection';
9
- import * as i0 from "@angular/core";
10
- export class PaginationModule {
11
- constructor() { }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: PaginationModule, declarations: [PaginationComponent], imports: [CommonModule,
14
- ButtonModule,
15
- FormsModule,
16
- ImpdcFormsModule,
17
- IconModule,
18
- SizeDetectionModule], exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationModule, imports: [CommonModule,
20
- ButtonModule,
21
- FormsModule,
22
- ImpdcFormsModule,
23
- IconModule,
24
- SizeDetectionModule, ButtonModule, ImpdcFormsModule, IconModule] }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationModule, decorators: [{
27
- type: NgModule,
28
- args: [{
29
- imports: [
30
- CommonModule,
31
- ButtonModule,
32
- FormsModule,
33
- ImpdcFormsModule,
34
- IconModule,
35
- SizeDetectionModule
36
- ],
37
- declarations: [PaginationComponent],
38
- exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent]
39
- }]
40
- }], ctorParameters: () => [] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBY3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsZ0JBQWUsQ0FBQzs4R0FETCxnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFIWixtQkFBbUIsYUFQaEMsWUFBWTtZQUNaLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFVBQVU7WUFDVixtQkFBbUIsYUFHWCxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLG1CQUFtQjsrR0FFOUQsZ0JBQWdCLFlBVnpCLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixVQUFVO1lBQ1YsbUJBQW1CLEVBR1gsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFVBQVU7OzJGQUV6QyxnQkFBZ0I7a0JBWjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixtQkFBbUI7cUJBQ3BCO29CQUNELFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDO2lCQUMzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xuaW1wb3J0IHsgSW1wZGNGb3Jtc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2l6ZURldGVjdGlvbk1vZHVsZSB9IGZyb20gJy4uL3NpemUtZGV0ZWN0aW9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW1wZGNGb3Jtc01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFNpemVEZXRlY3Rpb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbUGFnaW5hdGlvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtCdXR0b25Nb2R1bGUsIEltcGRjRm9ybXNNb2R1bGUsIEljb25Nb2R1bGUsIFBhZ2luYXRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Nb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export { ProgressBarComponent } from './progress-bar.component';
2
- export { ProgressBarModule } from './progress-bar.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3Byb2dyZXNzLWJhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnLi9wcm9ncmVzcy1iYXIubW9kdWxlJztcbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- /**
5
- * The `ProgressBarComponent` (`<impdc-progress-bar`) is a display-only slider to show progress.
6
- * To use, import `ProgressBarModule` or another module that imports and exports that module from `@impartner/design-components`.
7
- */
8
- export class ProgressBarComponent {
9
- get textClass() {
10
- return this.darkText ? 'dark-progress-text' : 'light-progress-text';
11
- }
12
- constructor() {
13
- /**
14
- * The left/subject text of the Progress Bar.
15
- */
16
- this.labelText = '';
17
- /**
18
- * The right/status text of the Progress Bar.
19
- */
20
- this.statusText = '';
21
- /**
22
- * The color of the progress bar
23
- */
24
- this.barColor = '';
25
- /**
26
- * The color of the label and status
27
- */
28
- this.darkText = true;
29
- /**
30
- * The current value of the Progress Bar represented as a number between 0 and 100.
31
- */
32
- this.progressPercentage = 0;
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ProgressBarComponent, selector: "impdc-progress-bar", inputs: { labelText: "labelText", statusText: "statusText", barColor: "barColor", darkText: "darkText", progressPercentage: "progressPercentage" }, ngImport: i0, template: "<div class=\"progress-container\">\n <div class=\"progress-text\" [ngClass]=\"textClass\">\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 [ngStyle]=\"{ 'background-color': barColor }\"\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{width:100%;display:flex;flex-direction:column}.progress-container .progress-text{color:#000;display:flex;flex-direction:row;font-size:1.4rem;padding:0 .2rem .5rem}.progress-container .dark-progress-text{color:var(--impartner-hex-gray-900)}.progress-container .light-progress-text{color:var(--impartner-hex-gray-600)}.progress-container .text-left{flex-grow:1}.progress-container .bar-bg{height:1rem;overflow:hidden;border-bottom-right-radius:.6rem;background-color:#e5e7eb;border-radius:6rem}.progress-container .bar{height:1rem;overflow:hidden;background-color:#1d4ed8;border-radius:6rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'impdc-progress-bar', template: "<div class=\"progress-container\">\n <div class=\"progress-text\" [ngClass]=\"textClass\">\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 [ngStyle]=\"{ 'background-color': barColor }\"\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{width:100%;display:flex;flex-direction:column}.progress-container .progress-text{color:#000;display:flex;flex-direction:row;font-size:1.4rem;padding:0 .2rem .5rem}.progress-container .dark-progress-text{color:var(--impartner-hex-gray-900)}.progress-container .light-progress-text{color:var(--impartner-hex-gray-600)}.progress-container .text-left{flex-grow:1}.progress-container .bar-bg{height:1rem;overflow:hidden;border-bottom-right-radius:.6rem;background-color:#e5e7eb;border-radius:6rem}.progress-container .bar{height:1rem;overflow:hidden;background-color:#1d4ed8;border-radius:6rem}\n"] }]
40
- }], ctorParameters: () => [], propDecorators: { labelText: [{
41
- type: Input
42
- }], statusText: [{
43
- type: Input
44
- }], barColor: [{
45
- type: Input
46
- }], darkText: [{
47
- type: Input
48
- }], progressPercentage: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVqRDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sb0JBQW9CO0lBK0IvQixJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7UUFsQ0E7O1dBRUc7UUFFSSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXRCOztXQUVHO1FBRUksZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV2Qjs7V0FFRztRQUVJLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFckI7O1dBRUc7UUFFSSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXZCOztXQUVHO1FBRUksdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBTWYsQ0FBQzs4R0FuQ0wsb0JBQW9CO2tHQUFwQixvQkFBb0IsOE1DWGpDLDRpQkFvQkE7OzJGRFRhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxvQkFBb0I7d0RBU3ZCLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0Msa0JBQWtCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSBgUHJvZ3Jlc3NCYXJDb21wb25lbnRgIChgPGltcGRjLXByb2dyZXNzLWJhcmApIGlzIGEgZGlzcGxheS1vbmx5IHNsaWRlciB0byBzaG93IHByb2dyZXNzLlxuICogVG8gdXNlLCBpbXBvcnQgYFByb2dyZXNzQmFyTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLXByb2dyZXNzLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbGVmdC9zdWJqZWN0IHRleHQgb2YgdGhlIFByb2dyZXNzIEJhci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbFRleHQgPSAnJztcblxuICAvKipcbiAgICogVGhlIHJpZ2h0L3N0YXR1cyB0ZXh0IG9mIHRoZSBQcm9ncmVzcyBCYXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhdHVzVGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgY29sb3Igb2YgdGhlIHByb2dyZXNzIGJhclxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJhckNvbG9yID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2xvciBvZiB0aGUgbGFiZWwgYW5kIHN0YXR1c1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRhcmtUZXh0ID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIFByb2dyZXNzIEJhciByZXByZXNlbnRlZCBhcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc1BlcmNlbnRhZ2UgPSAwO1xuXG4gIGdldCB0ZXh0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXJrVGV4dCA/ICdkYXJrLXByb2dyZXNzLXRleHQnIDogJ2xpZ2h0LXByb2dyZXNzLXRleHQnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyZXNzLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtdGV4dFwiIFtuZ0NsYXNzXT1cInRleHRDbGFzc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnRcIj5cbiAgICAgIHt7IGxhYmVsVGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICB7eyBzdGF0dXNUZXh0IH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYmFyLWJnXCI+XG4gICAgPGRpdlxuICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IGJhckNvbG9yIH1cIlxuICAgICAgY2xhc3M9XCJiYXJcIlxuICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzUGVyY2VudGFnZVwiXG4gICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzUGVyY2VudGFnZVwiXG4gICAgICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ProgressBarComponent } from './progress-bar.component';
4
- import * as i0 from "@angular/core";
5
- export class ProgressBarModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent], imports: [CommonModule], exports: [ProgressBarComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [CommonModule],
14
- declarations: [ProgressBarComponent],
15
- exports: [ProgressBarComponent]
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhiLG9CQUFvQixhQUR6QixZQUFZLGFBRVosb0JBQW9COytHQUVuQixpQkFBaUIsWUFKbEIsWUFBWTs7MkZBSVgsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbUHJvZ3Jlc3NCYXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbUHJvZ3Jlc3NCYXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQmFyTW9kdWxlIHt9XG4iXX0=
@@ -1,3 +0,0 @@
1
- export { ScrollableComponent } from './scrollable.component';
2
- export { ScrollableModule } from './scrollable.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3Njcm9sbGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTY3JvbGxhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zY3JvbGxhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTY3JvbGxhYmxlTW9kdWxlIH0gZnJvbSAnLi9zY3JvbGxhYmxlLm1vZHVsZSc7XG4iXX0=
@@ -1,186 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../size-detection/directive/size-detector.directive";
5
- /**
6
- * The `ScrollableComponent` (`<impdc-scrollable` or `<div impdc-scrollable`) is a container that hides items that wouldn't fit
7
- * with arrows on the left and right to slide between them.
8
- * To use, import `ScrollableModule` or another module that imports and exports that module from `@impartner/design-components`.
9
- * `ScrollableModule` also imports and exports [BrandingModule](./?path=/docs/design-components-directives-impdcbranded).
10
- */
11
- export class ScrollableComponent {
12
- get canScrollLeft() {
13
- if (!this._contentElement) {
14
- return false;
15
- }
16
- return Math.floor(this._contentElement.scrollLeft) > 0;
17
- }
18
- get canScrollRight() {
19
- if (!this._contentElement) {
20
- return false;
21
- }
22
- return (Math.ceil(this._contentElement.scrollLeft + this._width) <
23
- this._contentElement.scrollWidth);
24
- }
25
- get _containerElement() {
26
- if (!this.containerRef) {
27
- return null;
28
- }
29
- return this.containerRef.nativeElement;
30
- }
31
- get _contentElement() {
32
- if (!this.contentRef) {
33
- return null;
34
- }
35
- return this.contentRef.nativeElement;
36
- }
37
- constructor(_cd, _hostElementRef) {
38
- this._cd = _cd;
39
- this._hostElementRef = _hostElementRef;
40
- this.GET_ANCESTOR_BG_SEARCH_DEPTH = 64;
41
- /**
42
- * The base amount to scroll.
43
- */
44
- this.scrollUnit = 20;
45
- /**
46
- * Used in combination with `scrollUnit` to determine how far the Scrollable scrolls when directional arrows are clicked.
47
- */
48
- this.clickScrollMultiplier = 5;
49
- this._scrollableBgColor = null;
50
- this._width = 0;
51
- }
52
- ngOnChanges(changes) {
53
- if (changes['scrollUnit'] || changes['clickScrollMultiplier']) {
54
- if (this._containerElement) {
55
- this._width = this._containerElement?.clientWidth;
56
- this._cd.detectChanges();
57
- }
58
- }
59
- }
60
- ngAfterViewInit() {
61
- this._width = this.contentRef?.nativeElement.width;
62
- this._cd.detectChanges();
63
- Promise.resolve().then(() => this._getBackgroundColorForButtons());
64
- }
65
- async scroll(direction) {
66
- if (!this._contentElement) {
67
- return;
68
- }
69
- let pixels = direction * this.scrollUnit * this.clickScrollMultiplier;
70
- let position = 0;
71
- if (!pixels) {
72
- if (direction === 1) {
73
- position = this._contentElement.scrollWidth;
74
- }
75
- }
76
- else {
77
- position = this._contentElement.scrollLeft + pixels;
78
- }
79
- await this._scrollToPosition(this._contentElement, position);
80
- this._cd.detectChanges();
81
- }
82
- widthChanged(elementSize) {
83
- if (!elementSize || !elementSize.width) {
84
- return;
85
- }
86
- this._width = elementSize.width;
87
- this._cd.detectChanges();
88
- }
89
- async _scrollToPosition(container, position) {
90
- position = Math.round(position);
91
- if (container.scrollLeft === position) {
92
- return;
93
- }
94
- let resolveFn;
95
- let scrollListener;
96
- let timeoutId;
97
- const promise = new Promise(resolve => {
98
- resolveFn = resolve;
99
- });
100
- const finished = () => {
101
- container.removeEventListener('scroll', scrollListener);
102
- resolveFn(null);
103
- };
104
- scrollListener = () => {
105
- clearTimeout(timeoutId);
106
- // scroll is finished when either the position has been reached, or 100ms have elapsed since the last scroll event
107
- if (container.scrollLeft === position) {
108
- finished();
109
- }
110
- else {
111
- timeoutId = setTimeout(finished, 100);
112
- }
113
- };
114
- container.addEventListener('scroll', scrollListener);
115
- container.scrollTo({
116
- left: position,
117
- behavior: 'smooth'
118
- });
119
- return promise;
120
- }
121
- _getBackgroundColorForButtons() {
122
- let backgroundColor = this._getBackGroundColor(this._hostElementRef.nativeElement);
123
- if (!backgroundColor) {
124
- backgroundColor = this._getAncestorBackgroundColor();
125
- }
126
- if (this._scrollableBgColor !== backgroundColor) {
127
- this._scrollableBgColor = backgroundColor;
128
- this._cd.detectChanges();
129
- }
130
- }
131
- _getAncestorBackgroundColor() {
132
- let result = {
133
- parent: this._hostElementRef.nativeElement.parentElement,
134
- backgroundColor: null
135
- };
136
- let count = this.GET_ANCESTOR_BG_SEARCH_DEPTH;
137
- function getParentBackgroundColor(currentContext, getBackgroundColor) {
138
- const result = { parent: null, backgroundColor: null };
139
- if (currentContext && currentContext.parent) {
140
- result.backgroundColor = getBackgroundColor(currentContext.parent);
141
- if (!result.backgroundColor) {
142
- result.parent = currentContext.parent.parentElement;
143
- }
144
- }
145
- return result;
146
- }
147
- while (count > 0) {
148
- if (result.backgroundColor) {
149
- break;
150
- }
151
- result = getParentBackgroundColor(result, this._getBackGroundColor);
152
- if (!result.parent) {
153
- break;
154
- }
155
- count = count - 1;
156
- }
157
- return result.backgroundColor;
158
- }
159
- _getBackGroundColor(element) {
160
- const computedBackgroundColor = getComputedStyle(element)['backgroundColor'];
161
- if (computedBackgroundColor !== 'rgba(0, 0, 0, 0)') {
162
- return computedBackgroundColor;
163
- }
164
- return element.style.backgroundColor;
165
- }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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: i2.SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
168
- }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollableComponent, decorators: [{
170
- type: Component,
171
- 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"] }]
172
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { scrollUnit: [{
173
- type: Input
174
- }], clickScrollMultiplier: [{
175
- type: Input
176
- }], _scrollableBgColor: [{
177
- type: HostBinding,
178
- args: ['style.--impdc-scrollable-bg']
179
- }], containerRef: [{
180
- type: ViewChild,
181
- args: ['container', { static: false }]
182
- }], contentRef: [{
183
- type: ViewChild,
184
- args: ['content', { static: false }]
185
- }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7OztBQUd2Qjs7Ozs7R0FLRztBQU9ILE1BQU0sT0FBTyxtQkFBbUI7SUFpQjlCLElBQVcsYUFBYTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FDakMsQ0FBQztJQUNKLENBQUM7SUFPRCxJQUFZLGlCQUFpQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8s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QixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFvQjtRQUM5QyxNQUFNLHVCQUF1QixHQUMzQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9DLElBQUksdUJBQXVCLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztZQUNuRCxPQUFPLHVCQUF1QixDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3ZDLENBQUM7OEdBM05VLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlkQzFCaEMsNmdCQWVBOzsyRkRXYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UseUNBQXlDLG1CQUdsQyx1QkFBdUIsQ0FBQyxNQUFNOytHQVF4QyxVQUFVO3NCQURoQixLQUFLO2dCQU9DLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFJRSxrQkFBa0I7c0JBRHpCLFdBQVc7dUJBQUMsNkJBQTZCO2dCQXlCbkMsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVlsQyxVQUFVO3NCQURoQixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElFbGVtZW50U2l6ZSB9IGZyb20gJy4uL3NpemUtZGV0ZWN0aW9uJztcblxuLyoqXG4gKiBUaGUgYFNjcm9sbGFibGVDb21wb25lbnRgIChgPGltcGRjLXNjcm9sbGFibGVgIG9yIGA8ZGl2IGltcGRjLXNjcm9sbGFibGVgKSBpcyBhIGNvbnRhaW5lciB0aGF0IGhpZGVzIGl0ZW1zIHRoYXQgd291bGRuJ3QgZml0XG4gKiB3aXRoIGFycm93cyBvbiB0aGUgbGVmdCBhbmQgcmlnaHQgdG8gc2xpZGUgYmV0d2VlbiB0aGVtLlxuICogVG8gdXNlLCBpbXBvcnQgYFNjcm9sbGFibGVNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqIGBTY3JvbGxhYmxlTW9kdWxlYCBhbHNvIGltcG9ydHMgYW5kIGV4cG9ydHMgW0JyYW5kaW5nTW9kdWxlXSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWRpcmVjdGl2ZXMtaW1wZGNicmFuZGVkKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtc2Nyb2xsYWJsZSwgZGl2W2ltcGRjLXNjcm9sbGFibGVdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IEdFVF9BTkNFU1RPUl9CR19TRUFSQ0hfREVQVEggPSA2NDtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIGFtb3VudCB0byBzY3JvbGwuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2Nyb2xsVW5pdCA9IDIwO1xuXG4gIC8qKlxuICAgKiBVc2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHNjcm9sbFVuaXRgIHRvIGRldGVybWluZSBob3cgZmFyIHRoZSBTY3JvbGxhYmxlIHNjcm9sbHMgd2hlbiBkaXJlY3Rpb25hbCBhcnJvd3MgYXJlIGNsaWNrZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2xpY2tTY3JvbGxNdWx0aXBsaWVyID0gNTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0taW1wZGMtc2Nyb2xsYWJsZS1iZycpXG4gIHByaXZhdGUgX3Njcm9sbGFibGVCZ0NvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGNhblNjcm9sbExlZnQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLl9jb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMuX2NvbnRlbnRFbGVtZW50LnNjcm9sbExlZnQpID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FuU2Nyb2xsUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLl9jb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBNYXRoLmNlaWwodGhpcy5fY29udGVudEVsZW1lbnQuc2Nyb2xsTGVmdCArIHRoaXMuX3dpZHRoKSA8XG4gICAgICB0aGlzLl9jb250ZW50RWxlbWVudC5zY3JvbGxXaWR0aFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF93aWR0aCA9IDA7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBjb250YWluZXJSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBnZXQgX2NvbnRhaW5lckVsZW1lbnQoKTogSFRNTERpdkVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyUmVmKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGNvbnRlbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBnZXQgX2NvbnRlbnRFbGVtZW50KCk6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNvbnRlbnRSZWYpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRlbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ob3N0RWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snc2Nyb2xsVW5pdCddIHx8IGNoYW5nZXNbJ2NsaWNrU2Nyb2xsTXVsdGlwbGllciddKSB7XG4gICAgICBpZiAodGhpcy5fY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICB0aGlzLl93aWR0aCA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQ/LmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl93aWR0aCA9IHRoaXMuY29udGVudFJlZj8ubmF0aXZlRWxlbWVudC53aWR0aDtcbiAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2dldEJhY2tncm91bmRDb2xvckZvckJ1dHRvbnMoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2Nyb2xsKGRpcmVjdGlvbjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLl9jb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBwaXhlbHMgPSBkaXJlY3Rpb24gKiB0aGlzLnNjcm9sbFVuaXQgKiB0aGlzLmNsaWNrU2Nyb2xsTXVsdGlwbGllcjtcbiAgICBsZXQgcG9zaXRpb24gPSAwO1xuXG4gICAgaWYgKCFwaXhlbHMpIHtcbiAgICAgIGlmIChkaXJlY3Rpb24gPT09IDEpIHtcbiAgICAgICAgcG9zaXRpb24gPSB0aGlzLl9jb250ZW50RWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcG9zaXRpb24gPSB0aGlzLl9jb250ZW50RWxlbWVudC5zY3JvbGxMZWZ0ICsgcGl4ZWxzO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuX3Njcm9sbFRvUG9zaXRpb24odGhpcy5fY29udGVudEVsZW1lbnQsIHBvc2l0aW9uKTtcblxuICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyB3aWR0aENoYW5nZWQoZWxlbWVudFNpemU6IElFbGVtZW50U2l6ZSk6IHZvaWQge1xuICAgIGlmICghZWxlbWVudFNpemUgfHwgIWVsZW1lbnRTaXplLndpZHRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3dpZHRoID0gZWxlbWVudFNpemUud2lkdGg7XG4gICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2Nyb2xsVG9Qb3NpdGlvbihjb250YWluZXI6IEhUTUxEaXZFbGVtZW50LCBwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgcG9zaXRpb24gPSBNYXRoLnJvdW5kKHBvc2l0aW9uKTtcblxuICAgIGlmIChjb250YWluZXIuc2Nyb2xsTGVmdCA9PT0gcG9zaXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcmVzb2x2ZUZuOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XG4gICAgbGV0IHNjcm9sbExpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIGxldCB0aW1lb3V0SWQ6IGFueTtcblxuICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHJlc29sdmVGbiA9IHJlc29sdmU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmaW5pc2hlZCA9ICgpID0+IHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBzY3JvbGxMaXN0ZW5lcik7XG4gICAgICByZXNvbHZlRm4obnVsbCk7XG4gICAgfTtcblxuICAgIHNjcm9sbExpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG5cbiAgICAgIC8vIHNjcm9sbCBpcyBmaW5pc2hlZCB3aGVuIGVpdGhlciB0aGUgcG9zaXRpb24gaGFzIGJlZW4gcmVhY2hlZCwgb3IgMTAwbXMgaGF2ZSBlbGFwc2VkIHNpbmNlIHRoZSBsYXN0IHNjcm9sbCBldmVudFxuICAgICAgaWYgKGNvbnRhaW5lci5zY3JvbGxMZWZ0ID09PSBwb3NpdGlvbikge1xuICAgICAgICBmaW5pc2hlZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGltZW91dElkID0gc2V0VGltZW91dChmaW5pc2hlZCwgMTAwKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNjcm9sbExpc3RlbmVyKTtcblxuICAgIGNvbnRhaW5lci5zY3JvbGxUbyh7XG4gICAgICBsZWZ0OiBwb3NpdGlvbixcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICBwcml2YXRlIF9nZXRCYWNrZ3JvdW5kQ29sb3JGb3JCdXR0b25zKCk6IHZvaWQge1xuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9nZXRCYWNrR3JvdW5kQ29sb3IoXG4gICAgICB0aGlzLl9ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgKTtcblxuICAgIGlmICghYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9nZXRBbmNlc3RvckJhY2tncm91bmRDb2xvcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zY3JvbGxhYmxlQmdDb2xvciAhPT0gYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICB0aGlzLl9zY3JvbGxhYmxlQmdDb2xvciA9IGJhY2tncm91bmRDb2xvcjtcbiAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbmNlc3RvckJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICB0eXBlIHBhcmVudEJnUmVzdWx0ID0ge1xuICAgICAgcGFyZW50OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyB8IG51bGw7XG4gICAgfTtcblxuICAgIGxldCByZXN1bHQ6IHBhcmVudEJnUmVzdWx0ID0ge1xuICAgICAgcGFyZW50OiB0aGlzLl9ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IG51bGxcbiAgICB9O1xuXG4gICAgbGV0IGNvdW50ID0gdGhpcy5HRVRfQU5DRVNUT1JfQkdfU0VBUkNIX0RFUFRIO1xuXG4gICAgZnVuY3Rpb24gZ2V0UGFyZW50QmFja2dyb3VuZENvbG9yKFxuICAgICAgY3VycmVudENvbnRleHQ6IHBhcmVudEJnUmVzdWx0LFxuICAgICAgZ2V0QmFja2dyb3VuZENvbG9yOiAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHN0cmluZyB8IG51bGxcbiAgICApOiBwYXJlbnRCZ1Jlc3VsdCB7XG4gICAgICBjb25zdCByZXN1bHQ6IHBhcmVudEJnUmVzdWx0ID0geyBwYXJlbnQ6IG51bGwsIGJhY2tncm91bmRDb2xvcjogbnVsbCB9O1xuICAgICAgaWYgKGN1cnJlbnRDb250ZXh0ICYmIGN1cnJlbnRDb250ZXh0LnBhcmVudCkge1xuICAgICAgICByZXN1bHQuYmFja2dyb3VuZENvbG9yID0gZ2V0QmFja2dyb3VuZENvbG9yKGN1cnJlbnRDb250ZXh0LnBhcmVudCk7XG5cbiAgICAgICAgaWYgKCFyZXN1bHQuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgcmVzdWx0LnBhcmVudCA9IGN1cnJlbnRDb250ZXh0LnBhcmVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgd2hpbGUgKGNvdW50ID4gMCkge1xuICAgICAgaWYgKHJlc3VsdC5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZXN1bHQgPSBnZXRQYXJlbnRCYWNrZ3JvdW5kQ29sb3IocmVzdWx0LCB0aGlzLl9nZXRCYWNrR3JvdW5kQ29sb3IpO1xuXG4gICAgICBpZiAoIXJlc3VsdC5wYXJlbnQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb3VudCA9IGNvdW50IC0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0LmJhY2tncm91bmRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEJhY2tHcm91bmRDb2xvcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGNvbXB1dGVkQmFja2dyb3VuZENvbG9yID1cbiAgICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudClbJ2JhY2tncm91bmRDb2xvciddO1xuXG4gICAgaWYgKGNvbXB1dGVkQmFja2dyb3VuZENvbG9yICE9PSAncmdiYSgwLCAwLCAwLCAwKScpIHtcbiAgICAgIHJldHVybiBjb21wdXRlZEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJpbXBkYy1zY3JvbGxhYmxlXCJcbiAgI2NvbnRhaW5lclxuICBpbXBkY1NpemVEZXRlY3RvclxuICAocmVzaXplZCk9XCJ3aWR0aENoYW5nZWQoJGV2ZW50KVwiPlxuICA8YSBjbGFzcz1cImltcGRjLXNjcm9sbGFibGUtbGVmdFwiIChjbGljayk9XCJzY3JvbGwoLTEpXCIgKm5nSWY9XCJjYW5TY3JvbGxMZWZ0XCI+XG4gICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCIgY2xhc3M9XCJkZWZhdWx0XCI+PC9pPlxuICA8L2E+XG4gIDxkaXYgI2NvbnRlbnQgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxhIGNsYXNzPVwiaW1wZGMtc2Nyb2xsYWJsZS1yaWdodFwiIChjbGljayk9XCJzY3JvbGwoMSlcIiAqbmdJZj1cImNhblNjcm9sbFJpZ2h0XCI+XG4gICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiIGNsYXNzPVwiZGVmYXVsdFwiPjwvaT5cbiAgPC9hPlxuPC9kaXY+XG4iXX0=