@fundamental-ngx/platform 0.47.4 → 0.48.0-rc.1

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 (457) hide show
  1. package/README.md +0 -28
  2. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +6 -11
  3. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +6 -8
  4. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +5 -6
  5. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +5 -5
  6. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +8 -11
  7. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +6 -8
  8. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +5 -7
  9. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +5 -6
  10. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +6 -6
  11. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +6 -7
  12. package/esm2022/approval-flow/approval-flow.component.mjs +8 -10
  13. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  14. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  15. package/esm2022/button/button.component.mjs +5 -5
  16. package/esm2022/button/button.module.mjs +4 -4
  17. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  18. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  19. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +5 -5
  20. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +5 -5
  21. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  22. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  23. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +4 -4
  25. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page.component.mjs +8 -10
  29. package/esm2022/dynamic-page/dynamic-page.config.mjs +4 -4
  30. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  31. package/esm2022/dynamic-page/dynamic-page.service.mjs +3 -3
  32. package/esm2022/feed-input/feed-input.component.mjs +6 -7
  33. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  34. package/esm2022/form/auto-complete/auto-complete.directive.mjs +5 -5
  35. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  36. package/esm2022/form/checkbox/checkbox.component.mjs +6 -6
  37. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  38. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +8 -8
  39. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  40. package/esm2022/form/combobox/combobox/combobox.component.mjs +9 -11
  41. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +13 -15
  42. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  43. package/esm2022/form/combobox/combobox.config.mjs +4 -4
  44. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  45. package/esm2022/form/combobox/commons/base-combobox.mjs +8 -6
  46. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  47. package/esm2022/form/date-picker/date-picker.component.mjs +6 -6
  48. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  49. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +6 -6
  50. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
  51. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  52. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +4 -4
  53. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +4 -4
  54. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +4 -4
  55. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +6 -7
  56. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +4 -4
  57. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
  58. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +4 -4
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +4 -4
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +4 -4
  61. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +5 -5
  62. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +6 -6
  63. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  64. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +9 -11
  65. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  66. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +7 -8
  67. package/esm2022/form/form-generator/form-generator.service.mjs +5 -5
  68. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +5 -5
  69. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  70. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  71. package/esm2022/form/form-group/form-field/form-field.component.mjs +10 -10
  72. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +6 -6
  73. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +6 -6
  74. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +5 -5
  75. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  76. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +6 -6
  77. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +6 -6
  78. package/esm2022/form/form-group/form-group.component.mjs +8 -10
  79. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  80. package/esm2022/form/form-group/services/form-field-layout.service.mjs +5 -5
  81. package/esm2022/form/index.mjs +1 -3
  82. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  83. package/esm2022/form/input/input.component.mjs +6 -6
  84. package/esm2022/form/input-group/addon-body.component.mjs +5 -5
  85. package/esm2022/form/input-group/addon.component.mjs +5 -5
  86. package/esm2022/form/input-group/input-group.component.mjs +12 -12
  87. package/esm2022/form/input-group/input-group.config.mjs +4 -4
  88. package/esm2022/form/input-group/input-group.module.mjs +4 -4
  89. package/esm2022/form/input-group/input.component.mjs +3 -3
  90. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +7 -7
  91. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +6 -6
  92. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +10 -12
  93. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +8 -9
  94. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  95. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +4 -4
  96. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  97. package/esm2022/form/multi-input/base-multi-input.mjs +6 -6
  98. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +12 -12
  99. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  100. package/esm2022/form/multi-input/multi-input.component.mjs +9 -11
  101. package/esm2022/form/multi-input/multi-input.config.mjs +4 -4
  102. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  103. package/esm2022/form/radio-group/radio/radio.component.mjs +8 -8
  104. package/esm2022/form/radio-group/radio-group.component.mjs +8 -8
  105. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  106. package/esm2022/form/select/commons/base-select.mjs +6 -6
  107. package/esm2022/form/select/select/select.component.mjs +8 -8
  108. package/esm2022/form/select/select.config.mjs +4 -4
  109. package/esm2022/form/select/select.module.mjs +4 -4
  110. package/esm2022/form/step-input/base.step-input.mjs +5 -5
  111. package/esm2022/form/step-input/number/number-step-input.component.mjs +9 -10
  112. package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
  113. package/esm2022/form/step-input/step-input-control.directive.mjs +6 -6
  114. package/esm2022/form/step-input/step-input-decrement.directive.mjs +5 -5
  115. package/esm2022/form/step-input/step-input-increment.directive.mjs +5 -5
  116. package/esm2022/form/step-input/step-input.config.mjs +3 -3
  117. package/esm2022/form/step-input/step-input.module.mjs +4 -4
  118. package/esm2022/form/switch/switch/switch.component.mjs +6 -6
  119. package/esm2022/form/switch/switch/switch.config.mjs +3 -3
  120. package/esm2022/form/switch/switch.module.mjs +4 -4
  121. package/esm2022/form/text-area/text-area.component.mjs +8 -9
  122. package/esm2022/form/text-area/text-area.config.mjs +3 -3
  123. package/esm2022/form/text-area/text-area.module.mjs +4 -4
  124. package/esm2022/form/time-picker/time-picker.component.mjs +6 -6
  125. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  126. package/esm2022/fundamental-ngx.module.mjs +14 -33
  127. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
  128. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +5 -9
  129. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +6 -8
  130. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +6 -8
  131. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +5 -8
  132. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +7 -9
  133. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +6 -15
  134. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +5 -9
  135. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +6 -8
  136. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +5 -5
  137. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +5 -5
  138. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +5 -5
  139. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +8 -9
  140. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
  141. package/esm2022/index.mjs +8 -12
  142. package/esm2022/info-label/info-label.component.mjs +5 -5
  143. package/esm2022/info-label/info-label.module.mjs +4 -4
  144. package/esm2022/link/link.component.mjs +5 -5
  145. package/esm2022/link/link.module.mjs +4 -4
  146. package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
  147. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  148. package/esm2022/list/base-list-item.mjs +11 -11
  149. package/esm2022/list/display-list-item/display-list-item.component.mjs +6 -7
  150. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  151. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +4 -4
  152. package/esm2022/list/list-group-footer.component.mjs +3 -3
  153. package/esm2022/list/list-group-header.component.mjs +3 -3
  154. package/esm2022/list/list.component.mjs +9 -11
  155. package/esm2022/list/list.config.mjs +3 -3
  156. package/esm2022/list/list.module.mjs +4 -4
  157. package/esm2022/list/load-more-content.directive.mjs +4 -4
  158. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +4 -4
  159. package/esm2022/list/object-list-item/object-list-item.component.mjs +6 -7
  160. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  161. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +6 -7
  162. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  163. package/esm2022/menu/menu-item.component.mjs +7 -7
  164. package/esm2022/menu/menu-trigger.directive.mjs +6 -6
  165. package/esm2022/menu/menu.component.mjs +6 -6
  166. package/esm2022/menu/menu.module.mjs +4 -4
  167. package/esm2022/menu-button/menu-button.component.mjs +5 -5
  168. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  169. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +6 -6
  170. package/esm2022/message-popover/components/message-view/message-view.component.mjs +8 -10
  171. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +6 -6
  172. package/esm2022/message-popover/message-popover.component.mjs +7 -9
  173. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  174. package/esm2022/object-marker/object-marker.component.mjs +6 -7
  175. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  176. package/esm2022/object-status/object-status.component.mjs +8 -8
  177. package/esm2022/object-status/object-status.module.mjs +4 -4
  178. package/esm2022/page-footer/page-footer.component.mjs +6 -6
  179. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  180. package/esm2022/panel/panel-actions.component.mjs +3 -3
  181. package/esm2022/panel/panel-content/panel-content.component.mjs +4 -4
  182. package/esm2022/panel/panel.component.mjs +5 -5
  183. package/esm2022/panel/panel.config.mjs +4 -4
  184. package/esm2022/panel/panel.module.mjs +4 -4
  185. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +8 -9
  186. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +4 -4
  187. package/esm2022/search-field/search-field.component.mjs +16 -18
  188. package/esm2022/search-field/search-field.module.mjs +4 -4
  189. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +9 -16
  190. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  191. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +5 -6
  192. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +6 -9
  193. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +6 -8
  194. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +7 -7
  195. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  196. package/esm2022/settings-generator/settings-generator.component.mjs +9 -9
  197. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  198. package/esm2022/settings-generator/settings-generator.service.mjs +4 -4
  199. package/esm2022/shared/base.mjs +5 -5
  200. package/esm2022/shared/form/base.input.mjs +6 -6
  201. package/esm2022/shared/form/collection-base.input.mjs +6 -6
  202. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +13 -13
  203. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  204. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  205. package/esm2022/shared/platform.config.mjs +3 -3
  206. package/esm2022/slider/slider.component.mjs +6 -6
  207. package/esm2022/slider/slider.module.mjs +4 -4
  208. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +4 -4
  209. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +4 -4
  210. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -9
  211. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +7 -9
  212. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
  213. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +5 -5
  214. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +4 -4
  215. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  216. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +8 -10
  217. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  218. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +4 -4
  219. package/esm2022/split-menu-button/split-menu-button.component.mjs +6 -6
  220. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  221. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  222. package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -5
  223. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -8
  224. package/esm2022/table/components/table-column/table-column.component.mjs +6 -6
  225. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -6
  226. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +5 -15
  227. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +7 -7
  228. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +6 -6
  229. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +11 -13
  230. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +7 -9
  231. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +9 -11
  232. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +6 -9
  233. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +6 -8
  234. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +9 -11
  235. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  236. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +5 -5
  237. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  238. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  239. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  240. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -9
  241. package/esm2022/table/components/table-row/table-row.component.mjs +8 -12
  242. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  243. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  244. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +7 -8
  245. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +6 -6
  246. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +5 -6
  247. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +5 -14
  248. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +5 -8
  249. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +5 -7
  250. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +7 -10
  251. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -8
  252. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
  253. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +5 -5
  254. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  255. package/esm2022/table/table.component.mjs +9 -14
  256. package/esm2022/table/table.module.mjs +4 -4
  257. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +6 -6
  258. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
  259. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +5 -5
  260. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  261. package/esm2022/table-helpers/directives/table-cell.directive.mjs +16 -16
  262. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
  263. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  264. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  265. package/esm2022/table-helpers/directives/table-header.directive.mjs +7 -7
  266. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
  267. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
  268. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +4 -4
  269. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  270. package/esm2022/table-helpers/enums/collection-filter.enum.mjs +16 -1
  271. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  272. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  273. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  274. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  275. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  276. package/esm2022/table-helpers/services/table-column-resize.service.mjs +5 -5
  277. package/esm2022/table-helpers/services/table-responsive.service.mjs +5 -5
  278. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  279. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  280. package/esm2022/table-helpers/services/table.service.mjs +3 -3
  281. package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
  282. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +5 -5
  283. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +6 -10
  284. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +13 -15
  285. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
  286. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +5 -5
  287. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +12 -17
  288. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  289. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +5 -5
  290. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -8
  291. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  292. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +4 -4
  293. package/esm2022/variant-management/variant-management.component.mjs +8 -10
  294. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  295. package/esm2022/wizard-generator/base-wizard-generator.mjs +5 -5
  296. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +7 -8
  297. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -9
  298. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +6 -7
  299. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +6 -7
  300. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +5 -6
  301. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +7 -7
  302. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  303. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  304. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  305. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  306. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +4 -4
  307. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  308. package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
  309. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +62 -74
  310. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  311. package/fesm2022/fundamental-ngx-platform-button.mjs +8 -8
  312. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  313. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +54 -56
  314. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  315. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -10
  316. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  317. package/fesm2022/fundamental-ngx-platform-form.mjs +444 -602
  318. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  319. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +59 -87
  320. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  321. package/fesm2022/fundamental-ngx-platform-info-label.mjs +8 -8
  322. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  323. package/fesm2022/fundamental-ngx-platform-link.mjs +8 -8
  324. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  325. package/fesm2022/fundamental-ngx-platform-list.mjs +73 -78
  326. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  327. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -8
  328. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-menu.mjs +20 -20
  330. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +29 -33
  332. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  333. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +9 -10
  334. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  335. package/fesm2022/fundamental-ngx-platform-object-status.mjs +12 -12
  336. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  337. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +9 -9
  338. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -19
  340. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-search-field.mjs +29 -32
  342. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  343. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +45 -56
  344. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-shared.mjs +36 -36
  346. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-slider.mjs +9 -9
  348. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +48 -53
  350. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +9 -9
  352. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +115 -100
  354. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  355. package/fesm2022/fundamental-ngx-platform-table.mjs +168 -218
  356. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  357. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +41 -52
  358. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +28 -31
  360. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +58 -61
  362. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform.mjs +19 -42
  364. package/fesm2022/fundamental-ngx-platform.mjs.map +1 -1
  365. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -2
  366. package/form/form-group/form-group.component.d.ts +1 -1
  367. package/form/index.d.ts +0 -2
  368. package/form/input-group/input-group.component.d.ts +2 -2
  369. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +1 -1
  370. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
  371. package/fundamental-ngx-platform-v0.48.0-rc.1.tgz +0 -0
  372. package/fundamental-ngx.module.d.ts +27 -31
  373. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +0 -2
  374. package/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.d.ts +0 -2
  375. package/index.d.ts +7 -11
  376. package/list/list.component.d.ts +1 -1
  377. package/package.json +4 -28
  378. package/page-footer/page-footer.component.d.ts +1 -1
  379. package/schematics/ng-add/index.js +1 -1
  380. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +1 -1
  381. package/settings-generator/settings-generator.component.d.ts +2 -2
  382. package/table/components/table-p13-dialog/filtering/filter-rule.component.d.ts +2 -0
  383. package/table/table.component.d.ts +1 -1
  384. package/table-helpers/enums/collection-filter.enum.d.ts +2 -0
  385. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -1
  386. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -1
  387. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +2 -2
  388. package/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.d.ts +2 -2
  389. package/action-bar/README.md +0 -25
  390. package/action-bar/action-bar.component.d.ts +0 -36
  391. package/action-bar/action-bar.module.d.ts +0 -8
  392. package/action-bar/index.d.ts +0 -2
  393. package/action-button-group/README.md +0 -25
  394. package/action-button-group/action-button-group.component.d.ts +0 -11
  395. package/action-button-group/action-button-group.module.d.ts +0 -7
  396. package/action-button-group/index.d.ts +0 -2
  397. package/esm2022/action-bar/action-bar.component.mjs +0 -64
  398. package/esm2022/action-bar/action-bar.module.mjs +0 -17
  399. package/esm2022/action-bar/fundamental-ngx-platform-action-bar.mjs +0 -5
  400. package/esm2022/action-bar/index.mjs +0 -3
  401. package/esm2022/action-button-group/action-button-group.component.mjs +0 -21
  402. package/esm2022/action-button-group/action-button-group.module.mjs +0 -16
  403. package/esm2022/action-button-group/fundamental-ngx-platform-action-button-group.mjs +0 -5
  404. package/esm2022/action-button-group/index.mjs +0 -3
  405. package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +0 -143
  406. package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +0 -16
  407. package/esm2022/thumbnail/fundamental-ngx-platform-thumbnail.mjs +0 -5
  408. package/esm2022/thumbnail/index.mjs +0 -6
  409. package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +0 -166
  410. package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +0 -100
  411. package/esm2022/thumbnail/thumbnail.component.mjs +0 -148
  412. package/esm2022/thumbnail/thumbnail.interfaces.mjs +0 -2
  413. package/esm2022/thumbnail/thumbnail.module.mjs +0 -19
  414. package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +0 -148
  415. package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +0 -69
  416. package/esm2022/upload-collection/directives/upload-collection-dragndrop.directive.mjs +0 -138
  417. package/esm2022/upload-collection/domain/upload-collection-data-provider.mjs +0 -106
  418. package/esm2022/upload-collection/domain/upload-collection-data-source.mjs +0 -95
  419. package/esm2022/upload-collection/fundamental-ngx-platform-upload-collection.mjs +0 -5
  420. package/esm2022/upload-collection/helpers/generate-message-stripe-data.mjs +0 -20
  421. package/esm2022/upload-collection/index.mjs +0 -12
  422. package/esm2022/upload-collection/models/upload-collection.models.mjs +0 -58
  423. package/esm2022/upload-collection/services/files-validator.service.mjs +0 -68
  424. package/esm2022/upload-collection/upload-collection/upload-collection-data-provider-test.mjs +0 -280
  425. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +0 -926
  426. package/esm2022/upload-collection/upload-collection.module.mjs +0 -33
  427. package/fesm2022/fundamental-ngx-platform-action-bar.mjs +0 -85
  428. package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +0 -1
  429. package/fesm2022/fundamental-ngx-platform-action-button-group.mjs +0 -41
  430. package/fesm2022/fundamental-ngx-platform-action-button-group.mjs.map +0 -1
  431. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +0 -418
  432. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +0 -1
  433. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +0 -1893
  434. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +0 -1
  435. package/form/platform-file-uploader/platform-file-uploader.component.d.ts +0 -69
  436. package/form/platform-file-uploader/platform-file-uploader.module.d.ts +0 -7
  437. package/fundamental-ngx-platform-v0.47.4.tgz +0 -0
  438. package/thumbnail/README.md +0 -25
  439. package/thumbnail/index.d.ts +0 -5
  440. package/thumbnail/thumbnail-details/thumbnail-details.component.d.ts +0 -57
  441. package/thumbnail/thumbnail-image/thumbnail-image.component.d.ts +0 -48
  442. package/thumbnail/thumbnail.component.d.ts +0 -73
  443. package/thumbnail/thumbnail.interfaces.d.ts +0 -12
  444. package/thumbnail/thumbnail.module.d.ts +0 -9
  445. package/upload-collection/README.md +0 -25
  446. package/upload-collection/dialogs/move-to/move-to.component.d.ts +0 -57
  447. package/upload-collection/dialogs/new-folder/new-folder.component.d.ts +0 -26
  448. package/upload-collection/directives/upload-collection-dragndrop.directive.d.ts +0 -64
  449. package/upload-collection/domain/upload-collection-data-provider.d.ts +0 -46
  450. package/upload-collection/domain/upload-collection-data-source.d.ts +0 -49
  451. package/upload-collection/helpers/generate-message-stripe-data.d.ts +0 -3
  452. package/upload-collection/index.d.ts +0 -11
  453. package/upload-collection/models/upload-collection.models.d.ts +0 -225
  454. package/upload-collection/services/files-validator.service.d.ts +0 -18
  455. package/upload-collection/upload-collection/upload-collection-data-provider-test.d.ts +0 -36
  456. package/upload-collection/upload-collection/upload-collection.component.d.ts +0 -259
  457. package/upload-collection/upload-collection.module.d.ts +0 -11
@@ -1,418 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Optional, Input, Output, ViewChildren, ViewChild, forwardRef, HostListener, ViewEncapsulation, NgModule } from '@angular/core';
3
- import { CdkScrollable } from '@angular/cdk/overlay';
4
- import { NgFor, NgIf, SlicePipe } from '@angular/common';
5
- import * as i2 from '@fundamental-ngx/cdk/utils';
6
- import { warnOnce, KeyUtil } from '@fundamental-ngx/cdk/utils';
7
- import { ButtonBarComponent } from '@fundamental-ngx/core/bar';
8
- import * as i1 from '@fundamental-ngx/core/dialog';
9
- import { DialogComponent, DialogHeaderComponent, DialogBodyComponent, DialogFooterComponent } from '@fundamental-ngx/core/dialog';
10
- import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
11
- import { TitleComponent } from '@fundamental-ngx/core/title';
12
- import { FdTranslatePipe } from '@fundamental-ngx/i18n';
13
- import { SPACE } from '@angular/cdk/keycodes';
14
- import { AvatarComponent } from '@fundamental-ngx/core/avatar';
15
- import { BaseComponent } from '@fundamental-ngx/platform/shared';
16
-
17
- /**
18
- * @deprecated
19
- * ThumbnailImage component is deprecated since version 0.40.0
20
- */
21
- class ThumbnailImageComponent {
22
- /** @hidden */
23
- constructor(_changeDetectorRef, _dialogService, _rtlService) {
24
- this._changeDetectorRef = _changeDetectorRef;
25
- this._dialogService = _dialogService;
26
- this._rtlService = _rtlService;
27
- /** Boolean to set the orientaiton of thumbnail images.*/
28
- this.isHorizontal = false;
29
- /** Maximum limit for the thumbnail images to display */
30
- this.maxImages = 5;
31
- /** Output event for thumbnail image click */
32
- this.thumbnailClicked = new EventEmitter();
33
- /** Event emitted when the thumbnail image is clicked and dialog opened */
34
- this.openDetailsDialog = new EventEmitter();
35
- warnOnce('ThumbnailImage component is deprecated since version 0.40.0 and will be removed in next release');
36
- }
37
- /** @hidden */
38
- ngOnInit() {
39
- this._setOverlay();
40
- }
41
- /** @hidden */
42
- ngOnChanges(changes) {
43
- if (changes.mediaList && Array.isArray(this.mediaList)) {
44
- const alreadySelected = this.mediaList.some((image) => image.selected);
45
- if (!alreadySelected) {
46
- this.mediaList[0].selected = true;
47
- }
48
- }
49
- this._changeDetectorRef.detectChanges();
50
- }
51
- /** Opens the Dialog when the imgaes croses the maximum number of images to display */
52
- openDialog(media) {
53
- this.mediaList.forEach((item) => (item.selected = false));
54
- media.selected = true;
55
- this.openDetailsDialog.emit(media);
56
- }
57
- /** @hidden */
58
- thumbnailClick(selectedMedia, event) {
59
- if (event instanceof KeyboardEvent && KeyUtil.isKeyCode(event, SPACE)) {
60
- event?.preventDefault();
61
- }
62
- this.mediaList.forEach((item) => (item.selected = false));
63
- selectedMedia.selected = true;
64
- this.thumbnailClicked.emit(selectedMedia);
65
- }
66
- /** @hidden returns boolean value for rtl */
67
- _isRtl() {
68
- return this._rtlService?.rtl.getValue();
69
- }
70
- /** @hidden */
71
- _setOverlay() {
72
- if (this.mediaList.length > this.maxImages) {
73
- this.mediaList[this.maxImages - 1].overlayRequired = true;
74
- }
75
- }
76
- /** Open thumbanail image */
77
- openImage(image, event) {
78
- image.overlayRequired ? this.openDialog(image) : this.thumbnailClick(image, event);
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ThumbnailImageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ThumbnailImageComponent, isStandalone: true, selector: "fdp-thumbnail-image", inputs: { mediaList: "mediaList", isHorizontal: "isHorizontal", maxImages: "maxImages", roleDescription: "roleDescription", thumbnailId: "thumbnailId" }, outputs: { thumbnailClicked: "thumbnailClicked", openDetailsDialog: "openDetailsDialog" }, viewQueries: [{ propertyName: "thumbnailImages", predicate: ["thumbnailImage"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-thumbnail-image-container\" role=\"listbox\">\n <div\n #thumbnailImage\n *ngFor=\"let image of mediaList | slice : 0 : maxImages; let i = index\"\n [class]=\"isHorizontal ? 'fdp-thumbnail-image--horizontal' : 'fdp-thumbnail-image'\"\n [class.fdp-thumbnail-image--selected]=\"image.selected\"\n [class.fdp-thumbnail-image--overlay]=\"image.overlayRequired\"\n (click)=\"openImage(image)\"\n (keydown.space)=\"openImage(image, $event)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-roledescription]=\"roleDescription || ('platformThumbnail.roleDescription' | fdTranslate)\"\n [attr.aria-selected]=\"image.selected\"\n [attr.title]=\"image.label\"\n [attr.aria-label]=\"image.label\"\n >\n <fd-avatar [image]=\"image.thumbnailUrl\" size=\"m\"></fd-avatar>\n <div class=\"fdp-thumbnail-overflow\" *ngIf=\"image.overlayRequired\">+{{ mediaList.length - maxImages }}</div>\n </div>\n</div>\n", styles: [".fdp-thumbnail-image-container{display:block}.fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem;border:.015rem solid transparent;border-radius:.25rem;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image fd-avatar{width:4.625rem;height:4.625rem;max-width:4.625rem;max-height:4.625rem}.fdp-thumbnail-image-container .fdp-thumbnail-image:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal{display:inline-block;border:.015rem solid transparent;background-clip:border-box;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{margin:0;width:5.75rem;height:5.5rem;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf);border-width:var(--sapButton_BorderWidth)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected fd-avatar,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected fd-avatar{width:5.75rem;height:5.5rem;max-width:5.75rem;max-height:5.5rem}.fdp-thumbnail-image-container .fdp-thumbnail-image--overlay,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--overlay{opacity:.5}.fdp-thumbnail-image-container .fdp-thumbnail-overflow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;color:var(--sapShell_TextColor, #fff)}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }] }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ThumbnailImageComponent, decorators: [{
84
- type: Component,
85
- args: [{ selector: 'fdp-thumbnail-image', standalone: true, imports: [NgFor, AvatarComponent, NgIf, SlicePipe, FdTranslatePipe], template: "<div class=\"fdp-thumbnail-image-container\" role=\"listbox\">\n <div\n #thumbnailImage\n *ngFor=\"let image of mediaList | slice : 0 : maxImages; let i = index\"\n [class]=\"isHorizontal ? 'fdp-thumbnail-image--horizontal' : 'fdp-thumbnail-image'\"\n [class.fdp-thumbnail-image--selected]=\"image.selected\"\n [class.fdp-thumbnail-image--overlay]=\"image.overlayRequired\"\n (click)=\"openImage(image)\"\n (keydown.space)=\"openImage(image, $event)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-roledescription]=\"roleDescription || ('platformThumbnail.roleDescription' | fdTranslate)\"\n [attr.aria-selected]=\"image.selected\"\n [attr.title]=\"image.label\"\n [attr.aria-label]=\"image.label\"\n >\n <fd-avatar [image]=\"image.thumbnailUrl\" size=\"m\"></fd-avatar>\n <div class=\"fdp-thumbnail-overflow\" *ngIf=\"image.overlayRequired\">+{{ mediaList.length - maxImages }}</div>\n </div>\n</div>\n", styles: [".fdp-thumbnail-image-container{display:block}.fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem;border:.015rem solid transparent;border-radius:.25rem;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image fd-avatar{width:4.625rem;height:4.625rem;max-width:4.625rem;max-height:4.625rem}.fdp-thumbnail-image-container .fdp-thumbnail-image:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal{display:inline-block;border:.015rem solid transparent;background-clip:border-box;margin:.688rem;position:relative}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:hover{cursor:pointer;border-color:var(--sapLink_Hover_Color)}.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal:focus,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{margin:0;width:5.75rem;height:5.5rem;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf);border-width:var(--sapButton_BorderWidth)}.fdp-thumbnail-image-container .fdp-thumbnail-image--selected fd-avatar,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected fd-avatar{width:5.75rem;height:5.5rem;max-width:5.75rem;max-height:5.5rem}.fdp-thumbnail-image-container .fdp-thumbnail-image--overlay,.fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--overlay{opacity:.5}.fdp-thumbnail-image-container .fdp-thumbnail-overflow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;color:var(--sapShell_TextColor, #fff)}\n"] }]
86
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DialogService }, { type: i2.RtlService, decorators: [{
87
- type: Optional
88
- }] }]; }, propDecorators: { mediaList: [{
89
- type: Input
90
- }], isHorizontal: [{
91
- type: Input
92
- }], maxImages: [{
93
- type: Input
94
- }], roleDescription: [{
95
- type: Input
96
- }], thumbnailId: [{
97
- type: Input
98
- }], thumbnailClicked: [{
99
- type: Output
100
- }], openDetailsDialog: [{
101
- type: Output
102
- }], thumbnailImages: [{
103
- type: ViewChildren,
104
- args: ['thumbnailImage']
105
- }] } });
106
-
107
- /**
108
- * @deprecated
109
- * ThumbnailDetails component is deprecated since version 0.40.0
110
- */
111
- class ThumbnailDetailsComponent {
112
- /** @hidden */
113
- constructor(dialogRef, _cdr) {
114
- this.dialogRef = dialogRef;
115
- this._cdr = _cdr;
116
- /** @hidden Start index of currently active items */
117
- this.currentActiveSlidesStartIndex = 0;
118
- /** @hidden Make left navigation button disabled */
119
- this.leftButtonDisabled = false;
120
- /** @hidden Make right navigation button disabled */
121
- this.rightButtonDisabled = false;
122
- /** medialist to display */
123
- this.mediaList = this.dialogRef.data.mediaList;
124
- /** max limit */
125
- this.maxImages = this.dialogRef.data.maxImages;
126
- warnOnce('ThumbnailDetailsComponent is deprecated since version 0.40.0 and will be removed in next release.');
127
- }
128
- /** @hidden */
129
- ngOnInit() {
130
- this.dialogRef.data.selectedMedia.selected = true;
131
- this.currentActiveSlidesStartIndex = this.mediaList.indexOf(this.dialogRef.data.selectedMedia);
132
- this._buttonVisibility();
133
- }
134
- /** @hidden */
135
- ngAfterViewInit() {
136
- this.currentActiveSlidesStartIndex = this.mediaList.indexOf(this.dialogRef.data.selectedMedia);
137
- if (this.mediaList.length > 0) {
138
- this._buttonVisibility();
139
- }
140
- else {
141
- this.leftButtonDisabled = true;
142
- this.rightButtonDisabled = true;
143
- this._cdr.detectChanges();
144
- }
145
- }
146
- /** Transitions to the previous image in the thumbnail. */
147
- previous() {
148
- if (this.currentActiveSlidesStartIndex <= 0) {
149
- return;
150
- }
151
- this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex - 1;
152
- this.dialogRef.data.selectedMedia = this.mediaList[this.currentActiveSlidesStartIndex];
153
- const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();
154
- thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();
155
- this.mediaList.forEach((item) => (item.selected = false));
156
- this.mediaList[this.currentActiveSlidesStartIndex].selected = true;
157
- this._cdr.detectChanges();
158
- this._buttonVisibility();
159
- }
160
- /** Transitions to the next image in the thumbnail. */
161
- next() {
162
- if (this.currentActiveSlidesStartIndex >= this.dialogRef.data.mediaList.length - 1) {
163
- return;
164
- }
165
- this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex + 1;
166
- this.dialogRef.data.selectedMedia = this.mediaList[this.currentActiveSlidesStartIndex];
167
- const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();
168
- thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();
169
- this.mediaList.forEach((item) => (item.selected = false));
170
- this.mediaList[this.currentActiveSlidesStartIndex].selected = true;
171
- this._cdr.detectChanges();
172
- this._buttonVisibility();
173
- }
174
- /** handles click on thumbnail images */
175
- thumbnailClickHandle(selectedmedia) {
176
- this.dialogRef.data.selectedMedia = selectedmedia;
177
- this.currentActiveSlidesStartIndex = this.mediaList.indexOf(this.dialogRef.data.selectedMedia);
178
- this._buttonVisibility();
179
- }
180
- /** Close dialog */
181
- closeDialog() {
182
- if (this.mediaList.length > this.maxImages) {
183
- this.dialogRef.data.mediaList[this.maxImages - 1].overlayRequired = true;
184
- }
185
- this.dialogRef.close();
186
- }
187
- /** @hidden Transitions to the next image in the thumbnail */
188
- onKeydownArrowRight(event) {
189
- event.preventDefault();
190
- this.dialogRef.data.rtl ? this.previous() : this.next();
191
- }
192
- /** @hidden Transitions to the previous image in the thumbnail*/
193
- onKeydownArrowLeft(event) {
194
- event.preventDefault();
195
- this.dialogRef.data.rtl ? this.next() : this.previous();
196
- }
197
- /** @hidden returns data for dialog*/
198
- get _data() {
199
- return this.dialogRef.data;
200
- }
201
- /** @hidden Handles navigation button visibility */
202
- _buttonVisibility() {
203
- if (this.currentActiveSlidesStartIndex === 0) {
204
- if (this.dialogRef.data.rtl) {
205
- this.leftButtonDisabled = false;
206
- this.rightButtonDisabled = true;
207
- }
208
- else {
209
- this.leftButtonDisabled = true;
210
- this.rightButtonDisabled = false;
211
- }
212
- }
213
- else if (this.currentActiveSlidesStartIndex === this.mediaList.length - 1) {
214
- if (this.dialogRef.data.rtl) {
215
- this.leftButtonDisabled = true;
216
- this.rightButtonDisabled = false;
217
- }
218
- else {
219
- this.leftButtonDisabled = false;
220
- this.rightButtonDisabled = true;
221
- }
222
- }
223
- else {
224
- this.leftButtonDisabled = false;
225
- this.rightButtonDisabled = false;
226
- }
227
- if (this.mediaList.length === 1) {
228
- this.leftButtonDisabled = true;
229
- this.rightButtonDisabled = true;
230
- }
231
- }
232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ThumbnailDetailsComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
233
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ThumbnailDetailsComponent, isStandalone: true, selector: "fdp-thumbnail-details", host: { listeners: { "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)" } }, viewQueries: [{ propertyName: "thumbnailImage", first: true, predicate: i0.forwardRef(function () { return ThumbnailImageComponent; }), descendants: true }], ngImport: i0, template: "<fd-dialog [attr.dir]=\"_data.rtl ? 'rtl' : 'ltr'\">\n <fd-dialog-header>\n <h5 [attr.id]=\"_data.thumbnailId\" [headerSize]=\"5\" fd-title>{{ _data.selectedMedia.title }}</h5>\n </fd-dialog-header>\n <fd-dialog-body>\n <button\n class=\"fd-button fdp-thumbnail-button--left\"\n [title]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? next() : previous()\"\n [disabled]=\"leftButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n >\n <i class=\"sap-icon--slim-arrow-left\"></i>\n </button>\n <div class=\"fdp-media-container\">\n <img\n *ngIf=\"_data.selectedMedia.mediaType === 'image'\"\n class=\"fdp-dialog-media-thumbnail-img\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.thumbnailUrl\"\n alt=\"first image\"\n />\n\n <video\n *ngIf=\"_data.selectedMedia.mediaType === 'video'\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.mediaUrl\"\n controls\n >\n {{ _data.selectedMedia.alt }}\n <track\n [src]=\"_data.selectedMedia.captionFile\"\n kind=\"captions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n <track\n [src]=\"_data.selectedMedia.audioDescFile\"\n kind=\"descriptions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n </video>\n </div>\n <button\n class=\"fd-button fdp-thumbnail-button--right\"\n [title]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? previous() : next()\"\n [disabled]=\"rightButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n >\n <i class=\"sap-icon--slim-arrow-right\"></i>\n </button>\n <fdp-thumbnail-image\n [mediaList]=\"_data.mediaList\"\n [isHorizontal]=\"true\"\n [maxImages]=\"_data.mediaList.length\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n ></fdp-thumbnail-image>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n [label]=\"'platformThumbnail.detailsDialogCloseBtnLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"closeDialog()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [":host ::ng-deep fd-dialog :after{width:84rem;height:45.5rem}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left{position:absolute;top:50%;left:2rem;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right{right:2rem;position:absolute;top:50%;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container{position:relative;height:33.125rem;display:flex;width:84rem;max-width:100%;justify-content:center}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container:focus,:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container img{max-width:33.125rem;max-height:33.125rem;max-width:100%;height:auto;position:absolute;padding:.688rem;bottom:0}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container video{max-width:33.125rem;max-height:33.125rem;width:33.125rem;height:33.125rem;position:absolute;padding:.688rem;bottom:0;left:0}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container{text-align:center}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container fd-avatar{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--selected,:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{width:inherit!important;height:inherit!important;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf)}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: ["mediaList", "isHorizontal", "maxImages", "roleDescription", "thumbnailId"], outputs: ["thumbnailClicked", "openDetailsDialog"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }] }); }
234
- }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ThumbnailDetailsComponent, decorators: [{
236
- type: Component,
237
- args: [{ selector: 'fdp-thumbnail-details', standalone: true, imports: [
238
- DialogComponent,
239
- DialogHeaderComponent,
240
- TitleComponent,
241
- CdkScrollable,
242
- ScrollbarDirective,
243
- DialogBodyComponent,
244
- NgIf,
245
- ThumbnailImageComponent,
246
- DialogFooterComponent,
247
- ButtonBarComponent,
248
- FdTranslatePipe
249
- ], template: "<fd-dialog [attr.dir]=\"_data.rtl ? 'rtl' : 'ltr'\">\n <fd-dialog-header>\n <h5 [attr.id]=\"_data.thumbnailId\" [headerSize]=\"5\" fd-title>{{ _data.selectedMedia.title }}</h5>\n </fd-dialog-header>\n <fd-dialog-body>\n <button\n class=\"fd-button fdp-thumbnail-button--left\"\n [title]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? next() : previous()\"\n [disabled]=\"leftButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n >\n <i class=\"sap-icon--slim-arrow-left\"></i>\n </button>\n <div class=\"fdp-media-container\">\n <img\n *ngIf=\"_data.selectedMedia.mediaType === 'image'\"\n class=\"fdp-dialog-media-thumbnail-img\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.thumbnailUrl\"\n alt=\"first image\"\n />\n\n <video\n *ngIf=\"_data.selectedMedia.mediaType === 'video'\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.mediaUrl\"\n controls\n >\n {{ _data.selectedMedia.alt }}\n <track\n [src]=\"_data.selectedMedia.captionFile\"\n kind=\"captions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n <track\n [src]=\"_data.selectedMedia.audioDescFile\"\n kind=\"descriptions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n </video>\n </div>\n <button\n class=\"fd-button fdp-thumbnail-button--right\"\n [title]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? previous() : next()\"\n [disabled]=\"rightButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n >\n <i class=\"sap-icon--slim-arrow-right\"></i>\n </button>\n <fdp-thumbnail-image\n [mediaList]=\"_data.mediaList\"\n [isHorizontal]=\"true\"\n [maxImages]=\"_data.mediaList.length\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n ></fdp-thumbnail-image>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n [label]=\"'platformThumbnail.detailsDialogCloseBtnLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"closeDialog()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [":host ::ng-deep fd-dialog :after{width:84rem;height:45.5rem}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left{position:absolute;top:50%;left:2rem;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--left:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right{right:2rem;position:absolute;top:50%;border-radius:50%}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:hover{cursor:pointer}:host ::ng-deep fd-dialog fd-dialog-body .fdp-thumbnail-button--right:disabled{cursor:default}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container{position:relative;height:33.125rem;display:flex;width:84rem;max-width:100%;justify-content:center}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container:focus,:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container img{max-width:33.125rem;max-height:33.125rem;max-width:100%;height:auto;position:absolute;padding:.688rem;bottom:0}:host ::ng-deep fd-dialog fd-dialog-body .fdp-media-container video{max-width:33.125rem;max-height:33.125rem;width:33.125rem;height:33.125rem;position:absolute;padding:.688rem;bottom:0;left:0}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container{text-align:center}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container fd-avatar{width:4.625rem;height:4.625rem}:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--selected,:host ::ng-deep fd-dialog .fdp-thumbnail-image-container .fdp-thumbnail-image--horizontal.fdp-thumbnail-image--selected{width:inherit!important;height:inherit!important;border:.015rem solid;border-radius:.25rem;border-color:#085caf;border-color:var(--sapButton_Emphasized_Hover_BorderColor, #085caf)}\n"] }]
250
- }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thumbnailImage: [{
251
- type: ViewChild,
252
- args: [forwardRef(() => ThumbnailImageComponent)]
253
- }], onKeydownArrowRight: [{
254
- type: HostListener,
255
- args: ['keydown.arrowright', ['$event']]
256
- }], onKeydownArrowLeft: [{
257
- type: HostListener,
258
- args: ['keydown.arrowleft', ['$event']]
259
- }] } });
260
-
261
- let uniqueId = 0;
262
- class ThumbnailClickedEvent {
263
- /**
264
- * Thumbnail click event
265
- * @param source ThumbnailComponent
266
- * @param payload Media
267
- */
268
- constructor(
269
- /** The source Thumbnail Component of the event. */
270
- source,
271
- /** The new value of a control. */
272
- payload) {
273
- this.source = source;
274
- this.payload = payload;
275
- }
276
- }
277
- /**
278
- * @deprecated
279
- * Thumbnail component is deprecated since version 0.40.0
280
- */
281
- class ThumbnailComponent extends BaseComponent {
282
- /** @hidden */
283
- constructor(_changeDetectorRef, _dialogService, _rtlService, _cdr) {
284
- super(_changeDetectorRef);
285
- this._changeDetectorRef = _changeDetectorRef;
286
- this._dialogService = _dialogService;
287
- this._rtlService = _rtlService;
288
- this._cdr = _cdr;
289
- /** Display orientation of Thumnail component. */
290
- this.isHorizontal = false;
291
- /** Max images to display */
292
- this.maxImagesDisplay = 5;
293
- /** Event emitted upon click of a thumbnail. */
294
- this.thumbnailClicked = new EventEmitter();
295
- /** Generate unique id for the thumbnail */
296
- this.thumbnailId = 'fd-thumbnail-dialog-header-' + uniqueId++;
297
- /** @hidden Start index of currently active items */
298
- this.currentActiveSlidesStartIndex = 0;
299
- warnOnce('ThumbnailComponent is deprecated since version 0.40.0 and will be removed in next release.');
300
- }
301
- /** @hidden Select first media object on init. */
302
- ngOnInit() {
303
- if (Array.isArray(this.mediaList) && this.mediaList.length > 0) {
304
- this.selectedMedia = this.mediaList[0];
305
- }
306
- this._setOverlay();
307
- }
308
- /** @hidden */
309
- thumbnailClickHandle(selectedMedia) {
310
- this.selectedMedia = selectedMedia;
311
- this.thumbnailClicked.emit(this._createClickEvent(this.selectedMedia));
312
- }
313
- /** @hidden */
314
- openDialog(media = this.selectedMedia) {
315
- this.mediaList.forEach((item) => (item.overlayRequired = false));
316
- this._dialogService.open(ThumbnailDetailsComponent, {
317
- backdropClickCloseable: false,
318
- escKeyCloseable: false,
319
- data: {
320
- thumbnailId: this.thumbnailId,
321
- selectedMedia: media,
322
- mediaList: this.mediaList,
323
- rtl: this._isRtl(),
324
- maxImages: this.maxImagesDisplay
325
- }
326
- });
327
- }
328
- /** @hidden returns rtl value */
329
- _isRtl() {
330
- return this._rtlService?.rtl.getValue();
331
- }
332
- /** @hidden Create Thumbnail click event instance */
333
- _createClickEvent(value) {
334
- return new ThumbnailClickedEvent(this, value);
335
- }
336
- /** @hidden */
337
- _setOverlay() {
338
- if (this.mediaList.length > this.maxImagesDisplay) {
339
- this.mediaList[this.maxImagesDisplay - 1].overlayRequired = true;
340
- }
341
- }
342
- /** @hidden Transitions to the next image in the thumbnail */
343
- onKeydownArrowRight(event) {
344
- event.preventDefault();
345
- this._isRtl() ? this.previous() : this.next();
346
- }
347
- /** @hidden Transitions to the previous image in the thumbnail*/
348
- onKeydownArrowLeft(event) {
349
- event.preventDefault();
350
- this._isRtl() ? this.next() : this.previous();
351
- }
352
- /** Transitions to the previous image in the thumbnail. */
353
- previous() {
354
- if (this.currentActiveSlidesStartIndex <= 0) {
355
- return;
356
- }
357
- this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex - 1;
358
- const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();
359
- thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();
360
- this._cdr.detectChanges();
361
- }
362
- /** Transitions to the next image in the thumbnail. */
363
- next() {
364
- if (this.currentActiveSlidesStartIndex >= this.maxImagesDisplay - 1) {
365
- return;
366
- }
367
- this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex + 1;
368
- const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();
369
- thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();
370
- this._cdr.detectChanges();
371
- }
372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ThumbnailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DialogService }, { token: i2.RtlService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
373
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ThumbnailComponent, isStandalone: true, selector: "fdp-thumbnail", inputs: { mediaList: "mediaList", isHorizontal: "isHorizontal", maxImagesDisplay: "maxImagesDisplay" }, outputs: { thumbnailClicked: "thumbnailClicked" }, host: { listeners: { "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)" } }, viewQueries: [{ propertyName: "thumbnailImage", first: true, predicate: i0.forwardRef(function () { return ThumbnailImageComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"fdp-thumbnail-container\" [class.fdp-thumbnail-container--horizontal]=\"isHorizontal\">\n <fdp-thumbnail-image\n *ngIf=\"!isHorizontal\"\n [thumbnailId]=\"thumbnailId\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n <div class=\"fdp-media-container\">\n <img\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'image'\"\n [attr.title]=\"selectedMedia.label\"\n [attr.aria-label]=\"selectedMedia.label\"\n [attr.src]=\"selectedMedia.mediaUrl\"\n [attr.alt]=\"selectedMedia.alt\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n />\n <video\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'video'\"\n [src]=\"selectedMedia.mediaUrl\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n [attr.aria-label]=\"selectedMedia.label\"\n >\n {{ selectedMedia.alt }}\n <track [src]=\"selectedMedia.captionFile\" kind=\"captions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n <track [src]=\"selectedMedia.audioDescFile\" kind=\"descriptions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n </video>\n </div>\n <fdp-thumbnail-image\n *ngIf=\"isHorizontal\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n</div>\n", styles: [".fdp-thumbnail-container{display:inline-flex;width:100%;height:auto}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal{display:block}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal .fdp-media-container{width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;inline-size:auto}.fdp-thumbnail-container img{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container img:focus,.fdp-thumbnail-container img.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container video{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container video:focus,.fdp-thumbnail-container video.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container .fdp-media-container{position:relative;width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;background-color:var(--sapNeutralBackground)}[dir=rtl] .fdp-thumbnail-container .fdp-media-container{margin-left:0;margin-right:1rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailImageComponent, selector: "fdp-thumbnail-image", inputs: ["mediaList", "isHorizontal", "maxImages", "roleDescription", "thumbnailId"], outputs: ["thumbnailClicked", "openDetailsDialog"] }], encapsulation: i0.ViewEncapsulation.None }); }
374
- }
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ThumbnailComponent, decorators: [{
376
- type: Component,
377
- args: [{ selector: 'fdp-thumbnail', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, ThumbnailImageComponent], template: "<div class=\"fdp-thumbnail-container\" [class.fdp-thumbnail-container--horizontal]=\"isHorizontal\">\n <fdp-thumbnail-image\n *ngIf=\"!isHorizontal\"\n [thumbnailId]=\"thumbnailId\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n <div class=\"fdp-media-container\">\n <img\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'image'\"\n [attr.title]=\"selectedMedia.label\"\n [attr.aria-label]=\"selectedMedia.label\"\n [attr.src]=\"selectedMedia.mediaUrl\"\n [attr.alt]=\"selectedMedia.alt\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n />\n <video\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'video'\"\n [src]=\"selectedMedia.mediaUrl\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n [attr.aria-label]=\"selectedMedia.label\"\n >\n {{ selectedMedia.alt }}\n <track [src]=\"selectedMedia.captionFile\" kind=\"captions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n <track [src]=\"selectedMedia.audioDescFile\" kind=\"descriptions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n </video>\n </div>\n <fdp-thumbnail-image\n *ngIf=\"isHorizontal\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n</div>\n", styles: [".fdp-thumbnail-container{display:inline-flex;width:100%;height:auto}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal{display:block}.fdp-thumbnail-container.fdp-thumbnail-container--horizontal .fdp-media-container{width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;inline-size:auto}.fdp-thumbnail-container img{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container img:focus,.fdp-thumbnail-container img.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container video{width:100%;height:auto;max-width:33.125rem;max-height:33.125rem;position:absolute}.fdp-thumbnail-container video:focus,.fdp-thumbnail-container video.is-focus{outline-offset:.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle)}.fdp-thumbnail-container .fdp-media-container{position:relative;width:100%;max-width:33.125rem;height:33.125rem;padding:.688rem;margin:1rem;background-color:var(--sapNeutralBackground)}[dir=rtl] .fdp-thumbnail-container .fdp-media-container{margin-left:0;margin-right:1rem}\n"] }]
378
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DialogService }, { type: i2.RtlService, decorators: [{
379
- type: Optional
380
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { mediaList: [{
381
- type: Input
382
- }], isHorizontal: [{
383
- type: Input
384
- }], maxImagesDisplay: [{
385
- type: Input
386
- }], thumbnailClicked: [{
387
- type: Output
388
- }], thumbnailImage: [{
389
- type: ViewChild,
390
- args: [forwardRef(() => ThumbnailImageComponent)]
391
- }], onKeydownArrowRight: [{
392
- type: HostListener,
393
- args: ['keydown.arrowright', ['$event']]
394
- }], onKeydownArrowLeft: [{
395
- type: HostListener,
396
- args: ['keydown.arrowleft', ['$event']]
397
- }] } });
398
-
399
- const components = [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent];
400
- class PlatformThumbnailModule {
401
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformThumbnailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
402
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.7", ngImport: i0, type: PlatformThumbnailModule, imports: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent], exports: [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent] }); }
403
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformThumbnailModule, imports: [components] }); }
404
- }
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformThumbnailModule, decorators: [{
406
- type: NgModule,
407
- args: [{
408
- imports: [...components],
409
- exports: [...components]
410
- }]
411
- }] });
412
-
413
- /**
414
- * Generated bundle index. Do not edit.
415
- */
416
-
417
- export { PlatformThumbnailModule, ThumbnailClickedEvent, ThumbnailComponent, ThumbnailDetailsComponent, ThumbnailImageComponent };
418
- //# sourceMappingURL=fundamental-ngx-platform-thumbnail.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fundamental-ngx-platform-thumbnail.mjs","sources":["../../../../libs/platform/src/lib/thumbnail/thumbnail-image/thumbnail-image.component.ts","../../../../libs/platform/src/lib/thumbnail/thumbnail-image/thumbnail-image.component.html","../../../../libs/platform/src/lib/thumbnail/thumbnail-details/thumbnail-details.component.ts","../../../../libs/platform/src/lib/thumbnail/thumbnail-details/thumbnail-details.component.html","../../../../libs/platform/src/lib/thumbnail/thumbnail.component.ts","../../../../libs/platform/src/lib/thumbnail/thumbnail.component.html","../../../../libs/platform/src/lib/thumbnail/thumbnail.module.ts","../../../../libs/platform/src/lib/thumbnail/fundamental-ngx-platform-thumbnail.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren\n} from '@angular/core';\n\nimport { SPACE } from '@angular/cdk/keycodes';\nimport { NgFor, NgIf, SlicePipe } from '@angular/common';\nimport { KeyUtil, RtlService, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Media } from '../thumbnail.interfaces';\n\n/**\n * @deprecated\n * ThumbnailImage component is deprecated since version 0.40.0\n */\n@Component({\n selector: 'fdp-thumbnail-image',\n templateUrl: './thumbnail-image.component.html',\n styleUrls: ['./thumbnail-image.component.scss'],\n standalone: true,\n imports: [NgFor, AvatarComponent, NgIf, SlicePipe, FdTranslatePipe]\n})\nexport class ThumbnailImageComponent implements OnChanges, OnInit {\n /** media list obejct contains group of Media object.*/\n @Input()\n mediaList: Media[];\n\n /** Boolean to set the orientaiton of thumbnail images.*/\n @Input()\n isHorizontal = false;\n\n /** Maximum limit for the thumbnail images to display */\n @Input()\n maxImages = 5;\n\n /** Role description for the thumbnail image */\n @Input()\n roleDescription: string;\n\n /** Thumbnail element ID */\n @Input()\n thumbnailId: string;\n\n /** Output event for thumbnail image click */\n @Output()\n thumbnailClicked: EventEmitter<Media> = new EventEmitter();\n\n /** Event emitted when the thumbnail image is clicked and dialog opened */\n @Output()\n openDetailsDialog = new EventEmitter<Media>();\n\n /** List of thumbnail images reference */\n @ViewChildren('thumbnailImage')\n thumbnailImages: QueryList<ElementRef>;\n\n /** @hidden */\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n private _dialogService: DialogService,\n @Optional() private _rtlService: RtlService\n ) {\n warnOnce('ThumbnailImage component is deprecated since version 0.40.0 and will be removed in next release');\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._setOverlay();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.mediaList && Array.isArray(this.mediaList)) {\n const alreadySelected: boolean = this.mediaList.some((image) => image.selected);\n if (!alreadySelected) {\n this.mediaList[0].selected = true;\n }\n }\n this._changeDetectorRef.detectChanges();\n }\n\n /** Opens the Dialog when the imgaes croses the maximum number of images to display */\n openDialog(media: Media): void {\n this.mediaList.forEach((item) => (item.selected = false));\n media.selected = true;\n this.openDetailsDialog.emit(media);\n }\n\n /** @hidden */\n thumbnailClick(selectedMedia: Media, event?: Event): void {\n if (event instanceof KeyboardEvent && KeyUtil.isKeyCode(event, SPACE)) {\n event?.preventDefault();\n }\n this.mediaList.forEach((item) => (item.selected = false));\n selectedMedia.selected = true;\n this.thumbnailClicked.emit(selectedMedia);\n }\n\n /** @hidden returns boolean value for rtl */\n private _isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n private _setOverlay(): void {\n if (this.mediaList.length > this.maxImages) {\n this.mediaList[this.maxImages - 1].overlayRequired = true;\n }\n }\n\n /** Open thumbanail image */\n openImage(image: Media, event?: Event): void {\n image.overlayRequired ? this.openDialog(image) : this.thumbnailClick(image, event);\n }\n}\n","<div class=\"fdp-thumbnail-image-container\" role=\"listbox\">\n <div\n #thumbnailImage\n *ngFor=\"let image of mediaList | slice : 0 : maxImages; let i = index\"\n [class]=\"isHorizontal ? 'fdp-thumbnail-image--horizontal' : 'fdp-thumbnail-image'\"\n [class.fdp-thumbnail-image--selected]=\"image.selected\"\n [class.fdp-thumbnail-image--overlay]=\"image.overlayRequired\"\n (click)=\"openImage(image)\"\n (keydown.space)=\"openImage(image, $event)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-roledescription]=\"roleDescription || ('platformThumbnail.roleDescription' | fdTranslate)\"\n [attr.aria-selected]=\"image.selected\"\n [attr.title]=\"image.label\"\n [attr.aria-label]=\"image.label\"\n >\n <fd-avatar [image]=\"image.thumbnailUrl\" size=\"m\"></fd-avatar>\n <div class=\"fdp-thumbnail-overflow\" *ngIf=\"image.overlayRequired\">+{{ mediaList.length - maxImages }}</div>\n </div>\n</div>\n","import { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostListener,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef\n} from '@fundamental-ngx/core/dialog';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ThumbnailImageComponent } from '../thumbnail-image/thumbnail-image.component';\nimport { Media } from '../thumbnail.interfaces';\n\ninterface DialogRefData {\n selectedMedia: Media;\n mediaList: Media[];\n rtl: boolean;\n maxImages: number;\n thumbnailId: string;\n}\n\n/**\n * @deprecated\n * ThumbnailDetails component is deprecated since version 0.40.0\n */\n@Component({\n selector: 'fdp-thumbnail-details',\n templateUrl: './thumbnail-details.component.html',\n styleUrls: ['./thumbnail-details.component.scss'],\n standalone: true,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n NgIf,\n ThumbnailImageComponent,\n DialogFooterComponent,\n ButtonBarComponent,\n FdTranslatePipe\n ]\n})\nexport class ThumbnailDetailsComponent implements OnInit, AfterViewInit {\n /** Reference to thumbnail images component */\n @ViewChild(forwardRef(() => ThumbnailImageComponent))\n thumbnailImage: ThumbnailImageComponent;\n\n /** @hidden Start index of currently active items */\n currentActiveSlidesStartIndex = 0;\n\n /** @hidden Make left navigation button disabled */\n leftButtonDisabled = false;\n\n /** @hidden Make right navigation button disabled */\n rightButtonDisabled = false;\n /** medialist to display */\n mediaList = this.dialogRef.data.mediaList;\n\n /** max limit */\n maxImages = this.dialogRef.data.maxImages;\n\n /** @hidden */\n constructor(public dialogRef: DialogRef, private _cdr: ChangeDetectorRef) {\n warnOnce('ThumbnailDetailsComponent is deprecated since version 0.40.0 and will be removed in next release.');\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.dialogRef.data.selectedMedia.selected = true;\n this.currentActiveSlidesStartIndex = this.mediaList.indexOf(this.dialogRef.data.selectedMedia);\n this._buttonVisibility();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.currentActiveSlidesStartIndex = this.mediaList.indexOf(this.dialogRef.data.selectedMedia);\n if (this.mediaList.length > 0) {\n this._buttonVisibility();\n } else {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = true;\n this._cdr.detectChanges();\n }\n }\n\n /** Transitions to the previous image in the thumbnail. */\n previous(): void {\n if (this.currentActiveSlidesStartIndex <= 0) {\n return;\n }\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex - 1;\n this.dialogRef.data.selectedMedia = this.mediaList[this.currentActiveSlidesStartIndex];\n const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();\n thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();\n this.mediaList.forEach((item) => (item.selected = false));\n this.mediaList[this.currentActiveSlidesStartIndex].selected = true;\n this._cdr.detectChanges();\n this._buttonVisibility();\n }\n\n /** Transitions to the next image in the thumbnail. */\n next(): void {\n if (this.currentActiveSlidesStartIndex >= this.dialogRef.data.mediaList.length - 1) {\n return;\n }\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex + 1;\n this.dialogRef.data.selectedMedia = this.mediaList[this.currentActiveSlidesStartIndex];\n const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();\n thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();\n this.mediaList.forEach((item) => (item.selected = false));\n this.mediaList[this.currentActiveSlidesStartIndex].selected = true;\n this._cdr.detectChanges();\n this._buttonVisibility();\n }\n\n /** handles click on thumbnail images */\n thumbnailClickHandle(selectedmedia: Media): void {\n this.dialogRef.data.selectedMedia = selectedmedia;\n this.currentActiveSlidesStartIndex = this.mediaList.indexOf(this.dialogRef.data.selectedMedia);\n this._buttonVisibility();\n }\n\n /** Close dialog */\n closeDialog(): void {\n if (this.mediaList.length > this.maxImages) {\n this.dialogRef.data.mediaList[this.maxImages - 1].overlayRequired = true;\n }\n this.dialogRef.close();\n }\n\n /** @hidden Transitions to the next image in the thumbnail */\n @HostListener('keydown.arrowright', ['$event'])\n onKeydownArrowRight(event: KeyboardEvent): void {\n event.preventDefault();\n this.dialogRef.data.rtl ? this.previous() : this.next();\n }\n\n /** @hidden Transitions to the previous image in the thumbnail*/\n @HostListener('keydown.arrowleft', ['$event'])\n onKeydownArrowLeft(event: KeyboardEvent): void {\n event.preventDefault();\n this.dialogRef.data.rtl ? this.next() : this.previous();\n }\n\n /** @hidden returns data for dialog*/\n get _data(): DialogRefData {\n return this.dialogRef.data;\n }\n\n /** @hidden Handles navigation button visibility */\n private _buttonVisibility(): void {\n if (this.currentActiveSlidesStartIndex === 0) {\n if (this.dialogRef.data.rtl) {\n this.leftButtonDisabled = false;\n this.rightButtonDisabled = true;\n } else {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = false;\n }\n } else if (this.currentActiveSlidesStartIndex === this.mediaList.length - 1) {\n if (this.dialogRef.data.rtl) {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = false;\n } else {\n this.leftButtonDisabled = false;\n this.rightButtonDisabled = true;\n }\n } else {\n this.leftButtonDisabled = false;\n this.rightButtonDisabled = false;\n }\n if (this.mediaList.length === 1) {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = true;\n }\n }\n}\n","<fd-dialog [attr.dir]=\"_data.rtl ? 'rtl' : 'ltr'\">\n <fd-dialog-header>\n <h5 [attr.id]=\"_data.thumbnailId\" [headerSize]=\"5\" fd-title>{{ _data.selectedMedia.title }}</h5>\n </fd-dialog-header>\n <fd-dialog-body>\n <button\n class=\"fd-button fdp-thumbnail-button--left\"\n [title]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoPreviousButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? next() : previous()\"\n [disabled]=\"leftButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n >\n <i class=\"sap-icon--slim-arrow-left\"></i>\n </button>\n <div class=\"fdp-media-container\">\n <img\n *ngIf=\"_data.selectedMedia.mediaType === 'image'\"\n class=\"fdp-dialog-media-thumbnail-img\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.thumbnailUrl\"\n alt=\"first image\"\n />\n\n <video\n *ngIf=\"_data.selectedMedia.mediaType === 'video'\"\n [attr.aria-label]=\"_data.selectedMedia.label\"\n [src]=\"_data.selectedMedia.mediaUrl\"\n controls\n >\n {{ _data.selectedMedia.alt }}\n <track\n [src]=\"_data.selectedMedia.captionFile\"\n kind=\"captions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n <track\n [src]=\"_data.selectedMedia.audioDescFile\"\n kind=\"descriptions\"\n srclang=\"en\"\n [label]=\"_data.selectedMedia.label\"\n />\n </video>\n </div>\n <button\n class=\"fd-button fdp-thumbnail-button--right\"\n [title]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n [attr.aria-label]=\"'platformThumbnail.detailsGotoNextButtonTitle' | fdTranslate\"\n (click)=\"_data.rtl ? previous() : next()\"\n [disabled]=\"rightButtonDisabled\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n >\n <i class=\"sap-icon--slim-arrow-right\"></i>\n </button>\n <fdp-thumbnail-image\n [mediaList]=\"_data.mediaList\"\n [isHorizontal]=\"true\"\n [maxImages]=\"_data.mediaList.length\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n ></fdp-thumbnail-image>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n [label]=\"'platformThumbnail.detailsDialogCloseBtnLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"closeDialog()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NgIf } from '@angular/common';\nimport { RtlService, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { ThumbnailDetailsComponent } from './thumbnail-details/thumbnail-details.component';\nimport { ThumbnailImageComponent } from './thumbnail-image/thumbnail-image.component';\nimport { Media } from './thumbnail.interfaces';\n\nlet uniqueId = 0;\n\nexport class ThumbnailClickedEvent<T extends ThumbnailComponent = ThumbnailComponent, K = Media> {\n /**\n * Thumbnail click event\n * @param source ThumbnailComponent\n * @param payload Media\n */\n constructor(\n /** The source Thumbnail Component of the event. */\n public source: T,\n /** The new value of a control. */\n public payload: K\n ) {}\n}\n/**\n * @deprecated\n * Thumbnail component is deprecated since version 0.40.0\n */\n@Component({\n selector: 'fdp-thumbnail',\n templateUrl: './thumbnail.component.html',\n styleUrls: ['./thumbnail.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, ThumbnailImageComponent]\n})\nexport class ThumbnailComponent extends BaseComponent implements OnInit {\n /** List of media objects to display. */\n @Input()\n mediaList: Media[];\n\n /** Display orientation of Thumnail component. */\n @Input()\n isHorizontal = false;\n\n /** Max images to display */\n @Input()\n maxImagesDisplay = 5;\n\n /** Event emitted upon click of a thumbnail. */\n @Output()\n thumbnailClicked: EventEmitter<ThumbnailClickedEvent> = new EventEmitter();\n\n /** Reference to thumbnail images component */\n @ViewChild(forwardRef(() => ThumbnailImageComponent))\n thumbnailImage: ThumbnailImageComponent;\n\n /** Generate unique id for the thumbnail */\n thumbnailId: string = 'fd-thumbnail-dialog-header-' + uniqueId++;\n\n /** @hidden Start index of currently active items */\n currentActiveSlidesStartIndex = 0;\n\n /** @hidden Currently selected media. */\n public selectedMedia: Media;\n\n /** @hidden */\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n private _dialogService: DialogService,\n @Optional() private readonly _rtlService: RtlService,\n private _cdr: ChangeDetectorRef\n ) {\n super(_changeDetectorRef);\n warnOnce('ThumbnailComponent is deprecated since version 0.40.0 and will be removed in next release.');\n }\n\n /** @hidden Select first media object on init. */\n ngOnInit(): void {\n if (Array.isArray(this.mediaList) && this.mediaList.length > 0) {\n this.selectedMedia = this.mediaList[0];\n }\n this._setOverlay();\n }\n\n /** @hidden */\n thumbnailClickHandle(selectedMedia: Media): void {\n this.selectedMedia = selectedMedia;\n this.thumbnailClicked.emit(this._createClickEvent(this.selectedMedia));\n }\n\n /** @hidden */\n openDialog(media: Media = this.selectedMedia): void {\n this.mediaList.forEach((item) => (item.overlayRequired = false));\n this._dialogService.open(ThumbnailDetailsComponent, {\n backdropClickCloseable: false,\n escKeyCloseable: false,\n data: {\n thumbnailId: this.thumbnailId,\n selectedMedia: media,\n mediaList: this.mediaList,\n rtl: this._isRtl(),\n maxImages: this.maxImagesDisplay\n }\n });\n }\n\n /** @hidden returns rtl value */\n _isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden Create Thumbnail click event instance */\n private _createClickEvent(value: Media): ThumbnailClickedEvent {\n return new ThumbnailClickedEvent(this, value);\n }\n\n /** @hidden */\n private _setOverlay(): void {\n if (this.mediaList.length > this.maxImagesDisplay) {\n this.mediaList[this.maxImagesDisplay - 1].overlayRequired = true;\n }\n }\n\n /** @hidden Transitions to the next image in the thumbnail */\n @HostListener('keydown.arrowright', ['$event'])\n onKeydownArrowRight(event: KeyboardEvent): void {\n event.preventDefault();\n this._isRtl() ? this.previous() : this.next();\n }\n\n /** @hidden Transitions to the previous image in the thumbnail*/\n @HostListener('keydown.arrowleft', ['$event'])\n onKeydownArrowLeft(event: KeyboardEvent): void {\n event.preventDefault();\n this._isRtl() ? this.next() : this.previous();\n }\n\n /** Transitions to the previous image in the thumbnail. */\n previous(): void {\n if (this.currentActiveSlidesStartIndex <= 0) {\n return;\n }\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex - 1;\n const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();\n thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();\n this._cdr.detectChanges();\n }\n\n /** Transitions to the next image in the thumbnail. */\n next(): void {\n if (this.currentActiveSlidesStartIndex >= this.maxImagesDisplay - 1) {\n return;\n }\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex + 1;\n const thumbnailImagesArray = this.thumbnailImage.thumbnailImages.toArray();\n thumbnailImagesArray[this.currentActiveSlidesStartIndex].nativeElement.focus();\n this._cdr.detectChanges();\n }\n}\n","<div class=\"fdp-thumbnail-container\" [class.fdp-thumbnail-container--horizontal]=\"isHorizontal\">\n <fdp-thumbnail-image\n *ngIf=\"!isHorizontal\"\n [thumbnailId]=\"thumbnailId\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n <div class=\"fdp-media-container\">\n <img\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'image'\"\n [attr.title]=\"selectedMedia.label\"\n [attr.aria-label]=\"selectedMedia.label\"\n [attr.src]=\"selectedMedia.mediaUrl\"\n [attr.alt]=\"selectedMedia.alt\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n />\n <video\n tabindex=\"0\"\n *ngIf=\"selectedMedia.mediaType === 'video'\"\n [src]=\"selectedMedia.mediaUrl\"\n (click)=\"openDialog()\"\n (keydown.space)=\"openDialog()\"\n [attr.aria-label]=\"selectedMedia.label\"\n >\n {{ selectedMedia.alt }}\n <track [src]=\"selectedMedia.captionFile\" kind=\"captions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n <track [src]=\"selectedMedia.audioDescFile\" kind=\"descriptions\" srclang=\"en\" [label]=\"selectedMedia.label\" />\n </video>\n </div>\n <fdp-thumbnail-image\n *ngIf=\"isHorizontal\"\n [mediaList]=\"mediaList\"\n [maxImages]=\"maxImagesDisplay\"\n [isHorizontal]=\"isHorizontal\"\n (thumbnailClicked)=\"thumbnailClickHandle($event)\"\n (openDetailsDialog)=\"openDialog($event)\"\n ></fdp-thumbnail-image>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ThumbnailDetailsComponent } from './thumbnail-details/thumbnail-details.component';\nimport { ThumbnailImageComponent } from './thumbnail-image/thumbnail-image.component';\nimport { ThumbnailComponent } from './thumbnail.component';\n\nconst components = [ThumbnailComponent, ThumbnailImageComponent, ThumbnailDetailsComponent];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformThumbnailModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}