@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,335 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, Inject, Input, Optional, Self, ViewChild } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { nanoid } from 'nanoid';
4
- import { Subject } from 'rxjs';
5
- import { coerceBooleanPropertyValue } from '../../utilities';
6
- import { ImpdcFormFieldControl, IMPDC_FORM_ROOT, mixinDisabled, mixinErrorState, mixinTabIndex } from '../form-field';
7
- import { FileDropDirective } from './directives';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../form-field";
10
- import * as i2 from "@angular/forms";
11
- import * as i3 from "@angular/common";
12
- import * as i4 from "../button/button.component";
13
- import * as i5 from "../icon/icon.component";
14
- import * as i6 from "./directives/file-drop.directive";
15
- import * as i7 from "./pipes/human-readable-byte-size.pipe";
16
- const _FileUploadComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(class {
17
- constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
18
- this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
19
- this._formRoot = _formRoot;
20
- this._parentForm = _parentForm;
21
- this._parentFormGroup = _parentFormGroup;
22
- this.ngControl = ngControl;
23
- this.stateChanges = new Subject();
24
- }
25
- })));
26
- /**
27
- * The `FileUploadComponent` (`<impdc-file-upload` or `<any impdc-file-upload`) is a file selector that supports drag and drop.
28
- * To use, import `FileUploadModule` or another module that imports and exports that module from `@impartner/design-components`.
29
- */
30
- export class FileUploadComponent extends _FileUploadComponentBase {
31
- get canUpload() {
32
- return this.multiple || this._value.length === 0;
33
- }
34
- get acceptTypes() {
35
- if (!this.accept || !this.accept.length) {
36
- return [];
37
- }
38
- return this.accept
39
- .split(',')
40
- .map(a => a.trim())
41
- .filter(a => !!a);
42
- }
43
- get empty() {
44
- return this._value.length === 0;
45
- }
46
- get filesForDisplay() {
47
- return this._value || [];
48
- }
49
- constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
50
- super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
51
- this._changeDetector = _changeDetector;
52
- /**
53
- * Whether the control supports uploading multiple files.
54
- */
55
- this.multiple = false;
56
- /**
57
- * The instructional text to display in the file upload dropzone.
58
- */
59
- this.uploadText = 'Drag and drop files here or click to upload';
60
- /**
61
- * The comma-delimited list of file types that are accepted by the control.
62
- */
63
- this.accept = '';
64
- this._uid = `impdc-file-upload-${nanoid()}`;
65
- this._value = [];
66
- this._focused = false;
67
- this.controlType = 'impdc-file-upload';
68
- this.supportsAffixes = false;
69
- if (this.ngControl) {
70
- this.ngControl.valueAccessor = this;
71
- this.ngControl.control?.addValidators(() => {
72
- return this.validate();
73
- });
74
- }
75
- this.id = this.id;
76
- }
77
- /** @ignore */
78
- handleChange(event) {
79
- const fileList = (event.target || {})
80
- .files;
81
- if (!fileList) {
82
- return;
83
- }
84
- this._mergeNewFilesWithExistingFiles(fileList);
85
- }
86
- /** @ignore */
87
- handleDrop(event) {
88
- if (this.disabled || !event) {
89
- return;
90
- }
91
- this._mergeNewFilesWithExistingFiles(event);
92
- }
93
- /** @ignore */
94
- removeFile(fileIndex) {
95
- const newFilesArr = [...this._value];
96
- newFilesArr.splice(fileIndex, 1);
97
- this._updateValueFromInteraction(newFilesArr);
98
- }
99
- /** @ignore */
100
- focus(options) {
101
- this.fileDropElementRef.nativeElement.focus(options);
102
- }
103
- /* Lifecycle Hooks */
104
- /** @ignore */
105
- ngDoCheck() {
106
- this.updateErrorState();
107
- }
108
- /** @ignore */
109
- ngOnDestroy() {
110
- this.stateChanges.complete();
111
- }
112
- /* ImpdcFormFieldControl */
113
- /**
114
- * The file(s) currently uploaded into the control. Returns `File | null` when `multiple` is `false`,
115
- * and `File[]` when `multiple` is `true`.
116
- */
117
- get value() {
118
- return this.multiple ? [...this._value] : this._value[0];
119
- }
120
- set value(newValue) {
121
- if (newValue !== this._value) {
122
- if (Array.isArray(newValue)) {
123
- this._value = newValue ? [...newValue] : [];
124
- }
125
- else {
126
- this._value = newValue ? [newValue] : [];
127
- }
128
- }
129
- const fileList = this._getFileList(this._value);
130
- if (this.fileUploadInputEltRef &&
131
- this.fileUploadInputEltRef.nativeElement) {
132
- this.fileUploadInputEltRef.nativeElement.files = fileList;
133
- }
134
- }
135
- /** @ignore */
136
- get id() {
137
- return this._id;
138
- }
139
- set id(value) {
140
- this._id = value || this._uid;
141
- this.stateChanges.next();
142
- }
143
- /**
144
- * Used to set requiredness of control in a template-based manner;
145
- * not necessary when using the Angular reactive forms API and `required` validator.
146
- *
147
- * @default false
148
- */
149
- get required() {
150
- return (this._required ??
151
- this.ngControl?.control?.hasValidator(Validators.required) ??
152
- false);
153
- }
154
- set required(value) {
155
- this._required = coerceBooleanPropertyValue(value);
156
- this.stateChanges.next();
157
- }
158
- get focused() {
159
- return this._focused;
160
- }
161
- /* ControlValueAccessor */
162
- /** @ignore */
163
- writeValue(value) {
164
- this.value = value;
165
- this._changeDetector.markForCheck();
166
- }
167
- /** @ignore */
168
- registerOnChange(fn) {
169
- this._cvaOnChange = fn;
170
- }
171
- /** @ignore */
172
- registerOnTouched(fn) {
173
- this._cvaOnTouched = fn;
174
- this._changeDetector.markForCheck();
175
- }
176
- /** @ignore */
177
- setDisabledState(isDisabled) {
178
- this.disabled = isDisabled;
179
- }
180
- /* Validator */
181
- /**
182
- * @ignore
183
- */
184
- validate() {
185
- return !this.disabled && this.required && this._value.length === 0
186
- ? { required: true }
187
- : null;
188
- }
189
- /* Internals */
190
- _onFocus() {
191
- if (!this.disabled) {
192
- this._focused = true;
193
- this.stateChanges.next();
194
- }
195
- }
196
- _onBlur() {
197
- this._focused = false;
198
- if (!this.disabled) {
199
- this._cvaOnTouched && this._cvaOnTouched();
200
- this._changeDetector.markForCheck();
201
- this.stateChanges.next();
202
- }
203
- }
204
- _updateValueFromInteraction(newValue) {
205
- this.value = newValue;
206
- this._cvaOnChange && this._cvaOnChange(this.value);
207
- this._cvaOnTouched && this._cvaOnTouched();
208
- this.stateChanges.next();
209
- }
210
- _mergeNewFilesWithExistingFiles(fileList) {
211
- if (!fileList) {
212
- return;
213
- }
214
- if (this._value && this._value.length == 1 && !this.multiple) {
215
- return;
216
- }
217
- const tempFiles = [...this._value];
218
- Array.from(fileList).forEach(newFile => {
219
- if (!this.multiple && tempFiles.length > 0) {
220
- return;
221
- }
222
- const existingFile = tempFiles.find(existing => existing.name === newFile.name &&
223
- existing.lastModified === newFile.lastModified &&
224
- existing.size === newFile.size);
225
- if (existingFile) {
226
- return;
227
- }
228
- if (this._acceptedFileType(newFile.type, newFile.name)) {
229
- tempFiles.push(newFile);
230
- }
231
- });
232
- this._updateValueFromInteraction(tempFiles);
233
- }
234
- _getFileList(files) {
235
- const dataTransfer = new DataTransfer();
236
- files.forEach(file => {
237
- dataTransfer.items.add(file);
238
- });
239
- return dataTransfer.files;
240
- }
241
- _getExtensions(fileName) {
242
- const nameSegments = fileName.split('.');
243
- let extensions = [];
244
- if (nameSegments.length < 2) {
245
- return extensions;
246
- }
247
- const extension = `.${nameSegments.slice(1).join('.')}`;
248
- extensions.push(extension);
249
- if (nameSegments.length === 2) {
250
- return extensions;
251
- }
252
- const sub = `.${nameSegments.slice(2).join('.')}`;
253
- const subExtensions = this._getExtensions(sub);
254
- extensions = [...extensions, ...subExtensions];
255
- return extensions;
256
- }
257
- _acceptedFileType(type, fileName) {
258
- if (!this.acceptTypes || this.acceptTypes.length === 0) {
259
- return true;
260
- }
261
- const acceptedByType = this.acceptTypes.includes(type);
262
- if (acceptedByType) {
263
- return true;
264
- }
265
- const fileExtensions = this._getExtensions(fileName);
266
- if (!fileExtensions || fileExtensions.length === 0) {
267
- return false;
268
- }
269
- const acceptedByExtension = this.acceptTypes.some(type => fileExtensions.includes(type));
270
- return acceptedByExtension;
271
- }
272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
273
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FileUploadComponent, selector: "impdc-file-upload, [impdc-file-upload]", inputs: { disabled: "disabled", tabIndex: "tabIndex", multiple: "multiple", uploadText: "uploadText", accept: "accept", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.impdc-file-upload--required": "required", "class.impdc-file-upload--disabled": "disabled", "class.impdc-file-upload--invalid": "errorState", "class.impdc-file-upload--multiple": "multiple", "class.impdc-file-upload--empty": "empty" }, classAttribute: "impdc-file-upload" }, providers: [
274
- {
275
- provide: ImpdcFormFieldControl,
276
- useExisting: FileUploadComponent
277
- }
278
- ], viewQueries: [{ propertyName: "fileDropElementRef", first: true, predicate: FileDropDirective, descendants: true, read: ElementRef }, { propertyName: "fileUploadInputEltRef", first: true, predicate: ["fileUploadInputElt"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label>button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: i5.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i6.FileDropDirective, selector: "[impdcFileDrop]", outputs: ["filesDropped"] }, { kind: "pipe", type: i7.HumanReadableByteSizePipe, name: "humanReadableByteSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
279
- }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadComponent, decorators: [{
281
- type: Component,
282
- args: [{ selector: 'impdc-file-upload, [impdc-file-upload]', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
283
- class: 'impdc-file-upload',
284
- '[attr.id]': 'id',
285
- '[attr.tabindex]': 'tabIndex',
286
- '[attr.aria-required]': 'required.toString()',
287
- '[attr.aria-disabled]': 'disabled.toString()',
288
- '[attr.aria-invalid]': 'errorState',
289
- '[class.impdc-file-upload--required]': 'required',
290
- '[class.impdc-file-upload--disabled]': 'disabled',
291
- '[class.impdc-file-upload--invalid]': 'errorState',
292
- '[class.impdc-file-upload--multiple]': 'multiple',
293
- '[class.impdc-file-upload--empty]': 'empty',
294
- '(focus)': '_onFocus(); focus()'
295
- }, providers: [
296
- {
297
- provide: ImpdcFormFieldControl,
298
- useExisting: FileUploadComponent
299
- }
300
- ], template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label>button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"] }]
301
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
302
- type: Optional
303
- }, {
304
- type: Inject,
305
- args: [IMPDC_FORM_ROOT]
306
- }] }, { type: i2.NgForm, decorators: [{
307
- type: Optional
308
- }] }, { type: i2.FormGroupDirective, decorators: [{
309
- type: Optional
310
- }] }, { type: i2.NgControl, decorators: [{
311
- type: Self
312
- }, {
313
- type: Optional
314
- }] }], propDecorators: { fileDropElementRef: [{
315
- type: ViewChild,
316
- args: [FileDropDirective, { read: ElementRef }]
317
- }], fileUploadInputEltRef: [{
318
- type: ViewChild,
319
- args: ['fileUploadInputElt', { static: false }]
320
- }], multiple: [{
321
- type: Input
322
- }], uploadText: [{
323
- type: Input
324
- }], accept: [{
325
- type: Input
326
- }], errorStateMatcher: [{
327
- type: Input
328
- }], value: [{
329
- type: Input
330
- }], id: [{
331
- type: Input
332
- }], required: [{
333
- type: Input
334
- }] } });
335
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFPTCxVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFnQiwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0FBRWpELE1BQU0sd0JBQXdCLEdBQUcsYUFBYSxDQUM1QyxhQUFhLENBQ1gsZUFBZSxDQUNiO0lBR0UsWUFDUyx5QkFBNEMsRUFDNUMsU0FBd0IsRUFDeEIsV0FBbUIsRUFDbkIsZ0JBQW9DLEVBQ3BDLFNBQTJCO1FBSjNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBbUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixnQkFBVyxHQUFYLFdB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U0FBUzsrQkFDRSx3Q0FBd0MsVUFJMUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLG1CQUNmLHVCQUF1QixDQUFDLE1BQU0sUUFFekM7d0JBQ0osS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLGlCQUFpQixFQUFFLFVBQVU7d0JBQzdCLHNCQUFzQixFQUFFLHFCQUFxQjt3QkFDN0Msc0JBQXNCLEVBQUUscUJBQXFCO3dCQUM3QyxxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxvQ0FBb0MsRUFBRSxZQUFZO3dCQUNsRCxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxrQ0FBa0MsRUFBRSxPQUFPO3dCQUMzQyxTQUFTLEVBQUUscUJBQXFCO3FCQUNqQyxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjs7MEJBdUVFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLElBQUk7OzBCQUFJLFFBQVE7eUNBNURULGtCQUFrQjtzQkFEM0IsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSzNDLHFCQUFxQjtzQkFEM0IsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2xELFFBQVE7c0JBRFAsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBT04sTUFBTTtzQkFETCxLQUFLO2dCQUlVLGlCQUFpQjtzQkFEaEMsS0FBSztnQkE2R0ssS0FBSztzQkFEZixLQUFLO2dCQTBCSyxFQUFFO3NCQURaLEtBQUs7Z0JBaUJLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQge1xuICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gIElIYXNFcnJvclN0YXRlLFxuICBJbXBkY0Zvcm1GaWVsZENvbnRyb2wsXG4gIEltcGRjRm9ybVJvb3QsXG4gIElNUERDX0ZPUk1fUk9PVCxcbiAgbWl4aW5EaXNhYmxlZCxcbiAgbWl4aW5FcnJvclN0YXRlLFxuICBtaXhpblRhYkluZGV4XG59IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgRmlsZURyb3BEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuXG5jb25zdCBfRmlsZVVwbG9hZENvbXBvbmVudEJhc2UgPSBtaXhpblRhYkluZGV4KFxuICBtaXhpbkRpc2FibGVkKFxuICAgIG1peGluRXJyb3JTdGF0ZShcbiAgICAgIGNsYXNzIHtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgcHVibGljIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICAgIHB1YmxpYyBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgICAgICAgcHVibGljIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgICAgcHVibGljIF9wYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICAgICAgICBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsXG4gICAgICAgICkge31cbiAgICAgIH1cbiAgICApXG4gIClcbik7XG5cbi8qKlxuICogVGhlIGBGaWxlVXBsb2FkQ29tcG9uZW50YCAoYDxpbXBkYy1maWxlLXVwbG9hZGAgb3IgYDxhbnkgaW1wZGMtZmlsZS11cGxvYWRgKSBpcyBhIGZpbGUgc2VsZWN0b3IgdGhhdCBzdXBwb3J0cyBkcmFnIGFuZCBkcm9wLlxuICogVG8gdXNlLCBpbXBvcnQgYEZpbGVVcGxvYWRNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtZmlsZS11cGxvYWQsIFtpbXBkYy1maWxlLXVwbG9hZF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdpbXBkYy1maWxlLXVwbG9hZCcsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1thdHRyLnRhYmluZGV4XSc6ICd0YWJJbmRleCcsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkLnRvU3RyaW5nKCknLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdlcnJvclN0YXRlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtZmlsZS11cGxvYWQtLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0taW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0tbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1lbXB0eV0nOiAnZW1wdHknLFxuICAgICcoZm9jdXMpJzogJ19vbkZvY3VzKCk7IGZvY3VzKCknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEltcGRjRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgIHVzZUV4aXN0aW5nOiBGaWxlVXBsb2FkQ29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnRcbiAgZXh0ZW5kcyBfRmlsZVVwbG9hZENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50c1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIFZhbGlkYXRvcixcbiAgICBJbXBkY0Zvcm1GaWVsZENvbnRyb2w8RmlsZSB8IEZpbGVbXT4sXG4gICAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgSUhhc0Vycm9yU3RhdGUsXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3lcbntcbiAgQFZpZXdDaGlsZChGaWxlRHJvcERpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCBmaWxlRHJvcEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdmaWxlVXBsb2FkSW5wdXRFbHQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGZpbGVVcGxvYWRJbnB1dEVsdFJlZiE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbnRyb2wgc3VwcG9ydHMgdXBsb2FkaW5nIG11bHRpcGxlIGZpbGVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGluc3RydWN0aW9uYWwgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmaWxlIHVwbG9hZCBkcm9wem9uZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHVwbG9hZFRleHQgPSAnRHJhZyBhbmQgZHJvcCBmaWxlcyBoZXJlIG9yIGNsaWNrIHRvIHVwbG9hZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21tYS1kZWxpbWl0ZWQgbGlzdCBvZiBmaWxlIHR5cGVzIHRoYXQgYXJlIGFjY2VwdGVkIGJ5IHRoZSBjb250cm9sLlxuICAgKi9cbiAgQElucHV0KClcbiAgYWNjZXB0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGVycm9yU3RhdGVNYXRjaGVyITogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgcHVibGljIGdldCBjYW5VcGxvYWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgfHwgdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYWNjZXB0VHlwZXMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5hY2NlcHQgfHwgIXRoaXMuYWNjZXB0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFjY2VwdFxuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoYSA9PiBhLnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoYSA9PiAhIWEpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBmaWxlc0ZvckRpc3BsYXkoKTogcmVhZG9ubHkgRmlsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgfHwgW107XG4gIH1cblxuICBwcml2YXRlIF9jdmFPbkNoYW5nZTogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2N2YU9uVG91Y2hlZDogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX3VpZCA9IGBpbXBkYy1maWxlLXVwbG9hZC0ke25hbm9pZCgpfWA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSU1QRENfRk9STV9ST09UKSBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgX2Zvcm1Sb290LFxuICAgICAgX3BhcmVudEZvcm0sXG4gICAgICBfcGFyZW50Rm9ybUdyb3VwLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5hZGRWYWxpZGF0b3JzKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIGhhbmRsZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsID0gKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkgfHwge30pXG4gICAgICAuZmlsZXM7XG5cbiAgICBpZiAoIWZpbGVMaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbWVyZ2VOZXdGaWxlc1dpdGhFeGlzdGluZ0ZpbGVzKGZpbGVMaXN0KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBoYW5kbGVEcm9wKGV2ZW50OiBGaWxlTGlzdCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICFldmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhldmVudCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVtb3ZlRmlsZShmaWxlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG5ld0ZpbGVzQXJyID0gWy4uLnRoaXMuX3ZhbHVlXTtcbiAgICBuZXdGaWxlc0Fyci5zcGxpY2UoZmlsZUluZGV4LCAxKTtcblxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlRnJvbUludGVyYWN0aW9uKG5ld0ZpbGVzQXJyKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5maWxlRHJvcEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIC8qIExpZmVjeWNsZSBIb29rcyAqL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qIEltcGRjRm9ybUZpZWxkQ29udHJvbCAqL1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZShzKSBjdXJyZW50bHkgdXBsb2FkZWQgaW50byB0aGUgY29udHJvbC4gUmV0dXJucyBgRmlsZSB8IG51bGxgIHdoZW4gYG11bHRpcGxlYCBpcyBgZmFsc2VgLFxuICAgKiBhbmQgYEZpbGVbXWAgd2hlbiBgbXVsdGlwbGVgIGlzIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogRmlsZSB8IEZpbGVbXSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGxlID8gWy4uLnRoaXMuX3ZhbHVlXSA6IHRoaXMuX3ZhbHVlWzBdO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsdWUobmV3VmFsdWU6IEZpbGUgfCBGaWxlW10gfCBudWxsKSB7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWUgPyBbLi4ubmV3VmFsdWVdIDogW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlID8gW25ld1ZhbHVlXSA6IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVMaXN0ID0gdGhpcy5fZ2V0RmlsZUxpc3QodGhpcy5fdmFsdWUpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5maWxlVXBsb2FkSW5wdXRFbHRSZWYgJiZcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmLm5hdGl2ZUVsZW1lbnQuZmlsZXMgPSBmaWxlTGlzdDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHJlYWRvbmx5IEZpbGVbXSA9IFtdO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByaXZhdGUgX2lkITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNldCByZXF1aXJlZG5lc3Mgb2YgY29udHJvbCBpbiBhIHRlbXBsYXRlLWJhc2VkIG1hbm5lcjtcbiAgICogbm90IG5lY2Vzc2FyeSB3aGVuIHVzaW5nIHRoZSBBbmd1bGFyIHJlYWN0aXZlIGZvcm1zIEFQSSBhbmQgYHJlcXVpcmVkYCB2YWxpZGF0b3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9yZXF1aXJlZCA/P1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/P1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sVHlwZTogc3RyaW5nID0gJ2ltcGRjLWZpbGUtdXBsb2FkJztcbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRzQWZmaXhlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IEZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX2N2YU9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkID0gZm47XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyogVmFsaWRhdG9yICovXG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMucmVxdWlyZWQgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwXG4gICAgICA/IHsgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyogSW50ZXJuYWxzICovXG5cbiAgcHJvdGVjdGVkIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9vbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9jdmFPblRvdWNoZWQgJiYgdGhpcy5fY3ZhT25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbihuZXdWYWx1ZTogRmlsZVtdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuXG4gICAgdGhpcy5fY3ZhT25DaGFuZ2UgJiYgdGhpcy5fY3ZhT25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkICYmIHRoaXMuX2N2YU9uVG91Y2hlZCgpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsKSB7XG4gICAgaWYgKCFmaWxlTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl92YWx1ZSAmJiB0aGlzLl92YWx1ZS5sZW5ndGggPT0gMSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBGaWxlcyA9IFsuLi50aGlzLl92YWx1ZV07XG5cbiAgICBBcnJheS5mcm9tKGZpbGVMaXN0KS5mb3JFYWNoKG5ld0ZpbGUgPT4ge1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRlbXBGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4aXN0aW5nRmlsZSA9IHRlbXBGaWxlcy5maW5kKFxuICAgICAgICBleGlzdGluZyA9PlxuICAgICAgICAgIGV4aXN0aW5nLm5hbWUgPT09IG5ld0ZpbGUubmFtZSAmJlxuICAgICAgICAgIGV4aXN0aW5nLmxhc3RNb2RpZmllZCA9PT0gbmV3RmlsZS5sYXN0TW9kaWZpZWQgJiZcbiAgICAgICAgICBleGlzdGluZy5zaXplID09PSBuZXdGaWxlLnNpemVcbiAgICAgICk7XG5cbiAgICAgIGlmIChleGlzdGluZ0ZpbGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fYWNjZXB0ZWRGaWxlVHlwZShuZXdGaWxlLnR5cGUsIG5ld0ZpbGUubmFtZSkpIHtcbiAgICAgICAgdGVtcEZpbGVzLnB1c2gobmV3RmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbih0ZW1wRmlsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RmlsZUxpc3QoZmlsZXM6IHJlYWRvbmx5IEZpbGVbXSk6IEZpbGVMaXN0IHtcbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG5cbiAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgZGF0YVRyYW5zZmVyLml0ZW1zLmFkZChmaWxlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFeHRlbnNpb25zKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbmFtZVNlZ21lbnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKTtcbiAgICBsZXQgZXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChuYW1lU2VnbWVudHMubGVuZ3RoIDwgMikge1xuICAgICAgcmV0dXJuIGV4dGVuc2lvbnM7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gYC4ke25hbWVTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJyl9YDtcbiAgICBleHRlbnNpb25zLnB1c2goZXh0ZW5zaW9uKTtcblxuICAgIGlmIChuYW1lU2VnbWVudHMubGVuZ3RoID09PSAyKSB7XG4gICAgICByZXR1cm4gZXh0ZW5zaW9ucztcbiAgICB9XG5cbiAgICBjb25zdCBzdWIgPSBgLiR7bmFtZVNlZ21lbnRzLnNsaWNlKDIpLmpvaW4oJy4nKX1gO1xuICAgIGNvbnN0IHN1YkV4dGVuc2lvbnMgPSB0aGlzLl9nZXRFeHRlbnNpb25zKHN1Yik7XG4gICAgZXh0ZW5zaW9ucyA9IFsuLi5leHRlbnNpb25zLCAuLi5zdWJFeHRlbnNpb25zXTtcblxuICAgIHJldHVybiBleHRlbnNpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWNjZXB0ZWRGaWxlVHlwZSh0eXBlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuYWNjZXB0VHlwZXMgfHwgdGhpcy5hY2NlcHRUeXBlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFjY2VwdGVkQnlUeXBlID0gdGhpcy5hY2NlcHRUeXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmIChhY2NlcHRlZEJ5VHlwZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSB0aGlzLl9nZXRFeHRlbnNpb25zKGZpbGVOYW1lKTtcblxuICAgIGlmICghZmlsZUV4dGVuc2lvbnMgfHwgZmlsZUV4dGVuc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYWNjZXB0ZWRCeUV4dGVuc2lvbiA9IHRoaXMuYWNjZXB0VHlwZXMuc29tZSh0eXBlID0+XG4gICAgICBmaWxlRXh0ZW5zaW9ucy5pbmNsdWRlcyh0eXBlKVxuICAgICk7XG5cbiAgICByZXR1cm4gYWNjZXB0ZWRCeUV4dGVuc2lvbjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImltcGRjLWZpbGUtdXBsb2FkLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJpbXBkYy1maWxlLXVwbG9hZC1kcm9wem9uZVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2hpZGUtdXBsb2FkJzogIWNhblVwbG9hZFxuICAgIH1cIlxuICAgIGltcGRjRmlsZURyb3BcbiAgICAoZmlsZXNEcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cImZpbGVVcGxvYWRJbnB1dEVsdC5jbGljaygpXCJcbiAgICAoZm9jdXMpPVwiX29uRm9jdXMoKVwiXG4gICAgKGJsdXIpPVwiX29uQmx1cigpXCJcbiAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAnLTEnIDogJzAnXCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZpbGUtdXBsb2FkLWlucHV0XCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICNmaWxlVXBsb2FkSW5wdXRFbHRcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICB0YWJpbmRleD1cIi0xXCIgLz5cbiAgICA8c3BhblxuICAgICAgaW1wZGMtaWNvblxuICAgICAgdGhlbWU9XCJyZWd1bGFyXCJcbiAgICAgIG5hbWU9XCJjbG91ZC11cGxvYWQtYWx0XCJcbiAgICAgIGNsYXNzPVwidXBsb2FkLWljb25cIj48L3NwYW4+XG4gICAgPHAgY2xhc3M9XCJ1cGxvYWQtdGV4dFwiPnt7IHVwbG9hZFRleHQgfX08L3A+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3VycmVudC1maWxlc1wiICpuZ0lmPVwiZmlsZXNGb3JEaXNwbGF5Lmxlbmd0aFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXNGb3JEaXNwbGF5OyBsZXQgaWR4ID0gaW5kZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LWZpbGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN1cnJlbnQtZmlsZS1kZXRhaWxzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZVwiPnt7IGZpbGUuc2l6ZSB8IGh1bWFuUmVhZGFibGVCeXRlU2l6ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFkaXNhYmxlZFwiIGNsYXNzPVwiY3VycmVudC1maWxlLWFjdGlvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICAgICAgdGhlbWU9XCJjbG9zZVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlbW92ZUZpbGUoaWR4KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRmlsZShpZHgpXCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,38 +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 { IconModule } from '../icon';
6
- import { FileDropDirective } from './directives';
7
- import { FileUploadComponent } from './file-upload.component';
8
- import { HumanReadableByteSizePipe } from './pipes';
9
- import * as i0 from "@angular/core";
10
- export class FileUploadModule {
11
- constructor() { }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, declarations: [FileDropDirective,
14
- FileUploadComponent,
15
- HumanReadableByteSizePipe], imports: [CommonModule, FormsModule, ButtonModule, IconModule], exports: [IconModule,
16
- FileDropDirective,
17
- FileUploadComponent,
18
- HumanReadableByteSizePipe] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, imports: [CommonModule, FormsModule, ButtonModule, IconModule, IconModule] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, decorators: [{
22
- type: NgModule,
23
- args: [{
24
- imports: [CommonModule, FormsModule, ButtonModule, IconModule],
25
- declarations: [
26
- FileDropDirective,
27
- FileUploadComponent,
28
- HumanReadableByteSizePipe
29
- ],
30
- exports: [
31
- IconModule,
32
- FileDropDirective,
33
- FileUploadComponent,
34
- HumanReadableByteSizePipe
35
- ]
36
- }]
37
- }], ctorParameters: () => [] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQWdCcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixnQkFBZSxDQUFDOzhHQURMLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVh6QixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHlCQUF5QixhQUpqQixZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLGFBTzNELFVBQVU7WUFDVixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHlCQUF5QjsrR0FHaEIsZ0JBQWdCLFlBYmpCLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFPM0QsVUFBVTs7MkZBTUQsZ0JBQWdCO2tCQWQ1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQztvQkFDOUQsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IEZpbGVEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdW1hblJlYWRhYmxlQnl0ZVNpemVQaXBlIH0gZnJvbSAnLi9waXBlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBCdXR0b25Nb2R1bGUsIEljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaWxlRHJvcERpcmVjdGl2ZSxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEh1bWFuUmVhZGFibGVCeXRlU2l6ZVBpcGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEljb25Nb2R1bGUsXG4gICAgRmlsZURyb3BEaXJlY3RpdmUsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBIdW1hblJlYWRhYmxlQnl0ZVNpemVQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './directives';
2
- export * from './pipes';
3
- export { FileUploadComponent } from './file-upload.component';
4
- export { FileUploadModule } from './file-upload.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLm1vZHVsZSc7XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HumanReadableByteSizePipe {
4
- transform(bytes) {
5
- if (bytes < 1024) {
6
- return `${bytes}B`;
7
- }
8
- const i = Math.floor(Math.log(bytes) / Math.log(1024));
9
- const num = bytes / Math.pow(1024, i);
10
- const round = Math.round(num);
11
- const display = round < 10 ? num.toFixed(2) : round < 100 ? num.toFixed(1) : round;
12
- return `${display}${'KMGTPEZY'[i - 1]}B`;
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HumanReadableByteSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: HumanReadableByteSizePipe, name: "humanReadableByteSize" }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HumanReadableByteSizePipe, decorators: [{
18
- type: Pipe,
19
- args: [{
20
- name: 'humanReadableByteSize'
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW4tcmVhZGFibGUtYnl0ZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL3BpcGVzL2h1bWFuLXJlYWRhYmxlLWJ5dGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FDWCxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFckUsT0FBTyxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0MsQ0FBQzs4R0FiVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIckMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsdUJBQXVCO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaHVtYW5SZWFkYWJsZUJ5dGVTaXplJ1xufSlcbmV4cG9ydCBjbGFzcyBIdW1hblJlYWRhYmxlQnl0ZVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShieXRlczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoYnl0ZXMgPCAxMDI0KSB7XG4gICAgICByZXR1cm4gYCR7Ynl0ZXN9QmA7XG4gICAgfVxuXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coMTAyNCkpO1xuICAgIGNvbnN0IG51bSA9IGJ5dGVzIC8gTWF0aC5wb3coMTAyNCwgaSk7XG4gICAgY29uc3Qgcm91bmQgPSBNYXRoLnJvdW5kKG51bSk7XG4gICAgY29uc3QgZGlzcGxheSA9XG4gICAgICByb3VuZCA8IDEwID8gbnVtLnRvRml4ZWQoMikgOiByb3VuZCA8IDEwMCA/IG51bS50b0ZpeGVkKDEpIDogcm91bmQ7XG5cbiAgICByZXR1cm4gYCR7ZGlzcGxheX0keydLTUdUUEVaWSdbaSAtIDFdfUJgO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './human-readable-byte-size.pipe';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2h1bWFuLXJlYWRhYmxlLWJ5dGUtc2l6ZS5waXBlJztcbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CornerHintDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CornerHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: CornerHintDirective, isStandalone: true, selector: "impdc-corner-hint", ngImport: i0 }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CornerHintDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- // eslint-disable-next-line @angular-eslint/directive-selector
11
- selector: 'impdc-corner-hint',
12
- standalone: true
13
- }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ybmVyLWhpbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbXBvbmVudC9kaXJlY3RpdmVzL2Nvcm5lci1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbXBkYy1jb3JuZXItaGludCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ29ybmVySGludERpcmVjdGl2ZSB7fVxuIl19
@@ -1,27 +0,0 @@
1
- import { Directive, InjectionToken, Input } from '@angular/core';
2
- import { nanoid } from 'nanoid';
3
- import * as i0 from "@angular/core";
4
- export const IMPDC_ERROR = new InjectionToken('ImpdcError');
5
- export class ErrorDirective {
6
- constructor() {
7
- this.id = `impdc-form-error-${nanoid()}`;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ErrorDirective, isStandalone: true, selector: "impdc-error, [impdc-error]", inputs: { id: "id" }, host: { properties: { "id": "id" } }, providers: [{ provide: IMPDC_ERROR, useExisting: ErrorDirective }], ngImport: i0 }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorDirective, decorators: [{
13
- type: Directive,
14
- args: [{
15
- // eslint-disable-next-line @angular-eslint/directive-selector
16
- selector: 'impdc-error, [impdc-error]',
17
- standalone: true,
18
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
19
- host: {
20
- '[id]': 'id'
21
- },
22
- providers: [{ provide: IMPDC_ERROR, useExisting: ErrorDirective }]
23
- }]
24
- }], propDecorators: { id: [{
25
- type: Input
26
- }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbXBvbmVudC9kaXJlY3RpdmVzL2Vycm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFFaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixZQUFZLENBQUMsQ0FBQztBQVk1RSxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVlFLE9BQUUsR0FBRyxvQkFBb0IsTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUNyQzs4R0FIWSxjQUFjO2tHQUFkLGNBQWMscUlBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOzsyRkFFdkQsY0FBYztrQkFWMUIsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixxRUFBcUU7b0JBQ3JFLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUUsSUFBSTtxQkFDYjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUNuRTs4QkFHQyxFQUFFO3NCQURELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcblxuZXhwb3J0IGNvbnN0IElNUERDX0VSUk9SID0gbmV3IEluamVjdGlvblRva2VuPEVycm9yRGlyZWN0aXZlPignSW1wZGNFcnJvcicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbXBkYy1lcnJvciwgW2ltcGRjLWVycm9yXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgJ1tpZF0nOiAnaWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSU1QRENfRVJST1IsIHVzZUV4aXN0aW5nOiBFcnJvckRpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIGlkID0gYGltcGRjLWZvcm0tZXJyb3ItJHtuYW5vaWQoKX1gO1xufVxuIl19