barsa-sap-ui 1.0.456 → 2.0.2

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 (652) hide show
  1. package/{esm2020 → esm2022}/barsa-sap-ui.mjs +4 -4
  2. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +89 -0
  3. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
  4. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +141 -0
  5. package/{esm2020 → esm2022}/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -23
  6. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
  7. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
  8. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +30 -0
  9. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
  10. package/{esm2020 → esm2022}/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -24
  11. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +260 -0
  12. package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
  13. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
  14. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
  15. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +56 -0
  16. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +77 -0
  17. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
  18. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
  19. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
  20. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
  21. package/{esm2020 → esm2022}/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -23
  22. package/{esm2020 → esm2022}/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +15 -15
  23. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
  24. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
  25. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  26. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +41 -0
  27. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
  28. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
  29. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +37 -0
  30. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
  31. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
  32. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
  33. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
  34. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
  35. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  36. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
  37. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
  38. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +53 -0
  39. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
  40. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
  41. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
  42. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
  43. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
  44. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
  45. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
  46. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
  47. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
  48. package/{esm2020 → esm2022}/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -28
  49. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +98 -0
  50. package/{esm2020 → esm2022}/lib/barsa-sap-ui-routing.module.mjs +18 -18
  51. package/esm2022/lib/barsa-sap-ui.module.mjs +360 -0
  52. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  53. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +168 -0
  54. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +27 -0
  55. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +198 -0
  56. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +63 -0
  57. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
  58. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
  59. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
  60. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
  61. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +417 -0
  62. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
  63. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +129 -0
  64. package/{esm2020 → esm2022}/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +19 -19
  65. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +208 -0
  66. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +78 -0
  67. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +44 -0
  68. package/{esm2020 → esm2022}/lib/captcha-field/captcha-field.component.mjs +28 -28
  69. package/esm2022/lib/card-item/card-item.component.mjs +76 -0
  70. package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
  71. package/esm2022/lib/col-renderer.directive.mjs +46 -0
  72. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  73. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +60 -0
  74. package/esm2022/lib/column-renderer/column-renderer.component.mjs +85 -0
  75. package/esm2022/lib/constants.mjs +421 -0
  76. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  77. package/{esm2020 → esm2022}/lib/device-info-field-base.mjs +23 -23
  78. package/{esm2020 → esm2022}/lib/dialog-handler.directive.mjs +28 -28
  79. package/esm2022/lib/download-files.directive.mjs +33 -0
  80. package/esm2022/lib/dynamic-page-size.pipe.mjs +26 -0
  81. package/{esm2020 → esm2022}/lib/file-in-dialog/file-in-dialog.component.mjs +44 -44
  82. package/esm2022/lib/file-viewer/file-viewer.component.mjs +39 -0
  83. package/{esm2020 → esm2022}/lib/file-viewer-content/file-viewer-content.component.mjs +53 -53
  84. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +41 -0
  85. package/esm2022/lib/form-dialog/form-dialog.component.mjs +142 -0
  86. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +44 -0
  87. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +43 -0
  88. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
  89. package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
  90. package/esm2022/lib/fullscreen-dialog.directive.mjs +59 -0
  91. package/esm2022/lib/fullscreen-files.directive.mjs +42 -0
  92. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +194 -0
  93. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +203 -0
  94. package/{esm2020 → esm2022}/lib/global-search/global-search.component.mjs +27 -27
  95. package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
  96. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
  97. package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
  98. package/{esm2020 → esm2022}/lib/header-facet-form/header-facet-form.component.mjs +22 -22
  99. package/{esm2020 → esm2022}/lib/header-facet-key-value/header-facet-key-value.component.mjs +31 -31
  100. package/{esm2020 → esm2022}/lib/header-facet-microchart/header-facet-microchart.component.mjs +21 -21
  101. package/{esm2020 → esm2022}/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +28 -28
  102. package/esm2022/lib/header-facet-progress/header-facet-progress.component.mjs +25 -0
  103. package/esm2022/lib/header-facet-rate/header-facet-rate.component.mjs +25 -0
  104. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
  105. package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
  106. package/esm2022/lib/index.mjs +564 -0
  107. package/{esm2020 → esm2022}/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -32
  108. package/esm2022/lib/layout-actions/layout-actions.component.mjs +68 -0
  109. package/esm2022/lib/layout-control/layout-control.component.mjs +234 -0
  110. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +154 -0
  111. package/esm2022/lib/list-item/list-item.component.mjs +34 -0
  112. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
  113. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +71 -0
  114. package/esm2022/lib/ly-label/ly-label.component.mjs +34 -0
  115. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  116. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  117. package/{esm2020 → esm2022}/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -24
  118. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +73 -0
  119. package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
  120. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
  121. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +52 -0
  122. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
  123. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +50 -0
  124. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
  125. package/{esm2020 → esm2022}/lib/mask/mask.component.mjs +22 -22
  126. package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
  127. package/esm2022/lib/models/grid-data-provider.mjs +83 -0
  128. package/esm2022/lib/models/grid-view.mjs +2 -0
  129. package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
  130. package/esm2022/lib/no-data/no-data.component.mjs +31 -0
  131. package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
  132. package/esm2022/lib/notification-popup.service.mjs +92 -0
  133. package/{esm2020 → esm2022}/lib/progress-indicator/progress-indicator.component.mjs +18 -18
  134. package/esm2022/lib/report-navigator/report-navigator.component.mjs +63 -0
  135. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  136. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  137. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
  138. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
  139. package/esm2022/lib/report-tree-base.mjs +408 -0
  140. package/esm2022/lib/report-view-renderer.directive.mjs +366 -0
  141. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  142. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  143. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
  144. package/esm2022/lib/sap-font-class.pipe.mjs +29 -0
  145. package/esm2022/lib/sap-font.pipe.mjs +29 -0
  146. package/esm2022/lib/sap-size.pipe.mjs +27 -0
  147. package/esm2022/lib/sap-ui-report-base.component.mjs +765 -0
  148. package/esm2022/lib/search-panel/search-panel.component.mjs +42 -0
  149. package/{esm2020 → esm2022}/lib/static-text/static-text.component.mjs +15 -15
  150. package/{esm2020 → esm2022}/lib/title/title.component.mjs +15 -15
  151. package/{esm2020 → esm2022}/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +18 -18
  152. package/esm2022/lib/ui-button/ui-button.component.mjs +31 -0
  153. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
  154. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +59 -0
  155. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
  156. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +34 -0
  157. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  158. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +34 -0
  159. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
  160. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +149 -0
  161. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +110 -0
  162. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
  163. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +121 -0
  164. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +92 -0
  165. package/{esm2020 → esm2022}/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -32
  166. package/{esm2020 → esm2022}/lib/ui-graph/ui-graph.component.mjs +17 -17
  167. package/{esm2020 → esm2022}/lib/ui-grid/ui-grid.component.mjs +25 -25
  168. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
  169. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
  170. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
  171. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
  172. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +155 -0
  173. package/{esm2020 → esm2022}/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -16
  174. package/{esm2020 → esm2022}/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -11
  175. package/{esm2020 → esm2022}/lib/ui-label/ui-label.component.mjs +12 -12
  176. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +349 -0
  177. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +75 -0
  178. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
  179. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  180. package/{esm2020 → esm2022}/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -14
  181. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
  182. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +430 -0
  183. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
  184. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
  185. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
  186. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
  187. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
  188. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
  189. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
  190. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +24 -0
  191. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
  192. package/{esm2020 → esm2022}/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -21
  193. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +261 -0
  194. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +98 -0
  195. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +223 -0
  196. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
  197. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
  198. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  199. package/{esm2020 → esm2022}/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -24
  200. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +37 -0
  201. package/{esm2020 → esm2022}/lib/ui-single-picture/ui-single-picture.component.mjs +36 -36
  202. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  203. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +155 -0
  204. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
  205. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
  206. package/{esm2020 → esm2022}/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +47 -47
  207. package/{esm2020 → esm2022}/lib/ui-time-span/ui-time-span.component.mjs +24 -24
  208. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  209. package/esm2022/lib/ui-tree/ui-tree.component.mjs +92 -0
  210. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +80 -0
  211. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
  212. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +289 -0
  213. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
  214. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
  215. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +117 -0
  216. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
  217. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
  218. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +60 -0
  219. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +87 -0
  220. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  221. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +184 -0
  222. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  223. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
  224. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
  225. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
  226. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +44 -0
  227. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +115 -0
  228. package/esm2022/lib/upload-file-status.pipe.mjs +28 -0
  229. package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
  230. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
  231. package/{esm2020 → esm2022}/lib/wizard-layout.directive.mjs +103 -103
  232. package/{esm2020 → esm2022}/public-api.mjs +230 -222
  233. package/fesm2022/barsa-sap-ui.mjs +14765 -0
  234. package/fesm2022/barsa-sap-ui.mjs.map +1 -0
  235. package/index.d.ts +5 -5
  236. package/lib/apply-conditional-formmatings.directive.d.ts +25 -25
  237. package/lib/barsa-answer-card/barsa-answer-card.component.d.ts +12 -12
  238. package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +31 -29
  239. package/lib/barsa-bar-panel/barsa-bar-panel.component.d.ts +9 -9
  240. package/lib/barsa-base-panel/barsa-base-layout-panel.component.d.ts +12 -12
  241. package/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.d.ts +15 -15
  242. package/lib/barsa-card-row-payam/barsa-card-row-payam.component.d.ts +20 -20
  243. package/lib/barsa-cartable-form/barsa-cartable-form.component.d.ts +10 -10
  244. package/lib/barsa-cartable-template/barsa-cartable-template.component.d.ts +14 -14
  245. package/lib/barsa-chat/barsa-chat.component.d.ts +48 -0
  246. package/lib/barsa-chat/chat.model.d.ts +43 -0
  247. package/lib/barsa-chat-content/barsa-chat-content.component.d.ts +5 -0
  248. package/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.d.ts +9 -0
  249. package/lib/barsa-chat-list/barsa-chat-list.component.d.ts +16 -0
  250. package/lib/barsa-chat-message/barsa-chat-message.component.d.ts +16 -0
  251. package/lib/barsa-chat-thread/barsa-chat-thread.component.d.ts +6 -0
  252. package/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.d.ts +5 -0
  253. package/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.d.ts +5 -0
  254. package/lib/barsa-chip/barsa-chip.component.d.ts +20 -20
  255. package/lib/barsa-column-indicator/barsa-column-indicator.component.d.ts +11 -11
  256. package/lib/barsa-column-rownumber/barsa-column-rownumber.component.d.ts +8 -8
  257. package/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.d.ts +6 -6
  258. package/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.d.ts +10 -10
  259. package/lib/barsa-date-time-picker/barsa-date-time-picker.component.d.ts +18 -18
  260. package/lib/barsa-dynamic-field/barsa-dynamic-field.component.d.ts +16 -16
  261. package/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.d.ts +23 -23
  262. package/lib/barsa-field-key-value/barsa-field-key-value.component.d.ts +26 -26
  263. package/lib/barsa-form-side-content/barsa-form-side-content.component.d.ts +25 -23
  264. package/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.d.ts +16 -16
  265. package/lib/barsa-group-cartable/barsa-cartable-group.component.d.ts +26 -26
  266. package/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.d.ts +14 -14
  267. package/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.d.ts +12 -12
  268. package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +17 -17
  269. package/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.d.ts +8 -8
  270. package/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.d.ts +9 -9
  271. package/lib/barsa-monaco-editor/barsa-monaco-editor.component.d.ts +23 -23
  272. package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +14 -14
  273. package/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.d.ts +79 -79
  274. package/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.d.ts +7 -7
  275. package/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.d.ts +13 -13
  276. package/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.d.ts +7 -7
  277. package/lib/barsa-question-answer-form/barsa-question-answer-form.component.d.ts +10 -10
  278. package/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.d.ts +13 -13
  279. package/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.d.ts +14 -14
  280. package/lib/barsa-question-post/barsa-question-post.component.d.ts +10 -10
  281. package/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.d.ts +9 -9
  282. package/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.d.ts +15 -15
  283. package/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.d.ts +31 -31
  284. package/lib/barsa-sap-ui-routing.module.d.ts +7 -7
  285. package/lib/barsa-sap-ui.module.d.ts +245 -234
  286. package/lib/barsa-search-form/barsa-search-form.component.d.ts +8 -8
  287. package/lib/barsa-simple-form/barsa-simple-form.component.d.ts +73 -73
  288. package/lib/barsa-table-column/barsa-table-column.component.d.ts +8 -8
  289. package/lib/barsa-table-header/barsa-table-header.component.d.ts +59 -59
  290. package/lib/barsa-table-row/barsa-table-row.component.d.ts +19 -18
  291. package/lib/barsa-tag-categories/barsa-tag-categories.component.d.ts +11 -11
  292. package/lib/barsa-tag-chip/barsa-tag-chip.component.d.ts +10 -10
  293. package/lib/barsa-tags-category-row/barsa-tags-category-row.component.d.ts +9 -9
  294. package/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.d.ts +18 -18
  295. package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +54 -54
  296. package/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.d.ts +12 -12
  297. package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +54 -54
  298. package/lib/barsa-tree-item/node-has-one-depth-level.pipe.d.ts +8 -8
  299. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +72 -72
  300. package/lib/blob-viewer/blob-viewer.component.d.ts +24 -24
  301. package/lib/breadcrumb/breadcrumb.component.d.ts +17 -17
  302. package/lib/captcha-field/captcha-field.component.d.ts +10 -10
  303. package/lib/card-item/card-item.component.d.ts +20 -20
  304. package/lib/card-view-content/card-view-content.component.d.ts +14 -14
  305. package/lib/col-renderer.directive.d.ts +10 -10
  306. package/lib/column-matrix-renderer/column-matrix-renderer.component.d.ts +23 -23
  307. package/lib/column-matrix-renderer/matrix-value.pipe.d.ts +8 -8
  308. package/lib/column-renderer/column-renderer.component.d.ts +33 -33
  309. package/lib/constants.d.ts +12 -12
  310. package/lib/custom-date-time/custom-date-time.component.d.ts +26 -26
  311. package/lib/device-info-field-base.d.ts +12 -12
  312. package/lib/dialog-handler.directive.d.ts +12 -12
  313. package/lib/download-files.directive.d.ts +9 -9
  314. package/lib/dynamic-page-size.pipe.d.ts +8 -8
  315. package/lib/file-in-dialog/file-in-dialog.component.d.ts +16 -16
  316. package/lib/file-viewer/file-viewer.component.d.ts +21 -21
  317. package/lib/file-viewer-content/file-viewer-content.component.d.ts +20 -20
  318. package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +17 -17
  319. package/lib/form-dialog/form-dialog.component.d.ts +45 -45
  320. package/lib/form-dialog-less/form-dialog-less.component.d.ts +29 -29
  321. package/lib/form-toolbar/form-toolbar.component.d.ts +14 -14
  322. package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +20 -20
  323. package/lib/form-wizard/form-wizard.component.d.ts +8 -8
  324. package/lib/fullscreen-dialog.directive.d.ts +20 -20
  325. package/lib/fullscreen-files.directive.d.ts +16 -16
  326. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +77 -76
  327. package/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.d.ts +18 -18
  328. package/lib/global-search/global-search.component.d.ts +11 -11
  329. package/lib/global-search-module/global-search-module.component.d.ts +18 -18
  330. package/lib/global-search-panel/global-search-panel.component.d.ts +9 -9
  331. package/lib/header-avatar/header-avatar.component.d.ts +8 -8
  332. package/lib/header-facet-form/header-facet-form.component.d.ts +9 -9
  333. package/lib/header-facet-key-value/header-facet-key-value.component.d.ts +11 -11
  334. package/lib/header-facet-microchart/header-facet-microchart.component.d.ts +8 -8
  335. package/lib/header-facet-plain-text/header-facet-plain-text.component.d.ts +11 -11
  336. package/lib/header-facet-progress/header-facet-progress.component.d.ts +11 -11
  337. package/lib/header-facet-rate/header-facet-rate.component.d.ts +11 -11
  338. package/lib/htree-create-new/htree-create-new.component.d.ts +13 -13
  339. package/lib/hyperlink/hyperlink.component.d.ts +7 -7
  340. package/lib/index.d.ts +102 -100
  341. package/lib/inline-save-and-cancel/inline-save-and-cancel.component.d.ts +11 -11
  342. package/lib/layout-actions/layout-actions.component.d.ts +25 -25
  343. package/lib/layout-control/layout-control.component.d.ts +67 -67
  344. package/lib/layout-wizard/layout-wizard.component.d.ts +28 -28
  345. package/lib/list-item/list-item.component.d.ts +14 -14
  346. package/lib/ly-empty-space/ly-empty-space.component.d.ts +13 -13
  347. package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +23 -23
  348. package/lib/ly-label/ly-label.component.d.ts +16 -16
  349. package/lib/ly-layout-container/ly-layout-container.component.d.ts +26 -26
  350. package/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.d.ts +8 -8
  351. package/lib/ly-layout-field-label/ly-layout-field-label.component.d.ts +13 -13
  352. package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +26 -26
  353. package/lib/ly-line/ly-line.component.d.ts +17 -17
  354. package/lib/ly-simple-label/ly-simple-label.component.d.ts +9 -9
  355. package/lib/ly-tab-container/ly-tab-container.component.d.ts +19 -19
  356. package/lib/ly-tab-page/ly-tab-page.component.d.ts +20 -20
  357. package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +19 -19
  358. package/lib/manage-filters-report/manage-filters-report.component.d.ts +24 -24
  359. package/lib/mask/mask.component.d.ts +9 -9
  360. package/lib/message-strip/message-strip.component.d.ts +11 -11
  361. package/lib/models/grid-data-provider.d.ts +22 -22
  362. package/lib/models/grid-view.d.ts +61 -61
  363. package/lib/models/index.d.ts +1 -1
  364. package/lib/no-data/no-data.component.d.ts +11 -9
  365. package/lib/notification-item/notification-item.component.d.ts +43 -43
  366. package/lib/notification-popup.service.d.ts +17 -17
  367. package/lib/progress-indicator/progress-indicator.component.d.ts +8 -8
  368. package/lib/report-navigator/report-navigator.component.d.ts +21 -21
  369. package/lib/report-new-top-form/report-new-top-form.component.d.ts +18 -18
  370. package/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.d.ts +14 -14
  371. package/lib/report-search-fields-manage/report-search-fields-manage.component.d.ts +20 -20
  372. package/lib/report-search-panel-save/report-search-panel-save.component.d.ts +27 -27
  373. package/lib/report-tree-base.d.ts +62 -62
  374. package/lib/report-view-renderer.directive.d.ts +117 -117
  375. package/lib/responsive-toolbar/responsive-toolbar.component.d.ts +19 -19
  376. package/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.d.ts +24 -24
  377. package/lib/rich-text-static/rich-text-static.component.d.ts +28 -28
  378. package/lib/sap-font-class.pipe.d.ts +8 -8
  379. package/lib/sap-font.pipe.d.ts +9 -9
  380. package/lib/sap-size.pipe.d.ts +8 -8
  381. package/lib/sap-ui-report-base.component.d.ts +154 -154
  382. package/lib/search-panel/search-panel.component.d.ts +14 -14
  383. package/lib/static-text/static-text.component.d.ts +7 -7
  384. package/lib/title/title.component.d.ts +7 -7
  385. package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +9 -9
  386. package/lib/ui-button/ui-button.component.d.ts +11 -11
  387. package/lib/ui-calendar/ui-calendar.component.d.ts +19 -19
  388. package/lib/ui-card-view/ui-card-view.component.d.ts +16 -16
  389. package/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.d.ts +12 -12
  390. package/lib/ui-check-box/ui-check-box.component.d.ts +14 -14
  391. package/lib/ui-color-ui/ui-color-ui.component.d.ts +16 -16
  392. package/lib/ui-container-with-button/ui-container-with-button.component.d.ts +11 -11
  393. package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +35 -36
  394. package/lib/ui-date-time/ui-date-time.component.d.ts +39 -40
  395. package/lib/ui-editable-grid/ui-editable-grid.component.d.ts +43 -43
  396. package/lib/ui-exception-form/ui-exception-form.component.d.ts +15 -15
  397. package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +50 -50
  398. package/lib/ui-form-panel/ui-form-panel.component.d.ts +53 -53
  399. package/lib/ui-gantt-chart/ui-gantt-chart.component.d.ts +15 -15
  400. package/lib/ui-graph/ui-graph.component.d.ts +9 -9
  401. package/lib/ui-grid/ui-grid.component.d.ts +12 -12
  402. package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +14 -14
  403. package/lib/ui-grid-filter-item/ui-grid-filter-item.component.d.ts +19 -19
  404. package/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.d.ts +24 -24
  405. package/lib/ui-grid-sort-item/ui-grid-sort-item.component.d.ts +25 -25
  406. package/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.d.ts +28 -28
  407. package/lib/ui-html-viewer/ui-html-viewer.component.d.ts +9 -9
  408. package/lib/ui-info-bar-panel/ui-info-bar-panel.component.d.ts +5 -5
  409. package/lib/ui-label/ui-label.component.d.ts +6 -6
  410. package/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.d.ts +73 -73
  411. package/lib/ui-list-view/ui-list-view.component.d.ts +29 -29
  412. package/lib/ui-matrix-view/ui-matrix-view.component.d.ts +45 -45
  413. package/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.d.ts +7 -7
  414. package/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.d.ts +6 -6
  415. package/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.d.ts +15 -15
  416. package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +90 -90
  417. package/lib/ui-monaco-editor/ui-monaco-editor.component.d.ts +10 -7
  418. package/lib/ui-multi-select-card/ui-multi-select-card.component.d.ts +17 -17
  419. package/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.d.ts +19 -19
  420. package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +27 -27
  421. package/lib/ui-multi-select-radio/ui-multi-select-radio.component.d.ts +17 -17
  422. package/lib/ui-multi-select-slider/ui-multi-select-slider.component.d.ts +24 -24
  423. package/lib/ui-multi-select-smile/ui-multi-select-smile.component.d.ts +23 -23
  424. package/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.d.ts +11 -11
  425. package/lib/ui-num-int-slider/ui-num-int-slider.component.d.ts +18 -18
  426. package/lib/ui-num-int-ui/ui-num-int-ui.component.d.ts +10 -10
  427. package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +79 -79
  428. package/lib/ui-picture-file/ui-picture-file.component.d.ts +26 -25
  429. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +80 -69
  430. package/lib/ui-radio-group/ui-radio-group.component.d.ts +20 -20
  431. package/lib/ui-read-only-field/ui-read-only-field.component.d.ts +21 -21
  432. package/lib/ui-report-container/ui-report-container.component.d.ts +17 -17
  433. package/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.d.ts +9 -9
  434. package/lib/ui-simple-combo/ui-simple-combo.component.d.ts +16 -16
  435. package/lib/ui-single-picture/ui-single-picture.component.d.ts +13 -13
  436. package/lib/ui-switch-button/ui-switch-button.component.d.ts +11 -11
  437. package/lib/ui-table-view/ui-table-view.component.d.ts +39 -39
  438. package/lib/ui-text-area/ui-text-area.component.d.ts +23 -23
  439. package/lib/ui-text-field/ui-text-field.component.d.ts +23 -23
  440. package/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.d.ts +13 -13
  441. package/lib/ui-time-span/ui-time-span.component.d.ts +10 -10
  442. package/lib/ui-tinymce/ui-tinymce.component.d.ts +22 -22
  443. package/lib/ui-tree/ui-tree.component.d.ts +37 -37
  444. package/lib/ui-tree-view/ui-tree-view.component.d.ts +47 -47
  445. package/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.d.ts +9 -9
  446. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +74 -74
  447. package/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.d.ts +16 -16
  448. package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +21 -21
  449. package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +48 -48
  450. package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +21 -21
  451. package/lib/ul-toast-adapter/ul-toast-adapter.component.d.ts +13 -13
  452. package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +20 -20
  453. package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +31 -31
  454. package/lib/ulv-filter-settings/ulv-filter-settings.component.d.ts +19 -19
  455. package/lib/ulv-form-multi-select/ulv-form-multi-select.component.d.ts +26 -26
  456. package/lib/ulv-groupby-settings/ulv-groupby-settings.component.d.ts +16 -16
  457. package/lib/ulv-paging/ulv-paging.component.d.ts +28 -28
  458. package/lib/ulv-selection/ulv-selection.component.d.ts +43 -43
  459. package/lib/ulv-settings/ulv-settings.component.d.ts +43 -43
  460. package/lib/ulv-sort-settings/ulv-sort-settings.component.d.ts +16 -16
  461. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +49 -49
  462. package/lib/upload-file-status.pipe.d.ts +9 -9
  463. package/lib/util-chat-time-badge.pipe.d.ts +7 -0
  464. package/lib/util-date-to-hh-mm.pipe.d.ts +7 -0
  465. package/lib/wizard-layout.directive.d.ts +40 -40
  466. package/package.json +7 -13
  467. package/public-api.d.ts +226 -218
  468. package/esm2020/lib/apply-conditional-formmatings.directive.mjs +0 -89
  469. package/esm2020/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  470. package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -127
  471. package/esm2020/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  472. package/esm2020/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -25
  473. package/esm2020/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
  474. package/esm2020/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  475. package/esm2020/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  476. package/esm2020/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -15
  477. package/esm2020/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  478. package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  479. package/esm2020/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -42
  480. package/esm2020/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  481. package/esm2020/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  482. package/esm2020/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -37
  483. package/esm2020/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  484. package/esm2020/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  485. package/esm2020/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  486. package/esm2020/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  487. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
  488. package/esm2020/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
  489. package/esm2020/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  490. package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  491. package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -53
  492. package/esm2020/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  493. package/esm2020/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  494. package/esm2020/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -31
  495. package/esm2020/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  496. package/esm2020/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -35
  497. package/esm2020/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -47
  498. package/esm2020/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -78
  499. package/esm2020/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  500. package/esm2020/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  501. package/esm2020/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -98
  502. package/esm2020/lib/barsa-sap-ui.module.mjs +0 -332
  503. package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
  504. package/esm2020/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -168
  505. package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +0 -28
  506. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +0 -198
  507. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +0 -61
  508. package/esm2020/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  509. package/esm2020/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  510. package/esm2020/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  511. package/esm2020/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -38
  512. package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -417
  513. package/esm2020/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  514. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -130
  515. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -209
  516. package/esm2020/lib/blob-viewer/blob-viewer.component.mjs +0 -78
  517. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -45
  518. package/esm2020/lib/card-item/card-item.component.mjs +0 -76
  519. package/esm2020/lib/card-view-content/card-view-content.component.mjs +0 -46
  520. package/esm2020/lib/col-renderer.directive.mjs +0 -46
  521. package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  522. package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
  523. package/esm2020/lib/column-renderer/column-renderer.component.mjs +0 -85
  524. package/esm2020/lib/constants.mjs +0 -421
  525. package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  526. package/esm2020/lib/download-files.directive.mjs +0 -33
  527. package/esm2020/lib/dynamic-page-size.pipe.mjs +0 -26
  528. package/esm2020/lib/file-viewer/file-viewer.component.mjs +0 -47
  529. package/esm2020/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -41
  530. package/esm2020/lib/form-dialog/form-dialog.component.mjs +0 -143
  531. package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +0 -45
  532. package/esm2020/lib/form-toolbar/form-toolbar.component.mjs +0 -42
  533. package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -46
  534. package/esm2020/lib/form-wizard/form-wizard.component.mjs +0 -21
  535. package/esm2020/lib/fullscreen-dialog.directive.mjs +0 -59
  536. package/esm2020/lib/fullscreen-files.directive.mjs +0 -42
  537. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -188
  538. package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -203
  539. package/esm2020/lib/global-search-module/global-search-module.component.mjs +0 -30
  540. package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  541. package/esm2020/lib/header-avatar/header-avatar.component.mjs +0 -19
  542. package/esm2020/lib/header-facet-progress/header-facet-progress.component.mjs +0 -26
  543. package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +0 -26
  544. package/esm2020/lib/htree-create-new/htree-create-new.component.mjs +0 -49
  545. package/esm2020/lib/hyperlink/hyperlink.component.mjs +0 -23
  546. package/esm2020/lib/index.mjs +0 -529
  547. package/esm2020/lib/layout-actions/layout-actions.component.mjs +0 -68
  548. package/esm2020/lib/layout-control/layout-control.component.mjs +0 -234
  549. package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +0 -155
  550. package/esm2020/lib/list-item/list-item.component.mjs +0 -33
  551. package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  552. package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -71
  553. package/esm2020/lib/ly-label/ly-label.component.mjs +0 -35
  554. package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  555. package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
  556. package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -73
  557. package/esm2020/lib/ly-line/ly-line.component.mjs +0 -56
  558. package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +0 -23
  559. package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
  560. package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
  561. package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -50
  562. package/esm2020/lib/manage-filters-report/manage-filters-report.component.mjs +0 -45
  563. package/esm2020/lib/message-strip/message-strip.component.mjs +0 -28
  564. package/esm2020/lib/models/grid-data-provider.mjs +0 -83
  565. package/esm2020/lib/models/grid-view.mjs +0 -2
  566. package/esm2020/lib/no-data/no-data.component.mjs +0 -23
  567. package/esm2020/lib/notification-item/notification-item.component.mjs +0 -57
  568. package/esm2020/lib/notification-popup.service.mjs +0 -88
  569. package/esm2020/lib/report-navigator/report-navigator.component.mjs +0 -63
  570. package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
  571. package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  572. package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -98
  573. package/esm2020/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -90
  574. package/esm2020/lib/report-tree-base.mjs +0 -408
  575. package/esm2020/lib/report-view-renderer.directive.mjs +0 -366
  576. package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  577. package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  578. package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +0 -72
  579. package/esm2020/lib/sap-font-class.pipe.mjs +0 -29
  580. package/esm2020/lib/sap-font.pipe.mjs +0 -29
  581. package/esm2020/lib/sap-size.pipe.mjs +0 -27
  582. package/esm2020/lib/sap-ui-report-base.component.mjs +0 -766
  583. package/esm2020/lib/search-panel/search-panel.component.mjs +0 -43
  584. package/esm2020/lib/ui-button/ui-button.component.mjs +0 -31
  585. package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +0 -53
  586. package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +0 -60
  587. package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
  588. package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +0 -34
  589. package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  590. package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -34
  591. package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -194
  592. package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  593. package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
  594. package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  595. package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
  596. package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +0 -92
  597. package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -44
  598. package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -67
  599. package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -76
  600. package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -59
  601. package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -156
  602. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -349
  603. package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +0 -75
  604. package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -125
  605. package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  606. package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -56
  607. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -430
  608. package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -18
  609. package/esm2020/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  610. package/esm2020/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  611. package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
  612. package/esm2020/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  613. package/esm2020/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  614. package/esm2020/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  615. package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -24
  616. package/esm2020/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  617. package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -262
  618. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +0 -91
  619. package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -223
  620. package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  621. package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  622. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +0 -46
  623. package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -37
  624. package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  625. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +0 -151
  626. package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +0 -49
  627. package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  628. package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
  629. package/esm2020/lib/ui-tree/ui-tree.component.mjs +0 -92
  630. package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +0 -81
  631. package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -24
  632. package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -289
  633. package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -26
  634. package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -91
  635. package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -117
  636. package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  637. package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -44
  638. package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -60
  639. package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -87
  640. package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  641. package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -185
  642. package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  643. package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  644. package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +0 -66
  645. package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +0 -117
  646. package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -44
  647. package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -115
  648. package/esm2020/lib/upload-file-status.pipe.mjs +0 -28
  649. package/fesm2015/barsa-sap-ui.mjs +0 -14233
  650. package/fesm2015/barsa-sap-ui.mjs.map +0 -1
  651. package/fesm2020/barsa-sap-ui.mjs +0 -14203
  652. package/fesm2020/barsa-sap-ui.mjs.map +0 -1
@@ -0,0 +1,223 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild, TemplateRef } from '@angular/core';
2
+ import { BehaviorSubject, of, Subject } from 'rxjs';
3
+ import { catchError, concatMap, takeUntil, tap } from 'rxjs/operators';
4
+ import { BarsaApi, UploadService, getDeviceIsMobile, FilesValidationHelper } from 'barsa-novin-ray-core';
5
+ import { DeviceInfoFieldBaseComponent } from '../device-info-field-base';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "barsa-novin-ray-core";
9
+ import * as i3 from "@fundamental-ngx/core/bar";
10
+ import * as i4 from "@fundamental-ngx/core/button";
11
+ import * as i5 from "@fundamental-ngx/core/card";
12
+ import * as i6 from "@fundamental-ngx/core/file-uploader";
13
+ import * as i7 from "@fundamental-ngx/core/inline-help";
14
+ import * as i8 from "@fundamental-ngx/core/layout-grid";
15
+ import * as i9 from "@fundamental-ngx/core/menu";
16
+ import * as i10 from "@fundamental-ngx/core/dialog";
17
+ import * as i11 from "@fundamental-ngx/cdk/utils";
18
+ import * as i12 from "@fundamental-ngx/core/title";
19
+ import * as i13 from "../mask/mask.component";
20
+ export class UiPicturesInfoComponent extends DeviceInfoFieldBaseComponent {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.cancelation$ = new Subject();
24
+ this.mediaDataSource = new BehaviorSubject([]);
25
+ this.selectedIndex = -1;
26
+ this.selectedZoom = 'zoom1';
27
+ this._fileCountSource = new BehaviorSubject(0);
28
+ }
29
+ ngOnInit() {
30
+ this.fileCount$ = this._fileCountSource.asObservable();
31
+ this.mediaData$ = this.mediaDataSource.asObservable();
32
+ super.ngOnInit();
33
+ this.isMobile = getDeviceIsMobile();
34
+ this.uploadingState$ = this._uploadService.uploadingState$;
35
+ this.value$.subscribe((value) => this._setFileCount(value));
36
+ this.filesValidationHelper = new FilesValidationHelper(this.Setting.MaxPictureCount, this.Setting.MaxFileSizeKb, this.Setting.MaxTotalFileSizeKb);
37
+ this.maxFileCount = this.filesValidationHelper.maxFileCount;
38
+ this._prepareGallery(this.value);
39
+ this.context.on({
40
+ DisplayImages: this._displayImages.bind(this)
41
+ });
42
+ }
43
+ ngOnDestroy() {
44
+ super.ngOnDestroy();
45
+ this.context.un('DisplayImages', this._displayImages);
46
+ }
47
+ onFullscreen(media, mediaData) {
48
+ const dialogConfig = {
49
+ data: { media, mediaData },
50
+ escKeyCloseable: false,
51
+ fullScreen: true,
52
+ verticalPadding: false
53
+ };
54
+ this._dialogService.open(this.dialogTemplate, dialogConfig);
55
+ }
56
+ onMedaiClick(media, index) {
57
+ this.gallery.nativeElement.querySelector('[id="' + String(index) + '"]')?.scrollIntoView(true);
58
+ }
59
+ onThumbnailClicked(imgIndex) {
60
+ this.selectedIndex = imgIndex;
61
+ this.gallery.nativeElement.querySelector('[id="' + String(imgIndex) + '"]')?.scrollIntoView(true);
62
+ }
63
+ onDelete(index) {
64
+ const selectedMedia = this.value[index];
65
+ this._deleteMedia(selectedMedia);
66
+ }
67
+ onScan() {
68
+ this._scanHelper(false);
69
+ }
70
+ onAdvanceScan() {
71
+ this._scanHelper(true);
72
+ }
73
+ onZoomIn() {
74
+ switch (this.selectedZoom) {
75
+ case 'zoom1':
76
+ this.selectedZoom = 'zoom1-5';
77
+ break;
78
+ case 'zoom1-5':
79
+ this.selectedZoom = 'zoom2';
80
+ break;
81
+ }
82
+ }
83
+ onZoomOut() {
84
+ switch (this.selectedZoom) {
85
+ case 'zoom2':
86
+ this.selectedZoom = 'zoom1-5';
87
+ break;
88
+ case 'zoom1-5':
89
+ this.selectedZoom = 'zoom1';
90
+ break;
91
+ }
92
+ }
93
+ onFillOriginal() {
94
+ this.fillWidth = false;
95
+ this.fillAll = false;
96
+ this.fillOriginal = true;
97
+ }
98
+ onFillWidth() {
99
+ this.fillWidth = true;
100
+ this.fillAll = false;
101
+ this.fillOriginal = false;
102
+ }
103
+ onFillAll() {
104
+ this.fillAll = true;
105
+ this.fillOriginal = false;
106
+ this.fillWidth = false;
107
+ }
108
+ onFileSelection(files) {
109
+ this.filesValidationHelper.validateFiles(files);
110
+ this.uploadToServer(files).pipe(takeUntil(this._onDestroy$)).subscribe();
111
+ }
112
+ _deleteMedia(selectedMedia) {
113
+ const { Id, FileId } = selectedMedia;
114
+ let selectedId = Id;
115
+ if (!selectedId) {
116
+ selectedId = FileId;
117
+ }
118
+ const selectedPicIndex = this.value.findIndex((c) => c.Id === selectedId || c.FileId === selectedId);
119
+ this.value = this.value.filter((c) => c.Id !== selectedId && c.FileId !== selectedId);
120
+ this._prepareGallery(this.value);
121
+ if (this.value && this.value.length > 0) {
122
+ this.selectedIndex = 0;
123
+ }
124
+ else {
125
+ this.selectedIndex = -1;
126
+ }
127
+ this.context.fireEvent('Change', {
128
+ FileId: selectedId,
129
+ IsDeleted: true,
130
+ OldIndex: selectedPicIndex
131
+ });
132
+ }
133
+ _scanHelper(isAdvanced) {
134
+ const scanner = new BarsaApi.Common.BarsaScanner({
135
+ ScannerAgentParams: this.context.ScannerAgentParams
136
+ });
137
+ scanner.on(BarsaApi.Common.BarsaScanner.EventEnum.ScanResultReady, this._onScanResult_Ready, this);
138
+ scanner.on(BarsaApi.Common.BarsaScanner.EventEnum.ScanError, this._onScan_Error, this);
139
+ scanner.on(BarsaApi.Common.BarsaScanner.EventEnum.ShowWarrning, this._onScan_Warrning, this);
140
+ BarsaApi.Ul.LoadingMask.Mask(this.el.nativeElement);
141
+ scanner.Scan(isAdvanced);
142
+ }
143
+ _onScanResult_Ready(contents) {
144
+ this._uploadScan(contents);
145
+ BarsaApi.Ul.LoadingMask.Unmask(this.el.nativeElement);
146
+ }
147
+ _onScan_Warrning(text) {
148
+ if (typeof text === 'string') {
149
+ BarsaApi.Ul.MsgBox.Error(text);
150
+ }
151
+ BarsaApi.Ul.LoadingMask.Unmask(this.el.nativeElement);
152
+ }
153
+ _onScan_Error(err) {
154
+ if (typeof err === 'string') {
155
+ BarsaApi.Ul.MsgBox.Error(err);
156
+ }
157
+ BarsaApi.Ul.LoadingMask.Unmask(this.el.nativeElement);
158
+ }
159
+ _uploadScan(contents) {
160
+ if (contents && contents.length > 0) {
161
+ contents.forEach((content) => {
162
+ BarsaApi.Common.BarsaScanner.UploadScanContent(this.context.FieldDefId, content, () => {
163
+ // if (fileObj) this._onUploadWin_NewFileUpload(null, fileObj);
164
+ // debugger;
165
+ });
166
+ });
167
+ }
168
+ else {
169
+ BarsaApi.Ul.MsgBox.Warning(this._bbbPipe.transform('ScanResultNotFound'));
170
+ }
171
+ }
172
+ _prepareGallery(value) {
173
+ const data = [];
174
+ value.forEach((item) => {
175
+ const mediaUrl = this._picFieldSrc.transform(item.FileId, 'BarsaPicture.Full', null);
176
+ const thumbnailUrl = this._picFieldSrc.transform(item.FileId, 'BarsaPicture.Thumbnail', null);
177
+ data.push({
178
+ Id: item.Id,
179
+ FileId: item.FileId,
180
+ title: item.FileName,
181
+ mediaType: 'image',
182
+ label: item.FileName,
183
+ mediaUrl,
184
+ thumbnailUrl,
185
+ alt: 'Failed to load ' + mediaUrl
186
+ });
187
+ });
188
+ this.mediaDataSource.next(data);
189
+ }
190
+ uploadToServer(files) {
191
+ return this._uploadService.compressFiles$(files).pipe(concatMap((formData) => this._uploadService.upload(formData, this.Setting.ControlFieldDefId).pipe(tap((res) => {
192
+ if (Array.isArray(res)) {
193
+ this.updateValue(res);
194
+ }
195
+ }), catchError((err) => of(err)))));
196
+ }
197
+ _setFileCount(value) {
198
+ this._fileCountSource.next(value.filter((c) => !c.IsDeleted).length);
199
+ }
200
+ updateValue(newVal) {
201
+ this.value = [...this.value, ...newVal];
202
+ this._prepareGallery(this.value);
203
+ this.fireContextEvent('Change', newVal);
204
+ }
205
+ _displayImages(value) {
206
+ this.value = value;
207
+ }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiPicturesInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiPicturesInfoComponent, selector: "bsu-ui-pictures-info", inputs: { value: "value" }, providers: [UploadService], viewQueries: [{ propertyName: "gallery", first: true, predicate: ["gallery"], descendants: true }, { propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'pictures_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n accept=\".png,.jpg,.bpm,.jpeg,.gif,.png,.tif\"\n [fileLimit]=\"maxFileCount === 0 ? 100 : maxFileCount\"\n [multiple]=\"maxFileCount === 0 || maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n\n<ng-container *ngTemplateOutlet=\"layoutGridTpl\"></ng-container>\n<ng-template #layoutGridTpl let-inDialog=\"inDialog\">\n <fd-layout-grid>\n @if (mediaData$ | async; as mediaData) {\n <div fdLayoutGridRow>\n @for (media of mediaData; track media; let i = $index) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\" (click)=\"onMedaiClick(media, i)\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTpl;\n context: { $implicit: media, mediaData: this.mediaData, inDialog: this.inDialog, index: i }\n \"\n ></ng-container>\n </div>\n } @if (!inDialog && (disableOrReadonly$ | async) === true ? false : true) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\">\n <ng-container *ngTemplateOutlet=\"newFile\"></ng-container>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n</ng-template>\n<ng-template #cardTpl let-media let-mediaData=\"mediaData\" let-inDialog=\"inDialog\" let-index=\"index\">\n <fd-card class=\"media\" [class.inDialog]=\"inDialog\">\n <fd-card-content style=\"text-align: center; height: 120px\">\n <img imgLazy [imgLazy]=\"media.thumbnailUrl\" [src]=\"media.thumbnailUrl\" />\n </fd-card-content>\n @if (!inDialog) {\n <fd-card-footer>\n <button\n glyph=\"message-information\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [fd-inline-help]=\"media.title\"\n [triggers]=\"['click']\"\n [closeOnOutsideClick]=\"true\"\n ></button>\n <button\n glyph=\"full-screen\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onFullscreen(media, mediaData)\"\n ></button>\n @if ((disableOrReadonly$ | async) === true ? false : true) {\n <button\n glyph=\"delete\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onDelete(index)\"\n ></button>\n }\n </fd-card-footer>\n }\n </fd-card>\n</ng-template>\n<ng-template #newFile>\n <div style=\"position: relative; height: 100%\">\n <fd-card>\n <fd-card-content style=\"display: flex; align-items: center; justify-content: center; min-height: 120px\">\n <button\n fd-button\n glyph=\"add-photo\"\n fdType=\"transparent\"\n [label]=\"'AttachFile' | bbbTranslate\"\n (click)=\"uploader.open()\"\n ></button>\n </fd-card-content>\n\n <fd-card-footer style=\"border-top: 1px solid #ccc\">\n <button fd-button [glyph]=\"'overflow'\" [fdType]=\"'transparent'\" [fdMenuTrigger]=\"menu\"></button>\n <fd-menu #menu>\n <li fd-menu-item (click)=\"onScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'Scan' | bbbTranslate }}</span>\n </a>\n </li>\n <li fd-menu-item (click)=\"onAdvanceScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'AdvancedScan' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n </fd-card-footer>\n </fd-card>\n @if ((uploadingState$ | async)?.uploading === true) {\n <bsu-mask></bsu-mask>\n }\n </div>\n</ng-template>\n<ng-template #dialogTemplate let-dialog let-dialogConfig=\"dialogConfig\">\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 fd-title>{{ Setting.ControlFieldCaptionTranslated }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"Fit image size\"\n [glyph]=\"'resize'\"\n [fdType]=\"fillWidth ? 'emphasized' : 'transparent'\"\n (click)=\"fillWidth = !fillWidth\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.close()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body #fdbody>\n <div #gallery class=\"gallery inDialog\" style=\"flex: 1\">\n @for (media of dialog.data.mediaData; track media; let i = $index) {\n <div\n class=\"column big-imgs-box\"\n [class.fill-width]=\"fillWidth\"\n [class.fill-all]=\"fillAll\"\n [class.fill-original]=\"fillOriginal\"\n [ngClass]=\"selectedZoom\"\n >\n <div class=\"pics\" [id]=\"i\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n }\n </div>\n @if ((deviceSize$ | async) !== 's') {\n <div class=\"thumbnail\" style=\"flex-shrink: 1\">\n <ng-cotainer *ngTemplateOutlet=\"layoutGridTpl; context: { inDialog: true }\"></ng-cotainer>\n </div>\n }\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{position:relative}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}fd-toolbar{width:100%}fd-dialog-footer{justify-content:center}.hatchBackground{min-height:100px}.gallery{display:flex;width:100%;height:400px;column-gap:1px;background-color:var(--sapField_Background, #fff)}.gallery ::-webkit-scrollbar{width:7px;height:7px}.gallery ::-webkit-scrollbar-track{box-shadow:inset 0 0 5px gray;border-radius:4px}.gallery ::-webkit-scrollbar-thumb{background:#555454;border-radius:4px}.gallery ::-webkit-scrollbar-thumb:hover{background:#2c2b2b}.gallery .column{overflow-y:scroll;display:flex;flex-direction:column;row-gap:3%;align-items:center}.gallery .column .pics{width:100%;display:flex;justify-content:center}.gallery .column .pics img{border-radius:5px}.gallery .column.small-imgs-box{flex:10%}.gallery .column.big-imgs-box{flex:90%}.gallery .selected{background-color:#fff;border:3px solid #0294d8;padding:10px}.gallery .fill-all .pics{height:100%}.gallery .fill-all img{width:100%!important;height:100%!important;object-fit:fill!important}.gallery .fill-original img{width:unset;height:unset}.gallery .zoom1 img{zoom:1}.gallery .zoom1-5 img{zoom:1.5}.gallery .zoom2 img{zoom:2}fd-dialog .gallery{overflow:auto}fd-dialog .gallery .column{overflow:initial}fd-dialog .gallery .pics{position:relative}fd-dialog fd-dialog-body{display:flex}fd-dialog.horizontal fd-dialog-body{flex-direction:column}fd-dialog.horizontal .gallery{flex-direction:row}fd-dialog.horizontal .thumbnail{border-top:1px solid #ccc;overflow-x:auto}fd-dialog.vertical fd-dialog-body{flex-direction:row-reverse}fd-dialog.vertical .gallery{flex-direction:column;height:100%}fd-dialog.vertical .thumbnail{border-left:1px solid #ccc;height:100%;width:200px;overflow-y:auto}fd-dialog.vertical .thumbnail ::ng-deep .fd-row>div{width:100%;min-width:100%}fd-card.media fd-card-footer button{border:none}fd-card.inDialog fd-card-header{padding-top:5px;padding-bottom:5px}.fd-col{min-width:165px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i5.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i5.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i6.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "directive", type: i7.InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help"] }, { kind: "component", type: i8.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i8.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i8.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i9.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i9.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i9.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i9.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i9.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i10.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i10.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i11.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i12.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i13.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiPicturesInfoComponent, decorators: [{
212
+ type: Component,
213
+ args: [{ selector: 'bsu-ui-pictures-info', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'pictures_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n accept=\".png,.jpg,.bpm,.jpeg,.gif,.png,.tif\"\n [fileLimit]=\"maxFileCount === 0 ? 100 : maxFileCount\"\n [multiple]=\"maxFileCount === 0 || maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n\n<ng-container *ngTemplateOutlet=\"layoutGridTpl\"></ng-container>\n<ng-template #layoutGridTpl let-inDialog=\"inDialog\">\n <fd-layout-grid>\n @if (mediaData$ | async; as mediaData) {\n <div fdLayoutGridRow>\n @for (media of mediaData; track media; let i = $index) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\" (click)=\"onMedaiClick(media, i)\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTpl;\n context: { $implicit: media, mediaData: this.mediaData, inDialog: this.inDialog, index: i }\n \"\n ></ng-container>\n </div>\n } @if (!inDialog && (disableOrReadonly$ | async) === true ? false : true) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\">\n <ng-container *ngTemplateOutlet=\"newFile\"></ng-container>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n</ng-template>\n<ng-template #cardTpl let-media let-mediaData=\"mediaData\" let-inDialog=\"inDialog\" let-index=\"index\">\n <fd-card class=\"media\" [class.inDialog]=\"inDialog\">\n <fd-card-content style=\"text-align: center; height: 120px\">\n <img imgLazy [imgLazy]=\"media.thumbnailUrl\" [src]=\"media.thumbnailUrl\" />\n </fd-card-content>\n @if (!inDialog) {\n <fd-card-footer>\n <button\n glyph=\"message-information\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [fd-inline-help]=\"media.title\"\n [triggers]=\"['click']\"\n [closeOnOutsideClick]=\"true\"\n ></button>\n <button\n glyph=\"full-screen\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onFullscreen(media, mediaData)\"\n ></button>\n @if ((disableOrReadonly$ | async) === true ? false : true) {\n <button\n glyph=\"delete\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onDelete(index)\"\n ></button>\n }\n </fd-card-footer>\n }\n </fd-card>\n</ng-template>\n<ng-template #newFile>\n <div style=\"position: relative; height: 100%\">\n <fd-card>\n <fd-card-content style=\"display: flex; align-items: center; justify-content: center; min-height: 120px\">\n <button\n fd-button\n glyph=\"add-photo\"\n fdType=\"transparent\"\n [label]=\"'AttachFile' | bbbTranslate\"\n (click)=\"uploader.open()\"\n ></button>\n </fd-card-content>\n\n <fd-card-footer style=\"border-top: 1px solid #ccc\">\n <button fd-button [glyph]=\"'overflow'\" [fdType]=\"'transparent'\" [fdMenuTrigger]=\"menu\"></button>\n <fd-menu #menu>\n <li fd-menu-item (click)=\"onScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'Scan' | bbbTranslate }}</span>\n </a>\n </li>\n <li fd-menu-item (click)=\"onAdvanceScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'AdvancedScan' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n </fd-card-footer>\n </fd-card>\n @if ((uploadingState$ | async)?.uploading === true) {\n <bsu-mask></bsu-mask>\n }\n </div>\n</ng-template>\n<ng-template #dialogTemplate let-dialog let-dialogConfig=\"dialogConfig\">\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 fd-title>{{ Setting.ControlFieldCaptionTranslated }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"Fit image size\"\n [glyph]=\"'resize'\"\n [fdType]=\"fillWidth ? 'emphasized' : 'transparent'\"\n (click)=\"fillWidth = !fillWidth\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.close()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body #fdbody>\n <div #gallery class=\"gallery inDialog\" style=\"flex: 1\">\n @for (media of dialog.data.mediaData; track media; let i = $index) {\n <div\n class=\"column big-imgs-box\"\n [class.fill-width]=\"fillWidth\"\n [class.fill-all]=\"fillAll\"\n [class.fill-original]=\"fillOriginal\"\n [ngClass]=\"selectedZoom\"\n >\n <div class=\"pics\" [id]=\"i\">\n <bsu-mask></bsu-mask>\n <img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n }\n </div>\n @if ((deviceSize$ | async) !== 's') {\n <div class=\"thumbnail\" style=\"flex-shrink: 1\">\n <ng-cotainer *ngTemplateOutlet=\"layoutGridTpl; context: { inDialog: true }\"></ng-cotainer>\n </div>\n }\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{position:relative}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}fd-toolbar{width:100%}fd-dialog-footer{justify-content:center}.hatchBackground{min-height:100px}.gallery{display:flex;width:100%;height:400px;column-gap:1px;background-color:var(--sapField_Background, #fff)}.gallery ::-webkit-scrollbar{width:7px;height:7px}.gallery ::-webkit-scrollbar-track{box-shadow:inset 0 0 5px gray;border-radius:4px}.gallery ::-webkit-scrollbar-thumb{background:#555454;border-radius:4px}.gallery ::-webkit-scrollbar-thumb:hover{background:#2c2b2b}.gallery .column{overflow-y:scroll;display:flex;flex-direction:column;row-gap:3%;align-items:center}.gallery .column .pics{width:100%;display:flex;justify-content:center}.gallery .column .pics img{border-radius:5px}.gallery .column.small-imgs-box{flex:10%}.gallery .column.big-imgs-box{flex:90%}.gallery .selected{background-color:#fff;border:3px solid #0294d8;padding:10px}.gallery .fill-all .pics{height:100%}.gallery .fill-all img{width:100%!important;height:100%!important;object-fit:fill!important}.gallery .fill-original img{width:unset;height:unset}.gallery .zoom1 img{zoom:1}.gallery .zoom1-5 img{zoom:1.5}.gallery .zoom2 img{zoom:2}fd-dialog .gallery{overflow:auto}fd-dialog .gallery .column{overflow:initial}fd-dialog .gallery .pics{position:relative}fd-dialog fd-dialog-body{display:flex}fd-dialog.horizontal fd-dialog-body{flex-direction:column}fd-dialog.horizontal .gallery{flex-direction:row}fd-dialog.horizontal .thumbnail{border-top:1px solid #ccc;overflow-x:auto}fd-dialog.vertical fd-dialog-body{flex-direction:row-reverse}fd-dialog.vertical .gallery{flex-direction:column;height:100%}fd-dialog.vertical .thumbnail{border-left:1px solid #ccc;height:100%;width:200px;overflow-y:auto}fd-dialog.vertical .thumbnail ::ng-deep .fd-row>div{width:100%;min-width:100%}fd-card.media fd-card-footer button{border:none}fd-card.inDialog fd-card-header{padding-top:5px;padding-bottom:5px}.fd-col{min-width:165px}\n"] }]
214
+ }], propDecorators: { value: [{
215
+ type: Input
216
+ }], gallery: [{
217
+ type: ViewChild,
218
+ args: ['gallery']
219
+ }], dialogTemplate: [{
220
+ type: ViewChild,
221
+ args: ['dialogTemplate', { read: TemplateRef }]
222
+ }] } });
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcGljdHVyZXMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1waWN0dXJlcy1pbmZvL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcGljdHVyZXMtaW5mby91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEVBQ1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkUsT0FBTyxFQUNILFFBQVEsRUFDUixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUV4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFTekUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtJQVB6RTs7UUFvQkksaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR25DLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVUsRUFBRSxDQUFDLENBQUM7UUFHbkQsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUluQixpQkFBWSxHQUFrQyxPQUFPLENBQUM7UUFLOUMscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7S0EyTjdEO0lBek5HLFFBQVE7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QyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVTLFdBQVcsQ0FBQyxNQUFhO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFUyxjQUFjLENBQ3BCLEtBT0c7UUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDOzhHQXRQUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwyRUFIckIsQ0FBQyxhQUFhLENBQUMsNE1BYVcsV0FBVyxvREN6Q3BELCtoTkEwSkE7OzJGRDNIYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksc0JBQXNCLGFBR3JCLENBQUMsYUFBYSxDQUFDLG1CQUNULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFRZ0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNnQyxjQUFjO3NCQUFqRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFyc2FBcGksXG4gICAgVXBsb2FkU2VydmljZSxcbiAgICBnZXREZXZpY2VJc01vYmlsZSxcbiAgICBGaWxlc1ZhbGlkYXRpb25IZWxwZXIsXG4gICAgSVVwbG9hZGluZ1N0YXRlXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9kZXZpY2UtaW5mby1maWVsZC1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktcGljdHVyZXMtaW5mbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaVBpY3R1cmVzSW5mb0NvbXBvbmVudCBleHRlbmRzIERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdmFsdWU6IHtcbiAgICAgICAgSWQ6IHN0cmluZztcbiAgICAgICAgRmlsZUlkOiBzdHJpbmc7XG4gICAgICAgIEZpbGVOYW1lOiBzdHJpbmc7XG4gICAgICAgIFdpZHRoOiBzdHJpbmc7XG4gICAgICAgIEhlaWdodDogc3RyaW5nO1xuICAgICAgICBTaXplOiBzdHJpbmc7XG4gICAgfVtdO1xuICAgIEBWaWV3Q2hpbGQoJ2dhbGxlcnknKSBnYWxsZXJ5ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgnZGlhbG9nVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGRpYWxvZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgdXBsb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPElVcGxvYWRpbmdTdGF0ZT47XG4gICAgY2FuY2VsYXRpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xuICAgIGZpbGVzOiBGaWxlW107XG4gICAgbWVkaWFEYXRhU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZWRpYVtdPihbXSk7XG4gICAgbWVkaWFEYXRhJDogT2JzZXJ2YWJsZTxNZWRpYVtdPjtcbiAgICBpc01vYmlsZTogYW55O1xuICAgIHNlbGVjdGVkSW5kZXggPSAtMTtcbiAgICBmaWxsV2lkdGg6IGJvb2xlYW47XG4gICAgZmlsbEFsbDogYm9vbGVhbjtcbiAgICBmaWxsT3JpZ2luYWw6IGJvb2xlYW47XG4gICAgc2VsZWN0ZWRab29tOiAnem9vbTEnIHwgJ3pvb20xLTUnIHwgJ3pvb20yJyA9ICd6b29tMSc7XG4gICAgZmlsZXNWYWxpZGF0aW9uSGVscGVyOiBGaWxlc1ZhbGlkYXRpb25IZWxwZXI7XG4gICAgbWF4RmlsZUNvdW50OiBudW1iZXI7XG4gICAgZmlsZUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gICAgcHJpdmF0ZSBfZmlsZUNvdW50U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsZUNvdW50JCA9IHRoaXMuX2ZpbGVDb3VudFNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgICAgICAgdGhpcy5tZWRpYURhdGEkID0gdGhpcy5tZWRpYURhdGFTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLnVwbG9hZGluZ1N0YXRlJCA9IHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkaW5nU3RhdGUkO1xuICAgICAgICB0aGlzLnZhbHVlJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLl9zZXRGaWxlQ291bnQodmFsdWUpKTtcblxuICAgICAgICB0aGlzLmZpbGVzVmFsaWRhdGlvbkhlbHBlciA9IG5ldyBGaWxlc1ZhbGlkYXRpb25IZWxwZXIoXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4UGljdHVyZUNvdW50LFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heEZpbGVTaXplS2IsXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuTWF4VG90YWxGaWxlU2l6ZUtiXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubWF4RmlsZUNvdW50ID0gdGhpcy5maWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50O1xuXG4gICAgICAgIHRoaXMuX3ByZXBhcmVHYWxsZXJ5KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRleHQub24oe1xuICAgICAgICAgICAgRGlzcGxheUltYWdlczogdGhpcy5fZGlzcGxheUltYWdlcy5iaW5kKHRoaXMpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdEaXNwbGF5SW1hZ2VzJywgdGhpcy5fZGlzcGxheUltYWdlcyk7XG4gICAgfVxuICAgIG9uRnVsbHNjcmVlbihtZWRpYSwgbWVkaWFEYXRhKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGRhdGE6IHsgbWVkaWEsIG1lZGlhRGF0YSB9LFxuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGZ1bGxTY3JlZW46IHRydWUsXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLmRpYWxvZ1RlbXBsYXRlLCBkaWFsb2dDb25maWcpO1xuICAgIH1cbiAgICBvbk1lZGFpQ2xpY2sobWVkaWEsIGluZGV4KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2FsbGVyeS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZD1cIicgKyBTdHJpbmcoaW5kZXgpICsgJ1wiXScpPy5zY3JvbGxJbnRvVmlldyh0cnVlKTtcbiAgICB9XG4gICAgb25UaHVtYm5haWxDbGlja2VkKGltZ0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gaW1nSW5kZXg7XG4gICAgICAgIHRoaXMuZ2FsbGVyeS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZD1cIicgKyBTdHJpbmcoaW1nSW5kZXgpICsgJ1wiXScpPy5zY3JvbGxJbnRvVmlldyh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShpbmRleCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZE1lZGlhID0gdGhpcy52YWx1ZVtpbmRleF07XG4gICAgICAgIHRoaXMuX2RlbGV0ZU1lZGlhKHNlbGVjdGVkTWVkaWEpO1xuICAgIH1cbiAgICBvblNjYW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NjYW5IZWxwZXIoZmFsc2UpO1xuICAgIH1cblxuICAgIG9uQWR2YW5jZVNjYW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NjYW5IZWxwZXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25ab29tSW4oKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZFpvb20pIHtcbiAgICAgICAgICAgIGNhc2UgJ3pvb20xJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9ICd6b29tMS01JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3pvb20xLTUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0gJ3pvb20yJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uWm9vbU91dCgpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkWm9vbSkge1xuICAgICAgICAgICAgY2FzZSAnem9vbTInOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0gJ3pvb20xLTUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnem9vbTEtNSc6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSAnem9vbTEnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWxsT3JpZ2luYWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlsbEFsbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbGxPcmlnaW5hbCA9IHRydWU7XG4gICAgfVxuXG4gICAgb25GaWxsV2lkdGgoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsbFdpZHRoID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWxsQWxsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlsbE9yaWdpbmFsID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25GaWxsQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGxBbGwgPSB0cnVlO1xuICAgICAgICB0aGlzLmZpbGxPcmlnaW5hbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbGxXaWR0aCA9IGZhbHNlO1xuICAgIH1cbiAgICBvbkZpbGVTZWxlY3Rpb24oZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVzVmFsaWRhdGlvbkhlbHBlci52YWxpZGF0ZUZpbGVzKGZpbGVzKTtcbiAgICAgICAgdGhpcy51cGxvYWRUb1NlcnZlcihmaWxlcykucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2RlbGV0ZU1lZGlhKHNlbGVjdGVkTWVkaWEpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBJZCwgRmlsZUlkIH0gPSBzZWxlY3RlZE1lZGlhO1xuICAgICAgICBsZXQgc2VsZWN0ZWRJZCA9IElkO1xuICAgICAgICBpZiAoIXNlbGVjdGVkSWQpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSWQgPSBGaWxlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQaWNJbmRleCA9IHRoaXMudmFsdWUuZmluZEluZGV4KChjKSA9PiBjLklkID09PSBzZWxlY3RlZElkIHx8IGMuRmlsZUlkID09PSBzZWxlY3RlZElkKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKChjKSA9PiBjLklkICE9PSBzZWxlY3RlZElkICYmIGMuRmlsZUlkICE9PSBzZWxlY3RlZElkKTtcbiAgICAgICAgdGhpcy5fcHJlcGFyZUdhbGxlcnkodGhpcy52YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ0NoYW5nZScsIHtcbiAgICAgICAgICAgIEZpbGVJZDogc2VsZWN0ZWRJZCxcbiAgICAgICAgICAgIElzRGVsZXRlZDogdHJ1ZSxcbiAgICAgICAgICAgIE9sZEluZGV4OiBzZWxlY3RlZFBpY0luZGV4XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NjYW5IZWxwZXIoaXNBZHZhbmNlZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY2FubmVyID0gbmV3IEJhcnNhQXBpLkNvbW1vbi5CYXJzYVNjYW5uZXIoe1xuICAgICAgICAgICAgU2Nhbm5lckFnZW50UGFyYW1zOiB0aGlzLmNvbnRleHQuU2Nhbm5lckFnZW50UGFyYW1zXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNjYW5uZXIub24oQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lci5FdmVudEVudW0uU2NhblJlc3VsdFJlYWR5LCB0aGlzLl9vblNjYW5SZXN1bHRfUmVhZHksIHRoaXMpO1xuICAgICAgICBzY2FubmVyLm9uKEJhcnNhQXBpLkNvbW1vbi5CYXJzYVNjYW5uZXIuRXZlbnRFbnVtLlNjYW5FcnJvciwgdGhpcy5fb25TY2FuX0Vycm9yLCB0aGlzKTtcbiAgICAgICAgc2Nhbm5lci5vbihCYXJzYUFwaS5Db21tb24uQmFyc2FTY2FubmVyLkV2ZW50RW51bS5TaG93V2Fycm5pbmcsIHRoaXMuX29uU2Nhbl9XYXJybmluZywgdGhpcyk7XG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLk1hc2sodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgc2Nhbm5lci5TY2FuKGlzQWR2YW5jZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfb25TY2FuUmVzdWx0X1JlYWR5KGNvbnRlbnRzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VwbG9hZFNjYW4oY29udGVudHMpO1xuICAgICAgICBCYXJzYUFwaS5VbC5Mb2FkaW5nTWFzay5Vbm1hc2sodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX29uU2Nhbl9XYXJybmluZyh0ZXh0KTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLlVsLk1zZ0JveC5FcnJvcih0ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBCYXJzYUFwaS5VbC5Mb2FkaW5nTWFzay5Vbm1hc2sodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX29uU2Nhbl9FcnJvcihlcnIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBlcnIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBCYXJzYUFwaS5VbC5Nc2dCb3guRXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLlVubWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfdXBsb2FkU2Nhbihjb250ZW50cyk6IHZvaWQge1xuICAgICAgICBpZiAoY29udGVudHMgJiYgY29udGVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29udGVudHMuZm9yRWFjaCgoY29udGVudCkgPT4ge1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5CYXJzYVNjYW5uZXIuVXBsb2FkU2NhbkNvbnRlbnQodGhpcy5jb250ZXh0LkZpZWxkRGVmSWQsIGNvbnRlbnQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgKGZpbGVPYmopIHRoaXMuX29uVXBsb2FkV2luX05ld0ZpbGVVcGxvYWQobnVsbCwgZmlsZU9iaik7XG4gICAgICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBCYXJzYUFwaS5VbC5Nc2dCb3guV2FybmluZyh0aGlzLl9iYmJQaXBlLnRyYW5zZm9ybSgnU2NhblJlc3VsdE5vdEZvdW5kJykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9wcmVwYXJlR2FsbGVyeSh2YWx1ZTogYW55W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0YTogYW55W10gPSBbXTtcbiAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVkaWFVcmwgPSB0aGlzLl9waWNGaWVsZFNyYy50cmFuc2Zvcm0oaXRlbS5GaWxlSWQsICdCYXJzYVBpY3R1cmUuRnVsbCcsIG51bGwpO1xuICAgICAgICAgICAgY29uc3QgdGh1bWJuYWlsVXJsID0gdGhpcy5fcGljRmllbGRTcmMudHJhbnNmb3JtKGl0ZW0uRmlsZUlkLCAnQmFyc2FQaWN0dXJlLlRodW1ibmFpbCcsIG51bGwpO1xuICAgICAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICBJZDogaXRlbS5JZCxcbiAgICAgICAgICAgICAgICBGaWxlSWQ6IGl0ZW0uRmlsZUlkLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLkZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIG1lZGlhVHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5GaWxlTmFtZSxcbiAgICAgICAgICAgICAgICBtZWRpYVVybCxcbiAgICAgICAgICAgICAgICB0aHVtYm5haWxVcmwsXG4gICAgICAgICAgICAgICAgYWx0OiAnRmFpbGVkIHRvIGxvYWQgJyArIG1lZGlhVXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWVkaWFEYXRhU291cmNlLm5leHQoZGF0YSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwbG9hZFRvU2VydmVyKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXBsb2FkU2VydmljZS5jb21wcmVzc0ZpbGVzJChmaWxlcykucGlwZShcbiAgICAgICAgICAgIGNvbmNhdE1hcCgoZm9ybURhdGEpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBsb2FkU2VydmljZS51cGxvYWQoZm9ybURhdGEsIHRoaXMuU2V0dGluZy5Db250cm9sRmllbGREZWZJZCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IG9mKGVycikpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0RmlsZUNvdW50KHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZpbGVDb3VudFNvdXJjZS5uZXh0KHZhbHVlLmZpbHRlcigoYykgPT4gIWMuSXNEZWxldGVkKS5sZW5ndGgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZShuZXdWYWw6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgLi4ubmV3VmFsXTtcbiAgICAgICAgdGhpcy5fcHJlcGFyZUdhbGxlcnkodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMuZmlyZUNvbnRleHRFdmVudCgnQ2hhbmdlJywgbmV3VmFsKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlJbWFnZXMoXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBJZDogc3RyaW5nO1xuICAgICAgICAgICAgRmlsZUlkOiBzdHJpbmc7XG4gICAgICAgICAgICBGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgV2lkdGg6IHN0cmluZztcbiAgICAgICAgICAgIEhlaWdodDogc3RyaW5nO1xuICAgICAgICAgICAgU2l6ZTogc3RyaW5nO1xuICAgICAgICB9W11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWEge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdGh1bWJuYWlsVXJsOiBzdHJpbmc7XG4gICAgbWVkaWFUeXBlOiBzdHJpbmc7XG4gICAgbWVkaWFVcmw6IHN0cmluZztcbiAgICBjYXB0aW9uRmlsZT86IHN0cmluZztcbiAgICBhdWRpb0Rlc2NGaWxlPzogc3RyaW5nO1xuICAgIGFsdDogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIG92ZXJsYXlSZXF1aXJlZD86IGJvb2xlYW47XG59XG4iLCI8ZmQtZmlsZS11cGxvYWRlclxuICAgICN1cGxvYWRlclxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbbmFtZV09XCIncGljdHVyZXNfJyArIGlkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ0F0dGFjaFBpY3R1cmUnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICBbYnV0dG9uTGFiZWxdPVwiJ0F0dGFjaFBpY3R1cmUnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICBbYnV0dG9uQXJpYUxhYmVsXT1cIidBdHRhY2hQaWN0dXJlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgYWNjZXB0PVwiLnBuZywuanBnLC5icG0sLmpwZWcsLmdpZiwucG5nLC50aWZcIlxuICAgIFtmaWxlTGltaXRdPVwibWF4RmlsZUNvdW50ID09PSAwID8gMTAwIDogbWF4RmlsZUNvdW50XCJcbiAgICBbbXVsdGlwbGVdPVwibWF4RmlsZUNvdW50ID09PSAwIHx8IG1heEZpbGVDb3VudCA+IDFcIlxuICAgIChzZWxlY3RlZEZpbGVzQ2hhbmdlZCk9XCJvbkZpbGVTZWxlY3Rpb24oJGV2ZW50KVwiXG4+PC9mZC1maWxlLXVwbG9hZGVyPlxuXG48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGF5b3V0R3JpZFRwbFwiPjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNsYXlvdXRHcmlkVHBsIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCI+XG4gICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICBAaWYgKG1lZGlhRGF0YSQgfCBhc3luYzsgYXMgbWVkaWFEYXRhKSB7XG4gICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgQGZvciAobWVkaWEgb2YgbWVkaWFEYXRhOyB0cmFjayBtZWRpYTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCI2XCIgW2NvbE1kXT1cIjNcIiBbY29sTGddPVwiMlwiIFtjb2xYbF09XCIyXCIgKGNsaWNrKT1cIm9uTWVkYWlDbGljayhtZWRpYSwgaSlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXJkVHBsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IG1lZGlhLCBtZWRpYURhdGE6IHRoaXMubWVkaWFEYXRhLCBpbkRpYWxvZzogdGhpcy5pbkRpYWxvZywgaW5kZXg6IGkgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAaWYgKCFpbkRpYWxvZyAmJiAoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gZmFsc2UgOiB0cnVlKSB7XG4gICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiNlwiIFtjb2xNZF09XCIzXCIgW2NvbExnXT1cIjJcIiBbY29sWGxdPVwiMlwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuZXdGaWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2ZkLWxheW91dC1ncmlkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2FyZFRwbCBsZXQtbWVkaWEgbGV0LW1lZGlhRGF0YT1cIm1lZGlhRGF0YVwiIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZmQtY2FyZCBjbGFzcz1cIm1lZGlhXCIgW2NsYXNzLmluRGlhbG9nXT1cImluRGlhbG9nXCI+XG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGhlaWdodDogMTIwcHhcIj5cbiAgICAgICAgICAgIDxpbWcgaW1nTGF6eSBbaW1nTGF6eV09XCJtZWRpYS50aHVtYm5haWxVcmxcIiBbc3JjXT1cIm1lZGlhLnRodW1ibmFpbFVybFwiIC8+XG4gICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgICAgICBAaWYgKCFpbkRpYWxvZykge1xuICAgICAgICA8ZmQtY2FyZC1mb290ZXI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLWluZm9ybWF0aW9uXCJcbiAgICAgICAgICAgICAgICAqZmRDYXJkRm9vdGVyQWN0aW9uSXRlbVxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBbZmQtaW5saW5lLWhlbHBdPVwibWVkaWEudGl0bGVcIlxuICAgICAgICAgICAgICAgIFt0cmlnZ2Vyc109XCJbJ2NsaWNrJ11cIlxuICAgICAgICAgICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGdseXBoPVwiZnVsbC1zY3JlZW5cIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZ1bGxzY3JlZW4obWVkaWEsIG1lZGlhRGF0YSlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmICgoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gZmFsc2UgOiB0cnVlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpbmRleClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWNhcmQtZm9vdGVyPlxuICAgICAgICB9XG4gICAgPC9mZC1jYXJkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbmV3RmlsZT5cbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCVcIj5cbiAgICAgICAgPGZkLWNhcmQ+XG4gICAgICAgICAgICA8ZmQtY2FyZC1jb250ZW50IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDEyMHB4XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGQtcGhvdG9cIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQXR0YWNoRmlsZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgPGZkLWNhcmQtZm9vdGVyIHN0eWxlPVwiYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbZ2x5cGhdPVwiJ292ZXJmbG93J1wiIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtbWVudSAjbWVudT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSAoY2xpY2spPVwib25TY2FuKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAnU2NhbicgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uQWR2YW5jZVNjYW4oKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7ICdBZHZhbmNlZFNjYW4nIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvZmQtbWVudT5cbiAgICAgICAgICAgIDwvZmQtY2FyZC1mb290ZXI+XG4gICAgICAgIDwvZmQtY2FyZD5cbiAgICAgICAgQGlmICgodXBsb2FkaW5nU3RhdGUkIHwgYXN5bmMpPy51cGxvYWRpbmcgPT09IHRydWUpIHtcbiAgICAgICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RpYWxvZ1RlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiICNkaWFsb2dUcGwgY2xhc3M9XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyBTZXR0aW5nLkNvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkIH19PC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghZGlhbG9nQ29uZmlnLmZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIkZpdCBpbWFnZSBzaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIncmVzaXplJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cImZpbGxXaWR0aCA/ICdlbXBoYXNpemVkJyA6ICd0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGxXaWR0aCA9ICFmaWxsV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGFyaWFMYWJlbD1cImNsb3NlXCIgZ2x5cGg9XCJkZWNsaW5lXCIgKGNsaWNrKT1cImRpYWxvZy5jbG9zZSgpXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgI2ZkYm9keT5cbiAgICAgICAgICAgIDxkaXYgI2dhbGxlcnkgY2xhc3M9XCJnYWxsZXJ5IGluRGlhbG9nXCIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgICAgICAgICAgICAgQGZvciAobWVkaWEgb2YgZGlhbG9nLmRhdGEubWVkaWFEYXRhOyB0cmFjayBtZWRpYTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sdW1uIGJpZy1pbWdzLWJveFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maWxsLXdpZHRoXT1cImZpbGxXaWR0aFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maWxsLWFsbF09XCJmaWxsQWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZpbGwtb3JpZ2luYWxdPVwiZmlsbE9yaWdpbmFsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRab29tXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaWNzXCIgW2lkXT1cImlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxic3UtbWFzaz48L2JzdS1tYXNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpbWdMYXp5IFtpbWdMYXp5XT1cIm1lZGlhLm1lZGlhVXJsXCIgW3NyY109XCJtZWRpYS5tZWRpYVVybFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmICgoZGV2aWNlU2l6ZSQgfCBhc3luYykgIT09ICdzJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbFwiIHN0eWxlPVwiZmxleC1zaHJpbms6IDFcIj5cbiAgICAgICAgICAgICAgICA8bmctY290YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXRHcmlkVHBsOyBjb250ZXh0OiB7IGluRGlhbG9nOiB0cnVlIH1cIj48L25nLWNvdGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XG4gICAgPC9mZC1kaWFsb2c+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { DeviceInfoFieldBaseComponent } from '../device-info-field-base';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "@fundamental-ngx/core/form";
6
+ import * as i3 from "@fundamental-ngx/core/radio";
7
+ import * as i4 from "@angular/common";
8
+ export class UiRadioGroupComponent extends DeviceInfoFieldBaseComponent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.isVertically = false;
12
+ this.onlyInMobileVertically = false;
13
+ }
14
+ get items() {
15
+ return this.context.items;
16
+ }
17
+ ngOnInit() {
18
+ super.ngOnInit();
19
+ const parameters = this.parameters;
20
+ if (typeof this.value == 'object') {
21
+ this.value = this.items.find((c) => c.inputValue === this.value.inputValue);
22
+ }
23
+ else {
24
+ this.value = this.items.find((c) => c.inputValue === this.value);
25
+ }
26
+ this.onlyInMobileVertically = parameters?.OnlyInMobileVertically;
27
+ this.isVertically = parameters?.IsVertically;
28
+ }
29
+ onRadioClicked(item) {
30
+ this.value = item;
31
+ this.valueChange.emit(item);
32
+ }
33
+ _setValue(value) {
34
+ let val = this.items.find((c) => c.IsEmpty);
35
+ const item = this.items.find((c) => c.inputValue === value);
36
+ if (item) {
37
+ val = item;
38
+ }
39
+ super._setValue(val);
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiRadioGroupComponent, selector: "bsu-ui-radio-group", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!isVertically && !(isMobileDevice && onlyInMobileVertically)\">\n @for (item of context.items; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n @if (!item.IsEmpty) {\n <fd-radio-button\n [value]=\"item.inputValue\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value?.inputValue\"\n (click)=\"onRadioClicked(item)\"\n [selectedValue]=\"value?.inputValue\"\n >\n {{ item.boxLabel }}\n </fd-radio-button>\n }\n </div>\n }\n</fd-form-group>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i3.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiRadioGroupComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'bsu-ui-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-form-group [isInline]=\"!isVertically && !(isMobileDevice && onlyInMobileVertically)\">\n @for (item of context.items; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n @if (!item.IsEmpty) {\n <fd-radio-button\n [value]=\"item.inputValue\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value?.inputValue\"\n (click)=\"onRadioClicked(item)\"\n [selectedValue]=\"value?.inputValue\"\n >\n {{ item.boxLabel }}\n </fd-radio-button>\n }\n </div>\n }\n</fd-form-group>\n" }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSw0QkFBNEI7SUFOdkU7O1FBT0ksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO0tBNkJsQztJQTNCRyxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLEVBQUUsc0JBQXNCLENBQUM7UUFDakUsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxTQUFTLENBQUMsS0FBVTtRQUMxQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0E5QlEscUJBQXFCO2tHQUFyQixxQkFBcUIsaUZDUmxDLCtyQkFtQkE7OzJGRFhhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlSW5mb0ZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2RldmljZS1pbmZvLWZpZWxkLWJhc2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktcmFkaW8tZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaVJhZGlvR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBpc1ZlcnRpY2FsbHkgPSBmYWxzZTtcbiAgICBvbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5ID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRJdGVtOiBJdGVtVHlwZTtcbiAgICBnZXQgaXRlbXMoKTogSXRlbVR5cGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuaXRlbXM7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1zLmZpbmQoKGMpID0+IGMuaW5wdXRWYWx1ZSA9PT0gdGhpcy52YWx1ZS5pbnB1dFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1zLmZpbmQoKGMpID0+IGMuaW5wdXRWYWx1ZSA9PT0gdGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5ID0gcGFyYW1ldGVycz8uT25seUluTW9iaWxlVmVydGljYWxseTtcbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsbHkgPSBwYXJhbWV0ZXJzPy5Jc1ZlcnRpY2FsbHk7XG4gICAgfVxuXG4gICAgb25SYWRpb0NsaWNrZWQoaXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbCA9IHRoaXMuaXRlbXMuZmluZCgoYykgPT4gYy5Jc0VtcHR5KTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZCgoYykgPT4gYy5pbnB1dFZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB2YWwgPSBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbn1cbnR5cGUgSXRlbVR5cGUgPSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElzRW1wdHk6IGJvb2xlYW47XG4gICAgaW5wdXRWYWx1ZTogc3RyaW5nO1xufTtcbiIsIjxmZC1mb3JtLWdyb3VwIFtpc0lubGluZV09XCIhaXNWZXJ0aWNhbGx5ICYmICEoaXNNb2JpbGVEZXZpY2UgJiYgb25seUluTW9iaWxlVmVydGljYWxseSlcIj5cbiAgICBAZm9yIChpdGVtIG9mIGNvbnRleHQuaXRlbXM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4OyBsZXQgZmlyc3QgPSAkZmlyc3QpIHtcbiAgICA8ZGl2IGZkLWZvcm0taXRlbT5cbiAgICAgICAgQGlmICghaXRlbS5Jc0VtcHR5KSB7XG4gICAgICAgIDxmZC1yYWRpby1idXR0b25cbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmlucHV0VmFsdWVcIlxuICAgICAgICAgICAgW2lkXT1cIidyYWRpby0nICsgaWQgKyBpXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIidyYWRpbycgKyBpZCArIGlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZT8uaW5wdXRWYWx1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25SYWRpb0NsaWNrZWQoaXRlbSlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwidmFsdWU/LmlucHV0VmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmJveExhYmVsIH19XG4gICAgICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgfVxuPC9mZC1mb3JtLWdyb3VwPlxuIl19
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FieldBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-novin-ray-core";
6
+ import * as i3 from "@fundamental-ngx/core/content-density";
7
+ import * as i4 from "@fundamental-ngx/core/button";
8
+ import * as i5 from "@fundamental-ngx/core/text";
9
+ export class UiReadOnlyFieldComponent extends FieldBaseComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.isEllipsis = true;
13
+ }
14
+ ngOnInit() {
15
+ super.ngOnInit();
16
+ this._setText();
17
+ }
18
+ _setValue(value) {
19
+ super._setValue(value);
20
+ this._setText();
21
+ }
22
+ _setText() {
23
+ const value = this.value;
24
+ const text = value?.$Caption ? value.$Caption : value;
25
+ // eslint-disable-next-line
26
+ this.text = text?.replace(/<br\s*[\/]?>/gi, '\n');
27
+ this._cdr.markForCheck();
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiReadOnlyFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiReadOnlyFieldComponent, selector: "bsu-ui-read-only-field", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"controlTpl; context: { maxlines: parameters?.MaxLines }\"></ng-container>\n\n@if (parameters?.ShowCopy && text) {\n<button fd-button glyph=\"copy\" [fdCompact] fdType=\"transparent\" [copy]=\"text | bbbTranslate\"></button>\n}\n<!-- <fd-popover *ngIf=\"text\">\n<fd-popover-control>\n <button\n *ngIf=\"isEllipsis\"\n fd-button\n glyph=\"overflow\"\n [fdCompact]\n fdType=\"transparent\"\n [title]=\"text | bbbTranslate\"\n ></button>\n</fd-popover-control>\n<fd-popover-body>\n <ng-container *ngTemplateOutlet=\"controlTpl\"></ng-container>\n</fd-popover-body>\n</fd-popover>\n-->\n<ng-template #controlTpl let-maxlines>\n <fd-text\n style=\"color: var(--fdIcon_Tab_Bar_Selection_Color)\"\n [class.empty-bracket]=\"!text\"\n [text]=\"!text && parameters?.HideTextOnEmpty ? '' : (text || 'Empty_Bracket' | bbbTranslate)\"\n [class.bold]=\"text !== null && text !== '' && !parameters?.NotBold\"\n [whitespaces]=\"true\"\n [maxLines]=\"maxlines ? maxlines : 0\"\n [style.color]=\"parameters?.ColorValue ? parameters?.ColorValue : null\"\n ></fd-text>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;align-items:center}label{overflow:hidden;text-align:justify;line-height:1.6rem}.empty-bracket{opacity:.3}fd-text ::ng-deep p{color:inherit}fd-text ::ng-deep p span{color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CopyDirective, selector: "[copy]", inputs: ["copy"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiReadOnlyFieldComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'bsu-ui-read-only-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngTemplateOutlet=\"controlTpl; context: { maxlines: parameters?.MaxLines }\"></ng-container>\n\n@if (parameters?.ShowCopy && text) {\n<button fd-button glyph=\"copy\" [fdCompact] fdType=\"transparent\" [copy]=\"text | bbbTranslate\"></button>\n}\n<!-- <fd-popover *ngIf=\"text\">\n<fd-popover-control>\n <button\n *ngIf=\"isEllipsis\"\n fd-button\n glyph=\"overflow\"\n [fdCompact]\n fdType=\"transparent\"\n [title]=\"text | bbbTranslate\"\n ></button>\n</fd-popover-control>\n<fd-popover-body>\n <ng-container *ngTemplateOutlet=\"controlTpl\"></ng-container>\n</fd-popover-body>\n</fd-popover>\n-->\n<ng-template #controlTpl let-maxlines>\n <fd-text\n style=\"color: var(--fdIcon_Tab_Bar_Selection_Color)\"\n [class.empty-bracket]=\"!text\"\n [text]=\"!text && parameters?.HideTextOnEmpty ? '' : (text || 'Empty_Bracket' | bbbTranslate)\"\n [class.bold]=\"text !== null && text !== '' && !parameters?.NotBold\"\n [whitespaces]=\"true\"\n [maxLines]=\"maxlines ? maxlines : 0\"\n [style.color]=\"parameters?.ColorValue ? parameters?.ColorValue : null\"\n ></fd-text>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;align-items:center}label{overflow:hidden;text-align:justify;line-height:1.6rem}.empty-bracket{opacity:.3}fd-text ::ng-deep p{color:inherit}fd-text ::ng-deep p span{color:inherit}\n"] }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmVhZC1vbmx5LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmVhZC1vbmx5LWZpZWxkL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsa0JBQWtCO0lBTmhFOztRQVFJLGVBQVUsR0FBRyxJQUFJLENBQUM7S0FpQnJCO0lBZkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNTLFNBQVMsQ0FBQyxLQUFVO1FBQzFCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxRQUFRO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBbEJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHFGQ1RyQywwcENBZ0NBOzsyRkR2QmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1yZWFkLW9ubHktZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGlzRWxsaXBzaXMgPSB0cnVlO1xuICAgIHBhcmFtZXRlcnM6IFVpUmVhZE9ubHlGaWVsZFNldHRpbmc7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3NldFRleHQoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3NldFRleHQoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0VGV4dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCB0ZXh0ID0gdmFsdWU/LiRDYXB0aW9uID8gdmFsdWUuJENhcHRpb24gOiB2YWx1ZTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ/LnJlcGxhY2UoLzxiclxccypbXFwvXT8+L2dpLCAnXFxuJyk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5pbnRlcmZhY2UgVWlSZWFkT25seUZpZWxkU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbG9yVmFsdWU6IHN0cmluZztcbiAgICBNYXhMaW5lczogbnVtYmVyO1xuICAgIFNob3dDb3B5OiBib29sZWFuO1xuICAgIE5vdEJvbGQ6IGJvb2xlYW47XG4gICAgSGlkZVRleHRPbkVtcHR5OiBib29sZWFuO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUcGw7IGNvbnRleHQ6IHsgbWF4bGluZXM6IHBhcmFtZXRlcnM/Lk1heExpbmVzIH1cIj48L25nLWNvbnRhaW5lcj5cblxuQGlmIChwYXJhbWV0ZXJzPy5TaG93Q29weSAmJiB0ZXh0KSB7XG48YnV0dG9uIGZkLWJ1dHRvbiBnbHlwaD1cImNvcHlcIiBbZmRDb21wYWN0XSBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtjb3B5XT1cInRleHQgfCBiYmJUcmFuc2xhdGVcIj48L2J1dHRvbj5cbn1cbjwhLS0gPGZkLXBvcG92ZXIgKm5nSWY9XCJ0ZXh0XCI+XG48ZmQtcG9wb3Zlci1jb250cm9sPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJpc0VsbGlwc2lzXCJcbiAgICBmZC1idXR0b25cbiAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICBbZmRDb21wYWN0XVxuICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICBbdGl0bGVdPVwidGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gID48L2J1dHRvbj5cbjwvZmQtcG9wb3Zlci1jb250cm9sPlxuPGZkLXBvcG92ZXItYm9keT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuLS0+XG48bmctdGVtcGxhdGUgI2NvbnRyb2xUcGwgbGV0LW1heGxpbmVzPlxuICAgIDxmZC10ZXh0XG4gICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLWZkSWNvbl9UYWJfQmFyX1NlbGVjdGlvbl9Db2xvcilcIlxuICAgICAgICBbY2xhc3MuZW1wdHktYnJhY2tldF09XCIhdGV4dFwiXG4gICAgICAgIFt0ZXh0XT1cIiF0ZXh0ICYmIHBhcmFtZXRlcnM/LkhpZGVUZXh0T25FbXB0eSA/ICcnIDogKHRleHQgfHwgJ0VtcHR5X0JyYWNrZXQnIHwgYmJiVHJhbnNsYXRlKVwiXG4gICAgICAgIFtjbGFzcy5ib2xkXT1cInRleHQgIT09IG51bGwgJiYgdGV4dCAhPT0gJycgJiYgIXBhcmFtZXRlcnM/Lk5vdEJvbGRcIlxuICAgICAgICBbd2hpdGVzcGFjZXNdPVwidHJ1ZVwiXG4gICAgICAgIFttYXhMaW5lc109XCJtYXhsaW5lcyA/IG1heGxpbmVzIDogMFwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJwYXJhbWV0ZXJzPy5Db2xvclZhbHVlID8gcGFyYW1ldGVycz8uQ29sb3JWYWx1ZSA6IG51bGxcIlxuICAgID48L2ZkLXRleHQ+XG48L25nLXRlbXBsYXRlPlxuIl19