@fundamental-ngx/core 0.58.2-rc.0 → 0.58.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/fesm2022/fundamental-ngx-core-action-bar.mjs +26 -26
  2. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +20 -20
  4. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +28 -28
  6. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +34 -34
  8. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-avatar.mjs +10 -10
  10. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-bar.mjs +25 -25
  12. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +10 -10
  14. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +15 -15
  16. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-button.mjs +15 -15
  18. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-calendar.mjs +40 -40
  20. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-card.mjs +130 -126
  22. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-carousel.mjs +19 -19
  24. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
  26. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-combobox.mjs +16 -16
  28. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-content-density.mjs +25 -25
  30. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -13
  32. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +13 -13
  34. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-datetime.mjs +30 -30
  36. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-dialog.mjs +64 -64
  38. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +52 -52
  40. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
  42. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-core-facets.mjs +17 -17
  44. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-core-feed-input.mjs +17 -17
  46. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  47. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -22
  48. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
  50. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  51. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +13 -13
  52. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
  54. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-form.mjs +70 -70
  56. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-formatted-text.mjs +8 -8
  58. package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  59. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +7 -7
  60. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-core-grid-list.mjs +47 -47
  62. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-icon.mjs +8 -8
  64. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +19 -19
  66. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +10 -8
  68. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-info-label.mjs +7 -7
  70. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-inline-help.mjs +7 -7
  72. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-input-group.mjs +19 -19
  74. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +17 -17
  76. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +31 -31
  78. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-link.mjs +7 -7
  80. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-list.mjs +80 -80
  82. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-menu.mjs +58 -56
  84. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-message-box.mjs +37 -37
  86. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
  88. package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-message-strip.mjs +25 -25
  90. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  91. package/fesm2022/fundamental-ngx-core-message-toast.mjs +17 -17
  92. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +19 -19
  94. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
  96. package/fesm2022/fundamental-ngx-core-mobile-mode.mjs.map +1 -1
  97. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +22 -22
  98. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  99. package/fesm2022/fundamental-ngx-core-multi-input.mjs +15 -15
  100. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  101. package/fesm2022/fundamental-ngx-core-nested-list.mjs +40 -40
  102. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  103. package/fesm2022/fundamental-ngx-core-notification.mjs +88 -88
  104. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
  106. package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -1
  107. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +11 -11
  108. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  109. package/fesm2022/fundamental-ngx-core-object-marker.mjs +7 -7
  110. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-object-number.mjs +7 -7
  112. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-object-status.mjs +7 -7
  114. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +31 -31
  116. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-pagination.mjs +11 -11
  118. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  119. package/fesm2022/fundamental-ngx-core-panel.mjs +19 -19
  120. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-popover.mjs +42 -42
  122. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-core-product-switch.mjs +13 -13
  124. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
  126. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-core-quick-view.mjs +37 -37
  128. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  129. package/fesm2022/fundamental-ngx-core-radio.mjs +7 -7
  130. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  131. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +10 -10
  132. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  133. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +10 -10
  134. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  135. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +7 -7
  136. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
  137. package/fesm2022/fundamental-ngx-core-scrollbar.mjs +7 -7
  138. package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  139. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +7 -7
  140. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  141. package/fesm2022/fundamental-ngx-core-select.mjs +20 -20
  142. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  143. package/fesm2022/fundamental-ngx-core-settings.mjs +52 -52
  144. package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
  145. package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
  146. package/fesm2022/fundamental-ngx-core-shared.mjs.map +1 -1
  147. package/fesm2022/fundamental-ngx-core-shellbar.mjs +88 -75
  148. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
  150. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-core-skeleton.mjs +12 -10
  152. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-core-slider.mjs +10 -10
  154. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
  156. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +7 -7
  158. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-core-step-input.mjs +13 -9
  160. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-switch.mjs +7 -7
  162. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-table.mjs +49 -49
  164. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-tabs.mjs +52 -52
  166. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-core-tests.mjs.map +1 -1
  168. package/fesm2022/fundamental-ngx-core-text.mjs +8 -8
  169. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  170. package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
  171. package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
  172. package/fesm2022/fundamental-ngx-core-tile.mjs +94 -94
  173. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  174. package/fesm2022/fundamental-ngx-core-time-picker.mjs +8 -8
  175. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  176. package/fesm2022/fundamental-ngx-core-time.mjs +11 -11
  177. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  178. package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
  179. package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
  180. package/fesm2022/fundamental-ngx-core-title.mjs +8 -8
  181. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  182. package/fesm2022/fundamental-ngx-core-token.mjs +19 -15
  183. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  184. package/fesm2022/fundamental-ngx-core-toolbar.mjs +47 -47
  185. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  186. package/fesm2022/fundamental-ngx-core-tree.mjs +32 -32
  187. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  188. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +37 -37
  189. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  190. package/fesm2022/fundamental-ngx-core-user-menu.mjs +64 -64
  191. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  192. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +13 -13
  193. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  194. package/fesm2022/fundamental-ngx-core-wizard.mjs +28 -28
  195. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  196. package/fesm2022/fundamental-ngx-core.mjs +4 -4
  197. package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
  198. package/package.json +113 -113
  199. package/{types/fundamental-ngx-core-shellbar.d.ts → shellbar/index.d.ts} +21 -13
  200. package/{types/fundamental-ngx-core-toolbar.d.ts → toolbar/index.d.ts} +7 -8
  201. /package/{types/fundamental-ngx-core-action-bar.d.ts → action-bar/index.d.ts} +0 -0
  202. /package/{types/fundamental-ngx-core-action-sheet.d.ts → action-sheet/index.d.ts} +0 -0
  203. /package/{types/fundamental-ngx-core-avatar.d.ts → avatar/index.d.ts} +0 -0
  204. /package/{types/fundamental-ngx-core-avatar-group.d.ts → avatar-group/index.d.ts} +0 -0
  205. /package/{types/fundamental-ngx-core-avatar-group-legacy.d.ts → avatar-group-legacy/index.d.ts} +0 -0
  206. /package/{types/fundamental-ngx-core-bar.d.ts → bar/index.d.ts} +0 -0
  207. /package/{types/fundamental-ngx-core-breadcrumb.d.ts → breadcrumb/index.d.ts} +0 -0
  208. /package/{types/fundamental-ngx-core-busy-indicator.d.ts → busy-indicator/index.d.ts} +0 -0
  209. /package/{types/fundamental-ngx-core-button.d.ts → button/index.d.ts} +0 -0
  210. /package/{types/fundamental-ngx-core-calendar.d.ts → calendar/index.d.ts} +0 -0
  211. /package/{types/fundamental-ngx-core-card.d.ts → card/index.d.ts} +0 -0
  212. /package/{types/fundamental-ngx-core-carousel.d.ts → carousel/index.d.ts} +0 -0
  213. /package/{types/fundamental-ngx-core-checkbox.d.ts → checkbox/index.d.ts} +0 -0
  214. /package/{types/fundamental-ngx-core-combobox.d.ts → combobox/index.d.ts} +0 -0
  215. /package/{types/fundamental-ngx-core-content-density.d.ts → content-density/index.d.ts} +0 -0
  216. /package/{types/fundamental-ngx-core-date-picker.d.ts → date-picker/index.d.ts} +0 -0
  217. /package/{types/fundamental-ngx-core-datetime.d.ts → datetime/index.d.ts} +0 -0
  218. /package/{types/fundamental-ngx-core-datetime-picker.d.ts → datetime-picker/index.d.ts} +0 -0
  219. /package/{types/fundamental-ngx-core-dialog.d.ts → dialog/index.d.ts} +0 -0
  220. /package/{types/fundamental-ngx-core-dynamic-page.d.ts → dynamic-page/index.d.ts} +0 -0
  221. /package/{types/fundamental-ngx-core-dynamic-side-content.d.ts → dynamic-side-content/index.d.ts} +0 -0
  222. /package/{types/fundamental-ngx-core-facets.d.ts → facets/index.d.ts} +0 -0
  223. /package/{types/fundamental-ngx-core-feed-input.d.ts → feed-input/index.d.ts} +0 -0
  224. /package/{types/fundamental-ngx-core-feed-list-item.d.ts → feed-list-item/index.d.ts} +0 -0
  225. /package/{types/fundamental-ngx-core-file-uploader.d.ts → file-uploader/index.d.ts} +0 -0
  226. /package/{types/fundamental-ngx-core-fixed-card-layout.d.ts → fixed-card-layout/index.d.ts} +0 -0
  227. /package/{types/fundamental-ngx-core-flexible-column-layout.d.ts → flexible-column-layout/index.d.ts} +0 -0
  228. /package/{types/fundamental-ngx-core-form.d.ts → form/index.d.ts} +0 -0
  229. /package/{types/fundamental-ngx-core-formatted-text.d.ts → formatted-text/index.d.ts} +0 -0
  230. /package/{types/fundamental-ngx-core-generic-tag.d.ts → generic-tag/index.d.ts} +0 -0
  231. /package/{types/fundamental-ngx-core-grid-list.d.ts → grid-list/index.d.ts} +0 -0
  232. /package/{types/fundamental-ngx-core-icon.d.ts → icon/index.d.ts} +0 -0
  233. /package/{types/fundamental-ngx-core-illustrated-message.d.ts → illustrated-message/index.d.ts} +0 -0
  234. /package/{types/fundamental-ngx-core.d.ts → index.d.ts} +0 -0
  235. /package/{types/fundamental-ngx-core-infinite-scroll.d.ts → infinite-scroll/index.d.ts} +0 -0
  236. /package/{types/fundamental-ngx-core-info-label.d.ts → info-label/index.d.ts} +0 -0
  237. /package/{types/fundamental-ngx-core-inline-help.d.ts → inline-help/index.d.ts} +0 -0
  238. /package/{types/fundamental-ngx-core-input-group.d.ts → input-group/index.d.ts} +0 -0
  239. /package/{types/fundamental-ngx-core-layout-grid.d.ts → layout-grid/index.d.ts} +0 -0
  240. /package/{types/fundamental-ngx-core-layout-panel.d.ts → layout-panel/index.d.ts} +0 -0
  241. /package/{types/fundamental-ngx-core-link.d.ts → link/index.d.ts} +0 -0
  242. /package/{types/fundamental-ngx-core-list.d.ts → list/index.d.ts} +0 -0
  243. /package/{types/fundamental-ngx-core-menu.d.ts → menu/index.d.ts} +0 -0
  244. /package/{types/fundamental-ngx-core-message-box.d.ts → message-box/index.d.ts} +0 -0
  245. /package/{types/fundamental-ngx-core-message-page.d.ts → message-page/index.d.ts} +0 -0
  246. /package/{types/fundamental-ngx-core-message-strip.d.ts → message-strip/index.d.ts} +0 -0
  247. /package/{types/fundamental-ngx-core-message-toast.d.ts → message-toast/index.d.ts} +0 -0
  248. /package/{types/fundamental-ngx-core-micro-process-flow.d.ts → micro-process-flow/index.d.ts} +0 -0
  249. /package/{types/fundamental-ngx-core-mobile-mode.d.ts → mobile-mode/index.d.ts} +0 -0
  250. /package/{types/fundamental-ngx-core-multi-combobox.d.ts → multi-combobox/index.d.ts} +0 -0
  251. /package/{types/fundamental-ngx-core-multi-input.d.ts → multi-input/index.d.ts} +0 -0
  252. /package/{types/fundamental-ngx-core-nested-list.d.ts → nested-list/index.d.ts} +0 -0
  253. /package/{types/fundamental-ngx-core-notification.d.ts → notification/index.d.ts} +0 -0
  254. /package/{types/fundamental-ngx-core-object-attribute.d.ts → object-attribute/index.d.ts} +0 -0
  255. /package/{types/fundamental-ngx-core-object-identifier.d.ts → object-identifier/index.d.ts} +0 -0
  256. /package/{types/fundamental-ngx-core-object-marker.d.ts → object-marker/index.d.ts} +0 -0
  257. /package/{types/fundamental-ngx-core-object-number.d.ts → object-number/index.d.ts} +0 -0
  258. /package/{types/fundamental-ngx-core-object-status.d.ts → object-status/index.d.ts} +0 -0
  259. /package/{types/fundamental-ngx-core-overflow-layout.d.ts → overflow-layout/index.d.ts} +0 -0
  260. /package/{types/fundamental-ngx-core-pagination.d.ts → pagination/index.d.ts} +0 -0
  261. /package/{types/fundamental-ngx-core-panel.d.ts → panel/index.d.ts} +0 -0
  262. /package/{types/fundamental-ngx-core-popover.d.ts → popover/index.d.ts} +0 -0
  263. /package/{types/fundamental-ngx-core-product-switch.d.ts → product-switch/index.d.ts} +0 -0
  264. /package/{types/fundamental-ngx-core-progress-indicator.d.ts → progress-indicator/index.d.ts} +0 -0
  265. /package/{types/fundamental-ngx-core-quick-view.d.ts → quick-view/index.d.ts} +0 -0
  266. /package/{types/fundamental-ngx-core-radio.d.ts → radio/index.d.ts} +0 -0
  267. /package/{types/fundamental-ngx-core-rating-indicator.d.ts → rating-indicator/index.d.ts} +0 -0
  268. /package/{types/fundamental-ngx-core-resizable-card-layout.d.ts → resizable-card-layout/index.d.ts} +0 -0
  269. /package/{types/fundamental-ngx-core-scroll-spy.d.ts → scroll-spy/index.d.ts} +0 -0
  270. /package/{types/fundamental-ngx-core-scrollbar.d.ts → scrollbar/index.d.ts} +0 -0
  271. /package/{types/fundamental-ngx-core-segmented-button.d.ts → segmented-button/index.d.ts} +0 -0
  272. /package/{types/fundamental-ngx-core-select.d.ts → select/index.d.ts} +0 -0
  273. /package/{types/fundamental-ngx-core-settings.d.ts → settings/index.d.ts} +0 -0
  274. /package/{types/fundamental-ngx-core-shared.d.ts → shared/index.d.ts} +0 -0
  275. /package/{types/fundamental-ngx-core-side-navigation.d.ts → side-navigation/index.d.ts} +0 -0
  276. /package/{types/fundamental-ngx-core-skeleton.d.ts → skeleton/index.d.ts} +0 -0
  277. /package/{types/fundamental-ngx-core-slider.d.ts → slider/index.d.ts} +0 -0
  278. /package/{types/fundamental-ngx-core-split-button.d.ts → split-button/index.d.ts} +0 -0
  279. /package/{types/fundamental-ngx-core-status-indicator.d.ts → status-indicator/index.d.ts} +0 -0
  280. /package/{types/fundamental-ngx-core-step-input.d.ts → step-input/index.d.ts} +0 -0
  281. /package/{types/fundamental-ngx-core-switch.d.ts → switch/index.d.ts} +0 -0
  282. /package/{types/fundamental-ngx-core-table.d.ts → table/index.d.ts} +0 -0
  283. /package/{types/fundamental-ngx-core-tabs.d.ts → tabs/index.d.ts} +0 -0
  284. /package/{types/fundamental-ngx-core-tests.d.ts → tests/index.d.ts} +0 -0
  285. /package/{types/fundamental-ngx-core-text.d.ts → text/index.d.ts} +0 -0
  286. /package/{types/fundamental-ngx-core-theming.d.ts → theming/index.d.ts} +0 -0
  287. /package/{types/fundamental-ngx-core-tile.d.ts → tile/index.d.ts} +0 -0
  288. /package/{types/fundamental-ngx-core-time.d.ts → time/index.d.ts} +0 -0
  289. /package/{types/fundamental-ngx-core-time-picker.d.ts → time-picker/index.d.ts} +0 -0
  290. /package/{types/fundamental-ngx-core-timeline.d.ts → timeline/index.d.ts} +0 -0
  291. /package/{types/fundamental-ngx-core-title.d.ts → title/index.d.ts} +0 -0
  292. /package/{types/fundamental-ngx-core-token.d.ts → token/index.d.ts} +0 -0
  293. /package/{types/fundamental-ngx-core-tree.d.ts → tree/index.d.ts} +0 -0
  294. /package/{types/fundamental-ngx-core-upload-collection.d.ts → upload-collection/index.d.ts} +0 -0
  295. /package/{types/fundamental-ngx-core-user-menu.d.ts → user-menu/index.d.ts} +0 -0
  296. /package/{types/fundamental-ngx-core-vertical-navigation.d.ts → vertical-navigation/index.d.ts} +0 -0
  297. /package/{types/fundamental-ngx-core-wizard.d.ts → wizard/index.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-pagination.mjs","sources":["../../../../libs/core/pagination/pagination.service.ts","../../../../libs/core/pagination/pagination.component.ts","../../../../libs/core/pagination/pagination.component.html","../../../../libs/core/pagination/pagination.module.ts","../../../../libs/core/pagination/fundamental-ngx-core-pagination.ts"],"sourcesContent":["import { Injectable, isDevMode } from '@angular/core';\n\nimport { Pagination } from './pagination.model';\n\n/** Constant representing the number of pages which appear before and after current page. */\nconst CORNER_DISPLAY_PAGES = 1;\nconst SIDE_CURRENT_DISPLAY_PAGES = 2;\n\n/**\n * Service that is used to retrieve all the pages, the number of pages, and to validate the pagination object.\n */\n@Injectable()\nexport class PaginationService {\n /** @hidden */\n public readonly moreElementValue = -1;\n\n /**\n * Returns a number array representing the pages of the pagination object.\n * Array length always the same and configured by CORNER_DISPLAY_PAGES & SIDE_CURRENT_DISPLAY_PAGES.\n * @param pagination An object of type *Pagination*.\n */\n getPages(pagination: Pagination): number[] {\n if (!pagination.currentPage) {\n pagination.currentPage = 1;\n }\n\n this.validate(pagination);\n\n const totalPages = this.getTotalPages(pagination);\n const pages = new Array(totalPages).fill(undefined).map((_, i) => i + 1);\n\n // +1 for current page, +2 for \"more\" elements - after start & before end pages\n const pagesToDisplay = CORNER_DISPLAY_PAGES * 2 + SIDE_CURRENT_DISPLAY_PAGES * 2 + 1 + 2;\n\n if (pages.length <= pagesToDisplay) {\n return pages;\n }\n\n const pagesBefore = pagination.currentPage - 1;\n const pagesAfter = totalPages - pagination.currentPage;\n const minimalPagesGap = Math.round(pagesToDisplay / 2);\n\n if (pagesBefore < minimalPagesGap) {\n return [\n ...pages.slice(0, pagesToDisplay - 2),\n this.moreElementValue,\n ...pages.slice(totalPages - CORNER_DISPLAY_PAGES)\n ];\n }\n\n if (pagesAfter < minimalPagesGap) {\n return [\n ...pages.slice(0, CORNER_DISPLAY_PAGES),\n this.moreElementValue,\n ...pages.slice(totalPages - pagesToDisplay + 2)\n ];\n }\n\n return [\n ...pages.slice(0, CORNER_DISPLAY_PAGES),\n this.moreElementValue,\n ...pages.slice(\n pagination.currentPage - SIDE_CURRENT_DISPLAY_PAGES - 1,\n pagination.currentPage + SIDE_CURRENT_DISPLAY_PAGES\n ),\n this.moreElementValue,\n ...pages.slice(totalPages - CORNER_DISPLAY_PAGES)\n ];\n }\n\n /**\n * Retrieves the total number of pages.\n * @param pagination An object of type *Pagination*.\n */\n getTotalPages(pagination: Pagination): number {\n if (!pagination.itemsPerPage) {\n return 0;\n }\n\n return Math.ceil(pagination.totalItems / pagination.itemsPerPage);\n }\n\n /**\n * Provides validation for the pagination object.\n * @param pagination An object of type *Pagination*.\n */\n validate(pagination: Pagination): void {\n if (isDevMode()) {\n if (isNaN(pagination.totalItems) || pagination.totalItems <= 0) {\n console.warn(\n `\"totalItems\" must be a number greater than zero but got \"${pagination.totalItems}\". This warning only appears in development mode.`\n );\n }\n\n if (isNaN(pagination.itemsPerPage!) || pagination.itemsPerPage! <= 0) {\n console.warn(\n `\"itemsPerPage\" must be a number greater than zero but got \"${pagination.itemsPerPage}\". This warning only appears in development mode.`\n );\n }\n }\n }\n}\n","import { FocusableOption, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { coerceArray, coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { FormsModule, NgModel } from '@angular/forms';\nimport { Observable, Subscription, firstValueFrom } from 'rxjs';\n\nimport { FocusKeyManagerItemDirective, FocusKeyManagerListDirective, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OnlyDigitsDirective } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormControlComponent, FormLabelComponent } from '@fundamental-ngx/core/form';\nimport { OptionComponent, SelectComponent } from '@fundamental-ngx/core/select';\nimport { FD_LANGUAGE, FdLanguage, FdTranslatePipe, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { Pagination } from './pagination.model';\nimport { PaginationService } from './pagination.service';\n\n/** Constant representing the default number of items per page. */\nconst DEFAULT_ITEMS_PER_PAGE = 10;\n\ninterface CurrentShowing {\n from: number;\n to: number;\n totalCount: number;\n}\n\nlet paginationUniqueId = 0;\n\n/**\n * The component that is used to provide navigation between paged information.\n * ```html\n * <fd-pagination\n * [totalItems]=\"50\"\n * [itemsPerPage]=\"10\"\n * [currentPage]=\"3\">\n * </fd-pagination>\n * ```\n */\n@Component({\n selector: 'fd-pagination',\n templateUrl: './pagination.component.html',\n providers: [PaginationService, contentDensityObserverProviders()],\n host: {\n class: 'fd-pagination',\n '[class.fd-pagination--mobile]': 'mobile',\n '[class.fd-pagination--short]': '_lastPage <= 9'\n },\n encapsulation: ViewEncapsulation.None,\n styleUrl: './pagination.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: true,\n imports: [\n NgTemplateOutlet,\n FocusKeyManagerListDirective,\n ButtonComponent,\n FocusKeyManagerItemDirective,\n FormLabelComponent,\n FormsModule,\n FormControlComponent,\n OnlyDigitsDirective,\n SelectComponent,\n OptionComponent,\n FdTranslatePipe\n ]\n})\nexport class PaginationComponent implements OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** @hidden */\n @ViewChild(FocusKeyManagerListDirective)\n readonly _focusKeyManagerList: FocusKeyManagerListDirective;\n\n /** @hidden */\n @ViewChildren(FocusKeyManagerItemDirective)\n readonly _focusKeyManagerItems: QueryList<FocusKeyManagerItemDirective>;\n\n /** @hidden */\n @ViewChild('pageInputElement', { read: ElementRef })\n readonly _pageInputElement: ElementRef;\n\n /** @hidden */\n @ViewChild('currentPageElement', { read: ElementRef })\n readonly _currentPageElement: ElementRef;\n\n /** Id for the pagination component. If omitted, a unique one is generated. */\n @Input()\n id: string = 'fd-pagination-' + paginationUniqueId++;\n\n /** Whether component should be shown in the mobile mode. */\n @Input({ transform: booleanAttribute })\n mobile = false;\n\n /** Represents the total number of items. */\n @Input()\n totalItems: number;\n\n /** Represents the current page number. */\n @Input()\n set currentPage(value: number) {\n this._currentPage = Math.floor(coerceNumberProperty(value, 1));\n }\n get currentPage(): number {\n return this._currentPage;\n }\n\n /** Represents the number of items per page. */\n @Input()\n set itemsPerPage(value: number) {\n value = Math.floor(coerceNumberProperty(value, DEFAULT_ITEMS_PER_PAGE));\n\n this._itemsPerPage = Math.max(value, 1);\n\n this._updateDisplayedPageSizeOptions();\n }\n get itemsPerPage(): number {\n return this._itemsPerPage;\n }\n\n /**\n * The custom template show range of item by current page of items.\n * It has higher priority than `itemsPerPageOptions` property.\n */\n @Input()\n itemsPerPageTemplate: TemplateRef<any>;\n\n /** Represents the options for items per page. */\n @Input()\n set itemsPerPageOptions(value: number[]) {\n this._itemsPerPageOptions = coerceArray<number>(value)\n .map((v) => coerceNumberProperty(v, 0))\n .map((v) => Math.floor(v))\n .filter((v) => v > 0)\n .sort((a, b) => a - b);\n\n this._updateDisplayedPageSizeOptions();\n }\n get itemsPerPageOptions(): number[] {\n return this._itemsPerPageOptions;\n }\n\n /** Whether to display the total number of items. */\n @Input()\n displayTotalItems = true;\n\n /**\n * The template show range of item by current page of items.\n * Default view: Showing {{ from }}-{{ to }} of {{ of }}\n */\n @Input()\n displayTextTemplate: TemplateRef<any>;\n\n /** Event emitted when the page is changed. */\n @Output()\n pageChangeStart = new EventEmitter<number>();\n\n /** Event emitted when items per page option is changed.*/\n @Output()\n itemsPerPageChange = new EventEmitter<number>();\n\n /** @hidden */\n _pages: number[] = [];\n\n /** @hidden */\n _pagesBeforeCurrent: number[];\n\n /** @hidden */\n _pagesAfterCurrent: number[];\n\n /**\n * Retrieves an object that represents\n * the total number of items, the current page, and the number of items per page.\n */\n get paginationObject(): Pagination {\n return {\n totalItems: this.totalItems,\n currentPage: this.currentPage,\n itemsPerPage: this.itemsPerPage\n };\n }\n\n /** @hidden */\n get _lastPage(): number {\n return this.paginationService.getTotalPages(this.paginationObject);\n }\n\n /** @hidden */\n get isFirstPage(): boolean {\n return this.currentPage === 1;\n }\n\n /** @hidden */\n get isLastPage(): boolean {\n return this.currentPage === this.paginationService.getTotalPages(this.paginationObject);\n }\n\n /** @hidden */\n get _totalPages(): number {\n return this.paginationService.getTotalPages(this.paginationObject);\n }\n\n /** @hidden */\n get _totalPagesElementId(): string {\n return this.id + '__total';\n }\n\n /** @hidden */\n get _moreElementValue(): number {\n return this.paginationService.moreElementValue;\n }\n\n /** @hidden */\n _currentShowing: CurrentShowing = {\n from: 0,\n to: 0,\n totalCount: 0\n };\n\n /** @hidden */\n _displayedPageSizeOptions: number[] = [];\n\n /** @hidden */\n private _itemsPerPage: number = DEFAULT_ITEMS_PER_PAGE;\n\n /** @hidden */\n private _itemsPerPageOptions: number[] = [];\n\n /** @hidden */\n private _currentPage = 1;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n private readonly paginationService: PaginationService,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _liveAnnouncer: LiveAnnouncer,\n @Inject(FD_LANGUAGE) private readonly _language: Observable<FdLanguage>,\n @Optional() private readonly _rtlService: RtlService,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.currentPage) {\n this.currentPage = changes.currentPage.currentValue;\n }\n if (!this.currentPage || this.currentPage < 1) {\n this.currentPage = 1;\n } else {\n const totalPages = this.paginationService.getTotalPages(this.paginationObject);\n if (this.currentPage > totalPages) {\n this.currentPage = totalPages;\n }\n }\n this._refreshPages();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._subscriptions.add(this._rtlService?.rtl.subscribe(() => this._refreshPages()));\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._focusKeyManagerList?.focusKeyManager?.withVerticalOrientation(false);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n skipItemPredicate(item: ElementRef & FocusableOption): boolean {\n return (\n getComputedStyle(item.nativeElement).display === 'none' ||\n item.nativeElement.getAttribute('disabled') === 'true'\n );\n }\n\n /**\n * Navigates to a specific page.\n * @param page The page to navigate to.\n * @param event The mouse event (optional).\n */\n goToPage(page: number, event?: Event): void {\n if (page > this._lastPage || page < 1) {\n return;\n }\n\n this._refreshPages();\n\n if (event) {\n this._focusCurrentPage();\n }\n\n this.pageChangeStart.emit(page);\n\n this._announcePage(page);\n }\n\n /** Navigates to the first page */\n goToFirstPage(): void {\n this.goToPage(1);\n }\n\n /**\n * Navigates to a previous page.\n */\n previousPage(): void {\n this.goToPage(this.currentPage - 1);\n }\n\n /**\n * Navigates to the next page.\n */\n nextPage(): void {\n this.goToPage(this.currentPage + 1);\n }\n\n /** Navigates to the last page */\n goToLastPage(): void {\n this.goToPage(this._lastPage);\n }\n\n /** @hidden */\n _onChangePerPage = (event: number): void => {\n this.itemsPerPage = event;\n this.itemsPerPageChange.emit(this.itemsPerPage);\n\n this._refreshPages();\n\n const maxPage = this._pages[this._pages.length - 1];\n if (this.currentPage > maxPage) {\n this.pageChangeStart.emit(maxPage);\n }\n };\n\n /** @hidden */\n _restoreInputValue(model: NgModel): void {\n model.reset(this.currentPage);\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _refreshPages(): void {\n const pagination = this.paginationObject;\n\n this._pages = this.paginationService.getPages(pagination);\n\n const currentPageIndex = this._pages.findIndex((page) => page === this.currentPage);\n\n this._pagesBeforeCurrent = this._pages.slice(0, currentPageIndex);\n this._pagesAfterCurrent = this._pages.slice(currentPageIndex + 1);\n\n const itemsPerPage = pagination.itemsPerPage ?? DEFAULT_ITEMS_PER_PAGE;\n\n this._currentShowing = {\n from: this.currentPage - 1 === 0 ? 1 : (this.currentPage - 1) * itemsPerPage + 1,\n to: Math.min((this.currentPage - 1) * itemsPerPage + itemsPerPage, this.totalItems),\n totalCount: this.totalItems\n };\n\n this._cdr.markForCheck();\n }\n\n /** Focus current page link/input using FocusKeyManager\n * @hidden\n */\n private _focusCurrentPage(): void {\n const currentPageNativeElement =\n getComputedStyle(this._currentPageElement.nativeElement).display === 'none'\n ? this._pageInputElement.nativeElement\n : this._currentPageElement.nativeElement;\n\n const index = this._focusKeyManagerItems\n .toArray()\n .findIndex((elem) => elem.nativeElement === currentPageNativeElement);\n\n this._focusKeyManagerList.focusItem(index);\n }\n\n /**\n * Updates the list of page size options to display to the user. Includes making sure that\n * the page size is an option and that the list is sorted.\n */\n private _updateDisplayedPageSizeOptions(): void {\n // If no page size is provided, use the first page size option or the default page size.\n if (!this.itemsPerPage) {\n this._itemsPerPage = this.itemsPerPageOptions.length ? this.itemsPerPageOptions[0] : DEFAULT_ITEMS_PER_PAGE;\n }\n\n this._displayedPageSizeOptions = this.itemsPerPageOptions?.slice() ?? [];\n\n if (!this._displayedPageSizeOptions.includes(this.itemsPerPage)) {\n this._displayedPageSizeOptions.push(this.itemsPerPage);\n }\n\n this._displayedPageSizeOptions.sort((a, b) => a - b);\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private async _announcePage(page: number): Promise<void> {\n await this._liveAnnouncer.announce(\n this._translationResolver.resolve(\n await firstValueFrom(this._language),\n 'corePagination.currentPageAriaLabel',\n {\n pageNumber: page,\n totalCount: this.totalItems\n }\n )\n );\n }\n}\n","@if (totalItems) {\n @if (itemsPerPageTemplate || itemsPerPageOptions.length) {\n <div class=\"fd-pagination__per-page\">\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-template\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-template>\n </div>\n }\n @if (totalItems >= itemsPerPage) {\n <nav\n fdkFocusKeyManagerList\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"'corePagination.ariaLabel' | fdTranslate\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n >\n <button\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"'corePagination.firstLabel' | fdTranslate\"\n [title]=\"'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 <button\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [ariaLabel]=\"'corePagination.previousLabel' | fdTranslate\"\n [title]=\"'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 <!-- Duplicated to preserve the items order for keyboard navigation -->\n @for (page of _pagesBeforeCurrent; track page) {\n @if (page !== _moreElementValue) {\n <button\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'corePagination.pageLabel' | fdTranslate: { pageNumber: page }\"\n [title]=\"'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 } @else {\n <span class=\"fd-pagination__more\" aria-hidden=\"true\" aria-label=\"...\" role=\"presentation\"></span>\n }\n }\n <button\n #currentPageElement\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage }\"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n <label fd-form-label class=\"fd-pagination__label\">\n {{ 'corePagination.labelBeforeInputMobile' | fdTranslate }}\n </label>\n <input\n #pageInputElement\n fdkFocusKeyManagerItem\n fd-form-control\n fdkOnlyDigits\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 [ariaLabel]=\"\n 'corePagination.inputAriaLabel' | fdTranslate: { pageNumber: currentPage, totalCount: _totalPages }\n \"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n <label fd-form-label class=\"fd-pagination__label\">\n {{\n 'corePagination.labelAfterInputMobile'\n | fdTranslate: { pageNumber: currentPage, totalCount: _totalPages }\n }}\n </label>\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n @for (page of _pagesAfterCurrent; track page) {\n @if (page !== _moreElementValue) {\n <button\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'corePagination.pageLabel' | fdTranslate: { pageNumber: page }\"\n [title]=\"'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 } @else {\n <span class=\"fd-pagination__more\" aria-hidden=\"true\" aria-label=\"...\" role=\"presentation\"></span>\n }\n }\n <button\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"'corePagination.nextLabel' | fdTranslate\"\n [title]=\"'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 <button\n fdkFocusKeyManagerItem\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [ariaLabel]=\"'corePagination.lastLabel' | fdTranslate\"\n [title]=\"'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 @if (displayTotalItems) {\n <span class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-template\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-template>\n </span>\n }\n}\n<ng-template #more>\n <span class=\"fd-pagination__more\" aria-hidden=\"true\" aria-label=\"...\" role=\"presentation\"></span>\n</ng-template>\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<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">\n {{ 'corePagination.itemsPerPageLabel' | fdTranslate }}\n </label>\n <fd-select class=\"fd-pagination__per-page-select\" [value]=\"itemsPerPage\" (valueChange)=\"_onChangePerPage($event)\">\n @for (option of pageOptions; track option) {\n <li fd-option [value]=\"option\">{{ option }}</li>\n }\n </fd-select>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { PaginationComponent } from './pagination.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [PaginationComponent],\n exports: [PaginationComponent]\n})\nexport class PaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-pagination.mjs","sources":["../tmp-esm2022/pagination/pagination.service.js","../tmp-esm2022/pagination/pagination.component.js","../tmp-esm2022/pagination/pagination.module.js","../tmp-esm2022/pagination/fundamental-ngx-core-pagination.js"],"sourcesContent":["import { Injectable, isDevMode } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/** Constant representing the number of pages which appear before and after current page. */\nconst CORNER_DISPLAY_PAGES = 1;\nconst SIDE_CURRENT_DISPLAY_PAGES = 2;\n/**\n * Service that is used to retrieve all the pages, the number of pages, and to validate the pagination object.\n */\nexport class PaginationService {\n constructor() {\n /** @hidden */\n this.moreElementValue = -1;\n }\n /**\n * Returns a number array representing the pages of the pagination object.\n * Array length always the same and configured by CORNER_DISPLAY_PAGES & SIDE_CURRENT_DISPLAY_PAGES.\n * @param pagination An object of type *Pagination*.\n */\n getPages(pagination) {\n if (!pagination.currentPage) {\n pagination.currentPage = 1;\n }\n this.validate(pagination);\n const totalPages = this.getTotalPages(pagination);\n const pages = new Array(totalPages).fill(undefined).map((_, i) => i + 1);\n // +1 for current page, +2 for \"more\" elements - after start & before end pages\n const pagesToDisplay = CORNER_DISPLAY_PAGES * 2 + SIDE_CURRENT_DISPLAY_PAGES * 2 + 1 + 2;\n if (pages.length <= pagesToDisplay) {\n return pages;\n }\n const pagesBefore = pagination.currentPage - 1;\n const pagesAfter = totalPages - pagination.currentPage;\n const minimalPagesGap = Math.round(pagesToDisplay / 2);\n if (pagesBefore < minimalPagesGap) {\n return [\n ...pages.slice(0, pagesToDisplay - 2),\n this.moreElementValue,\n ...pages.slice(totalPages - CORNER_DISPLAY_PAGES)\n ];\n }\n if (pagesAfter < minimalPagesGap) {\n return [\n ...pages.slice(0, CORNER_DISPLAY_PAGES),\n this.moreElementValue,\n ...pages.slice(totalPages - pagesToDisplay + 2)\n ];\n }\n return [\n ...pages.slice(0, CORNER_DISPLAY_PAGES),\n this.moreElementValue,\n ...pages.slice(pagination.currentPage - SIDE_CURRENT_DISPLAY_PAGES - 1, pagination.currentPage + SIDE_CURRENT_DISPLAY_PAGES),\n this.moreElementValue,\n ...pages.slice(totalPages - CORNER_DISPLAY_PAGES)\n ];\n }\n /**\n * Retrieves the total number of pages.\n * @param pagination An object of type *Pagination*.\n */\n getTotalPages(pagination) {\n if (!pagination.itemsPerPage) {\n return 0;\n }\n return Math.ceil(pagination.totalItems / pagination.itemsPerPage);\n }\n /**\n * Provides validation for the pagination object.\n * @param pagination An object of type *Pagination*.\n */\n validate(pagination) {\n if (isDevMode()) {\n if (isNaN(pagination.totalItems) || pagination.totalItems <= 0) {\n console.warn(`\"totalItems\" must be a number greater than zero but got \"${pagination.totalItems}\". This warning only appears in development mode.`);\n }\n if (isNaN(pagination.itemsPerPage) || pagination.itemsPerPage <= 0) {\n console.warn(`\"itemsPerPage\" must be a number greater than zero but got \"${pagination.itemsPerPage}\". This warning only appears in development mode.`);\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUl0RCw0RkFBNEY7QUFDNUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUFDL0IsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFckM7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRUksY0FBYztRQUNFLHFCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0tBdUZ6QztJQXJGRzs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFVBQXNCO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUIsVUFBVSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpFLCtFQUErRTtRQUMvRSxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsMEJBQTBCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekYsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxVQUFVLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUN2RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV2RCxJQUFJLFdBQVcsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUNoQyxPQUFPO2dCQUNILEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGdCQUFnQjtnQkFDckIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQzthQUNwRCxDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksVUFBVSxHQUFHLGVBQWUsRUFBRSxDQUFDO1lBQy9CLE9BQU87Z0JBQ0gsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGdCQUFnQjtnQkFDckIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxjQUFjLEdBQUcsQ0FBQyxDQUFDO2FBQ2xELENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTztZQUNILEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUM7WUFDdkMsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQ1YsVUFBVSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsR0FBRyxDQUFDLEVBQ3ZELFVBQVUsQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLENBQ3REO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1NBQ3BELENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLFVBQXNCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsVUFBc0I7UUFDM0IsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2QsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzdELE9BQU8sQ0FBQyxJQUFJLENBQ1IsNERBQTRELFVBQVUsQ0FBQyxVQUFVLG1EQUFtRCxDQUN2SSxDQUFDO1lBQ04sQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsWUFBYSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsSUFBSSxDQUNSLDhEQUE4RCxVQUFVLENBQUMsWUFBWSxtREFBbUQsQ0FDM0ksQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzs4R0F4RlEsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4vcGFnaW5hdGlvbi5tb2RlbCc7XG5cbi8qKiBDb25zdGFudCByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBwYWdlcyB3aGljaCBhcHBlYXIgYmVmb3JlIGFuZCBhZnRlciBjdXJyZW50IHBhZ2UuICovXG5jb25zdCBDT1JORVJfRElTUExBWV9QQUdFUyA9IDE7XG5jb25zdCBTSURFX0NVUlJFTlRfRElTUExBWV9QQUdFUyA9IDI7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGlzIHVzZWQgdG8gcmV0cmlldmUgYWxsIHRoZSBwYWdlcywgdGhlIG51bWJlciBvZiBwYWdlcywgYW5kIHRvIHZhbGlkYXRlIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25TZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyByZWFkb25seSBtb3JlRWxlbWVudFZhbHVlID0gLTE7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgbnVtYmVyIGFycmF5IHJlcHJlc2VudGluZyB0aGUgcGFnZXMgb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuICAgICAqIEFycmF5IGxlbmd0aCBhbHdheXMgdGhlIHNhbWUgYW5kIGNvbmZpZ3VyZWQgYnkgQ09STkVSX0RJU1BMQVlfUEFHRVMgJiBTSURFX0NVUlJFTlRfRElTUExBWV9QQUdFUy5cbiAgICAgKiBAcGFyYW0gcGFnaW5hdGlvbiBBbiBvYmplY3Qgb2YgdHlwZSAqUGFnaW5hdGlvbiouXG4gICAgICovXG4gICAgZ2V0UGFnZXMocGFnaW5hdGlvbjogUGFnaW5hdGlvbik6IG51bWJlcltdIHtcbiAgICAgICAgaWYgKCFwYWdpbmF0aW9uLmN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsaWRhdGUocGFnaW5hdGlvbik7XG5cbiAgICAgICAgY29uc3QgdG90YWxQYWdlcyA9IHRoaXMuZ2V0VG90YWxQYWdlcyhwYWdpbmF0aW9uKTtcbiAgICAgICAgY29uc3QgcGFnZXMgPSBuZXcgQXJyYXkodG90YWxQYWdlcykuZmlsbCh1bmRlZmluZWQpLm1hcCgoXywgaSkgPT4gaSArIDEpO1xuXG4gICAgICAgIC8vICsxIGZvciBjdXJyZW50IHBhZ2UsICsyIGZvciBcIm1vcmVcIiBlbGVtZW50cyAtIGFmdGVyIHN0YXJ0ICYgYmVmb3JlIGVuZCBwYWdlc1xuICAgICAgICBjb25zdCBwYWdlc1RvRGlzcGxheSA9IENPUk5FUl9ESVNQTEFZX1BBR0VTICogMiArIFNJREVfQ1VSUkVOVF9ESVNQTEFZX1BBR0VTICogMiArIDEgKyAyO1xuXG4gICAgICAgIGlmIChwYWdlcy5sZW5ndGggPD0gcGFnZXNUb0Rpc3BsYXkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYWdlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhZ2VzQmVmb3JlID0gcGFnaW5hdGlvbi5jdXJyZW50UGFnZSAtIDE7XG4gICAgICAgIGNvbnN0IHBhZ2VzQWZ0ZXIgPSB0b3RhbFBhZ2VzIC0gcGFnaW5hdGlvbi5jdXJyZW50UGFnZTtcbiAgICAgICAgY29uc3QgbWluaW1hbFBhZ2VzR2FwID0gTWF0aC5yb3VuZChwYWdlc1RvRGlzcGxheSAvIDIpO1xuXG4gICAgICAgIGlmIChwYWdlc0JlZm9yZSA8IG1pbmltYWxQYWdlc0dhcCkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAuLi5wYWdlcy5zbGljZSgwLCBwYWdlc1RvRGlzcGxheSAtIDIpLFxuICAgICAgICAgICAgICAgIHRoaXMubW9yZUVsZW1lbnRWYWx1ZSxcbiAgICAgICAgICAgICAgICAuLi5wYWdlcy5zbGljZSh0b3RhbFBhZ2VzIC0gQ09STkVSX0RJU1BMQVlfUEFHRVMpXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhZ2VzQWZ0ZXIgPCBtaW5pbWFsUGFnZXNHYXApIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgLi4ucGFnZXMuc2xpY2UoMCwgQ09STkVSX0RJU1BMQVlfUEFHRVMpLFxuICAgICAgICAgICAgICAgIHRoaXMubW9yZUVsZW1lbnRWYWx1ZSxcbiAgICAgICAgICAgICAgICAuLi5wYWdlcy5zbGljZSh0b3RhbFBhZ2VzIC0gcGFnZXNUb0Rpc3BsYXkgKyAyKVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5wYWdlcy5zbGljZSgwLCBDT1JORVJfRElTUExBWV9QQUdFUyksXG4gICAgICAgICAgICB0aGlzLm1vcmVFbGVtZW50VmFsdWUsXG4gICAgICAgICAgICAuLi5wYWdlcy5zbGljZShcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlIC0gU0lERV9DVVJSRU5UX0RJU1BMQVlfUEFHRVMgLSAxLFxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb24uY3VycmVudFBhZ2UgKyBTSURFX0NVUlJFTlRfRElTUExBWV9QQUdFU1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMubW9yZUVsZW1lbnRWYWx1ZSxcbiAgICAgICAgICAgIC4uLnBhZ2VzLnNsaWNlKHRvdGFsUGFnZXMgLSBDT1JORVJfRElTUExBWV9QQUdFUylcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHRvdGFsIG51bWJlciBvZiBwYWdlcy5cbiAgICAgKiBAcGFyYW0gcGFnaW5hdGlvbiBBbiBvYmplY3Qgb2YgdHlwZSAqUGFnaW5hdGlvbiouXG4gICAgICovXG4gICAgZ2V0VG90YWxQYWdlcyhwYWdpbmF0aW9uOiBQYWdpbmF0aW9uKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFwYWdpbmF0aW9uLml0ZW1zUGVyUGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHBhZ2luYXRpb24udG90YWxJdGVtcyAvIHBhZ2luYXRpb24uaXRlbXNQZXJQYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyB2YWxpZGF0aW9uIGZvciB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHBhZ2luYXRpb24gQW4gb2JqZWN0IG9mIHR5cGUgKlBhZ2luYXRpb24qLlxuICAgICAqL1xuICAgIHZhbGlkYXRlKHBhZ2luYXRpb246IFBhZ2luYXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4ocGFnaW5hdGlvbi50b3RhbEl0ZW1zKSB8fCBwYWdpbmF0aW9uLnRvdGFsSXRlbXMgPD0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgYFwidG90YWxJdGVtc1wiIG11c3QgYmUgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8gYnV0IGdvdCBcIiR7cGFnaW5hdGlvbi50b3RhbEl0ZW1zfVwiLiBUaGlzIHdhcm5pbmcgb25seSBhcHBlYXJzIGluIGRldmVsb3BtZW50IG1vZGUuYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpc05hTihwYWdpbmF0aW9uLml0ZW1zUGVyUGFnZSEpIHx8IHBhZ2luYXRpb24uaXRlbXNQZXJQYWdlISA8PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICBgXCJpdGVtc1BlclBhZ2VcIiBtdXN0IGJlIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIGJ1dCBnb3QgXCIke3BhZ2luYXRpb24uaXRlbXNQZXJQYWdlfVwiLiBUaGlzIHdhcm5pbmcgb25seSBhcHBlYXJzIGluIGRldmVsb3BtZW50IG1vZGUuYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { coerceArray, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, Input, Optional, Output, QueryList, TemplateRef, ViewChild, ViewChildren, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Observable, Subscription, firstValueFrom } from 'rxjs';\nimport { FocusKeyManagerItemDirective, FocusKeyManagerListDirective, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OnlyDigitsDirective } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormControlComponent, FormLabelComponent } from '@fundamental-ngx/core/form';\nimport { OptionComponent, SelectComponent } from '@fundamental-ngx/core/select';\nimport { FD_LANGUAGE, FdTranslatePipe, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { PaginationService } from './pagination.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./pagination.service\";\nimport * as i2 from \"@angular/cdk/a11y\";\nimport * as i3 from \"@fundamental-ngx/cdk/utils\";\nimport * as i4 from \"@fundamental-ngx/core/content-density\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"rxjs\";\n/** Constant representing the default number of items per page. */\nconst DEFAULT_ITEMS_PER_PAGE = 10;\nlet paginationUniqueId = 0;\n/**\n * The component that is used to provide navigation between paged information.\n * ```html\n * <fd-pagination\n * [totalItems]=\"50\"\n * [itemsPerPage]=\"10\"\n * [currentPage]=\"3\">\n * </fd-pagination>\n * ```\n */\nexport class PaginationComponent {\n /** Represents the current page number. */\n set currentPage(value) {\n this._currentPage = Math.floor(coerceNumberProperty(value, 1));\n }\n get currentPage() {\n return this._currentPage;\n }\n /** Represents the number of items per page. */\n set itemsPerPage(value) {\n value = Math.floor(coerceNumberProperty(value, DEFAULT_ITEMS_PER_PAGE));\n this._itemsPerPage = Math.max(value, 1);\n this._updateDisplayedPageSizeOptions();\n }\n get itemsPerPage() {\n return this._itemsPerPage;\n }\n /** Represents the options for items per page. */\n set itemsPerPageOptions(value) {\n this._itemsPerPageOptions = coerceArray(value)\n .map((v) => coerceNumberProperty(v, 0))\n .map((v) => Math.floor(v))\n .filter((v) => v > 0)\n .sort((a, b) => a - b);\n this._updateDisplayedPageSizeOptions();\n }\n get itemsPerPageOptions() {\n return this._itemsPerPageOptions;\n }\n /**\n * Retrieves an object that represents\n * the total number of items, the current page, and the number of items per page.\n */\n get paginationObject() {\n return {\n totalItems: this.totalItems,\n currentPage: this.currentPage,\n itemsPerPage: this.itemsPerPage\n };\n }\n /** @hidden */\n get _lastPage() {\n return this.paginationService.getTotalPages(this.paginationObject);\n }\n /** @hidden */\n get isFirstPage() {\n return this.currentPage === 1;\n }\n /** @hidden */\n get isLastPage() {\n return this.currentPage === this.paginationService.getTotalPages(this.paginationObject);\n }\n /** @hidden */\n get _totalPages() {\n return this.paginationService.getTotalPages(this.paginationObject);\n }\n /** @hidden */\n get _totalPagesElementId() {\n return this.id + '__total';\n }\n /** @hidden */\n get _moreElementValue() {\n return this.paginationService.moreElementValue;\n }\n /** @hidden */\n constructor(paginationService, _cdr, _liveAnnouncer, _language, _rtlService, _contentDensityObserver) {\n this.paginationService = paginationService;\n this._cdr = _cdr;\n this._liveAnnouncer = _liveAnnouncer;\n this._language = _language;\n this._rtlService = _rtlService;\n this._contentDensityObserver = _contentDensityObserver;\n /** Id for the pagination component. If omitted, a unique one is generated. */\n this.id = 'fd-pagination-' + paginationUniqueId++;\n /** Whether component should be shown in the mobile mode. */\n this.mobile = false;\n /** Whether to display the total number of items. */\n this.displayTotalItems = true;\n /** Event emitted when the page is changed. */\n this.pageChangeStart = new EventEmitter();\n /** Event emitted when items per page option is changed.*/\n this.itemsPerPageChange = new EventEmitter();\n /** @hidden */\n this._pages = [];\n /** @hidden */\n this._currentShowing = {\n from: 0,\n to: 0,\n totalCount: 0\n };\n /** @hidden */\n this._displayedPageSizeOptions = [];\n /** @hidden */\n this._itemsPerPage = DEFAULT_ITEMS_PER_PAGE;\n /** @hidden */\n this._itemsPerPageOptions = [];\n /** @hidden */\n this._currentPage = 1;\n /** @hidden */\n this._subscriptions = new Subscription();\n /** @hidden */\n this._translationResolver = new TranslationResolver();\n /** @hidden */\n this._onChangePerPage = (event) => {\n this.itemsPerPage = event;\n this.itemsPerPageChange.emit(this.itemsPerPage);\n this._refreshPages();\n const maxPage = this._pages[this._pages.length - 1];\n if (this.currentPage > maxPage) {\n this.pageChangeStart.emit(maxPage);\n }\n };\n }\n /** @hidden */\n ngOnChanges(changes) {\n if (changes?.currentPage) {\n this.currentPage = changes.currentPage.currentValue;\n }\n if (!this.currentPage || this.currentPage < 1) {\n this.currentPage = 1;\n }\n else {\n const totalPages = this.paginationService.getTotalPages(this.paginationObject);\n if (this.currentPage > totalPages) {\n this.currentPage = totalPages;\n }\n }\n this._refreshPages();\n }\n /** @hidden */\n ngOnInit() {\n this._subscriptions.add(this._rtlService?.rtl.subscribe(() => this._refreshPages()));\n }\n /** @hidden */\n ngAfterViewInit() {\n this._focusKeyManagerList?.focusKeyManager?.withVerticalOrientation(false);\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n /** @hidden */\n skipItemPredicate(item) {\n return (getComputedStyle(item.nativeElement).display === 'none' ||\n item.nativeElement.getAttribute('disabled') === 'true');\n }\n /**\n * Navigates to a specific page.\n * @param page The page to navigate to.\n * @param event The mouse event (optional).\n */\n goToPage(page, event) {\n if (page > this._lastPage || page < 1) {\n return;\n }\n this._refreshPages();\n if (event) {\n this._focusCurrentPage();\n }\n this.pageChangeStart.emit(page);\n this._announcePage(page);\n }\n /** Navigates to the first page */\n goToFirstPage() {\n this.goToPage(1);\n }\n /**\n * Navigates to a previous page.\n */\n previousPage() {\n this.goToPage(this.currentPage - 1);\n }\n /**\n * Navigates to the next page.\n */\n nextPage() {\n this.goToPage(this.currentPage + 1);\n }\n /** Navigates to the last page */\n goToLastPage() {\n this.goToPage(this._lastPage);\n }\n /** @hidden */\n _restoreInputValue(model) {\n model.reset(this.currentPage);\n this._cdr.markForCheck();\n }\n /** @hidden */\n _refreshPages() {\n const pagination = this.paginationObject;\n this._pages = this.paginationService.getPages(pagination);\n const currentPageIndex = this._pages.findIndex((page) => page === this.currentPage);\n this._pagesBeforeCurrent = this._pages.slice(0, currentPageIndex);\n this._pagesAfterCurrent = this._pages.slice(currentPageIndex + 1);\n const itemsPerPage = pagination.itemsPerPage ?? DEFAULT_ITEMS_PER_PAGE;\n this._currentShowing = {\n from: this.currentPage - 1 === 0 ? 1 : (this.currentPage - 1) * itemsPerPage + 1,\n to: Math.min((this.currentPage - 1) * itemsPerPage + itemsPerPage, this.totalItems),\n totalCount: this.totalItems\n };\n this._cdr.markForCheck();\n }\n /** Focus current page link/input using FocusKeyManager\n * @hidden\n */\n _focusCurrentPage() {\n const currentPageNativeElement = getComputedStyle(this._currentPageElement.nativeElement).display === 'none'\n ? this._pageInputElement.nativeElement\n : this._currentPageElement.nativeElement;\n const index = this._focusKeyManagerItems\n .toArray()\n .findIndex((elem) => elem.nativeElement === currentPageNativeElement);\n this._focusKeyManagerList.focusItem(index);\n }\n /**\n * Updates the list of page size options to display to the user. Includes making sure that\n * the page size is an option and that the list is sorted.\n */\n _updateDisplayedPageSizeOptions() {\n // If no page size is provided, use the first page size option or the default page size.\n if (!this.itemsPerPage) {\n this._itemsPerPage = this.itemsPerPageOptions.length ? this.itemsPerPageOptions[0] : DEFAULT_ITEMS_PER_PAGE;\n }\n this._displayedPageSizeOptions = this.itemsPerPageOptions?.slice() ?? [];\n if (!this._displayedPageSizeOptions.includes(this.itemsPerPage)) {\n this._displayedPageSizeOptions.push(this.itemsPerPage);\n }\n this._displayedPageSizeOptions.sort((a, b) => a - b);\n this._cdr.markForCheck();\n }\n /** @hidden */\n async _announcePage(page) {\n await this._liveAnnouncer.announce(this._translationResolver.resolve(await firstValueFrom(this._language), 'corePagination.currentPageAriaLabel', {\n pageNumber: page,\n totalCount: this.totalItems\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", 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 }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PaginationComponent, isStandalone: true, selector: \"fd-pagination\", inputs: { id: \"id\", mobile: [\"mobile\", \"mobile\", booleanAttribute], totalItems: \"totalItems\", currentPage: \"currentPage\", itemsPerPage: \"itemsPerPage\", itemsPerPageTemplate: \"itemsPerPageTemplate\", itemsPerPageOptions: \"itemsPerPageOptions\", displayTotalItems: \"displayTotalItems\", displayTextTemplate: \"displayTextTemplate\" }, 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: \"@if (totalItems) {\\n @if (itemsPerPageTemplate || itemsPerPageOptions.length) {\\n <div class=\\\"fd-pagination__per-page\\\">\\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-template\\n [ngTemplateOutlet]=\\\"itemsPerPageTemplate || perPage\\\"\\n [ngTemplateOutletContext]=\\\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\\\"\\n ></ng-template>\\n </div>\\n }\\n @if (totalItems >= itemsPerPage) {\\n <nav\\n fdkFocusKeyManagerList\\n orientation=\\\"horizontal\\\"\\n [skipPredicate]=\\\"skipItemPredicate\\\"\\n class=\\\"fd-pagination__nav\\\"\\n [attr.aria-label]=\\\"'corePagination.ariaLabel' | fdTranslate\\\"\\n [attr.aria-labelledby]=\\\"displayTotalItems ? _totalPagesElementId : null\\\"\\n >\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"media-rewind\\\"\\n [disabled]=\\\"isFirstPage\\\"\\n [ariaLabel]=\\\"'corePagination.firstLabel' | fdTranslate\\\"\\n [title]=\\\"'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 <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"navigation-left-arrow\\\"\\n [disabled]=\\\"isFirstPage\\\"\\n [ariaLabel]=\\\"'corePagination.previousLabel' | fdTranslate\\\"\\n [title]=\\\"'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 <!-- Duplicated to preserve the items order for keyboard navigation -->\\n @for (page of _pagesBeforeCurrent; track page) {\\n @if (page !== _moreElementValue) {\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n [ariaLabel]=\\\"'corePagination.pageLabel' | fdTranslate: { pageNumber: page }\\\"\\n [title]=\\\"'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 } @else {\\n <span class=\\\"fd-pagination__more\\\" aria-hidden=\\\"true\\\" aria-label=\\\"...\\\" role=\\\"presentation\\\"></span>\\n }\\n }\\n <button\\n #currentPageElement\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n [ariaLabel]=\\\"'corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage }\\\"\\n class=\\\"fd-pagination__link is-active\\\"\\n [attr.aria-current]=\\\"true\\\"\\n >\\n {{ currentPage }}\\n </button>\\n <label fd-form-label class=\\\"fd-pagination__label\\\">\\n {{ 'corePagination.labelBeforeInputMobile' | fdTranslate }}\\n </label>\\n <input\\n #pageInputElement\\n fdkFocusKeyManagerItem\\n fd-form-control\\n fdkOnlyDigits\\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 [ariaLabel]=\\\"\\n 'corePagination.inputAriaLabel' | fdTranslate: { pageNumber: currentPage, totalCount: _totalPages }\\n \\\"\\n (keydown.enter)=\\\"goToPage(currentPageModel.value)\\\"\\n (keydown.space)=\\\"goToPage(currentPageModel.value)\\\"\\n (blur)=\\\"_restoreInputValue(currentPageModel)\\\"\\n />\\n <label fd-form-label class=\\\"fd-pagination__label\\\">\\n {{\\n 'corePagination.labelAfterInputMobile'\\n | fdTranslate: { pageNumber: currentPage, totalCount: _totalPages }\\n }}\\n </label>\\n <!-- Duplicated to preserve the items order for keyboard navigation -->\\n @for (page of _pagesAfterCurrent; track page) {\\n @if (page !== _moreElementValue) {\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n [ariaLabel]=\\\"'corePagination.pageLabel' | fdTranslate: { pageNumber: page }\\\"\\n [title]=\\\"'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 } @else {\\n <span class=\\\"fd-pagination__more\\\" aria-hidden=\\\"true\\\" aria-label=\\\"...\\\" role=\\\"presentation\\\"></span>\\n }\\n }\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"navigation-right-arrow\\\"\\n [disabled]=\\\"isLastPage\\\"\\n [ariaLabel]=\\\"'corePagination.nextLabel' | fdTranslate\\\"\\n [title]=\\\"'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 <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"media-forward\\\"\\n [disabled]=\\\"isLastPage\\\"\\n [ariaLabel]=\\\"'corePagination.lastLabel' | fdTranslate\\\"\\n [title]=\\\"'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 @if (displayTotalItems) {\\n <span class=\\\"fd-pagination__total\\\" [attr.id]=\\\"_totalPagesElementId\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"displayTextTemplate || total\\\"\\n [ngTemplateOutletContext]=\\\"{ showing: _currentShowing }\\\"\\n ></ng-template>\\n </span>\\n }\\n}\\n<ng-template #more>\\n <span class=\\\"fd-pagination__more\\\" aria-hidden=\\\"true\\\" aria-label=\\\"...\\\" role=\\\"presentation\\\"></span>\\n</ng-template>\\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<ng-template #perPage let-pageOptions=\\\"pageOptions\\\">\\n <label fd-form-label class=\\\"fd-pagination__per-page-label\\\">\\n {{ 'corePagination.itemsPerPageLabel' | fdTranslate }}\\n </label>\\n <fd-select class=\\\"fd-pagination__per-page-select\\\" [value]=\\\"itemsPerPage\\\" (valueChange)=\\\"_onChangePerPage($event)\\\">\\n @for (option of pageOptions; track option) {\\n <li fd-option [value]=\\\"option\\\">{{ option }}</li>\\n }\\n </fd-select>\\n</ng-template>\\n\", styles: [\".fd-pagination{--fdPaginationMoreWidth:var(--fdPagination_Placeholder_Dots_Width);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;height:2.75rem;justify-content:space-between;padding-block:0;padding-inline:1rem;width:100%}.fd-pagination:after,.fd-pagination:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-pagination__per-page:after,.fd-pagination__per-page:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__nav{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--fdPagination_Elements_Spacing);margin-inline:auto}.fd-pagination__nav:after,.fd-pagination__nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__more{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-pagination__more:after,.fd-pagination__more:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\\\"...\\\";display:block;text-align:center;width:var(--fdPaginationMoreWidth)}.fd-pagination__more[class*=-compact],.fd-pagination__more[class*=-condensed],[class*=-compact] .fd-pagination__more:not([class*=-cozy]),[class*=-condensed] .fd-pagination__more:not([class*=-cozy]){--fdPaginationMoreWidth:var(--fdPagination_Placeholder_Dots_Width_Compact)}.fd-pagination .fd-pagination__input{-webkit-appearance:textfield;-moz-appearance:textfield;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;appearance:none;margin-block:0;margin-inline:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:center;align-self:center}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin-block:0;margin-inline:0}.fd-pagination .fd-pagination__link.is-focus,.fd-pagination .fd-pagination__link:focus{outline:none;z-index:5}.fd-pagination .fd-pagination__link.is-focus:after,.fd-pagination .fd-pagination__link:focus:after{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--fdButton_Focus_Border_Radius);content:\\\"\\\";display:block;inset:var(--fdButton_Outline_Offset) var(--fdButton_Outline_Offset) var(--fdButton_Outline_Offset) var(--fdButton_Outline_Offset);position:absolute}.fd-pagination .fd-pagination__link.is-focus.fd-button--toggled:after,.fd-pagination .fd-pagination__link.is-focus.is-selected:after,.fd-pagination .fd-pagination__link:focus.fd-button--toggled:after,.fd-pagination .fd-pagination__link:focus.is-selected:after{border-color:var(--fdButton_Outline_Contrast)}.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]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination .fd-pagination__button.is-disabled,.fd-pagination .fd-pagination__button:disabled,.fd-pagination .fd-pagination__button[aria-disabled=true]{pointer-events:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:-webkit-box;display:-ms-flexbox;display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-inline:auto 0}.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:-webkit-box;display:-ms-flexbox;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-inline:auto 0}.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:-webkit-box;display:-ms-flexbox;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-inline:auto 0}.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:-webkit-box;display:-ms-flexbox;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/*! Bundled license information:\\n\\nfundamental-styles/dist/pagination.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 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*/\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: FocusKeyManagerListDirective, selector: \"[fdkFocusKeyManagerList]\", inputs: [\"orientation\", \"skipPredicate\"] }, { kind: \"component\", type: ButtonComponent, selector: \"button[fd-button], a[fd-button], span[fd-button]\", inputs: [\"class\", \"id\"], exportAs: [\"fd-button\"] }, { kind: \"directive\", type: FocusKeyManagerItemDirective, selector: \"[fdkFocusKeyManagerItem]\", inputs: [\"initialFocus\", \"_tabindex\"] }, { kind: \"component\", type: FormLabelComponent, selector: \"[fd-form-label]\", inputs: [\"required\", \"colon\", \"alignLabelEnd\", \"inlineHelpContent\", \"inlineHelpGlyph\", \"inlineHelpTriggers\", \"inlineHelpBodyPlacement\", \"inlineHelpPlacement\", \"allowWrap\", \"inlineHelpLabel\", \"id\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i5.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: i5.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i5.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i5.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i5.MinValidator, selector: \"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]\", inputs: [\"min\"] }, { kind: \"directive\", type: i5.MaxValidator, selector: \"input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]\", inputs: [\"max\"] }, { kind: \"directive\", type: i5.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: FormControlComponent, selector: \"input[fd-form-control], textarea[fd-form-control]\", inputs: [\"state\", \"type\", \"class\", \"ariaLabel\", \"ariaLabelledBy\"] }, { kind: \"directive\", type: OnlyDigitsDirective, selector: \"[fdkOnlyDigits]\", inputs: [\"decimal\", \"decimalSeparator\"] }, { kind: \"component\", type: SelectComponent, selector: \"fd-select\", inputs: [\"extendedBodyTemplate\", \"scrollStrategy\", \"textOverflow\", \"controlId\", \"state\", \"mobile\", \"stateMessage\", \"disabled\", \"required\", \"readonly\", \"placeholder\", \"value\", \"maxHeight\", \"glyph\", \"glyphFont\", \"closeOnOutsideClick\", \"fillControlMode\", \"controlTemplate\", \"appendTo\", \"unselectMissingOption\", \"typeaheadDebounceInterval\", \"ariaLabelledBy\", \"ariaLabel\", \"mobileConfig\", \"inline\", \"selectControlClass\", \"selectDropdownButtonClass\", \"advancedStateMessage\", \"tabOutStrategy\", \"compareWith\"], outputs: [\"isOpenChange\", \"valueChange\"] }, { kind: \"component\", type: OptionComponent, selector: \"[fd-option], fd-option\", inputs: [\"id\", \"value\", \"disabled\"], outputs: [\"selectionChange\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-pagination', providers: [PaginationService, contentDensityObserverProviders()], host: {\n class: 'fd-pagination',\n '[class.fd-pagination--mobile]': 'mobile',\n '[class.fd-pagination--short]': '_lastPage <= 9'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, imports: [\n NgTemplateOutlet,\n FocusKeyManagerListDirective,\n ButtonComponent,\n FocusKeyManagerItemDirective,\n FormLabelComponent,\n FormsModule,\n FormControlComponent,\n OnlyDigitsDirective,\n SelectComponent,\n OptionComponent,\n FdTranslatePipe\n ], template: \"@if (totalItems) {\\n @if (itemsPerPageTemplate || itemsPerPageOptions.length) {\\n <div class=\\\"fd-pagination__per-page\\\">\\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-template\\n [ngTemplateOutlet]=\\\"itemsPerPageTemplate || perPage\\\"\\n [ngTemplateOutletContext]=\\\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\\\"\\n ></ng-template>\\n </div>\\n }\\n @if (totalItems >= itemsPerPage) {\\n <nav\\n fdkFocusKeyManagerList\\n orientation=\\\"horizontal\\\"\\n [skipPredicate]=\\\"skipItemPredicate\\\"\\n class=\\\"fd-pagination__nav\\\"\\n [attr.aria-label]=\\\"'corePagination.ariaLabel' | fdTranslate\\\"\\n [attr.aria-labelledby]=\\\"displayTotalItems ? _totalPagesElementId : null\\\"\\n >\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"media-rewind\\\"\\n [disabled]=\\\"isFirstPage\\\"\\n [ariaLabel]=\\\"'corePagination.firstLabel' | fdTranslate\\\"\\n [title]=\\\"'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 <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"navigation-left-arrow\\\"\\n [disabled]=\\\"isFirstPage\\\"\\n [ariaLabel]=\\\"'corePagination.previousLabel' | fdTranslate\\\"\\n [title]=\\\"'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 <!-- Duplicated to preserve the items order for keyboard navigation -->\\n @for (page of _pagesBeforeCurrent; track page) {\\n @if (page !== _moreElementValue) {\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n [ariaLabel]=\\\"'corePagination.pageLabel' | fdTranslate: { pageNumber: page }\\\"\\n [title]=\\\"'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 } @else {\\n <span class=\\\"fd-pagination__more\\\" aria-hidden=\\\"true\\\" aria-label=\\\"...\\\" role=\\\"presentation\\\"></span>\\n }\\n }\\n <button\\n #currentPageElement\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n [ariaLabel]=\\\"'corePagination.pageLabel' | fdTranslate: { pageNumber: currentPage }\\\"\\n class=\\\"fd-pagination__link is-active\\\"\\n [attr.aria-current]=\\\"true\\\"\\n >\\n {{ currentPage }}\\n </button>\\n <label fd-form-label class=\\\"fd-pagination__label\\\">\\n {{ 'corePagination.labelBeforeInputMobile' | fdTranslate }}\\n </label>\\n <input\\n #pageInputElement\\n fdkFocusKeyManagerItem\\n fd-form-control\\n fdkOnlyDigits\\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 [ariaLabel]=\\\"\\n 'corePagination.inputAriaLabel' | fdTranslate: { pageNumber: currentPage, totalCount: _totalPages }\\n \\\"\\n (keydown.enter)=\\\"goToPage(currentPageModel.value)\\\"\\n (keydown.space)=\\\"goToPage(currentPageModel.value)\\\"\\n (blur)=\\\"_restoreInputValue(currentPageModel)\\\"\\n />\\n <label fd-form-label class=\\\"fd-pagination__label\\\">\\n {{\\n 'corePagination.labelAfterInputMobile'\\n | fdTranslate: { pageNumber: currentPage, totalCount: _totalPages }\\n }}\\n </label>\\n <!-- Duplicated to preserve the items order for keyboard navigation -->\\n @for (page of _pagesAfterCurrent; track page) {\\n @if (page !== _moreElementValue) {\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n [ariaLabel]=\\\"'corePagination.pageLabel' | fdTranslate: { pageNumber: page }\\\"\\n [title]=\\\"'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 } @else {\\n <span class=\\\"fd-pagination__more\\\" aria-hidden=\\\"true\\\" aria-label=\\\"...\\\" role=\\\"presentation\\\"></span>\\n }\\n }\\n <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"navigation-right-arrow\\\"\\n [disabled]=\\\"isLastPage\\\"\\n [ariaLabel]=\\\"'corePagination.nextLabel' | fdTranslate\\\"\\n [title]=\\\"'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 <button\\n fdkFocusKeyManagerItem\\n fd-button\\n fdType=\\\"transparent\\\"\\n glyph=\\\"media-forward\\\"\\n [disabled]=\\\"isLastPage\\\"\\n [ariaLabel]=\\\"'corePagination.lastLabel' | fdTranslate\\\"\\n [title]=\\\"'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 @if (displayTotalItems) {\\n <span class=\\\"fd-pagination__total\\\" [attr.id]=\\\"_totalPagesElementId\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"displayTextTemplate || total\\\"\\n [ngTemplateOutletContext]=\\\"{ showing: _currentShowing }\\\"\\n ></ng-template>\\n </span>\\n }\\n}\\n<ng-template #more>\\n <span class=\\\"fd-pagination__more\\\" aria-hidden=\\\"true\\\" aria-label=\\\"...\\\" role=\\\"presentation\\\"></span>\\n</ng-template>\\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<ng-template #perPage let-pageOptions=\\\"pageOptions\\\">\\n <label fd-form-label class=\\\"fd-pagination__per-page-label\\\">\\n {{ 'corePagination.itemsPerPageLabel' | fdTranslate }}\\n </label>\\n <fd-select class=\\\"fd-pagination__per-page-select\\\" [value]=\\\"itemsPerPage\\\" (valueChange)=\\\"_onChangePerPage($event)\\\">\\n @for (option of pageOptions; track option) {\\n <li fd-option [value]=\\\"option\\\">{{ option }}</li>\\n }\\n </fd-select>\\n</ng-template>\\n\", styles: [\".fd-pagination{--fdPaginationMoreWidth:var(--fdPagination_Placeholder_Dots_Width);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;height:2.75rem;justify-content:space-between;padding-block:0;padding-inline:1rem;width:100%}.fd-pagination:after,.fd-pagination:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-pagination__per-page:after,.fd-pagination__per-page:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__nav{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--fdPagination_Elements_Spacing);margin-inline:auto}.fd-pagination__nav:after,.fd-pagination__nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__more{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-pagination__more:after,.fd-pagination__more:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\\\"...\\\";display:block;text-align:center;width:var(--fdPaginationMoreWidth)}.fd-pagination__more[class*=-compact],.fd-pagination__more[class*=-condensed],[class*=-compact] .fd-pagination__more:not([class*=-cozy]),[class*=-condensed] .fd-pagination__more:not([class*=-cozy]){--fdPaginationMoreWidth:var(--fdPagination_Placeholder_Dots_Width_Compact)}.fd-pagination .fd-pagination__input{-webkit-appearance:textfield;-moz-appearance:textfield;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;appearance:none;margin-block:0;margin-inline:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:center;align-self:center}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin-block:0;margin-inline:0}.fd-pagination .fd-pagination__link.is-focus,.fd-pagination .fd-pagination__link:focus{outline:none;z-index:5}.fd-pagination .fd-pagination__link.is-focus:after,.fd-pagination .fd-pagination__link:focus:after{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--fdButton_Focus_Border_Radius);content:\\\"\\\";display:block;inset:var(--fdButton_Outline_Offset) var(--fdButton_Outline_Offset) var(--fdButton_Outline_Offset) var(--fdButton_Outline_Offset);position:absolute}.fd-pagination .fd-pagination__link.is-focus.fd-button--toggled:after,.fd-pagination .fd-pagination__link.is-focus.is-selected:after,.fd-pagination .fd-pagination__link:focus.fd-button--toggled:after,.fd-pagination .fd-pagination__link:focus.is-selected:after{border-color:var(--fdButton_Outline_Contrast)}.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]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination .fd-pagination__button.is-disabled,.fd-pagination .fd-pagination__button:disabled,.fd-pagination .fd-pagination__button[aria-disabled=true]{pointer-events:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:-webkit-box;display:-ms-flexbox;display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-inline:auto 0}.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:-webkit-box;display:-ms-flexbox;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-inline:auto 0}.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:-webkit-box;display:-ms-flexbox;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-inline:auto 0}.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:-webkit-box;display:-ms-flexbox;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/*! Bundled license information:\\n\\nfundamental-styles/dist/pagination.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 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*/\\n\"] }]\n }], ctorParameters: () => [{ type: i1.PaginationService }, { type: i0.ChangeDetectorRef }, { type: i2.LiveAnnouncer }, { type: i6.Observable, decorators: [{\n type: Inject,\n args: [FD_LANGUAGE]\n }] }, { type: i3.RtlService, decorators: [{\n type: Optional\n }] }, { type: i4.ContentDensityObserver }], propDecorators: { _focusKeyManagerList: [{\n type: ViewChild,\n args: [FocusKeyManagerListDirective]\n }], _focusKeyManagerItems: [{\n type: ViewChildren,\n args: [FocusKeyManagerItemDirective]\n }], _pageInputElement: [{\n type: ViewChild,\n args: ['pageInputElement', { read: ElementRef }]\n }], _currentPageElement: [{\n type: ViewChild,\n args: ['currentPageElement', { read: ElementRef }]\n }], id: [{\n type: Input\n }], mobile: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], totalItems: [{\n type: Input\n }], currentPage: [{\n type: Input\n }], itemsPerPage: [{\n type: Input\n }], itemsPerPageTemplate: [{\n type: Input\n }], itemsPerPageOptions: [{\n type: Input\n }], displayTotalItems: [{\n type: Input\n }], displayTextTemplate: [{\n type: Input\n }], pageChangeStart: [{\n type: Output\n }], itemsPerPageChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDRCQUE0QixFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsb0JBQW9CLEVB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LEVBQUUsVUFBVSxFQUFFO2dCQUtyRCxFQUFFO3NCQURELEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUt0QyxVQUFVO3NCQURULEtBQUs7Z0JBS0YsV0FBVztzQkFEZCxLQUFLO2dCQVVGLFlBQVk7c0JBRGYsS0FBSztnQkFpQk4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUtGLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFnQk4saUJBQWlCO3NCQURoQixLQUFLO2dCQVFOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBS1Asa0JBQWtCO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uLCBMaXZlQW5ub3VuY2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VySXRlbURpcmVjdGl2ZSwgRm9jdXNLZXlNYW5hZ2VyTGlzdERpcmVjdGl2ZSwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPbmx5RGlnaXRzRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbENvbXBvbmVudCwgRm9ybUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50LCBTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2VsZWN0JztcbmltcG9ydCB7IEZEX0xBTkdVQUdFLCBGZExhbmd1YWdlLCBGZFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4vcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcblxuLyoqIENvbnN0YW50IHJlcHJlc2VudGluZyB0aGUgZGVmYXVsdCBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UuICovXG5jb25zdCBERUZBVUxUX0lURU1TX1BFUl9QQUdFID0gMTA7XG5cbmludGVyZmFjZSBDdXJyZW50U2hvd2luZyB7XG4gICAgZnJvbTogbnVtYmVyO1xuICAgIHRvOiBudW1iZXI7XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xufVxuXG5sZXQgcGFnaW5hdGlvblVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byBwcm92aWRlIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlZCBpbmZvcm1hdGlvbi5cbiAqIGBgYGh0bWxcbiAqIDxmZC1wYWdpbmF0aW9uXG4gKiAgICAgICAgICBbdG90YWxJdGVtc109XCI1MFwiXG4gKiAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIjEwXCJcbiAqICAgICAgICAgIFtjdXJyZW50UGFnZV09XCIzXCI+XG4gKiA8L2ZkLXBhZ2luYXRpb24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wYWdpbmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbUGFnaW5hdGlvblNlcnZpY2UsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXBhZ2luYXRpb24nLFxuICAgICAgICAnW2NsYXNzLmZkLXBhZ2luYXRpb24tLW1vYmlsZV0nOiAnbW9iaWxlJyxcbiAgICAgICAgJ1tjbGFzcy5mZC1wYWdpbmF0aW9uLS1zaG9ydF0nOiAnX2xhc3RQYWdlIDw9IDknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRm9jdXNLZXlNYW5hZ2VyTGlzdERpcmVjdGl2ZSxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBGb2N1c0tleU1hbmFnZXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBGb3JtTGFiZWxDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBGb3JtQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgT25seURpZ2l0c0RpcmVjdGl2ZSxcbiAgICAgICAgU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBPcHRpb25Db21wb25lbnQsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChGb2N1c0tleU1hbmFnZXJMaXN0RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IF9mb2N1c0tleU1hbmFnZXJMaXN0OiBGb2N1c0tleU1hbmFnZXJMaXN0RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKEZvY3VzS2V5TWFuYWdlckl0ZW1EaXJlY3RpdmUpXG4gICAgcmVhZG9ubHkgX2ZvY3VzS2V5TWFuYWdlckl0ZW1zOiBRdWVyeUxpc3Q8Rm9jdXNLZXlNYW5hZ2VySXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BhZ2VJbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICByZWFkb25seSBfcGFnZUlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY3VycmVudFBhZ2VFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcmVhZG9ubHkgX2N1cnJlbnRQYWdlRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBJZCBmb3IgdGhlIHBhZ2luYXRpb24gY29tcG9uZW50LiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgaXMgZ2VuZXJhdGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQ6IHN0cmluZyA9ICdmZC1wYWdpbmF0aW9uLScgKyBwYWdpbmF0aW9uVW5pcXVlSWQrKztcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgc2hvd24gaW4gdGhlIG1vYmlsZSBtb2RlLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIG1vYmlsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRvdGFsSXRlbXM6IG51bWJlcjtcblxuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGN1cnJlbnRQYWdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFBhZ2UgPSBNYXRoLmZsb29yKGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCAxKSk7XG4gICAgfVxuICAgIGdldCBjdXJyZW50UGFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFBhZ2U7XG4gICAgfVxuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpdGVtc1BlclBhZ2UodmFsdWU6IG51bWJlcikge1xuICAgICAgICB2YWx1ZSA9IE1hdGguZmxvb3IoY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIERFRkFVTFRfSVRFTVNfUEVSX1BBR0UpKTtcblxuICAgICAgICB0aGlzLl9pdGVtc1BlclBhZ2UgPSBNYXRoLm1heCh2YWx1ZSwgMSk7XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlRGlzcGxheWVkUGFnZVNpemVPcHRpb25zKCk7XG4gICAgfVxuICAgIGdldCBpdGVtc1BlclBhZ2UoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zUGVyUGFnZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY3VzdG9tIHRlbXBsYXRlIHNob3cgcmFuZ2Ugb2YgaXRlbSBieSBjdXJyZW50IHBhZ2Ugb2YgaXRlbXMuXG4gICAgICogSXQgaGFzIGhpZ2hlciBwcmlvcml0eSB0aGFuIGBpdGVtc1BlclBhZ2VPcHRpb25zYCBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG9wdGlvbnMgZm9yIGl0ZW1zIHBlciBwYWdlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGl0ZW1zUGVyUGFnZU9wdGlvbnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zUGVyUGFnZU9wdGlvbnMgPSBjb2VyY2VBcnJheTxudW1iZXI+KHZhbHVlKVxuICAgICAgICAgICAgLm1hcCgodikgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgMCkpXG4gICAgICAgICAgICAubWFwKCh2KSA9PiBNYXRoLmZsb29yKHYpKVxuICAgICAgICAgICAgLmZpbHRlcigodikgPT4gdiA+IDApXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuXG4gICAgICAgIHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpO1xuICAgIH1cbiAgICBnZXQgaXRlbXNQZXJQYWdlT3B0aW9ucygpOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtc1BlclBhZ2VPcHRpb25zO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlUb3RhbEl0ZW1zID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBzaG93IHJhbmdlIG9mIGl0ZW0gYnkgY3VycmVudCBwYWdlIG9mIGl0ZW1zLlxuICAgICAqIERlZmF1bHQgdmlldzogU2hvd2luZyB7eyBmcm9tIH19LXt7IHRvIH19IG9mIHt7IG9mIH19XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5VGV4dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcGFnZSBpcyBjaGFuZ2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHBhZ2VDaGFuZ2VTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBpdGVtcyBwZXIgcGFnZSBvcHRpb24gaXMgY2hhbmdlZC4qL1xuICAgIEBPdXRwdXQoKVxuICAgIGl0ZW1zUGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcGFnZXM6IG51bWJlcltdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wYWdlc0JlZm9yZUN1cnJlbnQ6IG51bWJlcltdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcGFnZXNBZnRlckN1cnJlbnQ6IG51bWJlcltdO1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGFuIG9iamVjdCB0aGF0IHJlcHJlc2VudHNcbiAgICAgKiB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zLCB0aGUgY3VycmVudCBwYWdlLCBhbmQgdGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS5cbiAgICAgKi9cbiAgICBnZXQgcGFnaW5hdGlvbk9iamVjdCgpOiBQYWdpbmF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IHRoaXMudG90YWxJdGVtcyxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLml0ZW1zUGVyUGFnZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9sYXN0UGFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uU2VydmljZS5nZXRUb3RhbFBhZ2VzKHRoaXMucGFnaW5hdGlvbk9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgaXNGaXJzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID09PSAxO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGlzTGFzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID09PSB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLmdldFRvdGFsUGFnZXModGhpcy5wYWdpbmF0aW9uT2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uU2VydmljZS5nZXRUb3RhbFBhZ2VzKHRoaXMucGFnaW5hdGlvbk9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3RvdGFsUGFnZXNFbGVtZW50SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX190b3RhbCc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX21vcmVFbGVtZW50VmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvblNlcnZpY2UubW9yZUVsZW1lbnRWYWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jdXJyZW50U2hvd2luZzogQ3VycmVudFNob3dpbmcgPSB7XG4gICAgICAgIGZyb206IDAsXG4gICAgICAgIHRvOiAwLFxuICAgICAgICB0b3RhbENvdW50OiAwXG4gICAgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXRlbXNQZXJQYWdlOiBudW1iZXIgPSBERUZBVUxUX0lURU1TX1BFUl9QQUdFO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pdGVtc1BlclBhZ2VPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jdXJyZW50UGFnZSA9IDE7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYWdpbmF0aW9uU2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpdmVBbm5vdW5jZXI6IExpdmVBbm5vdW5jZXIsXG4gICAgICAgIEBJbmplY3QoRkRfTEFOR1VBR0UpIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlOiBPYnNlcnZhYmxlPEZkTGFuZ3VhZ2U+LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcz8uY3VycmVudFBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBjaGFuZ2VzLmN1cnJlbnRQYWdlLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY3VycmVudFBhZ2UgfHwgdGhpcy5jdXJyZW50UGFnZSA8IDEpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG90YWxQYWdlcyA9IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuZ2V0VG90YWxQYWdlcyh0aGlzLnBhZ2luYXRpb25PYmplY3QpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiB0b3RhbFBhZ2VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRvdGFsUGFnZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVmcmVzaFBhZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fcnRsU2VydmljZT8ucnRsLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZWZyZXNoUGFnZXMoKSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c0tleU1hbmFnZXJMaXN0Py5mb2N1c0tleU1hbmFnZXI/LndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBza2lwSXRlbVByZWRpY2F0ZShpdGVtOiBFbGVtZW50UmVmICYgRm9jdXNhYmxlT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBnZXRDb21wdXRlZFN0eWxlKGl0ZW0ubmF0aXZlRWxlbWVudCkuZGlzcGxheSA9PT0gJ25vbmUnIHx8XG4gICAgICAgICAgICBpdGVtLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpID09PSAndHJ1ZSdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gYSBzcGVjaWZpYyBwYWdlLlxuICAgICAqIEBwYXJhbSBwYWdlIFRoZSBwYWdlIHRvIG5hdmlnYXRlIHRvLlxuICAgICAqIEBwYXJhbSBldmVudCBUaGUgbW91c2UgZXZlbnQgKG9wdGlvbmFsKS5cbiAgICAgKi9cbiAgICBnb1RvUGFnZShwYWdlOiBudW1iZXIsIGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHBhZ2UgPiB0aGlzLl9sYXN0UGFnZSB8fCBwYWdlIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaFBhZ2VzKCk7XG5cbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0N1cnJlbnRQYWdlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2VTdGFydC5lbWl0KHBhZ2UpO1xuXG4gICAgICAgIHRoaXMuX2Fubm91bmNlUGFnZShwYWdlKTtcbiAgICB9XG5cbiAgICAvKiogTmF2aWdhdGVzIHRvIHRoZSBmaXJzdCBwYWdlICovXG4gICAgZ29Ub0ZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nb1RvUGFnZSgxKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gYSBwcmV2aW91cyBwYWdlLlxuICAgICAqL1xuICAgIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nb1RvUGFnZSh0aGlzLmN1cnJlbnRQYWdlIC0gMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGVzIHRvIHRoZSBuZXh0IHBhZ2UuXG4gICAgICovXG4gICAgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ29Ub1BhZ2UodGhpcy5jdXJyZW50UGFnZSArIDEpO1xuICAgIH1cblxuICAgIC8qKiBOYXZpZ2F0ZXMgdG8gdGhlIGxhc3QgcGFnZSAqL1xuICAgIGdvVG9MYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nb1RvUGFnZSh0aGlzLl9sYXN0UGFnZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25DaGFuZ2VQZXJQYWdlID0gKGV2ZW50OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBldmVudDtcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2VDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zUGVyUGFnZSk7XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaFBhZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgbWF4UGFnZSA9IHRoaXMuX3BhZ2VzW3RoaXMuX3BhZ2VzLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA+IG1heFBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUNoYW5nZVN0YXJ0LmVtaXQobWF4UGFnZSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVzdG9yZUlucHV0VmFsdWUobW9kZWw6IE5nTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbW9kZWwucmVzZXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlZnJlc2hQYWdlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IHRoaXMucGFnaW5hdGlvbk9iamVjdDtcblxuICAgICAgICB0aGlzLl9wYWdlcyA9IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuZ2V0UGFnZXMocGFnaW5hdGlvbik7XG5cbiAgICAgICAgY29uc3QgY3VycmVudFBhZ2VJbmRleCA9IHRoaXMuX3BhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gcGFnZSA9PT0gdGhpcy5jdXJyZW50UGFnZSk7XG5cbiAgICAgICAgdGhpcy5fcGFnZXNCZWZvcmVDdXJyZW50ID0gdGhpcy5fcGFnZXMuc2xpY2UoMCwgY3VycmVudFBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMuX3BhZ2VzQWZ0ZXJDdXJyZW50ID0gdGhpcy5fcGFnZXMuc2xpY2UoY3VycmVudFBhZ2VJbmRleCArIDEpO1xuXG4gICAgICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IHBhZ2luYXRpb24uaXRlbXNQZXJQYWdlID8/IERFRkFVTFRfSVRFTVNfUEVSX1BBR0U7XG5cbiAgICAgICAgdGhpcy5fY3VycmVudFNob3dpbmcgPSB7XG4gICAgICAgICAgICBmcm9tOiB0aGlzLmN1cnJlbnRQYWdlIC0gMSA9PT0gMCA/IDEgOiAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogaXRlbXNQZXJQYWdlICsgMSxcbiAgICAgICAgICAgIHRvOiBNYXRoLm1pbigodGhpcy5jdXJyZW50UGFnZSAtIDEpICogaXRlbXNQZXJQYWdlICsgaXRlbXNQZXJQYWdlLCB0aGlzLnRvdGFsSXRlbXMpLFxuICAgICAgICAgICAgdG90YWxDb3VudDogdGhpcy50b3RhbEl0ZW1zXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBGb2N1cyBjdXJyZW50IHBhZ2UgbGluay9pbnB1dCB1c2luZyBGb2N1c0tleU1hbmFnZXJcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZm9jdXNDdXJyZW50UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFBhZ2VOYXRpdmVFbGVtZW50ID1cbiAgICAgICAgICAgIGdldENvbXB1dGVkU3R5bGUodGhpcy5fY3VycmVudFBhZ2VFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpLmRpc3BsYXkgPT09ICdub25lJ1xuICAgICAgICAgICAgICAgID8gdGhpcy5fcGFnZUlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgOiB0aGlzLl9jdXJyZW50UGFnZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuX2ZvY3VzS2V5TWFuYWdlckl0ZW1zXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZEluZGV4KChlbGVtKSA9PiBlbGVtLm5hdGl2ZUVsZW1lbnQgPT09IGN1cnJlbnRQYWdlTmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5fZm9jdXNLZXlNYW5hZ2VyTGlzdC5mb2N1c0l0ZW0oaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGxpc3Qgb2YgcGFnZSBzaXplIG9wdGlvbnMgdG8gZGlzcGxheSB0byB0aGUgdXNlci4gSW5jbHVkZXMgbWFraW5nIHN1cmUgdGhhdFxuICAgICAqIHRoZSBwYWdlIHNpemUgaXMgYW4gb3B0aW9uIGFuZCB0aGF0IHRoZSBsaXN0IGlzIHNvcnRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF91cGRhdGVEaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIC8vIElmIG5vIHBhZ2Ugc2l6ZSBpcyBwcm92aWRlZCwgdXNlIHRoZSBmaXJzdCBwYWdlIHNpemUgb3B0aW9uIG9yIHRoZSBkZWZhdWx0IHBhZ2Ugc2l6ZS5cbiAgICAgICAgaWYgKCF0aGlzLml0ZW1zUGVyUGFnZSkge1xuICAgICAgICAgICAgdGhpcy5faXRlbXNQZXJQYWdlID0gdGhpcy5pdGVtc1BlclBhZ2VPcHRpb25zLmxlbmd0aCA/IHRoaXMuaXRlbXNQZXJQYWdlT3B0aW9uc1swXSA6IERFRkFVTFRfSVRFTVNfUEVSX1BBR0U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMgPSB0aGlzLml0ZW1zUGVyUGFnZU9wdGlvbnM/LnNsaWNlKCkgPz8gW107XG5cbiAgICAgICAgaWYgKCF0aGlzLl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMuaW5jbHVkZXModGhpcy5pdGVtc1BlclBhZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMucHVzaCh0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF9hbm5vdW5jZVBhZ2UocGFnZTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UoXG4gICAgICAgICAgICB0aGlzLl90cmFuc2xhdGlvblJlc29sdmVyLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fbGFuZ3VhZ2UpLFxuICAgICAgICAgICAgICAgICdjb3JlUGFnaW5hdGlvbi5jdXJyZW50UGFnZUFyaWFMYWJlbCcsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlTnVtYmVyOiBwYWdlLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbENvdW50OiB0aGlzLnRvdGFsSXRlbXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiQGlmICh0b3RhbEl0ZW1zKSB7XG4gICAgQGlmIChpdGVtc1BlclBhZ2VUZW1wbGF0ZSB8fCBpdGVtc1BlclBhZ2VPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtcGFnaW5hdGlvbl9fcGVyLXBhZ2VcIj5cbiAgICAgICAgICAgIDwhLS0gbm90ZSwgdGhhdCB3ZSdyZSBjaGVja2luZyBmb3IgdGhlIGxlbmd0aCBvZiBcIml0ZW1zUGVyUGFnZU9wdGlvbnNcIiwgYnV0IHVzaW5nIFwiX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9uc1wiIGFzIFwicGFnZU9wdGlvbnNcIiAtLT5cbiAgICAgICAgICAgIDwhLS0gdGhlc2UgMiBjYW4gYmUgZGlmZmVyZW50LCBhcyBcIl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnNcIiBtYXkgYWxzbyBpbmNsdWRlIFwiaXRlbXNQZXJQYWdlXCIgaWYgaXQncyBub3QgaW5jbHVkZWQgaW4gb3B0aW9ucyAtLT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1zUGVyUGFnZVRlbXBsYXRlIHx8IHBlclBhZ2VcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9uU2VsZWN0OiBfb25DaGFuZ2VQZXJQYWdlLCBwYWdlT3B0aW9uczogX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9ucyB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmICh0b3RhbEl0ZW1zID49IGl0ZW1zUGVyUGFnZSkge1xuICAgICAgICA8bmF2XG4gICAgICAgICAgICBmZGtGb2N1c0tleU1hbmFnZXJMaXN0XG4gICAgICAgICAgICBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgW3NraXBQcmVkaWNhdGVdPVwic2tpcEl0ZW1QcmVkaWNhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19uYXZcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZVBhZ2luYXRpb24uYXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJkaXNwbGF5VG90YWxJdGVtcyA/IF90b3RhbFBhZ2VzRWxlbWVudElkIDogbnVsbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZGtGb2N1c0tleU1hbmFnZXJJdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwibWVkaWEtcmV3aW5kXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2VcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ2NvcmVQYWdpbmF0aW9uLmZpcnN0TGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29yZVBhZ2luYXRpb24uZmlyc3RMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19idXR0b24gZmQtcGFnaW5hdGlvbl9fYnV0dG9uLS1tb2JpbGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvRmlyc3RQYWdlKClcIlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJnb1RvRmlyc3RQYWdlKClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwiZ29Ub0ZpcnN0UGFnZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZGtGb2N1c0tleU1hbmFnZXJJdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwibmF2aWdhdGlvbi1sZWZ0LWFycm93XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2VcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ2NvcmVQYWdpbmF0aW9uLnByZXZpb3VzTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29yZVBhZ2luYXRpb24ucHJldmlvdXNMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19idXR0b25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cInByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlZCB0byBwcmVzZXJ2ZSB0aGUgaXRlbXMgb3JkZXIgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gLS0+XG4gICAgICAgICAgICBAZm9yIChwYWdlIG9mIF9wYWdlc0JlZm9yZUN1cnJlbnQ7IHRyYWNrIHBhZ2UpIHtcbiAgICAgICAgICAgICAgICBAaWYgKHBhZ2UgIT09IF9tb3JlRWxlbWVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZka0ZvY3VzS2V5TWFuYWdlckl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInY29yZVBhZ2luYXRpb24ucGFnZUxhYmVsJyB8IGZkVHJhbnNsYXRlOiB7IHBhZ2VOdW1iZXI6IHBhZ2UgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVQYWdpbmF0aW9uLnBhZ2VMYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBwYWdlTnVtYmVyOiBwYWdlIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvUGFnZShwYWdlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZ29Ub1BhZ2UocGFnZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwiZ29Ub1BhZ2UocGFnZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtcGFnaW5hdGlvbl9fbW9yZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCIuLi5cIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAjY3VycmVudFBhZ2VFbGVtZW50XG4gICAgICAgICAgICAgICAgZmRrRm9jdXNLZXlNYW5hZ2VySXRlbVxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidjb3JlUGFnaW5hdGlvbi5wYWdlTGFiZWwnIHwgZmRUcmFuc2xhdGU6IHsgcGFnZU51bWJlcjogY3VycmVudFBhZ2UgfVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19saW5rIGlzLWFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGN1cnJlbnRQYWdlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIGNsYXNzPVwiZmQtcGFnaW5hdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyAnY29yZVBhZ2luYXRpb24ubGFiZWxCZWZvcmVJbnB1dE1vYmlsZScgfCBmZFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNwYWdlSW5wdXRFbGVtZW50XG4gICAgICAgICAgICAgICAgZmRrRm9jdXNLZXlNYW5hZ2VySXRlbVxuICAgICAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxuICAgICAgICAgICAgICAgIGZka09ubHlEaWdpdHNcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIHNpemU9XCIxXCJcbiAgICAgICAgICAgICAgICBtaW49XCIxXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cIl9sYXN0UGFnZVwiXG4gICAgICAgICAgICAgICAgW3N0YXRlXT1cImN1cnJlbnRQYWdlTW9kZWwuaW52YWxpZCA/ICdlcnJvcicgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXBhZ2luYXRpb25fX2lucHV0XCJcbiAgICAgICAgICAgICAgICAjY3VycmVudFBhZ2VNb2RlbD1cIm5nTW9kZWxcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnY29yZVBhZ2luYXRpb24uaW5wdXRBcmlhTGFiZWwnIHwgZmRUcmFuc2xhdGU6IHsgcGFnZU51bWJlcjogY3VycmVudFBhZ2UsIHRvdGFsQ291bnQ6IF90b3RhbFBhZ2VzIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImdvVG9QYWdlKGN1cnJlbnRQYWdlTW9kZWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJnb1RvUGFnZShjdXJyZW50UGFnZU1vZGVsLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiX3Jlc3RvcmVJbnB1dFZhbHVlKGN1cnJlbnRQYWdlTW9kZWwpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZmQtZm9ybS1sYWJlbCBjbGFzcz1cImZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgJ2NvcmVQYWdpbmF0aW9uLmxhYmVsQWZ0ZXJJbnB1dE1vYmlsZSdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZmRUcmFuc2xhdGU6IHsgcGFnZU51bWJlcjogY3VycmVudFBhZ2UsIHRvdGFsQ291bnQ6IF90b3RhbFBhZ2VzIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlZCB0byBwcmVzZXJ2ZSB0aGUgaXRlbXMgb3JkZXIgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gLS0+XG4gICAgICAgICAgICBAZm9yIChwYWdlIG9mIF9wYWdlc0FmdGVyQ3VycmVudDsgdHJhY2sgcGFnZSkge1xuICAgICAgICAgICAgICAgIEBpZiAocGFnZSAhPT0gX21vcmVFbGVtZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmRrRm9jdXNLZXlNYW5hZ2VySXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidjb3JlUGFnaW5hdGlvbi5wYWdlTGFiZWwnIHwgZmRUcmFuc2xhdGU6IHsgcGFnZU51bWJlcjogcGFnZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29yZVBhZ2luYXRpb24ucGFnZUxhYmVsJyB8IGZkVHJhbnNsYXRlOiB7IHBhZ2VOdW1iZXI6IHBhZ2UgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXBhZ2luYXRpb25fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHBhZ2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJnb1RvUGFnZShwYWdlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJnb1RvUGFnZShwYWdlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgcGFnZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19tb3JlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgYXJpYS1sYWJlbD1cIi4uLlwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZka0ZvY3VzS2V5TWFuYWdlckl0ZW1cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJuYXZpZ2F0aW9uLXJpZ2h0LWFycm93XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZVwiXG4gICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInY29yZVBhZ2luYXRpb24ubmV4dExhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVQYWdpbmF0aW9uLm5leHRMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19idXR0b25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNMYXN0UGFnZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm5leHRQYWdlKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZka0ZvY3VzS2V5TWFuYWdlckl0ZW1cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJtZWRpYS1mb3J3YXJkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZVwiXG4gICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInY29yZVBhZ2luYXRpb24ubGFzdExhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVQYWdpbmF0aW9uLmxhc3RMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1wYWdpbmF0aW9uX19idXR0b24gZmQtcGFnaW5hdGlvbl9fYnV0dG9uLS1tb2JpbGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNMYXN0UGFnZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9MYXN0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZ29Ub0xhc3RQYWdlKClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwiZ29Ub0xhc3RQYWdlKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L25hdj5cbiAgICB9XG4gICAgQGlmIChkaXNwbGF5VG90YWxJdGVtcykge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImZkLXBhZ2luYXRpb25fX3RvdGFsXCIgW2F0dHIuaWRdPVwiX3RvdGFsUGFnZXNFbGVtZW50SWRcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRpc3BsYXlUZXh0VGVtcGxhdGUgfHwgdG90YWxcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNob3dpbmc6IF9jdXJyZW50U2hvd2luZyB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgfVxufVxuPG5nLXRlbXBsYXRlICNtb3JlPlxuICAgIDxzcGFuIGNsYXNzPVwiZmQtcGFnaW5hdGlvbl9fbW9yZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCIuLi5cIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdG90YWwgbGV0LXNob3dpbmc9XCJzaG93aW5nXCI+XG4gICAgPHNwYW4gZmQtZm9ybS1sYWJlbCBjbGFzcz1cImZkLXBhZ2luYXRpb25fX3RvdGFsLWxhYmVsXCI+XG4gICAgICAgIHt7ICdjb3JlUGFnaW5hdGlvbi50b3RhbFJlc3VsdHNMYWJlbCcgfCBmZFRyYW5zbGF0ZTogX2N1cnJlbnRTaG93aW5nIH19XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcGVyUGFnZSBsZXQtcGFnZU9wdGlvbnM9XCJwYWdlT3B0aW9uc1wiPlxuICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIGNsYXNzPVwiZmQtcGFnaW5hdGlvbl9fcGVyLXBhZ2UtbGFiZWxcIj5cbiAgICAgICAge3sgJ2NvcmVQYWdpbmF0aW9uLml0ZW1zUGVyUGFnZUxhYmVsJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgPC9sYWJlbD5cbiAgICA8ZmQtc2VsZWN0IGNsYXNzPVwiZmQtcGFnaW5hdGlvbl9fcGVyLXBhZ2Utc2VsZWN0XCIgW3ZhbHVlXT1cIml0ZW1zUGVyUGFnZVwiICh2YWx1ZUNoYW5nZSk9XCJfb25DaGFuZ2VQZXJQYWdlKCRldmVudClcIj5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIHBhZ2VPcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIDxsaSBmZC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiPnt7IG9wdGlvbiB9fTwvbGk+XG4gICAgICAgIH1cbiAgICA8L2ZkLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { PaginationComponent } from './pagination.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\nexport class PaginationModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationModule, imports: [PaginationComponent], exports: [PaginationComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationModule, imports: [PaginationComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PaginationModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [PaginationComponent],\n exports: [PaginationComponent]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU3RDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQUhmLG1CQUFtQixhQUNuQixtQkFBbUI7K0dBRXBCLGdCQUFnQixZQUhmLG1CQUFtQjs7MkZBR3BCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiBVc2UgZGlyZWN0IGltcG9ydHMgb2YgY29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbUGFnaW5hdGlvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1BhZ2luYXRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Nb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtcGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wYWdpbmF0aW9uL2Z1bmRhbWVudGFsLW5neC1jb3JlLXBhZ2luYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.PaginationService"],"mappings":"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"}
@@ -18,9 +18,9 @@ class PanelContentDirective {
18
18
  /** role attribute of the host element. */
19
19
  this.role = 'region';
20
20
  /** Whether the content should have no padding. */
21
- this.noPadding = input(false, { ...(ngDevMode ? { debugName: "noPadding" } : {}), transform: booleanAttribute });
21
+ this.noPadding = input(false, ...(ngDevMode ? [{ debugName: "noPadding", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
22
22
  /** Whether the content has transparent background. */
23
- this.transparent = input(false, { ...(ngDevMode ? { debugName: "transparent" } : {}), transform: booleanAttribute });
23
+ this.transparent = input(false, ...(ngDevMode ? [{ debugName: "transparent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
24
24
  /** @hidden */
25
25
  this._defaultId = 'fd-panel-content-' + panelContentUniqueId++;
26
26
  /** @hidden */
@@ -33,10 +33,10 @@ class PanelContentDirective {
33
33
  get id() {
34
34
  return this._id;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: PanelContentDirective, isStandalone: true, selector: "[fd-panel-content]", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: false, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-panel__content--no-padding": "noPadding()", "class.fd-panel__content--transparent": "transparent()", "style.height": "this.height", "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "attr.aria-label": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.role": "this.role", "attr.id": "this.id" }, classAttribute: "fd-panel__content" }, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.4", type: PanelContentDirective, isStandalone: true, selector: "[fd-panel-content]", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: false, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-panel__content--no-padding": "noPadding()", "class.fd-panel__content--transparent": "transparent()", "style.height": "this.height", "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "attr.aria-label": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.role": "this.role", "attr.id": "this.id" }, classAttribute: "fd-panel__content" }, ngImport: i0 }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelContentDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelContentDirective, decorators: [{
40
40
  type: Directive,
41
41
  args: [{
42
42
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -78,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
78
78
  }, {
79
79
  type: HostBinding,
80
80
  args: ['attr.role']
81
- }], noPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "noPadding", required: false }] }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }], id: [{
81
+ }], id: [{
82
82
  type: Input
83
83
  }, {
84
84
  type: HostBinding,
@@ -100,10 +100,10 @@ class PanelTitleDirective {
100
100
  /** Id of the host element. */
101
101
  this.id = 'fd-panel-title-' + panelTitleUniqueId++;
102
102
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
104
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: PanelTitleDirective, isStandalone: true, selector: "[fd-panel-title]", inputs: { id: "id" }, host: { properties: { "class.fd-panel__title": "this.fdPanelTitleClass", "attr.id": "this.id" } }, ngImport: i0 }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
104
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: PanelTitleDirective, isStandalone: true, selector: "[fd-panel-title]", inputs: { id: "id" }, host: { properties: { "class.fd-panel__title": "this.fdPanelTitleClass", "attr.id": "this.id" } }, ngImport: i0 }); }
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelTitleDirective, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelTitleDirective, decorators: [{
107
107
  type: Directive,
108
108
  args: [{
109
109
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -146,9 +146,9 @@ class PanelComponent {
146
146
  /** Output event triggered when the Expand button is clicked */
147
147
  this.expandedChange = new EventEmitter();
148
148
  /** Whether the panel (header and content) is transparent */
149
- this.transparent = input(false, { ...(ngDevMode ? { debugName: "transparent" } : {}), transform: booleanAttribute });
149
+ this.transparent = input(false, ...(ngDevMode ? [{ debugName: "transparent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
150
150
  /** Whether the panel has no border radius */
151
- this.noRadius = input(false, { ...(ngDevMode ? { debugName: "noRadius" } : {}), transform: booleanAttribute });
151
+ this.noRadius = input(false, ...(ngDevMode ? [{ debugName: "noRadius", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
152
152
  /** @hidden */
153
153
  this._buttonIcon$ = computed(() => this._expanded$() ? 'slim-arrow-down' : this._rtl$() ? 'slim-arrow-left' : 'slim-arrow-right', ...(ngDevMode ? [{ debugName: "_buttonIcon$" }] : []));
154
154
  /** @hidden */
@@ -165,10 +165,10 @@ class PanelComponent {
165
165
  this._expanded$.update((expanded) => !expanded);
166
166
  this.expandedChange.emit(this.expanded);
167
167
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PanelComponent, isStandalone: true, selector: "fd-panel", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, fixed: { classPropertyName: "fixed", publicName: "fixed", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, expandId: { classPropertyName: "expandId", publicName: "expandId", isSignal: false, isRequired: false, transformFunction: null }, expandAriaLabel: { classPropertyName: "expandAriaLabel", publicName: "expandAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, expandAriaLabelledBy: { classPropertyName: "expandAriaLabelledBy", publicName: "expandAriaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: false, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, noRadius: { classPropertyName: "noRadius", publicName: "noRadius", isSignal: true, isRequired: false, transformFunction: null } }, 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--transparent]=\"transparent()\"\n [class.fd-panel--no-radius]=\"noRadius()\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n @if (!fixed) {\n <div class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_buttonIcon$()\"\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 }\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n @if (expanded || fixed) {\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n }\n</div>\n", styles: [".fd-panel{--fdPanel_Header_Width:100%;--fdPanel_Header_Height:2.75rem;--fdPanel_Flex_Direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--fdPanel_Flex_Direction);flex-direction:var(--fdPanel_Flex_Direction)}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline: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{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){-webkit-margin-after:var(--fdPanel_Margin_Bottom);margin-block-end:var(--fdPanel_Margin_Bottom)}.fd-panel__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:var(--sapGroup_TitleBorderWidth) solid var(--fdPanel_Header_Border_Color,var(--sapGroup_TitleBorderColor));border-radius:var(--fdPanel_Header_Border_Top_Left_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Top_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Bottom_Right_Radius,0) var(--fdPanel_Header_Border_Bottom_Left_Radius,0);height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);min-width:var(--fdPanel_Header_Width);overflow:hidden;padding-inline:var(--fdPanel_Header_Padding_Inline_Start,0) var(--fdPanel_Header_Padding_Inline_End,.5rem);position:var(--fdPanel_Header_Position,relative);top:var(--fdPanel_Header_Position_Top,unset);width:var(--fdPanel_Header_Width)}.fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius:var(--fdPanel_Border_Radius);--fdPanel_Header_Border_Bottom_Right_Radius:var(--fdPanel_Border_Radius)}.fd-panel__header:has(.fd-toolbar){--fdPanel_Header_Padding_Inline_End:0}.fd-panel__header:not(:has(.fd-panel__button)){--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel__title{color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapGroup_Title_FontSize);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:var(--fdPanel_Title_Font_Size);max-width:100%;width:100%}.fd-panel__content{background:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);border-radius:var(--fdPanel_Content_Border_Top_Left_Radius,0) var(--fdPanel_Content_Border_Top_Right_Radius,0) var(--fdPanel_Content_Border_Bottom_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Content_Border_Bottom_Left_Radius,var(--fdPanel_Border_Radius));overflow:auto;padding-block:var(--fdPanel_Content_Padding_Block,.625rem);padding-inline:var(--fdPanel_Content_Padding_Inline,1rem);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{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);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{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);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__content--no-padding{--fdPanel_Content_Padding_Inline:0;--fdPanel_Content_Padding_Block:0}.fd-panel__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);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{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-panel--fixed{--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel--sticky{--fdPanel_Header_Position:sticky;--fdPanel_Header_Position_Top:0}.fd-panel--borderless{--fdPanel_Header_Border_Color:transparent}.fd-panel--transparent{--fdPanel_Content_Background_Color:transparent}.fd-panel[class*=-compact],.fd-panel[class*=-condensed],[class*=-compact] .fd-panel:not([class*=-cozy]),[class*=-condensed] .fd-panel:not([class*=-cozy]){--fdPanel_Header_Height:2.5rem}.fd-panel--transparent .fd-panel__header,.fd-panel--transparent .fd-panel__content{background:transparent}.fd-panel--no-radius .fd-panel__header,.fd-panel--no-radius .fd-panel__content,.fd-panel--no-radius .fd-panel__header ul,.fd-panel--no-radius .fd-panel__content ul{border-radius:0}.fd-panel--no-radius .fd-panel__header ul li:first-child,.fd-panel--no-radius .fd-panel__header ul li:last-child,.fd-panel--no-radius .fd-panel__content ul li:first-child,.fd-panel--no-radius .fd-panel__content ul li:last-child{border-radius:0}.fd-panel__content--no-padding{padding-block:0;padding-inline:0}.fd-panel__content--transparent{background:transparent}\n/*! Bundled license information:\n\nfundamental-styles/dist/panel.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: PanelComponent, isStandalone: true, selector: "fd-panel", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, fixed: { classPropertyName: "fixed", publicName: "fixed", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, expandId: { classPropertyName: "expandId", publicName: "expandId", isSignal: false, isRequired: false, transformFunction: null }, expandAriaLabel: { classPropertyName: "expandAriaLabel", publicName: "expandAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, expandAriaLabelledBy: { classPropertyName: "expandAriaLabelledBy", publicName: "expandAriaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: false, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, noRadius: { classPropertyName: "noRadius", publicName: "noRadius", isSignal: true, isRequired: false, transformFunction: null } }, 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--transparent]=\"transparent()\"\n [class.fd-panel--no-radius]=\"noRadius()\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n @if (!fixed) {\n <div class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_buttonIcon$()\"\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 }\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n @if (expanded || fixed) {\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n }\n</div>\n", styles: [".fd-panel{--fdPanel_Header_Width:100%;--fdPanel_Header_Height:2.75rem;--fdPanel_Flex_Direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--fdPanel_Flex_Direction);flex-direction:var(--fdPanel_Flex_Direction)}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline: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{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){-webkit-margin-after:var(--fdPanel_Margin_Bottom);margin-block-end:var(--fdPanel_Margin_Bottom)}.fd-panel__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:var(--sapGroup_TitleBorderWidth) solid var(--fdPanel_Header_Border_Color,var(--sapGroup_TitleBorderColor));border-radius:var(--fdPanel_Header_Border_Top_Left_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Top_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Bottom_Right_Radius,0) var(--fdPanel_Header_Border_Bottom_Left_Radius,0);height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);min-width:var(--fdPanel_Header_Width);overflow:hidden;padding-inline:var(--fdPanel_Header_Padding_Inline_Start,0) var(--fdPanel_Header_Padding_Inline_End,.5rem);position:var(--fdPanel_Header_Position,relative);top:var(--fdPanel_Header_Position_Top,unset);width:var(--fdPanel_Header_Width)}.fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius:var(--fdPanel_Border_Radius);--fdPanel_Header_Border_Bottom_Right_Radius:var(--fdPanel_Border_Radius)}.fd-panel__header:has(.fd-toolbar){--fdPanel_Header_Padding_Inline_End:0}.fd-panel__header:not(:has(.fd-panel__button)){--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel__title{color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapGroup_Title_FontSize);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:var(--fdPanel_Title_Font_Size);max-width:100%;width:100%}.fd-panel__content{background:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);border-radius:var(--fdPanel_Content_Border_Top_Left_Radius,0) var(--fdPanel_Content_Border_Top_Right_Radius,0) var(--fdPanel_Content_Border_Bottom_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Content_Border_Bottom_Left_Radius,var(--fdPanel_Border_Radius));overflow:auto;padding-block:var(--fdPanel_Content_Padding_Block,.625rem);padding-inline:var(--fdPanel_Content_Padding_Inline,1rem);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{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);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{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);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__content--no-padding{--fdPanel_Content_Padding_Inline:0;--fdPanel_Content_Padding_Block:0}.fd-panel__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);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{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-panel--fixed{--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel--sticky{--fdPanel_Header_Position:sticky;--fdPanel_Header_Position_Top:0}.fd-panel--borderless{--fdPanel_Header_Border_Color:transparent}.fd-panel--transparent{--fdPanel_Content_Background_Color:transparent}.fd-panel[class*=-compact],.fd-panel[class*=-condensed],[class*=-compact] .fd-panel:not([class*=-cozy]),[class*=-condensed] .fd-panel:not([class*=-cozy]){--fdPanel_Header_Height:2.5rem}.fd-panel--transparent .fd-panel__header,.fd-panel--transparent .fd-panel__content{background:transparent}.fd-panel--no-radius .fd-panel__header,.fd-panel--no-radius .fd-panel__content,.fd-panel--no-radius .fd-panel__header ul,.fd-panel--no-radius .fd-panel__content ul{border-radius:0}.fd-panel--no-radius .fd-panel__header ul li:first-child,.fd-panel--no-radius .fd-panel__header ul li:last-child,.fd-panel--no-radius .fd-panel__content ul li:first-child,.fd-panel--no-radius .fd-panel__content ul li:last-child{border-radius:0}.fd-panel__content--no-padding{padding-block:0;padding-inline:0}.fd-panel__content--transparent{background:transparent}\n/*! Bundled license information:\n\nfundamental-styles/dist/panel.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelComponent, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelComponent, decorators: [{
172
172
  type: Component,
173
173
  args: [{ selector: 'fd-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], imports: [ButtonComponent], template: "<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed\"\n [class.fd-panel--transparent]=\"transparent()\"\n [class.fd-panel--no-radius]=\"noRadius()\"\n [class]=\"class\"\n>\n <div class=\"fd-panel__header\">\n @if (!fixed) {\n <div class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"_buttonIcon$()\"\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 }\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n @if (expanded || fixed) {\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n }\n</div>\n", styles: [".fd-panel{--fdPanel_Header_Width:100%;--fdPanel_Header_Height:2.75rem;--fdPanel_Flex_Direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--fdPanel_Flex_Direction);flex-direction:var(--fdPanel_Flex_Direction)}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline: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{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){-webkit-margin-after:var(--fdPanel_Margin_Bottom);margin-block-end:var(--fdPanel_Margin_Bottom)}.fd-panel__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:var(--sapGroup_TitleBorderWidth) solid var(--fdPanel_Header_Border_Color,var(--sapGroup_TitleBorderColor));border-radius:var(--fdPanel_Header_Border_Top_Left_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Top_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Bottom_Right_Radius,0) var(--fdPanel_Header_Border_Bottom_Left_Radius,0);height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);min-width:var(--fdPanel_Header_Width);overflow:hidden;padding-inline:var(--fdPanel_Header_Padding_Inline_Start,0) var(--fdPanel_Header_Padding_Inline_End,.5rem);position:var(--fdPanel_Header_Position,relative);top:var(--fdPanel_Header_Position_Top,unset);width:var(--fdPanel_Header_Width)}.fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius:var(--fdPanel_Border_Radius);--fdPanel_Header_Border_Bottom_Right_Radius:var(--fdPanel_Border_Radius)}.fd-panel__header:has(.fd-toolbar){--fdPanel_Header_Padding_Inline_End:0}.fd-panel__header:not(:has(.fd-panel__button)){--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel__title{color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapGroup_Title_FontSize);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:var(--fdPanel_Title_Font_Size);max-width:100%;width:100%}.fd-panel__content{background:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);border-radius:var(--fdPanel_Content_Border_Top_Left_Radius,0) var(--fdPanel_Content_Border_Top_Right_Radius,0) var(--fdPanel_Content_Border_Bottom_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Content_Border_Bottom_Left_Radius,var(--fdPanel_Border_Radius));overflow:auto;padding-block:var(--fdPanel_Content_Padding_Block,.625rem);padding-inline:var(--fdPanel_Content_Padding_Inline,1rem);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{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);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{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);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__content--no-padding{--fdPanel_Content_Padding_Inline:0;--fdPanel_Content_Padding_Block:0}.fd-panel__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);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{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-panel--fixed{--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel--sticky{--fdPanel_Header_Position:sticky;--fdPanel_Header_Position_Top:0}.fd-panel--borderless{--fdPanel_Header_Border_Color:transparent}.fd-panel--transparent{--fdPanel_Content_Background_Color:transparent}.fd-panel[class*=-compact],.fd-panel[class*=-condensed],[class*=-compact] .fd-panel:not([class*=-cozy]),[class*=-condensed] .fd-panel:not([class*=-cozy]){--fdPanel_Header_Height:2.5rem}.fd-panel--transparent .fd-panel__header,.fd-panel--transparent .fd-panel__content{background:transparent}.fd-panel--no-radius .fd-panel__header,.fd-panel--no-radius .fd-panel__content,.fd-panel--no-radius .fd-panel__header ul,.fd-panel--no-radius .fd-panel__content ul{border-radius:0}.fd-panel--no-radius .fd-panel__header ul li:first-child,.fd-panel--no-radius .fd-panel__header ul li:last-child,.fd-panel--no-radius .fd-panel__content ul li:first-child,.fd-panel--no-radius .fd-panel__content ul li:last-child{border-radius:0}.fd-panel__content--no-padding{padding-block:0;padding-inline:0}.fd-panel__content--transparent{background:transparent}\n/*! Bundled license information:\n\nfundamental-styles/dist/panel.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"] }]
174
174
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ContentDensityObserver }], propDecorators: { class: [{
@@ -193,18 +193,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
193
193
  }], panelContent: [{
194
194
  type: ContentChild,
195
195
  args: [PanelContentDirective]
196
- }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }], noRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "noRadius", required: false }] }] } });
196
+ }] } });
197
197
 
198
198
  /**
199
199
  * @deprecated
200
200
  * Use direct imports of PanelComponent, PanelContentDirective, PanelTitleDirective
201
201
  */
202
202
  class PanelModule {
203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
204
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule], exports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule] }); }
205
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, imports: [PanelComponent, ContentDensityModule, ContentDensityModule] }); }
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
204
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: PanelModule, imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule], exports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule] }); }
205
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelModule, imports: [PanelComponent, ContentDensityModule, ContentDensityModule] }); }
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelModule, decorators: [{
208
208
  type: NgModule,
209
209
  args: [{
210
210
  imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule],