@fundamental-ngx/core 0.37.0-rc.2 → 0.37.0-rc.21

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 (373) hide show
  1. package/carousel/carousel-item/carousel-item.component.d.ts +2 -3
  2. package/carousel/carousel.component.d.ts +4 -3
  3. package/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.d.ts +4 -0
  4. package/esm2020/action-bar/action-bar.component.mjs +2 -2
  5. package/esm2020/action-sheet/action-sheet.component.mjs +3 -3
  6. package/esm2020/alert/alert.component.mjs +2 -2
  7. package/esm2020/avatar/avatar.component.mjs +7 -3
  8. package/esm2020/avatar-group/avatar-group.component.mjs +2 -2
  9. package/esm2020/bar/bar.component.mjs +2 -2
  10. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  11. package/esm2020/busy-indicator/busy-indicator.component.mjs +2 -2
  12. package/esm2020/button/button.component.mjs +2 -2
  13. package/esm2020/calendar/calendar.component.mjs +2 -2
  14. package/esm2020/card/card.component.mjs +2 -2
  15. package/esm2020/carousel/carousel-item/carousel-item.component.mjs +5 -7
  16. package/esm2020/carousel/carousel.component.mjs +31 -27
  17. package/esm2020/checkbox/checkbox/checkbox.component.mjs +2 -2
  18. package/esm2020/combobox/combobox.component.mjs +1 -1
  19. package/esm2020/date-picker/date-picker.component.mjs +1 -1
  20. package/esm2020/datetime-picker/datetime-picker.component.mjs +1 -1
  21. package/esm2020/dialog/dialog.component.mjs +2 -2
  22. package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +7 -3
  23. package/esm2020/dynamic-page/dynamic-page.component.mjs +2 -2
  24. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +2 -2
  25. package/esm2020/facets/facet/facet.component.mjs +2 -2
  26. package/esm2020/feed-input/feed-input.component.mjs +2 -2
  27. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +2 -2
  28. package/esm2020/file-uploader/file-uploader.component.mjs +8 -12
  29. package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +2 -2
  30. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +2 -2
  31. package/esm2020/form/fieldset/fieldset.component.mjs +2 -2
  32. package/esm2020/form/form-control/form-control.component.mjs +2 -2
  33. package/esm2020/form/form-group/form-group.component.mjs +2 -2
  34. package/esm2020/form/form-header/form-header.component.mjs +2 -2
  35. package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +3 -3
  36. package/esm2020/form/form-item/form-item.component.mjs +2 -2
  37. package/esm2020/form/form-label/form-label.component.mjs +2 -2
  38. package/esm2020/form/form-message/form-message.component.mjs +2 -2
  39. package/esm2020/grid-list/components/grid-list/grid-list.component.mjs +2 -2
  40. package/esm2020/icon/icon.component.mjs +2 -2
  41. package/esm2020/illustrated-message/illustrated-message.component.mjs +2 -2
  42. package/esm2020/info-label/info-label.component.mjs +2 -2
  43. package/esm2020/inline-help/inline-help.directive.mjs +3 -3
  44. package/esm2020/input-group/input-group.component.mjs +2 -2
  45. package/esm2020/layout-grid/layout-grid.component.mjs +2 -2
  46. package/esm2020/layout-panel/layout-panel.component.mjs +2 -2
  47. package/esm2020/link/link.component.mjs +2 -2
  48. package/esm2020/list/list.component.mjs +2 -2
  49. package/esm2020/menu/menu-item/menu-item.component.mjs +43 -7
  50. package/esm2020/menu/menu.component.mjs +44 -33
  51. package/esm2020/menu/services/menu.service.mjs +14 -13
  52. package/esm2020/message-box/message-box.component.mjs +2 -2
  53. package/esm2020/message-page/message-page.component.mjs +2 -2
  54. package/esm2020/message-strip/message-strip.component.mjs +2 -2
  55. package/esm2020/message-toast/message-toast.component.mjs +2 -2
  56. package/esm2020/multi-input/multi-input.component.mjs +1 -1
  57. package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +1 -1
  58. package/esm2020/notification/notification/notification.component.mjs +2 -2
  59. package/esm2020/object-identifier/object-identifier.component.mjs +2 -2
  60. package/esm2020/object-marker/object-marker.component.mjs +2 -2
  61. package/esm2020/object-number/object-number.component.mjs +2 -2
  62. package/esm2020/object-status/object-status.component.mjs +2 -2
  63. package/esm2020/overflow-layout/overflow-layout.component.mjs +1 -1
  64. package/esm2020/pagination/pagination.component.mjs +2 -2
  65. package/esm2020/panel/panel.component.mjs +2 -2
  66. package/esm2020/popover/base/base-popover.class.mjs +10 -2
  67. package/esm2020/popover/popover-body/popover-body.component.mjs +36 -35
  68. package/esm2020/popover/popover-service/popover.service.mjs +3 -1
  69. package/esm2020/product-switch/product-switch/product-switch.component.mjs +1 -1
  70. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +2 -2
  71. package/esm2020/progress-indicator/progress-indicator.component.mjs +2 -2
  72. package/esm2020/quick-view/quick-view/quick-view.component.mjs +2 -2
  73. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  74. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +2 -2
  75. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +2 -2
  76. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
  77. package/esm2020/scrollbar/scrollbar.component.mjs +2 -2
  78. package/esm2020/segmented-button/segmented-button.component.mjs +2 -2
  79. package/esm2020/select/select.component.mjs +2 -2
  80. package/esm2020/shared/interfaces/popover-position.mjs +1 -28
  81. package/esm2020/shellbar/product-menu/product-menu.component.mjs +1 -1
  82. package/esm2020/shellbar/shellbar.component.mjs +2 -2
  83. package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +1 -1
  84. package/esm2020/side-navigation/side-navigation.component.mjs +2 -2
  85. package/esm2020/slider/slider.component.mjs +2 -2
  86. package/esm2020/split-button/split-button.component.mjs +8 -8
  87. package/esm2020/splitter/splitter.component.mjs +2 -2
  88. package/esm2020/status-indicator/status-indicator.component.mjs +2 -2
  89. package/esm2020/step-input/step-input.component.mjs +2 -2
  90. package/esm2020/switch/switch.component.mjs +2 -2
  91. package/esm2020/table/table-wrapper.component.mjs +2 -2
  92. package/esm2020/table/table.component.mjs +2 -2
  93. package/esm2020/tabs/tab-list.component.mjs +2 -2
  94. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +2 -2
  95. package/esm2020/text/text.component.mjs +2 -2
  96. package/esm2020/tile/tile.component.mjs +2 -2
  97. package/esm2020/time/time.component.mjs +2 -2
  98. package/esm2020/time-picker/time-picker.component.mjs +1 -1
  99. package/esm2020/title/title.component.mjs +2 -2
  100. package/esm2020/token/token.component.mjs +2 -2
  101. package/esm2020/token/tokenizer.component.mjs +2 -2
  102. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  103. package/esm2020/tree/tree-child.component.mjs +2 -2
  104. package/esm2020/tree/tree.component.mjs +2 -2
  105. package/esm2020/upload-collection/upload-collection.component.mjs +2 -2
  106. package/esm2020/vertical-navigation/vertical-navigation-main-navigation.component.mjs +2 -2
  107. package/esm2020/vertical-navigation/vertical-navigation.component.mjs +2 -2
  108. package/esm2020/wizard/wizard.component.mjs +2 -2
  109. package/fesm2015/fundamental-ngx-core-action-bar.mjs +2 -2
  110. package/fesm2015/fundamental-ngx-core-action-sheet.mjs +2 -2
  111. package/fesm2015/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  112. package/fesm2015/fundamental-ngx-core-alert.mjs +2 -2
  113. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +2 -2
  114. package/fesm2015/fundamental-ngx-core-avatar.mjs +6 -2
  115. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  116. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -2
  117. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  118. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  119. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +2 -2
  120. package/fesm2015/fundamental-ngx-core-button.mjs +2 -2
  121. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  122. package/fesm2015/fundamental-ngx-core-calendar.mjs +2 -2
  123. package/fesm2015/fundamental-ngx-core-card.mjs +2 -2
  124. package/fesm2015/fundamental-ngx-core-carousel.mjs +32 -30
  125. package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
  126. package/fesm2015/fundamental-ngx-core-checkbox.mjs +2 -2
  127. package/fesm2015/fundamental-ngx-core-combobox.mjs +1 -1
  128. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  129. package/fesm2015/fundamental-ngx-core-date-picker.mjs +1 -1
  130. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  131. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +1 -1
  132. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  133. package/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
  134. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +8 -4
  135. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  136. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  137. package/fesm2015/fundamental-ngx-core-facets.mjs +2 -2
  138. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -2
  139. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  140. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +2 -2
  141. package/fesm2015/fundamental-ngx-core-file-uploader.mjs +6 -10
  142. package/fesm2015/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  143. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  144. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  145. package/fesm2015/fundamental-ngx-core-form.mjs +16 -16
  146. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  147. package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
  148. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -2
  149. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  150. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -2
  151. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -2
  152. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  153. package/fesm2015/fundamental-ngx-core-inline-help.mjs +2 -2
  154. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  155. package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
  156. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +2 -2
  157. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -2
  158. package/fesm2015/fundamental-ngx-core-link.mjs +2 -2
  159. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  160. package/fesm2015/fundamental-ngx-core-list.mjs +2 -2
  161. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  162. package/fesm2015/fundamental-ngx-core-menu.mjs +99 -49
  163. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  164. package/fesm2015/fundamental-ngx-core-message-box.mjs +2 -2
  165. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -2
  166. package/fesm2015/fundamental-ngx-core-message-strip.mjs +2 -2
  167. package/fesm2015/fundamental-ngx-core-message-toast.mjs +2 -2
  168. package/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  169. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  170. package/fesm2015/fundamental-ngx-core-nested-list.mjs +1 -1
  171. package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
  172. package/fesm2015/fundamental-ngx-core-notification.mjs +2 -2
  173. package/fesm2015/fundamental-ngx-core-object-identifier.mjs +2 -2
  174. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -2
  175. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  176. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -2
  177. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -2
  178. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  179. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +1 -1
  180. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  181. package/fesm2015/fundamental-ngx-core-pagination.mjs +2 -2
  182. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -2
  183. package/fesm2015/fundamental-ngx-core-popover.mjs +47 -35
  184. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  185. package/fesm2015/fundamental-ngx-core-product-switch.mjs +3 -3
  186. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  187. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +2 -2
  188. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  189. package/fesm2015/fundamental-ngx-core-quick-view.mjs +2 -2
  190. package/fesm2015/fundamental-ngx-core-quick-view.mjs.map +1 -1
  191. package/fesm2015/fundamental-ngx-core-radio.mjs +2 -2
  192. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -2
  193. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  194. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  195. package/fesm2015/fundamental-ngx-core-scrollbar.mjs +2 -2
  196. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +2 -2
  197. package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
  198. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  199. package/fesm2015/fundamental-ngx-core-shared.mjs +1 -28
  200. package/fesm2015/fundamental-ngx-core-shared.mjs.map +1 -1
  201. package/fesm2015/fundamental-ngx-core-shellbar.mjs +4 -4
  202. package/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
  203. package/fesm2015/fundamental-ngx-core-side-navigation.mjs +2 -2
  204. package/fesm2015/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  205. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -2
  206. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  207. package/fesm2015/fundamental-ngx-core-split-button.mjs +7 -7
  208. package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  209. package/fesm2015/fundamental-ngx-core-splitter.mjs +2 -2
  210. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +2 -2
  211. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  212. package/fesm2015/fundamental-ngx-core-step-input.mjs +2 -2
  213. package/fesm2015/fundamental-ngx-core-switch.mjs +2 -2
  214. package/fesm2015/fundamental-ngx-core-table.mjs +4 -4
  215. package/fesm2015/fundamental-ngx-core-tabs.mjs +4 -4
  216. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  217. package/fesm2015/fundamental-ngx-core-text.mjs +2 -2
  218. package/fesm2015/fundamental-ngx-core-tile.mjs +2 -2
  219. package/fesm2015/fundamental-ngx-core-time-picker.mjs +1 -1
  220. package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  221. package/fesm2015/fundamental-ngx-core-time.mjs +2 -2
  222. package/fesm2015/fundamental-ngx-core-title.mjs +2 -2
  223. package/fesm2015/fundamental-ngx-core-token.mjs +4 -4
  224. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  225. package/fesm2015/fundamental-ngx-core-toolbar.mjs +2 -2
  226. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  227. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -3
  228. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  229. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +2 -2
  230. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  231. package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  232. package/fesm2015/fundamental-ngx-core-wizard.mjs +2 -2
  233. package/fesm2020/fundamental-ngx-core-action-bar.mjs +2 -2
  234. package/fesm2020/fundamental-ngx-core-action-sheet.mjs +2 -2
  235. package/fesm2020/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  236. package/fesm2020/fundamental-ngx-core-alert.mjs +2 -2
  237. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +2 -2
  238. package/fesm2020/fundamental-ngx-core-avatar.mjs +6 -2
  239. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  240. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -2
  241. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  242. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  243. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +2 -2
  244. package/fesm2020/fundamental-ngx-core-button.mjs +2 -2
  245. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  246. package/fesm2020/fundamental-ngx-core-calendar.mjs +2 -2
  247. package/fesm2020/fundamental-ngx-core-card.mjs +2 -2
  248. package/fesm2020/fundamental-ngx-core-carousel.mjs +32 -30
  249. package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
  250. package/fesm2020/fundamental-ngx-core-checkbox.mjs +2 -2
  251. package/fesm2020/fundamental-ngx-core-combobox.mjs +1 -1
  252. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  253. package/fesm2020/fundamental-ngx-core-date-picker.mjs +1 -1
  254. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  255. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +1 -1
  256. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  257. package/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
  258. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +8 -4
  259. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  260. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  261. package/fesm2020/fundamental-ngx-core-facets.mjs +2 -2
  262. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -2
  263. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  264. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +2 -2
  265. package/fesm2020/fundamental-ngx-core-file-uploader.mjs +6 -10
  266. package/fesm2020/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  267. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  268. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  269. package/fesm2020/fundamental-ngx-core-form.mjs +16 -16
  270. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  271. package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
  272. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -2
  273. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  274. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -2
  275. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -2
  276. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  277. package/fesm2020/fundamental-ngx-core-inline-help.mjs +2 -2
  278. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  279. package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
  280. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +2 -2
  281. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -2
  282. package/fesm2020/fundamental-ngx-core-link.mjs +2 -2
  283. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  284. package/fesm2020/fundamental-ngx-core-list.mjs +2 -2
  285. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  286. package/fesm2020/fundamental-ngx-core-menu.mjs +97 -49
  287. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  288. package/fesm2020/fundamental-ngx-core-message-box.mjs +2 -2
  289. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -2
  290. package/fesm2020/fundamental-ngx-core-message-strip.mjs +2 -2
  291. package/fesm2020/fundamental-ngx-core-message-toast.mjs +2 -2
  292. package/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  293. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  294. package/fesm2020/fundamental-ngx-core-nested-list.mjs +1 -1
  295. package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
  296. package/fesm2020/fundamental-ngx-core-notification.mjs +2 -2
  297. package/fesm2020/fundamental-ngx-core-object-identifier.mjs +2 -2
  298. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -2
  299. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  300. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -2
  301. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -2
  302. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  303. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +1 -1
  304. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  305. package/fesm2020/fundamental-ngx-core-pagination.mjs +2 -2
  306. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -2
  307. package/fesm2020/fundamental-ngx-core-popover.mjs +47 -35
  308. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  309. package/fesm2020/fundamental-ngx-core-product-switch.mjs +3 -3
  310. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  311. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +2 -2
  312. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  313. package/fesm2020/fundamental-ngx-core-quick-view.mjs +2 -2
  314. package/fesm2020/fundamental-ngx-core-quick-view.mjs.map +1 -1
  315. package/fesm2020/fundamental-ngx-core-radio.mjs +2 -2
  316. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -2
  317. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  318. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  319. package/fesm2020/fundamental-ngx-core-scrollbar.mjs +2 -2
  320. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +2 -2
  321. package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
  322. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  323. package/fesm2020/fundamental-ngx-core-shared.mjs +1 -28
  324. package/fesm2020/fundamental-ngx-core-shared.mjs.map +1 -1
  325. package/fesm2020/fundamental-ngx-core-shellbar.mjs +4 -4
  326. package/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
  327. package/fesm2020/fundamental-ngx-core-side-navigation.mjs +2 -2
  328. package/fesm2020/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  329. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -2
  330. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  331. package/fesm2020/fundamental-ngx-core-split-button.mjs +7 -7
  332. package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  333. package/fesm2020/fundamental-ngx-core-splitter.mjs +2 -2
  334. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +2 -2
  335. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  336. package/fesm2020/fundamental-ngx-core-step-input.mjs +2 -2
  337. package/fesm2020/fundamental-ngx-core-switch.mjs +2 -2
  338. package/fesm2020/fundamental-ngx-core-table.mjs +4 -4
  339. package/fesm2020/fundamental-ngx-core-tabs.mjs +4 -4
  340. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  341. package/fesm2020/fundamental-ngx-core-text.mjs +2 -2
  342. package/fesm2020/fundamental-ngx-core-tile.mjs +2 -2
  343. package/fesm2020/fundamental-ngx-core-time-picker.mjs +1 -1
  344. package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  345. package/fesm2020/fundamental-ngx-core-time.mjs +2 -2
  346. package/fesm2020/fundamental-ngx-core-title.mjs +2 -2
  347. package/fesm2020/fundamental-ngx-core-token.mjs +4 -4
  348. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  349. package/fesm2020/fundamental-ngx-core-toolbar.mjs +2 -2
  350. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  351. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -3
  352. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  353. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +2 -2
  354. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  355. package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  356. package/fesm2020/fundamental-ngx-core-wizard.mjs +2 -2
  357. package/file-uploader/file-uploader.component.d.ts +0 -2
  358. package/fundamental-ngx-core-v0.37.0-rc.21.tgz +0 -0
  359. package/menu/menu-item/menu-item.component.d.ts +27 -7
  360. package/menu/menu.component.d.ts +15 -10
  361. package/menu/services/menu.service.d.ts +3 -3
  362. package/package.json +11 -8
  363. package/popover/base/base-popover.class.d.ts +5 -1
  364. package/popover/popover-body/popover-body.component.d.ts +7 -10
  365. package/schematics/migrations/migration-0-37/index.js +14 -1
  366. package/schematics/migrations/migration-0-37/index.js.map +1 -1
  367. package/schematics/migrations/migration-0-37/index.ts +18 -1
  368. package/schematics/ng-add/index.js +6 -6
  369. package/schematics/ng-add/index.js.map +1 -1
  370. package/schematics/ng-add/index.ts +4 -4
  371. package/shared/interfaces/popover-position.d.ts +0 -8
  372. package/styles/fundamental-ngx-core.css +1 -0
  373. package/fundamental-ngx-core-v0.37.0-rc.2.tgz +0 -0
@@ -285,14 +285,14 @@ export class PaginationComponent {
285
285
  }
286
286
  }
287
287
  PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PaginationComponent, deps: [{ token: i1.PaginationService }, { token: i0.ChangeDetectorRef }, { token: i2.LiveAnnouncer }, { token: FD_LANGUAGE }, { token: i3.RtlService, optional: true }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
288
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: PaginationComponent, selector: "fd-pagination", inputs: { id: "id", mobile: "mobile", totalItems: "totalItems", currentPage: "currentPage", itemsPerPage: "itemsPerPage", itemsPerPageTemplate: "itemsPerPageTemplate", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", displayTotalItems: "displayTotalItems", displayTextTemplate: "displayTextTemplate", firstLabel: "firstLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", lastLabel: "lastLabel", ariaLabel: "ariaLabel", pageLabel: "pageLabel", currentPageAriaLabel: "currentPageAriaLabel", labelBeforeInputMobile: "labelBeforeInputMobile", labelAfterInputMobile: "labelAfterInputMobile", inputAriaLabel: "inputAriaLabel" }, outputs: { pageChangeStart: "pageChangeStart", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class.fd-pagination--mobile": "mobile", "class.fd-pagination--short": "_lastPage <= 9" }, classAttribute: "fd-pagination" }, providers: [PaginationService, contentDensityObserverProviders()], viewQueries: [{ propertyName: "_focusKeyManagerList", first: true, predicate: FocusKeyManagerListDirective, descendants: true }, { propertyName: "_pageInputElement", first: true, predicate: ["pageInputElement"], descendants: true, read: ElementRef }, { propertyName: "_currentPageElement", first: true, predicate: ["currentPageElement"], descendants: true, read: ElementRef }, { propertyName: "_focusKeyManagerItems", predicate: FocusKeyManagerItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalItems\">\n <div class=\"fd-pagination__per-page\" *ngIf=\"itemsPerPageTemplate || itemsPerPageOptions?.length\">\n <!-- note, that we're checking for the length of \"itemsPerPageOptions\", but using \"_displayedPageSizeOptions\" as \"pageOptions\" -->\n <!-- these 2 can be different, as \"_displayedPageSizeOptions\" may also include \"itemsPerPage\" if it's not included in options -->\n <ng-container\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-container>\n </div>\n\n <nav\n fd-focus-key-manager-list\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"ariaLabel || ('corePagination.ariaLabel' | fdTranslate)\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n *ngIf=\"totalItems >= itemsPerPage\"\n >\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n [title]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"goToFirstPage()\"\n (keyup.enter)=\"goToFirstPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToFirstPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n [title]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"previousPage()\"\n (keyup.enter)=\"previousPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"previousPage()\"\n ></button>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesBeforeCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n #currentPageElement\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel\n ? pageLabel(currentPage)\n : ('corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage })\n \"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelBeforeInputMobile\n ? labelBeforeInputMobile + ':'\n : ('corePagination.labelBeforeInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <input\n #pageInputElement\n fd-focus-key-manager-item\n fd-form-control\n fd-only-digits\n required\n size=\"1\"\n min=\"1\"\n type=\"number\"\n [max]=\"_lastPage\"\n [state]=\"currentPageModel.invalid ? 'error' : null\"\n class=\"fd-pagination__input\"\n #currentPageModel=\"ngModel\"\n [ngModel]=\"currentPage\"\n [attr.aria-label]=\"\n inputAriaLabel\n ? inputAriaLabel(currentPage, totalItems)\n : ('corePagination.inputAriaLabel'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n \"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelAfterInputMobile\n ? labelAfterInputMobile(_lastPage)\n : ('corePagination.labelAfterInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesAfterCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n [title]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"nextPage()\"\n (keyup.enter)=\"nextPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"nextPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n [title]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"goToLastPage()\"\n (keyup.enter)=\"goToLastPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToLastPage()\"\n ></button>\n </nav>\n\n <span *ngIf=\"displayTotalItems\" class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-container\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-container>\n </span>\n</ng-container>\n\n<ng-template #more>\n <span\n class=\"fd-pagination__more\"\n [class.fd-pagination__more--compact]=\"_contentDensityObserver.isCompact$ | async\"\n aria-hidden=\"true\"\n aria-label=\"...\"\n role=\"presentation\"\n ></span>\n</ng-template>\n\n<ng-template #total let-showing=\"showing\">\n <span fd-form-label class=\"fd-pagination__total-label\">\n {{ 'corePagination.totalResultsLabel' | fdTranslate: _currentShowing }}\n </span>\n</ng-template>\n\n<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">\n {{ itemsPerPageLabel ? itemsPerPageLabel + ':' : ('corePagination.itemsPerPageLabel' | fdTranslate) }}\n </label>\n\n <fd-select class=\"fd-pagination__per-page-select\" [value]=\"itemsPerPage\" (valueChange)=\"_onChangePerPage($event)\">\n <li fd-option *ngFor=\"let option of pageOptions\" [value]=\"option\">{{ option }}</li>\n </fd-select>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.1-rc.16\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-pagination\n*/.fd-pagination{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem;width:100%}.fd-pagination:after,.fd-pagination:before{box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__per-page:after,.fd-pagination__per-page:before{box-sizing:inherit;font-size:inherit}.fd-pagination__nav{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 auto;padding:0}.fd-pagination__nav:after,.fd-pagination__nav:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__more:after,.fd-pagination__more:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\"...\";display:block;text-align:center;width:2.25rem}.fd-pagination__more--compact:before{width:2rem}.fd-pagination .fd-pagination__button,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__link,.fd-pagination__more{margin-left:.125rem;margin-right:.125rem}.fd-pagination .fd-pagination__input{-moz-appearance:textfield;min-width:2.5rem;text-align:center;width:auto}.fd-pagination .fd-pagination__input::-webkit-inner-spin-button,.fd-pagination .fd-pagination__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{-ms-flex-negative:0;align-self:center;flex-shrink:0}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin:0}.fd-pagination .fd-pagination__link.is-active{display:none}.fd-pagination .fd-pagination__button [class*=sap-icon][dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__button [class*=sap-icon]{transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination--mobile .fd-pagination__link,.fd-pagination--mobile .fd-pagination__more,.fd-pagination--mobile .fd-pagination__per-page-label,.fd-pagination--mobile .fd-pagination__total{display:none}.fd-pagination--mobile .fd-pagination__button--mobile,.fd-pagination--mobile .fd-pagination__input,.fd-pagination--mobile .fd-pagination__label{display:flex}.fd-pagination--mobile .fd-pagination__link.is-active,.fd-pagination--mobile .fd-pagination__link:active{display:none}@media (max-width: 599px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}@media (min-width: 600px) and (max-width: 1023px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-pagination__label .fd-form-label,.fd-pagination__total-label .fd-form-label{margin:0}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.SelectComponent, selector: "fd-select", inputs: ["controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "extendedBodyTemplate", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i7.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i8.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i9.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i9.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "directive", type: i3.OnlyDigitsDirective, selector: "[fdOnlyDigits], [fd-only-digits]", inputs: ["decimal", "decimalSeparator"] }, { kind: "directive", type: i3.FocusKeyManagerItemDirective, selector: "[fd-focus-key-manager-item], [fdFocusKeyManagerItem]", inputs: ["initialFocus", "_tabindex"] }, { kind: "directive", type: i3.FocusKeyManagerListDirective, selector: "[fd-focus-key-manager-list], [fdFocusKeyManagerList]", inputs: ["orientation", "skipPredicate"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true });
288
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: PaginationComponent, selector: "fd-pagination", inputs: { id: "id", mobile: "mobile", totalItems: "totalItems", currentPage: "currentPage", itemsPerPage: "itemsPerPage", itemsPerPageTemplate: "itemsPerPageTemplate", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", displayTotalItems: "displayTotalItems", displayTextTemplate: "displayTextTemplate", firstLabel: "firstLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", lastLabel: "lastLabel", ariaLabel: "ariaLabel", pageLabel: "pageLabel", currentPageAriaLabel: "currentPageAriaLabel", labelBeforeInputMobile: "labelBeforeInputMobile", labelAfterInputMobile: "labelAfterInputMobile", inputAriaLabel: "inputAriaLabel" }, outputs: { pageChangeStart: "pageChangeStart", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class.fd-pagination--mobile": "mobile", "class.fd-pagination--short": "_lastPage <= 9" }, classAttribute: "fd-pagination" }, providers: [PaginationService, contentDensityObserverProviders()], viewQueries: [{ propertyName: "_focusKeyManagerList", first: true, predicate: FocusKeyManagerListDirective, descendants: true }, { propertyName: "_pageInputElement", first: true, predicate: ["pageInputElement"], descendants: true, read: ElementRef }, { propertyName: "_currentPageElement", first: true, predicate: ["currentPageElement"], descendants: true, read: ElementRef }, { propertyName: "_focusKeyManagerItems", predicate: FocusKeyManagerItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalItems\">\n <div class=\"fd-pagination__per-page\" *ngIf=\"itemsPerPageTemplate || itemsPerPageOptions?.length\">\n <!-- note, that we're checking for the length of \"itemsPerPageOptions\", but using \"_displayedPageSizeOptions\" as \"pageOptions\" -->\n <!-- these 2 can be different, as \"_displayedPageSizeOptions\" may also include \"itemsPerPage\" if it's not included in options -->\n <ng-container\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-container>\n </div>\n\n <nav\n fd-focus-key-manager-list\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"ariaLabel || ('corePagination.ariaLabel' | fdTranslate)\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n *ngIf=\"totalItems >= itemsPerPage\"\n >\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n [title]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"goToFirstPage()\"\n (keyup.enter)=\"goToFirstPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToFirstPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n [title]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"previousPage()\"\n (keyup.enter)=\"previousPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"previousPage()\"\n ></button>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesBeforeCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n #currentPageElement\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel\n ? pageLabel(currentPage)\n : ('corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage })\n \"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelBeforeInputMobile\n ? labelBeforeInputMobile + ':'\n : ('corePagination.labelBeforeInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <input\n #pageInputElement\n fd-focus-key-manager-item\n fd-form-control\n fd-only-digits\n required\n size=\"1\"\n min=\"1\"\n type=\"number\"\n [max]=\"_lastPage\"\n [state]=\"currentPageModel.invalid ? 'error' : null\"\n class=\"fd-pagination__input\"\n #currentPageModel=\"ngModel\"\n [ngModel]=\"currentPage\"\n [attr.aria-label]=\"\n inputAriaLabel\n ? inputAriaLabel(currentPage, totalItems)\n : ('corePagination.inputAriaLabel'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n \"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelAfterInputMobile\n ? labelAfterInputMobile(_lastPage)\n : ('corePagination.labelAfterInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesAfterCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n [title]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"nextPage()\"\n (keyup.enter)=\"nextPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"nextPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n [title]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"goToLastPage()\"\n (keyup.enter)=\"goToLastPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToLastPage()\"\n ></button>\n </nav>\n\n <span *ngIf=\"displayTotalItems\" class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-container\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-container>\n </span>\n</ng-container>\n\n<ng-template #more>\n <span\n class=\"fd-pagination__more\"\n [class.fd-pagination__more--compact]=\"_contentDensityObserver.isCompact$ | async\"\n aria-hidden=\"true\"\n aria-label=\"...\"\n role=\"presentation\"\n ></span>\n</ng-template>\n\n<ng-template #total let-showing=\"showing\">\n <span fd-form-label class=\"fd-pagination__total-label\">\n {{ 'corePagination.totalResultsLabel' | fdTranslate: _currentShowing }}\n </span>\n</ng-template>\n\n<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">\n {{ itemsPerPageLabel ? itemsPerPageLabel + ':' : ('corePagination.itemsPerPageLabel' | fdTranslate) }}\n </label>\n\n <fd-select class=\"fd-pagination__per-page-select\" [value]=\"itemsPerPage\" (valueChange)=\"_onChangePerPage($event)\">\n <li fd-option *ngFor=\"let option of pageOptions\" [value]=\"option\">{{ option }}</li>\n </fd-select>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-pagination\n*/.fd-pagination{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem;width:100%}.fd-pagination:after,.fd-pagination:before{box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__per-page:after,.fd-pagination__per-page:before{box-sizing:inherit;font-size:inherit}.fd-pagination__nav{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 auto;padding:0}.fd-pagination__nav:after,.fd-pagination__nav:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__more:after,.fd-pagination__more:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\"...\";display:block;text-align:center;width:2.25rem}.fd-pagination__more--compact:before{width:2rem}.fd-pagination .fd-pagination__button,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__link,.fd-pagination__more{margin-left:.125rem;margin-right:.125rem}.fd-pagination .fd-pagination__input{-moz-appearance:textfield;min-width:2.5rem;text-align:center;width:auto}.fd-pagination .fd-pagination__input::-webkit-inner-spin-button,.fd-pagination .fd-pagination__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{-ms-flex-negative:0;align-self:center;flex-shrink:0}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin:0}.fd-pagination .fd-pagination__link.is-active{display:none}.fd-pagination .fd-pagination__button [class*=sap-icon][dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__button [class*=sap-icon]{transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination--mobile .fd-pagination__link,.fd-pagination--mobile .fd-pagination__more,.fd-pagination--mobile .fd-pagination__per-page-label,.fd-pagination--mobile .fd-pagination__total{display:none}.fd-pagination--mobile .fd-pagination__button--mobile,.fd-pagination--mobile .fd-pagination__input,.fd-pagination--mobile .fd-pagination__label{display:flex}.fd-pagination--mobile .fd-pagination__link.is-active,.fd-pagination--mobile .fd-pagination__link:active{display:none}@media (max-width: 599px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}@media (min-width: 600px) and (max-width: 1023px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-pagination__label .fd-form-label,.fd-pagination__total-label .fd-form-label{margin:0}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.SelectComponent, selector: "fd-select", inputs: ["controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "extendedBodyTemplate", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i7.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i8.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i9.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i9.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "directive", type: i3.OnlyDigitsDirective, selector: "[fdOnlyDigits], [fd-only-digits]", inputs: ["decimal", "decimalSeparator"] }, { kind: "directive", type: i3.FocusKeyManagerItemDirective, selector: "[fd-focus-key-manager-item], [fdFocusKeyManagerItem]", inputs: ["initialFocus", "_tabindex"] }, { kind: "directive", type: i3.FocusKeyManagerListDirective, selector: "[fd-focus-key-manager-list], [fdFocusKeyManagerList]", inputs: ["orientation", "skipPredicate"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true });
289
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PaginationComponent, decorators: [{
290
290
  type: Component,
291
291
  args: [{ selector: 'fd-pagination', providers: [PaginationService, contentDensityObserverProviders()], host: {
292
292
  class: 'fd-pagination',
293
293
  '[class.fd-pagination--mobile]': 'mobile',
294
294
  '[class.fd-pagination--short]': '_lastPage <= 9'
295
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<ng-container *ngIf=\"totalItems\">\n <div class=\"fd-pagination__per-page\" *ngIf=\"itemsPerPageTemplate || itemsPerPageOptions?.length\">\n <!-- note, that we're checking for the length of \"itemsPerPageOptions\", but using \"_displayedPageSizeOptions\" as \"pageOptions\" -->\n <!-- these 2 can be different, as \"_displayedPageSizeOptions\" may also include \"itemsPerPage\" if it's not included in options -->\n <ng-container\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-container>\n </div>\n\n <nav\n fd-focus-key-manager-list\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"ariaLabel || ('corePagination.ariaLabel' | fdTranslate)\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n *ngIf=\"totalItems >= itemsPerPage\"\n >\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n [title]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"goToFirstPage()\"\n (keyup.enter)=\"goToFirstPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToFirstPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n [title]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"previousPage()\"\n (keyup.enter)=\"previousPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"previousPage()\"\n ></button>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesBeforeCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n #currentPageElement\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel\n ? pageLabel(currentPage)\n : ('corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage })\n \"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelBeforeInputMobile\n ? labelBeforeInputMobile + ':'\n : ('corePagination.labelBeforeInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <input\n #pageInputElement\n fd-focus-key-manager-item\n fd-form-control\n fd-only-digits\n required\n size=\"1\"\n min=\"1\"\n type=\"number\"\n [max]=\"_lastPage\"\n [state]=\"currentPageModel.invalid ? 'error' : null\"\n class=\"fd-pagination__input\"\n #currentPageModel=\"ngModel\"\n [ngModel]=\"currentPage\"\n [attr.aria-label]=\"\n inputAriaLabel\n ? inputAriaLabel(currentPage, totalItems)\n : ('corePagination.inputAriaLabel'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n \"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelAfterInputMobile\n ? labelAfterInputMobile(_lastPage)\n : ('corePagination.labelAfterInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesAfterCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n [title]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"nextPage()\"\n (keyup.enter)=\"nextPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"nextPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n [title]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"goToLastPage()\"\n (keyup.enter)=\"goToLastPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToLastPage()\"\n ></button>\n </nav>\n\n <span *ngIf=\"displayTotalItems\" class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-container\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-container>\n </span>\n</ng-container>\n\n<ng-template #more>\n <span\n class=\"fd-pagination__more\"\n [class.fd-pagination__more--compact]=\"_contentDensityObserver.isCompact$ | async\"\n aria-hidden=\"true\"\n aria-label=\"...\"\n role=\"presentation\"\n ></span>\n</ng-template>\n\n<ng-template #total let-showing=\"showing\">\n <span fd-form-label class=\"fd-pagination__total-label\">\n {{ 'corePagination.totalResultsLabel' | fdTranslate: _currentShowing }}\n </span>\n</ng-template>\n\n<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">\n {{ itemsPerPageLabel ? itemsPerPageLabel + ':' : ('corePagination.itemsPerPageLabel' | fdTranslate) }}\n </label>\n\n <fd-select class=\"fd-pagination__per-page-select\" [value]=\"itemsPerPage\" (valueChange)=\"_onChangePerPage($event)\">\n <li fd-option *ngFor=\"let option of pageOptions\" [value]=\"option\">{{ option }}</li>\n </fd-select>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.1-rc.16\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-pagination\n*/.fd-pagination{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem;width:100%}.fd-pagination:after,.fd-pagination:before{box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__per-page:after,.fd-pagination__per-page:before{box-sizing:inherit;font-size:inherit}.fd-pagination__nav{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 auto;padding:0}.fd-pagination__nav:after,.fd-pagination__nav:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__more:after,.fd-pagination__more:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\"...\";display:block;text-align:center;width:2.25rem}.fd-pagination__more--compact:before{width:2rem}.fd-pagination .fd-pagination__button,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__link,.fd-pagination__more{margin-left:.125rem;margin-right:.125rem}.fd-pagination .fd-pagination__input{-moz-appearance:textfield;min-width:2.5rem;text-align:center;width:auto}.fd-pagination .fd-pagination__input::-webkit-inner-spin-button,.fd-pagination .fd-pagination__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{-ms-flex-negative:0;align-self:center;flex-shrink:0}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin:0}.fd-pagination .fd-pagination__link.is-active{display:none}.fd-pagination .fd-pagination__button [class*=sap-icon][dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__button [class*=sap-icon]{transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination--mobile .fd-pagination__link,.fd-pagination--mobile .fd-pagination__more,.fd-pagination--mobile .fd-pagination__per-page-label,.fd-pagination--mobile .fd-pagination__total{display:none}.fd-pagination--mobile .fd-pagination__button--mobile,.fd-pagination--mobile .fd-pagination__input,.fd-pagination--mobile .fd-pagination__label{display:flex}.fd-pagination--mobile .fd-pagination__link.is-active,.fd-pagination--mobile .fd-pagination__link:active{display:none}@media (max-width: 599px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}@media (min-width: 600px) and (max-width: 1023px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-pagination__label .fd-form-label,.fd-pagination__total-label .fd-form-label{margin:0}\n"] }]
295
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<ng-container *ngIf=\"totalItems\">\n <div class=\"fd-pagination__per-page\" *ngIf=\"itemsPerPageTemplate || itemsPerPageOptions?.length\">\n <!-- note, that we're checking for the length of \"itemsPerPageOptions\", but using \"_displayedPageSizeOptions\" as \"pageOptions\" -->\n <!-- these 2 can be different, as \"_displayedPageSizeOptions\" may also include \"itemsPerPage\" if it's not included in options -->\n <ng-container\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-container>\n </div>\n\n <nav\n fd-focus-key-manager-list\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"ariaLabel || ('corePagination.ariaLabel' | fdTranslate)\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n *ngIf=\"totalItems >= itemsPerPage\"\n >\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n [title]=\"firstLabel || ('corePagination.firstLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"goToFirstPage()\"\n (keyup.enter)=\"goToFirstPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToFirstPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n [title]=\"previousLabel || ('corePagination.previousLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"previousPage()\"\n (keyup.enter)=\"previousPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"previousPage()\"\n ></button>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesBeforeCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n #currentPageElement\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel\n ? pageLabel(currentPage)\n : ('corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage })\n \"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelBeforeInputMobile\n ? labelBeforeInputMobile + ':'\n : ('corePagination.labelBeforeInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <input\n #pageInputElement\n fd-focus-key-manager-item\n fd-form-control\n fd-only-digits\n required\n size=\"1\"\n min=\"1\"\n type=\"number\"\n [max]=\"_lastPage\"\n [state]=\"currentPageModel.invalid ? 'error' : null\"\n class=\"fd-pagination__input\"\n #currentPageModel=\"ngModel\"\n [ngModel]=\"currentPage\"\n [attr.aria-label]=\"\n inputAriaLabel\n ? inputAriaLabel(currentPage, totalItems)\n : ('corePagination.inputAriaLabel'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n \"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n labelAfterInputMobile\n ? labelAfterInputMobile(_lastPage)\n : ('corePagination.labelAfterInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: totalItems })\n }}\n </label>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesAfterCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"\n pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\n \"\n [title]=\"pageLabel ? pageLabel(page) : ('corePagination.pageLabel' | fdTranslate: { pageNumber: page })\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n [title]=\"nextLabel || ('corePagination.nextLabel' | fdTranslate)\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"nextPage()\"\n (keyup.enter)=\"nextPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"nextPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n [title]=\"lastLabel || ('corePagination.lastLabel' | fdTranslate)\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"goToLastPage()\"\n (keyup.enter)=\"goToLastPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToLastPage()\"\n ></button>\n </nav>\n\n <span *ngIf=\"displayTotalItems\" class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-container\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-container>\n </span>\n</ng-container>\n\n<ng-template #more>\n <span\n class=\"fd-pagination__more\"\n [class.fd-pagination__more--compact]=\"_contentDensityObserver.isCompact$ | async\"\n aria-hidden=\"true\"\n aria-label=\"...\"\n role=\"presentation\"\n ></span>\n</ng-template>\n\n<ng-template #total let-showing=\"showing\">\n <span fd-form-label class=\"fd-pagination__total-label\">\n {{ 'corePagination.totalResultsLabel' | fdTranslate: _currentShowing }}\n </span>\n</ng-template>\n\n<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">\n {{ itemsPerPageLabel ? itemsPerPageLabel + ':' : ('corePagination.itemsPerPageLabel' | fdTranslate) }}\n </label>\n\n <fd-select class=\"fd-pagination__per-page-select\" [value]=\"itemsPerPage\" (valueChange)=\"_onChangePerPage($event)\">\n <li fd-option *ngFor=\"let option of pageOptions\" [value]=\"option\">{{ option }}</li>\n </fd-select>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-pagination\n*/.fd-pagination{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem;width:100%}.fd-pagination:after,.fd-pagination:before{box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__per-page:after,.fd-pagination__per-page:before{box-sizing:inherit;font-size:inherit}.fd-pagination__nav{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 auto;padding:0}.fd-pagination__nav:after,.fd-pagination__nav:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-pagination__more:after,.fd-pagination__more:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\"...\";display:block;text-align:center;width:2.25rem}.fd-pagination__more--compact:before{width:2rem}.fd-pagination .fd-pagination__button,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__link,.fd-pagination__more{margin-left:.125rem;margin-right:.125rem}.fd-pagination .fd-pagination__input{-moz-appearance:textfield;min-width:2.5rem;text-align:center;width:auto}.fd-pagination .fd-pagination__input::-webkit-inner-spin-button,.fd-pagination .fd-pagination__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{-ms-flex-negative:0;align-self:center;flex-shrink:0}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin:0}.fd-pagination .fd-pagination__link.is-active{display:none}.fd-pagination .fd-pagination__button [class*=sap-icon][dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__button [class*=sap-icon]{transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination--mobile .fd-pagination__link,.fd-pagination--mobile .fd-pagination__more,.fd-pagination--mobile .fd-pagination__per-page-label,.fd-pagination--mobile .fd-pagination__total{display:none}.fd-pagination--mobile .fd-pagination__button--mobile,.fd-pagination--mobile .fd-pagination__input,.fd-pagination--mobile .fd-pagination__label{display:flex}.fd-pagination--mobile .fd-pagination__link.is-active,.fd-pagination--mobile .fd-pagination__link:active{display:none}@media (max-width: 599px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}@media (min-width: 600px) and (max-width: 1023px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:0;margin-right:auto}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-pagination__label .fd-form-label,.fd-pagination__total-label .fd-form-label{margin:0}\n"] }]
296
296
  }], ctorParameters: function () { return [{ type: i1.PaginationService }, { type: i0.ChangeDetectorRef }, { type: i2.LiveAnnouncer }, { type: i11.Observable, decorators: [{
297
297
  type: Inject,
298
298
  args: [FD_LANGUAGE]
@@ -67,10 +67,10 @@ export class PanelComponent {
67
67
  }
68
68
  }
69
69
  PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PanelComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ContentDensityObserver }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
70
- PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: PanelComponent, selector: "fd-panel", inputs: { class: "class", fixed: "fixed", id: "id", expandId: "expandId", expandAriaLabel: "expandAriaLabel", expandAriaLabelledBy: "expandAriaLabelledBy", expanded: "expanded" }, outputs: { expandedChange: "expandedChange" }, host: { properties: { "attr.id": "this.id" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "panelContent", first: true, predicate: PanelContentDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed\"\n [class.fd-panel--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n <div *ngIf=\"!fixed\" class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_getButtonIcon()\"\n [id]=\"expandId\"\n [class.is-expanded]=\"expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"panelContent?.id\"\n [ariaLabel]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy + ' ' + expandId\"\n [title]=\"expandAriaLabel\"\n (click)=\"toggleExpand()\"\n ></button>\n </div>\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n\n <ng-container *ngIf=\"expanded || fixed\">\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.1-rc.16\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-panel{border-radius:var(--fdPanel_Border_Radius);overflow:hidden}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-panel:after,.fd-panel:before,.fd-panel__content:after,.fd-panel__content:before,.fd-panel__expand:after,.fd-panel__expand:before,.fd-panel__header:after,.fd-panel__header:before,.fd-panel__title:after,.fd-panel__title:before{box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){margin-bottom:var(--fdPanel_Margin_Bottom)}.fd-panel__header{align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);display:flex;height:2.75rem;min-height:2.75rem;padding-right:.5rem}.fd-panel__title{-webkit-box-flex:1;-ms-flex:1;color:var(--sapGroup_TitleTextColor);flex:1;font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontHeader4Size);font-size:var(--fdPanel_Title_Font_Size)}.fd-panel__content{background-color:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);overflow:auto;padding:.625rem 1rem 1.375rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-panel__content.is-focus,.fd-panel__content:focus{outline:none;z-index:5}.fd-panel__content::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-panel__content::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-panel__content::-webkit-scrollbar-thumb:active,.fd-panel__content::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-panel__content[dir=rtl]::-webkit-scrollbar-corner,.fd-panel__content[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-panel__content::-webkit-scrollbar-corner,[dir=rtl] .fd-panel__content::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-panel__content[aria-hidden=true]{display:none}.fd-panel__expand{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;height:2.75rem;justify-content:center;min-height:2.75rem;width:2.75rem}.fd-panel__button{font-size:1rem}.fd-panel__button[dir=rtl] .sap-icon--slim-arrow-right,[dir=rtl] .fd-panel__button .sap-icon--slim-arrow-right{transform:rotate(180deg)}.fd-panel[dir=rtl] .fd-panel__header,[dir=rtl] .fd-panel .fd-panel__header{padding-left:.5rem;padding-right:0}.fd-panel--fixed .fd-panel__header{padding-left:1rem}.fd-panel--fixed .fd-panel__header[dir=rtl],[dir=rtl] .fd-panel--fixed .fd-panel__header{padding-left:.5rem;padding-right:1rem}.fd-panel--compact .fd-panel__expand,.fd-panel--compact .fd-panel__header{height:2.5rem;min-height:2.5rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: PanelComponent, selector: "fd-panel", inputs: { class: "class", fixed: "fixed", id: "id", expandId: "expandId", expandAriaLabel: "expandAriaLabel", expandAriaLabelledBy: "expandAriaLabelledBy", expanded: "expanded" }, outputs: { expandedChange: "expandedChange" }, host: { properties: { "attr.id": "this.id" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "panelContent", first: true, predicate: PanelContentDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed\"\n [class.fd-panel--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n <div *ngIf=\"!fixed\" class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_getButtonIcon()\"\n [id]=\"expandId\"\n [class.is-expanded]=\"expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"panelContent?.id\"\n [ariaLabel]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy + ' ' + expandId\"\n [title]=\"expandAriaLabel\"\n (click)=\"toggleExpand()\"\n ></button>\n </div>\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n\n <ng-container *ngIf=\"expanded || fixed\">\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-panel{border-radius:var(--fdPanel_Border_Radius);overflow:hidden}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-panel:after,.fd-panel:before,.fd-panel__content:after,.fd-panel__content:before,.fd-panel__expand:after,.fd-panel__expand:before,.fd-panel__header:after,.fd-panel__header:before,.fd-panel__title:after,.fd-panel__title:before{box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){margin-bottom:var(--fdPanel_Margin_Bottom)}.fd-panel__header{align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);display:flex;height:2.75rem;min-height:2.75rem;padding-right:.5rem}.fd-panel__title{-webkit-box-flex:1;-ms-flex:1;color:var(--sapGroup_TitleTextColor);flex:1;font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontHeader4Size);font-size:var(--fdPanel_Title_Font_Size)}.fd-panel__content{background-color:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);overflow:auto;padding:.625rem 1rem 1.375rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-panel__content.is-focus,.fd-panel__content:focus{outline:none;z-index:5}.fd-panel__content::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-panel__content::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-panel__content::-webkit-scrollbar-thumb:active,.fd-panel__content::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-panel__content[dir=rtl]::-webkit-scrollbar-corner,.fd-panel__content[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-panel__content::-webkit-scrollbar-corner,[dir=rtl] .fd-panel__content::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-panel__content[aria-hidden=true]{display:none}.fd-panel__expand{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;height:2.75rem;justify-content:center;min-height:2.75rem;width:2.75rem}.fd-panel__button{font-size:1rem}.fd-panel__button[dir=rtl] .sap-icon--slim-arrow-right,[dir=rtl] .fd-panel__button .sap-icon--slim-arrow-right{transform:rotate(180deg)}.fd-panel[dir=rtl] .fd-panel__header,[dir=rtl] .fd-panel .fd-panel__header{padding-left:.5rem;padding-right:0}.fd-panel--fixed .fd-panel__header{padding-left:1rem}.fd-panel--fixed .fd-panel__header[dir=rtl],[dir=rtl] .fd-panel--fixed .fd-panel__header{padding-left:.5rem;padding-right:1rem}.fd-panel--compact .fd-panel__expand,.fd-panel--compact .fd-panel__header{height:2.5rem;min-height:2.5rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PanelComponent, decorators: [{
72
72
  type: Component,
73
- args: [{ selector: 'fd-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed\"\n [class.fd-panel--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n <div *ngIf=\"!fixed\" class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_getButtonIcon()\"\n [id]=\"expandId\"\n [class.is-expanded]=\"expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"panelContent?.id\"\n [ariaLabel]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy + ' ' + expandId\"\n [title]=\"expandAriaLabel\"\n (click)=\"toggleExpand()\"\n ></button>\n </div>\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n\n <ng-container *ngIf=\"expanded || fixed\">\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.1-rc.16\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-panel{border-radius:var(--fdPanel_Border_Radius);overflow:hidden}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-panel:after,.fd-panel:before,.fd-panel__content:after,.fd-panel__content:before,.fd-panel__expand:after,.fd-panel__expand:before,.fd-panel__header:after,.fd-panel__header:before,.fd-panel__title:after,.fd-panel__title:before{box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){margin-bottom:var(--fdPanel_Margin_Bottom)}.fd-panel__header{align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);display:flex;height:2.75rem;min-height:2.75rem;padding-right:.5rem}.fd-panel__title{-webkit-box-flex:1;-ms-flex:1;color:var(--sapGroup_TitleTextColor);flex:1;font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontHeader4Size);font-size:var(--fdPanel_Title_Font_Size)}.fd-panel__content{background-color:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);overflow:auto;padding:.625rem 1rem 1.375rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-panel__content.is-focus,.fd-panel__content:focus{outline:none;z-index:5}.fd-panel__content::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-panel__content::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-panel__content::-webkit-scrollbar-thumb:active,.fd-panel__content::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-panel__content[dir=rtl]::-webkit-scrollbar-corner,.fd-panel__content[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-panel__content::-webkit-scrollbar-corner,[dir=rtl] .fd-panel__content::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-panel__content[aria-hidden=true]{display:none}.fd-panel__expand{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;height:2.75rem;justify-content:center;min-height:2.75rem;width:2.75rem}.fd-panel__button{font-size:1rem}.fd-panel__button[dir=rtl] .sap-icon--slim-arrow-right,[dir=rtl] .fd-panel__button .sap-icon--slim-arrow-right{transform:rotate(180deg)}.fd-panel[dir=rtl] .fd-panel__header,[dir=rtl] .fd-panel .fd-panel__header{padding-left:.5rem;padding-right:0}.fd-panel--fixed .fd-panel__header{padding-left:1rem}.fd-panel--fixed .fd-panel__header[dir=rtl],[dir=rtl] .fd-panel--fixed .fd-panel__header{padding-left:.5rem;padding-right:1rem}.fd-panel--compact .fd-panel__expand,.fd-panel--compact .fd-panel__header{height:2.5rem;min-height:2.5rem}\n"] }]
73
+ args: [{ selector: 'fd-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed\"\n [class.fd-panel--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n <div *ngIf=\"!fixed\" class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_getButtonIcon()\"\n [id]=\"expandId\"\n [class.is-expanded]=\"expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"panelContent?.id\"\n [ariaLabel]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy + ' ' + expandId\"\n [title]=\"expandAriaLabel\"\n (click)=\"toggleExpand()\"\n ></button>\n </div>\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n\n <ng-container *ngIf=\"expanded || fixed\">\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-panel{border-radius:var(--fdPanel_Border_Radius);overflow:hidden}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-panel:after,.fd-panel:before,.fd-panel__content:after,.fd-panel__content:before,.fd-panel__expand:after,.fd-panel__expand:before,.fd-panel__header:after,.fd-panel__header:before,.fd-panel__title:after,.fd-panel__title:before{box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){margin-bottom:var(--fdPanel_Margin_Bottom)}.fd-panel__header{align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);display:flex;height:2.75rem;min-height:2.75rem;padding-right:.5rem}.fd-panel__title{-webkit-box-flex:1;-ms-flex:1;color:var(--sapGroup_TitleTextColor);flex:1;font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontHeader4Size);font-size:var(--fdPanel_Title_Font_Size)}.fd-panel__content{background-color:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);overflow:auto;padding:.625rem 1rem 1.375rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-panel__content.is-focus,.fd-panel__content:focus{outline:none;z-index:5}.fd-panel__content::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-panel__content::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-panel__content::-webkit-scrollbar-thumb:active,.fd-panel__content::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-panel__content[dir=rtl]::-webkit-scrollbar-corner,.fd-panel__content[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-panel__content::-webkit-scrollbar-corner,[dir=rtl] .fd-panel__content::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-panel__content[aria-hidden=true]{display:none}.fd-panel__expand{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;height:2.75rem;justify-content:center;min-height:2.75rem;width:2.75rem}.fd-panel__button{font-size:1rem}.fd-panel__button[dir=rtl] .sap-icon--slim-arrow-right,[dir=rtl] .fd-panel__button .sap-icon--slim-arrow-right{transform:rotate(180deg)}.fd-panel[dir=rtl] .fd-panel__header,[dir=rtl] .fd-panel .fd-panel__header{padding-left:.5rem;padding-right:0}.fd-panel--fixed .fd-panel__header{padding-left:1rem}.fd-panel--fixed .fd-panel__header[dir=rtl],[dir=rtl] .fd-panel--fixed .fd-panel__header{padding-left:.5rem;padding-right:1rem}.fd-panel--compact .fd-panel__expand,.fd-panel--compact .fd-panel__header{height:2.5rem;min-height:2.5rem}\n"] }]
74
74
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.ContentDensityObserver }, { type: i2.RtlService, decorators: [{
75
75
  type: Optional
76
76
  }] }]; }, propDecorators: { class: [{
@@ -16,6 +16,10 @@ export class BasePopoverClass {
16
16
  this.additionalTriggerClass = null;
17
17
  /** Whether the popover should close when the escape key is pressed. */
18
18
  this.closeOnEscapeKey = true;
19
+ /** Whether to wrap content with fd-scrollbar directive. */
20
+ this.disableScrollbar = false;
21
+ /** Should fd-scrollbar have tabindex*/
22
+ this.tabbableScrollbar = true;
19
23
  /**
20
24
  * The placement of the popover.
21
25
  * It can be one of:
@@ -80,7 +84,7 @@ export class BasePopoverClass {
80
84
  }
81
85
  }
82
86
  BasePopoverClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BasePopoverClass, deps: [], target: i0.ɵɵFactoryTarget.Directive });
83
- BasePopoverClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: BasePopoverClass, inputs: { closeOnNavigation: "closeOnNavigation", disabled: "disabled", maxWidth: "maxWidth", noArrow: "noArrow", additionalBodyClass: "additionalBodyClass", additionalTriggerClass: "additionalTriggerClass", closeOnEscapeKey: "closeOnEscapeKey", placement: "placement", triggers: "triggers", isOpen: "isOpen", closeOnOutsideClick: "closeOnOutsideClick", focusTrapped: "focusTrapped", focusAutoCapture: "focusAutoCapture", scrollStrategy: "scrollStrategy", cdkPositions: "cdkPositions", fillControlMode: "fillControlMode", appendTo: "appendTo", fixedPosition: "fixedPosition", options: "options", addContainerClass: "addContainerClass", additionalClasses: "additionalClasses" }, outputs: { isOpenChange: "isOpenChange" }, host: { properties: { "class.fd-popover-custom--disabled": "this.disabled" } }, ngImport: i0 });
87
+ BasePopoverClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: BasePopoverClass, inputs: { closeOnNavigation: "closeOnNavigation", disabled: "disabled", maxWidth: "maxWidth", noArrow: "noArrow", additionalBodyClass: "additionalBodyClass", additionalTriggerClass: "additionalTriggerClass", closeOnEscapeKey: "closeOnEscapeKey", disableScrollbar: "disableScrollbar", tabbableScrollbar: "tabbableScrollbar", placement: "placement", triggers: "triggers", isOpen: "isOpen", closeOnOutsideClick: "closeOnOutsideClick", focusTrapped: "focusTrapped", focusAutoCapture: "focusAutoCapture", scrollStrategy: "scrollStrategy", cdkPositions: "cdkPositions", fillControlMode: "fillControlMode", appendTo: "appendTo", fixedPosition: "fixedPosition", options: "options", addContainerClass: "addContainerClass", additionalClasses: "additionalClasses" }, outputs: { isOpenChange: "isOpenChange" }, host: { properties: { "class.fd-popover-custom--disabled": "this.disabled" } }, ngImport: i0 });
84
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: BasePopoverClass, decorators: [{
85
89
  type: Directive
86
90
  }], propDecorators: { closeOnNavigation: [{
@@ -100,6 +104,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
100
104
  type: Input
101
105
  }], closeOnEscapeKey: [{
102
106
  type: Input
107
+ }], disableScrollbar: [{
108
+ type: Input
109
+ }], tabbableScrollbar: [{
110
+ type: Input
103
111
  }], placement: [{
104
112
  type: Input
105
113
  }], triggers: [{
@@ -131,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
131
139
  }], isOpenChange: [{
132
140
  type: Output
133
141
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wb3BvdmVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcG9wb3Zlci9iYXNlL2Jhc2UtcG9wb3Zlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLaEcsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVJLCtEQUErRDtRQUUvRCxzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFFekIsdUNBQXVDO1FBR3ZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsa0dBQWtHO1FBRWxHLGFBQVEsR0FBcUIsSUFBSSxDQUFDO1FBRWxDLGdEQUFnRDtRQUVoRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRWYsc0VBQXNFO1FBRXRFLHdCQUFtQixHQUFrQixJQUFJLENBQUM7UUFFMUMsc0VBQXNFO1FBRXRFLDJCQUFzQixHQUFrQixJQUFJLENBQUM7UUFFN0MsdUVBQXVFO1FBRXZFLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4Qjs7Ozs7V0FLRztRQUVILGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBRW5DOzs7Ozs7Ozs7Ozs7Ozs7V0FlRztRQUVILGFBQVEsR0FBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRCx3RUFBd0U7UUFFeEUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLG9GQUFvRjtRQUVwRix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0Isa0RBQWtEO1FBRWxELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCOzs7V0FHRztRQUVILHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qjs7Ozs7O1dBTUc7UUFFSCxtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFFN0M7Ozs7O1dBS0c7UUFFSCxpQkFBWSxHQUErQixJQUFJLENBQUM7UUFFaEQ7Ozs7O1dBS0c7UUFFSCxvQkFBZSxHQUE4QixJQUFJLENBQUM7UUFNbEQsa0ZBQWtGO1FBRWxGLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBY3RCLG1FQUFtRTtRQUVuRSxpQkFBWSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0tBQ3JFOzs2R0FoSVksZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsU0FBUzs4QkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBTU4sUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1DQUFtQztnQkFLaEQsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sc0JBQXNCO3NCQURyQixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQVVOLFNBQVM7c0JBRFIsS0FBSztnQkFvQk4sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQVFOLGdCQUFnQjtzQkFEZixLQUFLO2dCQVdOLGNBQWM7c0JBRGIsS0FBSztnQkFVTixZQUFZO3NCQURYLEtBQUs7Z0JBVU4sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQsIFBvcG92ZXJGaWxsTW9kZSwgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZVBvcG92ZXJDbGFzcyB7XG4gICAgLyoqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIHBvcG92ZXIgb24gcm91dGVyIG5hdmlnYXRpb24gc3RhcnQuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uTmF2aWdhdGlvbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlci1jdXN0b20tLWRpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIE1heGltdW0gd2lkdGggb2YgcG9wb3ZlciBib2R5IGluIHB4LCBwcmV2ZW50cyBmcm9tIG92ZXJleHRlbmRpbmcgYm9keSBieSBgZmlsbENvbnRyb2xNb2RlYCAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBoYXZlIGFuIGFycm93LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9BcnJvdyA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBjb250YWluZXIgbmVlZHMgYW4gZXh0cmEgY2xhc3MgZm9yIHN0eWxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhZGRpdGlvbmFsQm9keUNsYXNzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGNvbnRhaW5lciBuZWVkcyBhbiBleHRyYSBjbGFzcyBmb3Igc3R5bGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFkZGl0aW9uYWxUcmlnZ2VyQ2xhc3M6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGNsb3NlIHdoZW4gdGhlIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlT25Fc2NhcGVLZXkgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3Zlci5cbiAgICAgKiBJdCBjYW4gYmUgb25lIG9mOlxuICAgICAqIHRvcCwgdG9wLXN0YXJ0LCB0b3AtZW5kLCBib3R0b20sIGJvdHRvbS1zdGFydCwgYm90dG9tLWVuZCxcbiAgICAgKiByaWdodCwgcmlnaHQtc3RhcnQsIHJpZ2h0LWVuZCwgbGVmdCwgbGVmdC1zdGFydCwgbGVmdC1lbmQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRyaWdnZXIgZXZlbnRzIHRoYXQgd2lsbCBvcGVuL2Nsb3NlIHRoZSBwb3BvdmVyLlxuICAgICAqIEFjY2VwdHMgYW55IFtIVE1MIERPTSBFdmVudHNdKGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vanNyZWYvZG9tX29ial9ldmVudC5hc3ApIG9yIGEgY29uZmlnIG9iamVjdCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgZXZlbnQuXG4gICAgICogVXNpbmcgdGhlIGNvbmZpZyBvYmplY3QgYWxsb3dzIHRvIHNwZWNpZnkgd2hldGhlciBhbiBldmVudCBzaG91bGQgYXBwbHkgYm90aCBmb3Igb3BlbiBhbmQgY2xvc2UgYWN0aW9ucyBvciBvbmx5IHNvbWUgb2YgdGhlbS5cbiAgICAgKlxuICAgICAqIENvbnNpZGVyIHRoZSBmb2xsb3dpbmcgdmFsdWUgZm9yIGB0cmlnZ2Vyc2A6XG4gICAgICogYGBgXG4gICAgICogW1xuICAgICAqICAnY2xpY2snLCAvLyBiYXNpY2FsbHkgaXQncyBhbiBhbGlhcyBmb3IgXCJ7IHRyaWdnZXI6ICdjbGljaycsIG9wZW5BY3Rpb246IHRydWUsIGNsb3NlQWN0aW9uOiB0cnVlIH1cIlxuICAgICAqICB7IHRyaWdnZXI6ICdtb3VzZWVudGVyJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IGZhbHNlIH0sIC8vIFwibW91c2VlbnRlclwiIHdpbGwgb25seSBvcGVuIHRoZSBwb3BvdmVyXG4gICAgICogIHsgdHJpZ2dlcjogJ21vdXNlbGVhdmUnLCBvcGVuQWN0aW9uOiBmYWxzZSwgY2xvc2VBY3Rpb246IHRydWUgfSAvLyBcIm1vdXNlbGVhdmVcIiB3aWxsIG9ubHkgY2xvc2UgdGhlIHBvcG92ZXJcbiAgICAgKiBdXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBbJ2NsaWNrJ11cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRyaWdnZXJzOiAoc3RyaW5nIHwgVHJpZ2dlckNvbmZpZylbXSA9IFsnY2xpY2snXTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIG9wZW4uIENhbiBiZSB1c2VkIHRocm91Z2ggdHdvLXdheSBiaW5kaW5nLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNPcGVuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiBhIGNsaWNrIGlzIG1hZGUgb3V0c2lkZSBpdHMgYm91bmRhcmllcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGZvY3VzVHJhcHBlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZvY3VzVHJhcHBlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYXV0b21hdGljYWxseSBtb3ZlIGZvY3VzIGludG8gdGhlIHRyYXBwZWQgcmVnaW9uIHVwb25cbiAgICAgKiBpbml0aWFsaXphdGlvbiBhbmQgcmV0dXJuIGZvY3VzIHRvIHRoZSBwcmV2aW91cyBhY3RpdmVFbGVtZW50IHVwb24gZGVzdHJ1Y3Rpb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmb2N1c0F1dG9DYXB0dXJlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTY3JvbGwgc3RyYXRlZ3ksIHRoZXJlIGFyZSA0IGFjY2VwdGVkXG4gICAgICogLSBDbG9zZVNjcm9sbFN0cmF0ZWd5XG4gICAgICogLSBOb29wU2Nyb2xsU3RyYXRlZ3lcbiAgICAgKiAtIEJsb2NrU2Nyb2xsU3RyYXRlZ3lcbiAgICAgKiAtIFJlcG9zaXRpb25TY3JvbGxTdHJhdGVneSAoIGRlZmF1bHQgKVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIHBvc2l0aW9ucyBvcHRpb25zIGZvciBvdmVybGF5IGRlZmluZWQgYnkgYW5ndWxhciBDREsuXG4gICAgICogUG9zaXRpb25zIHdpbGwgYmUgdGFrZW4gaW4gb3JkZXIsIHNhbWUgbGlrZSBvbiBhcnJheS4gSWYgZmlyc3QgcG9zaXRpb24gcHJvdmlkZWQgZG9lc24ndCBmaXQgdG8gd2luZG93LFxuICAgICAqIGFub3RoZXIgd2lsbCBiZSB1c2VkXG4gICAgICogTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2Nkay9vdmVybGF5L2FwaVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2RrUG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQcmVzZXQgb3B0aW9ucyBmb3IgdGhlIHBvcG92ZXIgYm9keSB3aWR0aC5cbiAgICAgKiAqIGBhdC1sZWFzdGAgd2lsbCBhcHBseSBhIG1pbmltdW0gd2lkdGggdG8gdGhlIGJvZHkgZXF1aXZhbGVudCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICogKiBgZXF1YWxgIHdpbGwgYXBwbHkgYSB3aWR0aCB0byB0aGUgYm9keSBlcXVpdmFsZW50IHRvIHRoZSB3aWR0aCBvZiB0aGUgY29udHJvbC5cbiAgICAgKiAqIExlYXZlIGJsYW5rIGZvciBubyBlZmZlY3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaWxsQ29udHJvbE1vZGU6IE51bGxhYmxlPFBvcG92ZXJGaWxsTW9kZT4gPSBudWxsO1xuXG4gICAgLyoqIFRoZSBlbGVtZW50IHRvIHdoaWNoICB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZC4gQnkgZGVmYXVsdCBpdCBpcyBib2R5ICovXG4gICAgQElucHV0KClcbiAgICBhcHBlbmRUbzogTnVsbGFibGU8RWxlbWVudFJlZiB8IEVsZW1lbnQ+O1xuXG4gICAgLyoqIFdoZXRoZXIgcG9zaXRpb24gc2hvdWxkbid0IGNoYW5nZSwgd2hlbiBwb3BvdmVyIGFwcHJvYWNoIHRoZSBjb3JuZXIgb2YgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQb3NpdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgQElucHV0KClcbiAgICBvcHRpb25zO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgQElucHV0KClcbiAgICBhZGRDb250YWluZXJDbGFzcztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWRkaXRpb25hbENsYXNzZXM7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgaXNPcGVuIHByb3BlcnR5IGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgaXNPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG59XG5cbi8qKlxuICogQ29uZmlnIGZvciB0aGUgdHJpZ2dlciBldmVudCwgd2hpY2ggYWxsb3dzIHRvIHNwZWNpZnlcbiAqIHdoZXRoZXIgYW4gZXZlbnQgc2hvdWxkIGFwcGx5IGJvdGggZm9yIG9wZW4gYW5kIGNsb3NlIGFjdGlvbnMgb3Igb25seSBzb21lIG9mIHRoZW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VyQ29uZmlnIHtcbiAgICB0cmlnZ2VyOiBzdHJpbmc7XG4gICAgb3BlbkFjdGlvbjogYm9vbGVhbjtcbiAgICBjbG9zZUFjdGlvbjogYm9vbGVhbjtcbn1cbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wb3BvdmVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcG9wb3Zlci9iYXNlL2Jhc2UtcG9wb3Zlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLaEcsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVJLCtEQUErRDtRQUUvRCxzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFFekIsdUNBQXVDO1FBR3ZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsa0dBQWtHO1FBRWxHLGFBQVEsR0FBcUIsSUFBSSxDQUFDO1FBRWxDLGdEQUFnRDtRQUVoRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRWYsc0VBQXNFO1FBRXRFLHdCQUFtQixHQUFrQixJQUFJLENBQUM7UUFFMUMsc0VBQXNFO1FBRXRFLDJCQUFzQixHQUFrQixJQUFJLENBQUM7UUFFN0MsdUVBQXVFO1FBRXZFLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QiwyREFBMkQ7UUFFM0QscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLHVDQUF1QztRQUV2QyxzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFFekI7Ozs7O1dBS0c7UUFFSCxjQUFTLEdBQXFCLElBQUksQ0FBQztRQUVuQzs7Ozs7Ozs7Ozs7Ozs7O1dBZUc7UUFFSCxhQUFRLEdBQStCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQsd0VBQXdFO1FBRXhFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixvRkFBb0Y7UUFFcEYsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGtEQUFrRDtRQUVsRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQjs7O1dBR0c7UUFFSCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekI7Ozs7OztXQU1HO1FBRUgsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBRTdDOzs7OztXQUtHO1FBRUgsaUJBQVksR0FBK0IsSUFBSSxDQUFDO1FBRWhEOzs7OztXQUtHO1FBRUgsb0JBQWUsR0FBOEIsSUFBSSxDQUFDO1FBTWxELGtGQUFrRjtRQUVsRixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQWN0QixtRUFBbUU7UUFFbkUsaUJBQVksR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQUNyRTs7NkdBeElZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFNBQVM7OEJBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQU1OLFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBS2hELFFBQVE7c0JBRFAsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBVU4sU0FBUztzQkFEUixLQUFLO2dCQW9CTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBUU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBV04sY0FBYztzQkFEYixLQUFLO2dCQVVOLFlBQVk7c0JBRFgsS0FBSztnQkFVTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBsYWNlbWVudCwgUG9wb3ZlckZpbGxNb2RlLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlUG9wb3ZlckNsYXNzIHtcbiAgICAvKiogV2hldGhlciB0byBjbG9zZSB0aGUgcG9wb3ZlciBvbiByb3V0ZXIgbmF2aWdhdGlvbiBzdGFydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlT25OYXZpZ2F0aW9uID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1wb3BvdmVyLWN1c3RvbS0tZGlzYWJsZWQnKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogTWF4aW11bSB3aWR0aCBvZiBwb3BvdmVyIGJvZHkgaW4gcHgsIHByZXZlbnRzIGZyb20gb3ZlcmV4dGVuZGluZyBib2R5IGJ5IGBmaWxsQ29udHJvbE1vZGVgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4V2lkdGg6IE51bGxhYmxlPG51bWJlcj4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGhhdmUgYW4gYXJyb3cuICovXG4gICAgQElucHV0KClcbiAgICBub0Fycm93ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGNvbnRhaW5lciBuZWVkcyBhbiBleHRyYSBjbGFzcyBmb3Igc3R5bGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgY29udGFpbmVyIG5lZWRzIGFuIGV4dHJhIGNsYXNzIGZvciBzdHlsaW5nLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWRkaXRpb25hbFRyaWdnZXJDbGFzczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgZXNjYXBlIGtleSBpcyBwcmVzc2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbkVzY2FwZUtleSA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0byB3cmFwIGNvbnRlbnQgd2l0aCBmZC1zY3JvbGxiYXIgZGlyZWN0aXZlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVNjcm9sbGJhciA9IGZhbHNlO1xuXG4gICAgLyoqIFNob3VsZCBmZC1zY3JvbGxiYXIgaGF2ZSB0YWJpbmRleCovXG4gICAgQElucHV0KClcbiAgICB0YWJiYWJsZVNjcm9sbGJhciA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyLlxuICAgICAqIEl0IGNhbiBiZSBvbmUgb2Y6XG4gICAgICogdG9wLCB0b3Atc3RhcnQsIHRvcC1lbmQsIGJvdHRvbSwgYm90dG9tLXN0YXJ0LCBib3R0b20tZW5kLFxuICAgICAqIHJpZ2h0LCByaWdodC1zdGFydCwgcmlnaHQtZW5kLCBsZWZ0LCBsZWZ0LXN0YXJ0LCBsZWZ0LWVuZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHJpZ2dlciBldmVudHMgdGhhdCB3aWxsIG9wZW4vY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAgICogQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkgb3IgYSBjb25maWcgb2JqZWN0IGZvciB0aGUgY29ycmVzcG9uZGluZyBldmVudC5cbiAgICAgKiBVc2luZyB0aGUgY29uZmlnIG9iamVjdCBhbGxvd3MgdG8gc3BlY2lmeSB3aGV0aGVyIGFuIGV2ZW50IHNob3VsZCBhcHBseSBib3RoIGZvciBvcGVuIGFuZCBjbG9zZSBhY3Rpb25zIG9yIG9ubHkgc29tZSBvZiB0aGVtLlxuICAgICAqXG4gICAgICogQ29uc2lkZXIgdGhlIGZvbGxvd2luZyB2YWx1ZSBmb3IgYHRyaWdnZXJzYDpcbiAgICAgKiBgYGBcbiAgICAgKiBbXG4gICAgICogICdjbGljaycsIC8vIGJhc2ljYWxseSBpdCdzIGFuIGFsaWFzIGZvciBcInsgdHJpZ2dlcjogJ2NsaWNrJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IHRydWUgfVwiXG4gICAgICogIHsgdHJpZ2dlcjogJ21vdXNlZW50ZXInLCBvcGVuQWN0aW9uOiB0cnVlLCBjbG9zZUFjdGlvbjogZmFsc2UgfSwgLy8gXCJtb3VzZWVudGVyXCIgd2lsbCBvbmx5IG9wZW4gdGhlIHBvcG92ZXJcbiAgICAgKiAgeyB0cmlnZ2VyOiAnbW91c2VsZWF2ZScsIG9wZW5BY3Rpb246IGZhbHNlLCBjbG9zZUFjdGlvbjogdHJ1ZSB9IC8vIFwibW91c2VsZWF2ZVwiIHdpbGwgb25seSBjbG9zZSB0aGUgcG9wb3ZlclxuICAgICAqIF1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFsnY2xpY2snXVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlcnM6IChzdHJpbmcgfCBUcmlnZ2VyQ29uZmlnKVtdID0gWydjbGljayddO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3Blbi4gQ2FuIGJlIHVzZWQgdGhyb3VnaCB0d28td2F5IGJpbmRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIGEgY2xpY2sgaXMgbWFkZSBvdXRzaWRlIGl0cyBib3VuZGFyaWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbk91dHNpZGVDbGljayA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYmUgZm9jdXNUcmFwcGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9jdXNUcmFwcGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IG1vdmUgZm9jdXMgaW50byB0aGUgdHJhcHBlZCByZWdpb24gdXBvblxuICAgICAqIGluaXRpYWxpemF0aW9uIGFuZCByZXR1cm4gZm9jdXMgdG8gdGhlIHByZXZpb3VzIGFjdGl2ZUVsZW1lbnQgdXBvbiBkZXN0cnVjdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBzdHJhdGVneSwgdGhlcmUgYXJlIDQgYWNjZXB0ZWRcbiAgICAgKiAtIENsb3NlU2Nyb2xsU3RyYXRlZ3lcbiAgICAgKiAtIE5vb3BTY3JvbGxTdHJhdGVneVxuICAgICAqIC0gQmxvY2tTY3JvbGxTdHJhdGVneVxuICAgICAqIC0gUmVwb3NpdGlvblNjcm9sbFN0cmF0ZWd5ICggZGVmYXVsdCApXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3kgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgcG9zaXRpb25zIG9wdGlvbnMgZm9yIG92ZXJsYXkgZGVmaW5lZCBieSBhbmd1bGFyIENESy5cbiAgICAgKiBQb3NpdGlvbnMgd2lsbCBiZSB0YWtlbiBpbiBvcmRlciwgc2FtZSBsaWtlIG9uIGFycmF5LiBJZiBmaXJzdCBwb3NpdGlvbiBwcm92aWRlZCBkb2Vzbid0IGZpdCB0byB3aW5kb3csXG4gICAgICogYW5vdGhlciB3aWxsIGJlIHVzZWRcbiAgICAgKiBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY2RrL292ZXJsYXkvYXBpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjZGtQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFByZXNldCBvcHRpb25zIGZvciB0aGUgcG9wb3ZlciBib2R5IHdpZHRoLlxuICAgICAqICogYGF0LWxlYXN0YCB3aWxsIGFwcGx5IGEgbWluaW11bSB3aWR0aCB0byB0aGUgYm9keSBlcXVpdmFsZW50IHRvIHRoZSB3aWR0aCBvZiB0aGUgY29udHJvbC5cbiAgICAgKiAqIGBlcXVhbGAgd2lsbCBhcHBseSBhIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogTGVhdmUgYmxhbmsgZm9yIG5vIGVmZmVjdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxDb250cm9sTW9kZTogTnVsbGFibGU8UG9wb3ZlckZpbGxNb2RlPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGVsZW1lbnQgdG8gd2hpY2ggIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkLiBCeSBkZWZhdWx0IGl0IGlzIGJvZHkgKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcGVuZFRvOiBOdWxsYWJsZTxFbGVtZW50UmVmIHwgRWxlbWVudD47XG5cbiAgICAvKiogV2hldGhlciBwb3NpdGlvbiBzaG91bGRuJ3QgY2hhbmdlLCB3aGVuIHBvcG92ZXIgYXBwcm9hY2ggdGhlIGNvcm5lciBvZiBwYWdlICovXG4gICAgQElucHV0KClcbiAgICBmaXhlZFBvc2l0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIG9wdGlvbnM7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGFkZENvbnRhaW5lckNsYXNzO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgQElucHV0KClcbiAgICBhZGRpdGlvbmFsQ2xhc3NlcztcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSBpc09wZW4gcHJvcGVydHkgY2hhbmdlcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBpc09wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbn1cblxuLyoqXG4gKiBDb25maWcgZm9yIHRoZSB0cmlnZ2VyIGV2ZW50LCB3aGljaCBhbGxvd3MgdG8gc3BlY2lmeVxuICogd2hldGhlciBhbiBldmVudCBzaG91bGQgYXBwbHkgYm90aCBmb3Igb3BlbiBhbmQgY2xvc2UgYWN0aW9ucyBvciBvbmx5IHNvbWUgb2YgdGhlbVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJDb25maWcge1xuICAgIHRyaWdnZXI6IHN0cmluZztcbiAgICBvcGVuQWN0aW9uOiBib29sZWFuO1xuICAgIGNsb3NlQWN0aW9uOiBib29sZWFuO1xufVxuIl19