@fundamental-ngx/core 0.36.0-rc.2 → 0.36.0-rc.5

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 (513) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/carousel.component.d.ts +8 -2
  13. package/carousel/carousel.module.d.ts +2 -1
  14. package/carousel/esm2020/carousel.component.mjs +4 -7
  15. package/carousel/esm2020/carousel.module.mjs +5 -4
  16. package/carousel/fesm2015/fundamental-ngx-core-carousel.mjs +7 -9
  17. package/carousel/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
  18. package/carousel/fesm2020/fundamental-ngx-core-carousel.mjs +7 -9
  19. package/carousel/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
  20. package/carousel/package.json +1 -1
  21. package/checkbox/package.json +1 -1
  22. package/combobox/package.json +1 -1
  23. package/content-density/package.json +3 -3
  24. package/date-picker/date-picker.component.d.ts +22 -6
  25. package/date-picker/date-picker.module.d.ts +9 -8
  26. package/date-picker/esm2020/date-picker.component.mjs +14 -31
  27. package/date-picker/esm2020/date-picker.module.mjs +5 -1
  28. package/date-picker/fesm2015/fundamental-ngx-core-date-picker.mjs +17 -30
  29. package/date-picker/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  30. package/date-picker/fesm2020/fundamental-ngx-core-date-picker.mjs +17 -30
  31. package/date-picker/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  32. package/date-picker/package.json +1 -1
  33. package/datetime/package.json +1 -1
  34. package/datetime-picker/datetime-picker.component.d.ts +17 -7
  35. package/datetime-picker/datetime-picker.module.d.ts +6 -5
  36. package/datetime-picker/esm2020/datetime-picker.component.mjs +5 -14
  37. package/datetime-picker/esm2020/datetime-picker.module.mjs +5 -1
  38. package/datetime-picker/fesm2015/fundamental-ngx-core-datetime-picker.mjs +8 -13
  39. package/datetime-picker/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  40. package/datetime-picker/fesm2020/fundamental-ngx-core-datetime-picker.mjs +8 -13
  41. package/datetime-picker/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  42. package/datetime-picker/package.json +1 -1
  43. package/dialog/esm2020/dialog-header/dialog-header.component.mjs +3 -3
  44. package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
  45. package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  46. package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
  47. package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  48. package/dialog/package.json +1 -1
  49. package/dynamic-page/package.json +1 -1
  50. package/dynamic-side-content/package.json +1 -1
  51. package/esm2020/carousel/carousel.component.mjs +4 -7
  52. package/esm2020/carousel/carousel.module.mjs +5 -4
  53. package/esm2020/date-picker/date-picker.component.mjs +14 -31
  54. package/esm2020/date-picker/date-picker.module.mjs +5 -1
  55. package/esm2020/datetime-picker/datetime-picker.component.mjs +5 -14
  56. package/esm2020/datetime-picker/datetime-picker.module.mjs +5 -1
  57. package/esm2020/dialog/dialog-header/dialog-header.component.mjs +3 -3
  58. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +4 -11
  59. package/esm2020/feed-list-item/feed-list-item.module.mjs +5 -4
  60. package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +17 -10
  61. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +4 -3
  62. package/esm2020/formatted-text/formatted-text.component.mjs +2 -2
  63. package/esm2020/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +4 -3
  64. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +4 -3
  65. package/esm2020/grid-list/grid-list.module.mjs +30 -4
  66. package/esm2020/menu/menu.module.mjs +5 -4
  67. package/esm2020/message-box/message-box-footer/message-box-footer.component.mjs +5 -4
  68. package/esm2020/message-box/message-box-header/message-box-header.component.mjs +5 -4
  69. package/esm2020/message-strip/message-strip.component.mjs +4 -5
  70. package/esm2020/message-strip/message-strip.module.mjs +5 -4
  71. package/esm2020/multi-input/multi-input.component.mjs +1 -1
  72. package/esm2020/nested-list/nested-list/nested-list.directive.mjs +27 -14
  73. package/esm2020/overflow-layout/overflow-layout.component.mjs +4 -3
  74. package/esm2020/overflow-layout/overflow-layout.module.mjs +5 -4
  75. package/esm2020/pagination/pagination.component.mjs +37 -71
  76. package/esm2020/pagination/pagination.module.mjs +5 -1
  77. package/esm2020/product-switch/product-switch/product-switch.component.mjs +4 -5
  78. package/esm2020/product-switch/product-switch.module.mjs +5 -4
  79. package/esm2020/shellbar/shellbar-action/shellbar-action.component.mjs +5 -4
  80. package/esm2020/shellbar/shellbar-actions/shellbar-actions.component.mjs +1 -3
  81. package/esm2020/shellbar/shellbar.module.mjs +5 -1
  82. package/esm2020/slider/slider.component.mjs +9 -45
  83. package/esm2020/slider/slider.module.mjs +5 -4
  84. package/esm2020/split-button/split-button.component.mjs +4 -7
  85. package/esm2020/split-button/split-button.module.mjs +5 -4
  86. package/esm2020/splitter/splitter-pagination/splitter-pagination.component.mjs +8 -4
  87. package/esm2020/splitter/splitter.component.mjs +1 -3
  88. package/esm2020/splitter/splitter.module.mjs +5 -4
  89. package/esm2020/step-input/step-input.component.mjs +4 -9
  90. package/esm2020/step-input/step-input.module.mjs +9 -5
  91. package/esm2020/switch/switch.component.mjs +4 -7
  92. package/esm2020/switch/switch.module.mjs +5 -4
  93. package/esm2020/tabs/tab-item-expand/tab-item-expand.component.mjs +4 -7
  94. package/esm2020/tabs/tab-list.component.mjs +1 -3
  95. package/esm2020/tabs/tabs.module.mjs +8 -4
  96. package/esm2020/text/text.component.mjs +4 -11
  97. package/esm2020/text/text.module.mjs +5 -4
  98. package/esm2020/time/i18n/time-i18n.mjs +9 -6
  99. package/esm2020/time/time-column/time-column.component.mjs +54 -3
  100. package/esm2020/time/time.component.mjs +29 -14
  101. package/esm2020/time/time.module.mjs +30 -4
  102. package/esm2020/time-picker/time-picker.component.mjs +4 -7
  103. package/esm2020/time-picker/time-picker.module.mjs +8 -4
  104. package/esm2020/token/token.component.mjs +4 -7
  105. package/esm2020/token/token.module.mjs +27 -4
  106. package/esm2020/token/tokenizer.component.mjs +4 -7
  107. package/esm2020/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +4 -15
  108. package/esm2020/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +4 -5
  109. package/esm2020/upload-collection/upload-collection.module.mjs +5 -4
  110. package/esm2020/utils/services/local-storage.service.mjs +5 -1
  111. package/esm2020/wizard/wizard-injection-token.mjs +1 -1
  112. package/esm2020/wizard/wizard-navigation/wizard-navigation.component.mjs +19 -7
  113. package/esm2020/wizard/wizard.component.mjs +26 -14
  114. package/facets/package.json +1 -1
  115. package/feed-input/package.json +1 -1
  116. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -0
  117. package/feed-list-item/esm2020/components/item/feed-list-item.component.mjs +4 -11
  118. package/feed-list-item/esm2020/feed-list-item.module.mjs +5 -4
  119. package/feed-list-item/feed-list-item.module.d.ts +2 -1
  120. package/feed-list-item/fesm2015/fundamental-ngx-core-feed-list-item.mjs +7 -13
  121. package/feed-list-item/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  122. package/feed-list-item/fesm2020/fundamental-ngx-core-feed-list-item.mjs +7 -13
  123. package/feed-list-item/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  124. package/feed-list-item/package.json +1 -1
  125. package/fesm2015/fundamental-ngx-core-carousel.mjs +7 -9
  126. package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
  127. package/fesm2015/fundamental-ngx-core-date-picker.mjs +17 -30
  128. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  129. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +8 -13
  130. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  131. package/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
  132. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  133. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +7 -13
  134. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  135. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +16 -9
  136. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  137. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +3 -2
  138. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  139. package/fesm2015/fundamental-ngx-core-formatted-text.mjs +2 -1
  140. package/fesm2015/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  141. package/fesm2015/fundamental-ngx-core-grid-list.mjs +34 -7
  142. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  143. package/fesm2015/fundamental-ngx-core-menu.mjs +4 -3
  144. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  145. package/fesm2015/fundamental-ngx-core-message-box.mjs +7 -7
  146. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  147. package/fesm2015/fundamental-ngx-core-message-strip.mjs +7 -7
  148. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  149. package/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  150. package/fesm2015/fundamental-ngx-core-nested-list.mjs +26 -12
  151. package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
  152. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +7 -5
  153. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  154. package/fesm2015/fundamental-ngx-core-pagination.mjs +42 -70
  155. package/fesm2015/fundamental-ngx-core-pagination.mjs.map +1 -1
  156. package/fesm2015/fundamental-ngx-core-product-switch.mjs +9 -9
  157. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  158. package/fesm2015/fundamental-ngx-core-shellbar.mjs +6 -4
  159. package/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
  160. package/fesm2015/fundamental-ngx-core-slider.mjs +12 -47
  161. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  162. package/fesm2015/fundamental-ngx-core-split-button.mjs +7 -9
  163. package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  164. package/fesm2015/fundamental-ngx-core-splitter.mjs +11 -8
  165. package/fesm2015/fundamental-ngx-core-splitter.mjs.map +1 -1
  166. package/fesm2015/fundamental-ngx-core-step-input.mjs +12 -13
  167. package/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
  168. package/fesm2015/fundamental-ngx-core-switch.mjs +7 -9
  169. package/fesm2015/fundamental-ngx-core-switch.mjs.map +1 -1
  170. package/fesm2015/fundamental-ngx-core-tabs.mjs +10 -11
  171. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  172. package/fesm2015/fundamental-ngx-core-text.mjs +7 -13
  173. package/fesm2015/fundamental-ngx-core-text.mjs.map +1 -1
  174. package/fesm2015/fundamental-ngx-core-time-picker.mjs +10 -9
  175. package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  176. package/fesm2015/fundamental-ngx-core-time.mjs +117 -22
  177. package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  178. package/fesm2015/fundamental-ngx-core-token.mjs +32 -16
  179. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  180. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +10 -22
  181. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  182. package/fesm2015/fundamental-ngx-core-utils.mjs +4 -0
  183. package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  184. package/fesm2015/fundamental-ngx-core-wizard.mjs +43 -16
  185. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  186. package/fesm2020/fundamental-ngx-core-carousel.mjs +7 -9
  187. package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
  188. package/fesm2020/fundamental-ngx-core-date-picker.mjs +17 -30
  189. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  190. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +8 -13
  191. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  192. package/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
  193. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  194. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +7 -13
  195. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  196. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +16 -9
  197. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  198. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +3 -2
  199. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  200. package/fesm2020/fundamental-ngx-core-formatted-text.mjs +1 -1
  201. package/fesm2020/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  202. package/fesm2020/fundamental-ngx-core-grid-list.mjs +34 -7
  203. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  204. package/fesm2020/fundamental-ngx-core-menu.mjs +4 -3
  205. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  206. package/fesm2020/fundamental-ngx-core-message-box.mjs +7 -7
  207. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  208. package/fesm2020/fundamental-ngx-core-message-strip.mjs +7 -7
  209. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  210. package/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  211. package/fesm2020/fundamental-ngx-core-nested-list.mjs +25 -12
  212. package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
  213. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +7 -5
  214. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  215. package/fesm2020/fundamental-ngx-core-pagination.mjs +39 -70
  216. package/fesm2020/fundamental-ngx-core-pagination.mjs.map +1 -1
  217. package/fesm2020/fundamental-ngx-core-product-switch.mjs +9 -9
  218. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  219. package/fesm2020/fundamental-ngx-core-shellbar.mjs +6 -4
  220. package/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
  221. package/fesm2020/fundamental-ngx-core-slider.mjs +12 -47
  222. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  223. package/fesm2020/fundamental-ngx-core-split-button.mjs +7 -9
  224. package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  225. package/fesm2020/fundamental-ngx-core-splitter.mjs +11 -8
  226. package/fesm2020/fundamental-ngx-core-splitter.mjs.map +1 -1
  227. package/fesm2020/fundamental-ngx-core-step-input.mjs +12 -13
  228. package/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
  229. package/fesm2020/fundamental-ngx-core-switch.mjs +7 -9
  230. package/fesm2020/fundamental-ngx-core-switch.mjs.map +1 -1
  231. package/fesm2020/fundamental-ngx-core-tabs.mjs +10 -11
  232. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  233. package/fesm2020/fundamental-ngx-core-text.mjs +7 -13
  234. package/fesm2020/fundamental-ngx-core-text.mjs.map +1 -1
  235. package/fesm2020/fundamental-ngx-core-time-picker.mjs +10 -9
  236. package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  237. package/fesm2020/fundamental-ngx-core-time.mjs +116 -22
  238. package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  239. package/fesm2020/fundamental-ngx-core-token.mjs +32 -16
  240. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  241. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +10 -22
  242. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  243. package/fesm2020/fundamental-ngx-core-utils.mjs +4 -0
  244. package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  245. package/fesm2020/fundamental-ngx-core-wizard.mjs +39 -16
  246. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  247. package/file-uploader/package.json +1 -1
  248. package/fixed-card-layout/esm2020/fixed-card-layout.component.mjs +17 -10
  249. package/fixed-card-layout/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +16 -9
  250. package/fixed-card-layout/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  251. package/fixed-card-layout/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +16 -9
  252. package/fixed-card-layout/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  253. package/fixed-card-layout/fixed-card-layout.component.d.ts +2 -2
  254. package/fixed-card-layout/package.json +1 -1
  255. package/flexible-column-layout/esm2020/flexible-column-layout.component.mjs +4 -3
  256. package/flexible-column-layout/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +3 -2
  257. package/flexible-column-layout/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  258. package/flexible-column-layout/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +3 -2
  259. package/flexible-column-layout/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  260. package/flexible-column-layout/package.json +1 -1
  261. package/form/package.json +1 -1
  262. package/formatted-text/esm2020/formatted-text.component.mjs +2 -2
  263. package/formatted-text/fesm2015/fundamental-ngx-core-formatted-text.mjs +2 -1
  264. package/formatted-text/fesm2015/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  265. package/formatted-text/fesm2020/fundamental-ngx-core-formatted-text.mjs +1 -1
  266. package/formatted-text/fesm2020/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  267. package/formatted-text/package.json +1 -1
  268. package/grid-list/esm2020/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +4 -3
  269. package/grid-list/esm2020/components/grid-list-item/grid-list-item.component.mjs +4 -3
  270. package/grid-list/esm2020/grid-list.module.mjs +30 -4
  271. package/grid-list/fesm2015/fundamental-ngx-core-grid-list.mjs +34 -7
  272. package/grid-list/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  273. package/grid-list/fesm2020/fundamental-ngx-core-grid-list.mjs +34 -7
  274. package/grid-list/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  275. package/grid-list/grid-list.module.d.ts +2 -1
  276. package/grid-list/package.json +1 -1
  277. package/icon/package.json +1 -1
  278. package/illustrated-message/package.json +1 -1
  279. package/infinite-scroll/package.json +1 -1
  280. package/info-label/package.json +1 -1
  281. package/inline-help/package.json +1 -1
  282. package/input-group/package.json +1 -1
  283. package/layout-grid/package.json +1 -1
  284. package/layout-panel/package.json +1 -1
  285. package/link/package.json +1 -1
  286. package/list/package.json +1 -1
  287. package/menu/esm2020/menu.module.mjs +5 -4
  288. package/menu/fesm2015/fundamental-ngx-core-menu.mjs +4 -3
  289. package/menu/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  290. package/menu/fesm2020/fundamental-ngx-core-menu.mjs +4 -3
  291. package/menu/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  292. package/menu/package.json +1 -1
  293. package/message-box/esm2020/message-box-footer/message-box-footer.component.mjs +5 -4
  294. package/message-box/esm2020/message-box-header/message-box-header.component.mjs +5 -4
  295. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs +7 -7
  296. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  297. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs +7 -7
  298. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  299. package/message-box/package.json +1 -1
  300. package/message-strip/esm2020/message-strip.component.mjs +4 -5
  301. package/message-strip/esm2020/message-strip.module.mjs +5 -4
  302. package/message-strip/fesm2015/fundamental-ngx-core-message-strip.mjs +7 -7
  303. package/message-strip/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  304. package/message-strip/fesm2020/fundamental-ngx-core-message-strip.mjs +7 -7
  305. package/message-strip/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  306. package/message-strip/message-strip.component.d.ts +4 -1
  307. package/message-strip/message-strip.module.d.ts +2 -1
  308. package/message-strip/package.json +1 -1
  309. package/message-toast/package.json +1 -1
  310. package/micro-process-flow/package.json +1 -1
  311. package/mobile-mode/package.json +1 -1
  312. package/multi-input/esm2020/multi-input.component.mjs +1 -1
  313. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  314. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  315. package/multi-input/package.json +1 -1
  316. package/nested-list/esm2020/nested-list/nested-list.directive.mjs +27 -14
  317. package/nested-list/fesm2015/fundamental-ngx-core-nested-list.mjs +26 -12
  318. package/nested-list/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
  319. package/nested-list/fesm2020/fundamental-ngx-core-nested-list.mjs +25 -12
  320. package/nested-list/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
  321. package/nested-list/nested-list/nested-list.directive.d.ts +7 -2
  322. package/nested-list/package.json +1 -1
  323. package/notification/package.json +1 -1
  324. package/object-identifier/package.json +1 -1
  325. package/object-marker/package.json +1 -1
  326. package/object-number/package.json +1 -1
  327. package/object-status/package.json +1 -1
  328. package/overflow-layout/esm2020/overflow-layout.component.mjs +4 -3
  329. package/overflow-layout/esm2020/overflow-layout.module.mjs +5 -4
  330. package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs +7 -5
  331. package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  332. package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs +7 -5
  333. package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  334. package/overflow-layout/overflow-layout.module.d.ts +2 -1
  335. package/overflow-layout/package.json +15 -14
  336. package/package.json +2 -1
  337. package/pagination/esm2020/pagination.component.mjs +37 -71
  338. package/pagination/esm2020/pagination.module.mjs +5 -1
  339. package/pagination/fesm2015/fundamental-ngx-core-pagination.mjs +42 -70
  340. package/pagination/fesm2015/fundamental-ngx-core-pagination.mjs.map +1 -1
  341. package/pagination/fesm2020/fundamental-ngx-core-pagination.mjs +39 -70
  342. package/pagination/fesm2020/fundamental-ngx-core-pagination.mjs.map +1 -1
  343. package/pagination/package.json +1 -1
  344. package/pagination/pagination.component.d.ts +22 -2
  345. package/pagination/pagination.module.d.ts +6 -5
  346. package/panel/package.json +1 -1
  347. package/popover/package.json +1 -1
  348. package/product-switch/esm2020/product-switch/product-switch.component.mjs +4 -5
  349. package/product-switch/esm2020/product-switch.module.mjs +5 -4
  350. package/product-switch/fesm2015/fundamental-ngx-core-product-switch.mjs +9 -9
  351. package/product-switch/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  352. package/product-switch/fesm2020/fundamental-ngx-core-product-switch.mjs +9 -9
  353. package/product-switch/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  354. package/product-switch/package.json +1 -1
  355. package/product-switch/product-switch/product-switch.component.d.ts +3 -1
  356. package/product-switch/product-switch.module.d.ts +2 -1
  357. package/progress-indicator/package.json +1 -1
  358. package/quick-view/package.json +1 -1
  359. package/radio/package.json +1 -1
  360. package/rating-indicator/package.json +1 -1
  361. package/resizable-card-layout/package.json +1 -1
  362. package/scroll-spy/package.json +1 -1
  363. package/scrollbar/package.json +1 -1
  364. package/segmented-button/package.json +1 -1
  365. package/select/package.json +1 -1
  366. package/shared/package.json +1 -1
  367. package/shellbar/esm2020/shellbar-action/shellbar-action.component.mjs +5 -4
  368. package/shellbar/esm2020/shellbar-actions/shellbar-actions.component.mjs +1 -3
  369. package/shellbar/esm2020/shellbar.module.mjs +5 -1
  370. package/shellbar/fesm2015/fundamental-ngx-core-shellbar.mjs +6 -4
  371. package/shellbar/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
  372. package/shellbar/fesm2020/fundamental-ngx-core-shellbar.mjs +6 -4
  373. package/shellbar/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
  374. package/shellbar/package.json +1 -1
  375. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +4 -1
  376. package/shellbar/shellbar.module.d.ts +4 -3
  377. package/side-navigation/package.json +1 -1
  378. package/slider/esm2020/slider.component.mjs +9 -45
  379. package/slider/esm2020/slider.module.mjs +5 -4
  380. package/slider/fesm2015/fundamental-ngx-core-slider.mjs +12 -47
  381. package/slider/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  382. package/slider/fesm2020/fundamental-ngx-core-slider.mjs +12 -47
  383. package/slider/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  384. package/slider/package.json +1 -1
  385. package/slider/slider.component.d.ts +6 -10
  386. package/slider/slider.module.d.ts +2 -1
  387. package/split-button/esm2020/split-button.component.mjs +4 -7
  388. package/split-button/esm2020/split-button.module.mjs +5 -4
  389. package/split-button/fesm2015/fundamental-ngx-core-split-button.mjs +7 -9
  390. package/split-button/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  391. package/split-button/fesm2020/fundamental-ngx-core-split-button.mjs +7 -9
  392. package/split-button/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  393. package/split-button/package.json +1 -1
  394. package/split-button/split-button.component.d.ts +4 -1
  395. package/split-button/split-button.module.d.ts +2 -1
  396. package/splitter/esm2020/splitter-pagination/splitter-pagination.component.mjs +8 -4
  397. package/splitter/esm2020/splitter.component.mjs +1 -3
  398. package/splitter/esm2020/splitter.module.mjs +5 -4
  399. package/splitter/fesm2015/fundamental-ngx-core-splitter.mjs +11 -8
  400. package/splitter/fesm2015/fundamental-ngx-core-splitter.mjs.map +1 -1
  401. package/splitter/fesm2020/fundamental-ngx-core-splitter.mjs +11 -8
  402. package/splitter/fesm2020/fundamental-ngx-core-splitter.mjs.map +1 -1
  403. package/splitter/package.json +1 -1
  404. package/splitter/splitter-pagination/splitter-pagination.component.d.ts +4 -1
  405. package/splitter/splitter.component.d.ts +4 -1
  406. package/splitter/splitter.module.d.ts +2 -1
  407. package/status-indicator/package.json +1 -1
  408. package/step-input/esm2020/step-input.component.mjs +4 -9
  409. package/step-input/esm2020/step-input.module.mjs +9 -5
  410. package/step-input/fesm2015/fundamental-ngx-core-step-input.mjs +12 -13
  411. package/step-input/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
  412. package/step-input/fesm2020/fundamental-ngx-core-step-input.mjs +12 -13
  413. package/step-input/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
  414. package/step-input/package.json +1 -1
  415. package/step-input/step-input.component.d.ts +8 -2
  416. package/step-input/step-input.module.d.ts +2 -1
  417. package/switch/esm2020/switch.component.mjs +4 -7
  418. package/switch/esm2020/switch.module.mjs +5 -4
  419. package/switch/fesm2015/fundamental-ngx-core-switch.mjs +7 -9
  420. package/switch/fesm2015/fundamental-ngx-core-switch.mjs.map +1 -1
  421. package/switch/fesm2020/fundamental-ngx-core-switch.mjs +7 -9
  422. package/switch/fesm2020/fundamental-ngx-core-switch.mjs.map +1 -1
  423. package/switch/package.json +1 -1
  424. package/switch/switch.component.d.ts +8 -2
  425. package/switch/switch.module.d.ts +2 -1
  426. package/table/package.json +1 -1
  427. package/tabs/esm2020/tab-item-expand/tab-item-expand.component.mjs +4 -7
  428. package/tabs/esm2020/tab-list.component.mjs +1 -3
  429. package/tabs/esm2020/tabs.module.mjs +8 -4
  430. package/tabs/fesm2015/fundamental-ngx-core-tabs.mjs +10 -11
  431. package/tabs/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  432. package/tabs/fesm2020/fundamental-ngx-core-tabs.mjs +10 -11
  433. package/tabs/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  434. package/tabs/package.json +1 -1
  435. package/tabs/tab-item-expand/tab-item-expand.component.d.ts +3 -1
  436. package/tabs/tab-list.component.d.ts +4 -1
  437. package/tabs/tabs.module.d.ts +2 -1
  438. package/text/esm2020/text.component.mjs +4 -11
  439. package/text/esm2020/text.module.mjs +5 -4
  440. package/text/fesm2015/fundamental-ngx-core-text.mjs +7 -13
  441. package/text/fesm2015/fundamental-ngx-core-text.mjs.map +1 -1
  442. package/text/fesm2020/fundamental-ngx-core-text.mjs +7 -13
  443. package/text/fesm2020/fundamental-ngx-core-text.mjs.map +1 -1
  444. package/text/package.json +1 -1
  445. package/text/text.component.d.ts +2 -0
  446. package/text/text.module.d.ts +2 -1
  447. package/theming/package.json +1 -1
  448. package/tile/package.json +1 -1
  449. package/time/esm2020/i18n/time-i18n.mjs +9 -6
  450. package/time/esm2020/time-column/time-column.component.mjs +54 -3
  451. package/time/esm2020/time.component.mjs +29 -14
  452. package/time/esm2020/time.module.mjs +30 -4
  453. package/time/fesm2015/fundamental-ngx-core-time.mjs +117 -22
  454. package/time/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  455. package/time/fesm2020/fundamental-ngx-core-time.mjs +116 -22
  456. package/time/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  457. package/time/i18n/time-i18n.d.ts +2 -0
  458. package/time/package.json +1 -1
  459. package/time/time-column/time-column.component.d.ts +12 -4
  460. package/time/time.component.d.ts +8 -8
  461. package/time/time.module.d.ts +2 -1
  462. package/time-picker/esm2020/time-picker.component.mjs +4 -7
  463. package/time-picker/esm2020/time-picker.module.mjs +8 -4
  464. package/time-picker/fesm2015/fundamental-ngx-core-time-picker.mjs +10 -9
  465. package/time-picker/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  466. package/time-picker/fesm2020/fundamental-ngx-core-time-picker.mjs +10 -9
  467. package/time-picker/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  468. package/time-picker/package.json +1 -1
  469. package/time-picker/time-picker.module.d.ts +2 -1
  470. package/timeline/package.json +1 -1
  471. package/title/package.json +1 -1
  472. package/token/esm2020/token.component.mjs +4 -7
  473. package/token/esm2020/token.module.mjs +27 -4
  474. package/token/esm2020/tokenizer.component.mjs +4 -7
  475. package/token/fesm2015/fundamental-ngx-core-token.mjs +32 -16
  476. package/token/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  477. package/token/fesm2020/fundamental-ngx-core-token.mjs +32 -16
  478. package/token/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  479. package/token/package.json +1 -1
  480. package/token/token.component.d.ts +8 -2
  481. package/token/token.module.d.ts +2 -1
  482. package/token/tokenizer.component.d.ts +1 -3
  483. package/toolbar/package.json +1 -1
  484. package/tree/package.json +1 -1
  485. package/upload-collection/esm2020/upload-collection-button-group/upload-collection-button-group.component.mjs +4 -15
  486. package/upload-collection/esm2020/upload-collection-form-item/upload-collection-form-item.component.mjs +4 -5
  487. package/upload-collection/esm2020/upload-collection.module.mjs +5 -4
  488. package/upload-collection/fesm2015/fundamental-ngx-core-upload-collection.mjs +10 -22
  489. package/upload-collection/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  490. package/upload-collection/fesm2020/fundamental-ngx-core-upload-collection.mjs +10 -22
  491. package/upload-collection/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  492. package/upload-collection/package.json +1 -1
  493. package/upload-collection/upload-collection-button-group/upload-collection-button-group.component.d.ts +24 -6
  494. package/upload-collection/upload-collection-form-item/upload-collection-form-item.component.d.ts +4 -1
  495. package/upload-collection/upload-collection.module.d.ts +2 -1
  496. package/utils/esm2020/services/local-storage.service.mjs +5 -1
  497. package/utils/fesm2015/fundamental-ngx-core-utils.mjs +4 -0
  498. package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  499. package/utils/fesm2020/fundamental-ngx-core-utils.mjs +4 -0
  500. package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  501. package/utils/package.json +1 -1
  502. package/vertical-navigation/package.json +1 -1
  503. package/wizard/esm2020/wizard-injection-token.mjs +1 -1
  504. package/wizard/esm2020/wizard-navigation/wizard-navigation.component.mjs +19 -7
  505. package/wizard/esm2020/wizard.component.mjs +26 -14
  506. package/wizard/fesm2015/fundamental-ngx-core-wizard.mjs +43 -16
  507. package/wizard/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  508. package/wizard/fesm2020/fundamental-ngx-core-wizard.mjs +39 -16
  509. package/wizard/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  510. package/wizard/package.json +1 -1
  511. package/wizard/wizard-injection-token.d.ts +1 -0
  512. package/wizard/wizard-navigation/wizard-navigation.component.d.ts +9 -2
  513. package/wizard/wizard.component.d.ts +11 -4
@@ -8,6 +8,8 @@ import * as i2 from '@fundamental-ngx/core/button';
8
8
  import { ButtonModule } from '@fundamental-ngx/core/button';
9
9
  import * as i2$1 from '@fundamental-ngx/core/icon';
10
10
  import { IconModule } from '@fundamental-ngx/core/icon';
11
+ import * as i4 from '@fundamental-ngx/i18n';
12
+ import { I18nModule } from '@fundamental-ngx/i18n';
11
13
  import { Subject, fromEvent, throttleTime, Subscription } from 'rxjs';
12
14
  import { takeUntil, take, filter } from 'rxjs/operators';
13
15
  import * as i1 from '@angular/cdk/scrolling';
@@ -148,8 +150,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
148
150
 
149
151
  class SplitterComponent {
150
152
  constructor() {
151
- /** aria-label for the pagination item. */
152
- this.paginationItemAriaLabel = 'Section';
153
153
  /** @hidden */
154
154
  this._defaultPaneId$ = new Subject();
155
155
  }
@@ -210,7 +210,10 @@ class SplitterPaginationComponent {
210
210
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
211
211
  this.onPageChange = new EventEmitter();
212
212
  }
213
- /** @hidden */
213
+ /**
214
+ * @hidden
215
+ * @deprecated use i18n capabilities instead
216
+ */
214
217
  get paginationItemAriaLabel() {
215
218
  return this._splitter.paginationItemAriaLabel;
216
219
  }
@@ -224,13 +227,13 @@ class SplitterPaginationComponent {
224
227
  }
225
228
  }
226
229
  SplitterPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterPaginationComponent, deps: [{ token: SplitterComponent }], target: i0.ɵɵFactoryTarget.Component });
227
- SplitterPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: SplitterPaginationComponent, selector: "fd-splitter-pagination", inputs: { pages: "pages", currentPage: "currentPage" }, outputs: { onPageChange: "onPageChange" }, host: { properties: { "attr.role": "\"radiogroup\"" }, classAttribute: "fd-splitter__pagination" }, ngImport: i0, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n", components: [{ type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
230
+ SplitterPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: SplitterPaginationComponent, selector: "fd-splitter-pagination", inputs: { pages: "pages", currentPage: "currentPage" }, outputs: { onPageChange: "onPageChange" }, host: { properties: { "attr.role": "\"radiogroup\"" }, classAttribute: "fd-splitter__pagination" }, ngImport: i0, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel || ('coreSplitter.paginationItemAriaLabel' | fdTranslate)\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n", components: [{ type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fdTranslate": i4.FdTranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
228
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterPaginationComponent, decorators: [{
229
232
  type: Component,
230
233
  args: [{ selector: 'fd-splitter-pagination', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
231
234
  class: 'fd-splitter__pagination',
232
235
  '[attr.role]': '"radiogroup"'
233
- }, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n" }]
236
+ }, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel || ('coreSplitter.paginationItemAriaLabel' | fdTranslate)\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n" }]
234
237
  }], ctorParameters: function () { return [{ type: SplitterComponent }]; }, propDecorators: { pages: [{
235
238
  type: Input
236
239
  }], currentPage: [{
@@ -767,13 +770,13 @@ SplitterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
767
770
  SplitterSplitPaneComponent,
768
771
  SplitterResizerComponent,
769
772
  SplitterPaginationComponent,
770
- NoDefaultPanePipe], imports: [CommonModule, IconModule, ButtonModule, PortalModule], exports: [SplitterComponent,
773
+ NoDefaultPanePipe], imports: [CommonModule, IconModule, ButtonModule, PortalModule, I18nModule], exports: [SplitterComponent,
771
774
  SplitterPaneContainerComponent,
772
775
  SplitterSplitPaneComponent,
773
776
  SplitterResizerComponent,
774
777
  SplitterPaginationComponent,
775
778
  NoDefaultPanePipe] });
776
- SplitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterModule, imports: [[CommonModule, IconModule, ButtonModule, PortalModule]] });
779
+ SplitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterModule, imports: [[CommonModule, IconModule, ButtonModule, PortalModule, I18nModule]] });
777
780
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterModule, decorators: [{
778
781
  type: NgModule,
779
782
  args: [{
@@ -785,7 +788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
785
788
  SplitterPaginationComponent,
786
789
  NoDefaultPanePipe
787
790
  ],
788
- imports: [CommonModule, IconModule, ButtonModule, PortalModule],
791
+ imports: [CommonModule, IconModule, ButtonModule, PortalModule, I18nModule],
789
792
  exports: [
790
793
  SplitterComponent,
791
794
  SplitterPaneContainerComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-splitter.mjs","sources":["../../../../../libs/core/src/lib/splitter/constants.ts","../../../../../libs/core/src/lib/splitter/splitter-split-pane/splitter-split-pane.component.ts","../../../../../libs/core/src/lib/splitter/splitter-split-pane/splitter-split-pane.component.html","../../../../../libs/core/src/lib/splitter/splitter.component.ts","../../../../../libs/core/src/lib/splitter/splitter.component.html","../../../../../libs/core/src/lib/splitter/splitter-pagination/splitter-pagination.component.ts","../../../../../libs/core/src/lib/splitter/splitter-pagination/splitter-pagination.component.html","../../../../../libs/core/src/lib/splitter/splitter-pane-container/splitter-pane-orientation.enum.ts","../../../../../libs/core/src/lib/splitter/splitter-resizer/splitter-resizer.component.ts","../../../../../libs/core/src/lib/splitter/splitter-resizer/splitter-resizer.component.html","../../../../../libs/core/src/lib/splitter/splitter-pane-container/splitter-pane-container.component.ts","../../../../../libs/core/src/lib/splitter/splitter-pane-container/splitter-pane-container.component.html","../../../../../libs/core/src/lib/splitter/splitter.module.ts","../../../../../libs/core/src/lib/splitter/fundamental-ngx-core-splitter.ts"],"sourcesContent":["export const PANE_AUTO_SIZE = 'auto';\n\nexport const PANE_NONE_SIZE = 'none';\n\nexport const RESIZER_SIZE_PX = 16;\n\nexport const ROOT_PAGE = 'FD_SPLITTER_ROOT_PAGE';\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nimport { PANE_AUTO_SIZE } from '../constants';\n\nlet paneUniqueId = 0;\n\n/** @dynamic */\n@Component({\n selector: 'fd-splitter-split-pane',\n templateUrl: './splitter-split-pane.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SplitterSplitPaneComponent implements OnInit, AfterViewInit, OnDestroy {\n /** Size (height in vertical orientation, width in horizontal orientation) of the pane. */\n @Input()\n set size(size: string) {\n this._size = size;\n this._actualSize = this._size;\n }\n\n get size(): string {\n return this._size;\n }\n\n /** Id of the split pane. Generated if not provided. */\n @Input()\n id = `fd-splitter-split-pane-${paneUniqueId++}`;\n\n /** Required browser's window width in pixels when the panel will be shown. */\n @Input()\n requiredParentWidth: number;\n\n /** Whether pane is reachable using pagination bar when is off-canvas. */\n @Input()\n demandPane = true;\n\n /** Event emitted when the pane appears on/disappears out of canvas. */\n @Output()\n readonly toggleOnCanvas = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild(TemplateRef, { static: true })\n _templateRef: TemplateRef<any>;\n\n /** @hidden */\n _actualSize = PANE_AUTO_SIZE;\n\n /** @hidden */\n private _size = PANE_AUTO_SIZE;\n\n /** @hidden */\n private _contentPortal: TemplatePortal | null = null;\n\n /** @hidden */\n private _isOnCanvas = true;\n\n /** @hidden */\n private _unsubscribe$ = new Subject<void>();\n\n /** Returns if the pane is on canvas. */\n get isOnCanvas(): boolean {\n return this._isOnCanvas;\n }\n\n /** @hidden */\n get _content(): TemplatePortal | null {\n return this._contentPortal;\n }\n\n /** @hidden */\n private get _window(): Nullable<Window & typeof globalThis> {\n return this._document?.defaultView;\n }\n\n /** @hidden */\n constructor(\n private readonly _viewContainerRef: ViewContainerRef,\n private readonly _viewportRuler: ViewportRuler,\n @Optional() @Inject(DOCUMENT) private readonly _document: Document | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._contentPortal = new TemplatePortal(this._templateRef, this._viewContainerRef);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._processPaneOnCanvas();\n this._listenToResize();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n /** Hide pane from the canvas. */\n hideFromCanvas(): void {\n if (!this.isOnCanvas) {\n return;\n }\n\n this._isOnCanvas = false;\n\n this.toggleOnCanvas.emit(false);\n }\n\n /** Show pane on the canvas. */\n showOnCanvas(): void {\n if (this.isOnCanvas) {\n return;\n }\n\n this._isOnCanvas = true;\n\n this.toggleOnCanvas.emit(true);\n }\n\n /** @hidden */\n private _listenToResize(): void {\n if (!this._window) {\n return;\n }\n\n this._viewportRuler\n .change(10)\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => this._processPaneOnCanvas());\n }\n\n /** @hidden */\n private _processPaneOnCanvas(): void {\n if (!this._window) {\n return;\n }\n\n if (this.requiredParentWidth > this._window.innerWidth && this.isOnCanvas) {\n this.hideFromCanvas();\n }\n\n if (this.requiredParentWidth < this._window.innerWidth && !this.isOnCanvas) {\n this.showOnCanvas();\n }\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { SplitterSplitPaneComponent } from './splitter-split-pane/splitter-split-pane.component';\n\n@Component({\n selector: 'fd-splitter',\n templateUrl: './splitter.component.html',\n styleUrls: ['./splitter.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'fd-splitter' }\n})\nexport class SplitterComponent {\n /** Id of the main pane. */\n @Input()\n set defaultPaneId(value: string) {\n this._defaultPaneId = value;\n\n this._defaultPaneId$.next(this._defaultPaneId);\n }\n\n get defaultPaneId(): string {\n return this._defaultPaneId;\n }\n\n /** aria-label for the pagination item. */\n @Input()\n paginationItemAriaLabel = 'Section';\n\n /** @hidden */\n _defaultPaneId$ = new Subject<string>();\n\n /** @hidden */\n @ContentChildren(SplitterSplitPaneComponent, { descendants: true })\n _panes: QueryList<SplitterSplitPaneComponent>;\n\n /** @hidden */\n private _defaultPaneId: string;\n\n /** Check whether certain pane is on canvas. */\n isPaneOnCanvas(paneId: string): boolean {\n if (!this._panes.length) {\n return false;\n }\n\n const paneToCheck = this._panes.find((pane) => pane.id === paneId);\n\n return !!paneToCheck?.isOnCanvas;\n }\n\n /** Hide certain pane from the canvas. */\n hidePaneFromCanvas(paneId: string): void {\n if (!this._panes.length) {\n return;\n }\n\n const paneToRemove = this._panes.find((pane) => pane.id === paneId);\n\n paneToRemove?.hideFromCanvas();\n }\n\n /** Show certain pane from the canvas. */\n showPaneOnCanvas(paneId: string): void {\n if (!this._panes.length) {\n return;\n }\n\n const paneToShow = this._panes.find((pane) => pane.id === paneId);\n\n paneToShow?.showOnCanvas();\n }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { SplitterComponent } from '../splitter.component';\n\n@Component({\n selector: 'fd-splitter-pagination',\n templateUrl: './splitter-pagination.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-splitter__pagination',\n '[attr.role]': '\"radiogroup\"'\n }\n})\nexport class SplitterPaginationComponent {\n /** Array of pages ids. */\n @Input()\n pages: string[] = [];\n\n /** Current page id. */\n @Input()\n currentPage: string;\n\n /** Event emitted on page change. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onPageChange = new EventEmitter<string>();\n\n /** @hidden */\n get paginationItemAriaLabel(): string {\n return this._splitter.paginationItemAriaLabel;\n }\n\n /** @Hidden */\n constructor(private readonly _splitter: SplitterComponent) {}\n\n /** @hidden */\n _changePage(page: string): void {\n if (page === this.currentPage) {\n return;\n }\n\n this.currentPage = page;\n this.onPageChange.emit(this.currentPage);\n }\n}\n","<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n","export enum SplitterPaneContainerOrientation {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n\nexport type SplitterPaneContainerOrientationType =\n | keyof typeof SplitterPaneContainerOrientation\n | SplitterPaneContainerOrientation;\n","import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent, Subject, throttleTime } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\n\nimport {\n SplitterPaneContainerOrientation,\n SplitterPaneContainerOrientationType\n} from '../splitter-pane-container/splitter-pane-orientation.enum';\n\n/** @dynamic */\n@Component({\n selector: 'fd-splitter-resizer',\n templateUrl: './splitter-resizer.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-splitter__resizer',\n '[class.is-active]': '_start != null || _isInFocus',\n '[tabindex]': '0'\n }\n})\nexport class SplitterResizerComponent implements OnDestroy {\n /** Orientation of the splitter's host pane container. */\n @Input()\n orientation: SplitterPaneContainerOrientationType = SplitterPaneContainerOrientation.vertical;\n\n /** Event emitted after resizing has started. */\n @Output()\n startResize = new EventEmitter<void>();\n\n /** Event emitted after resizing has ended. */\n @Output()\n endResize = new EventEmitter<void>();\n\n /** Event emitted while resizing. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n resize = new EventEmitter<number>();\n\n /** @hidden */\n _start: number | null = null;\n\n /** @hidden */\n _isInFocus = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n get _role(): string {\n return 'separator';\n }\n\n /** @hidden */\n @HostBinding('attr.aria-orientation')\n get _ariaOrientation(): string {\n return this.orientation;\n }\n\n /** @hidden */\n get _isHorizontal(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.horizontal;\n }\n\n /** @hidden */\n get _isVertical(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.vertical;\n }\n\n /** @hidden */\n private _prevDiff = 0;\n\n /** @hidden */\n private _pointerMoveListener = new Subject<void>();\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<Element>,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(DOCUMENT) private readonly _document: Document | null\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribe();\n }\n\n /** @hidden */\n @HostListener('mousedown', ['$event'])\n _onMouseDown(event: MouseEvent): void {\n event.preventDefault();\n\n this._start = this._isHorizontal ? event.clientY : event.clientX;\n\n this.startResize.emit();\n\n this._listenToPointerMove();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n _onKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n let diff: number | undefined;\n\n if (this._isHorizontal) {\n this._start = this._elementRef.nativeElement.getBoundingClientRect().left;\n\n if (KeyUtil.isKeyCode(event, [UP_ARROW])) {\n diff = this._start - 1;\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW])) {\n diff = this._start + 1;\n }\n }\n\n if (this._isVertical) {\n this._start = this._elementRef.nativeElement.getBoundingClientRect().top;\n\n if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n diff = this._start - 1;\n }\n\n if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n diff = this._start + 1;\n }\n }\n\n if (diff !== undefined) {\n this.startResize.emit();\n this._emitResize(diff);\n this.endResize.emit();\n }\n\n this._unsubscribe(false);\n }\n }\n\n /** @hidden */\n @HostListener('focus')\n _onFocus(): void {\n this._isInFocus = true;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n @HostListener('blur')\n _onBlur(): void {\n this._isInFocus = false;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _listenToPointerMove(): void {\n this._pointerMoveListener = new Subject<void>();\n\n if (!this._document) {\n return;\n }\n\n this._ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this._document!, 'mousemove')\n .pipe(throttleTime(10), takeUntil(this._pointerMoveListener))\n .subscribe((event) => {\n this._ngZone.run(() => {\n const newPosition = this._isHorizontal ? event.clientY : event.clientX;\n\n this._emitResize(newPosition);\n this._cdr.markForCheck();\n });\n });\n\n fromEvent(this._document!, 'mouseup')\n .pipe(take(1), takeUntil(this._pointerMoveListener))\n .subscribe(() => {\n this._ngZone.run(() => {\n this.endResize.emit();\n this._unsubscribe();\n this._cdr.markForCheck();\n });\n });\n });\n }\n\n /** @hidden */\n private _emitResize(newPosition: number): void {\n const diff = newPosition - (this._start ?? newPosition);\n\n this.resize.emit(diff - this._prevDiff);\n\n this._prevDiff = diff;\n }\n\n /** @hidden */\n private _unsubscribe(removeFocus = true): void {\n this._start = null;\n this._prevDiff = 0;\n\n this._pointerMoveListener?.next();\n this._pointerMoveListener?.complete();\n\n if (removeFocus) {\n this._isInFocus = false;\n\n this._cdr.markForCheck();\n }\n }\n}\n","<div class=\"fd-splitter__resizer-decoration-before\"></div>\n\n<button fd-button fdType=\"transparent\" tabindex=\"-1\" class=\"fd-splitter__resizer-grip\">\n <fd-icon\n class=\"fd-splitter__resizer-grip-icon\"\n [glyph]=\"(_isVertical && 'vertical-grip') || (_isHorizontal && 'horizontal-grip')\"\n ></fd-icon>\n</button>\n\n<div class=\"fd-splitter__resizer-decoration-after\"></div>\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n Pipe,\n PipeTransform,\n QueryList,\n SkipSelf,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { RtlService } from '@fundamental-ngx/core/utils';\n\nimport { SplitterComponent } from '../splitter.component';\nimport { SplitterPaneResizeEvent } from '../interfaces/splitter-pane-resize-event.interface';\nimport { SplitterSplitPaneComponent } from '../splitter-split-pane/splitter-split-pane.component';\nimport { PANE_AUTO_SIZE, PANE_NONE_SIZE, RESIZER_SIZE_PX, ROOT_PAGE } from '../constants';\nimport {\n SplitterPaneContainerOrientation,\n SplitterPaneContainerOrientationType\n} from './splitter-pane-orientation.enum';\n\n@Component({\n selector: 'fd-splitter-pane-container',\n templateUrl: './splitter-pane-container.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-splitter__pane-container',\n '[class.fd-splitter__pane-container--horizontal]': '!_isRootContainer && _isHorizontal',\n '[class.fd-splitter__pane-container--vertical]': '_isRootContainer || _isVertical'\n }\n})\nexport class SplitterPaneContainerComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Pane type - vertical (default) or horizontal. */\n @Input()\n orientation: SplitterPaneContainerOrientationType = SplitterPaneContainerOrientation.vertical;\n\n /** Event emitted after container's panes has resized. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly resize = new EventEmitter<SplitterPaneResizeEvent[]>();\n\n /** @hidden */\n @ContentChildren(SplitterSplitPaneComponent, { descendants: true })\n _panes: QueryList<SplitterSplitPaneComponent>;\n\n /** @hidden */\n @ContentChildren(SplitterSplitPaneComponent)\n _directPanes: QueryList<SplitterSplitPaneComponent>;\n\n /** @hidden */\n _defaultPane: SplitterSplitPaneComponent;\n\n /** @hidden */\n _pages: string[] = [];\n\n /** @hidden */\n _currentPage: string;\n\n /** @hidden */\n private _paneSizes: number[] = [];\n\n /** @hidden */\n private _wantedPanesSizes: number[] = [];\n\n /** @hidden */\n private _initialPaneSizes: number[] = [];\n\n /** @hidden */\n private _directPaneSubscription$ = new Subscription();\n\n /** @hidden */\n private _subscription$ = new Subscription();\n\n /** @hidden */\n get _isHorizontal(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.horizontal;\n }\n\n /** @hidden */\n get _isVertical(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.vertical;\n }\n\n /** @hidden */\n get _isRootContainer(): boolean {\n return !this._parentSplitterPaneContainer;\n }\n\n /** @hidden */\n get _panesOnCanvas(): SplitterSplitPaneComponent[] {\n return this._directPanes.filter((pane) => pane.isOnCanvas);\n }\n\n /** @hidden */\n get _activePanes(): SplitterSplitPaneComponent[] {\n if (this._currentPage === ROOT_PAGE) {\n return this._panesOnCanvas;\n }\n\n return this._panes.filter((pane) => pane.id === this._currentPage);\n }\n\n /** @hidden */\n private get _panesInRightOrderForResize(): SplitterSplitPaneComponent[] {\n const panes = this._directPanes.filter((pane) => pane.id !== this._defaultPane?.id);\n\n if (this._defaultPane) {\n panes.unshift(this._defaultPane);\n }\n\n return panes;\n }\n\n /** @hidden */\n private get _isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n constructor(\n private readonly _cdr: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _splitter: SplitterComponent,\n private readonly _viewportRuler: ViewportRuler,\n @Optional() private readonly _rtlService: RtlService,\n @Optional() @SkipSelf() private readonly _parentSplitterPaneContainer: SplitterPaneContainerComponent\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._isRootContainer) {\n this._setDefaultPane();\n this._updatePages();\n\n this._panes.forEach((pane) => {\n this._subscription$.add(pane.toggleOnCanvas.subscribe(() => this._updatePages()));\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setPanes();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._directPaneSubscription$.unsubscribe();\n this._subscription$.unsubscribe();\n }\n\n /** @hidden */\n _getPaneStyles(pane: SplitterSplitPaneComponent): { [klass: string]: any } {\n const style = {\n 'min-width': PANE_AUTO_SIZE,\n 'max-width': PANE_NONE_SIZE,\n 'min-height': PANE_AUTO_SIZE,\n 'max-height': PANE_NONE_SIZE\n };\n\n if (this._isVertical && pane.isOnCanvas && pane._actualSize !== PANE_AUTO_SIZE) {\n style['min-width'] = pane._actualSize;\n style['max-width'] = pane._actualSize;\n }\n\n if (this._isHorizontal && pane.isOnCanvas && pane._actualSize !== PANE_AUTO_SIZE) {\n style['min-height'] = pane._actualSize;\n style['max-height'] = pane._actualSize;\n }\n\n return style;\n }\n\n /** @hidden */\n _startResize(): void {\n this._paneSizes = [];\n this._initialPaneSizes = [];\n\n this._panesInRightOrderForResize.forEach((pane) => {\n const paneSize = this._getPaneElementSizePx(pane.id);\n\n this._paneSizes.push(paneSize);\n this._initialPaneSizes.push(paneSize);\n });\n }\n\n /** @hidden */\n _endResize(): void {\n const changedPaneSizes: SplitterPaneResizeEvent[] = [];\n\n this._panesInRightOrderForResize.forEach((pane, index) => {\n if (this._paneSizes[index] !== this._initialPaneSizes[index]) {\n changedPaneSizes.push({\n paneId: pane.id,\n oldSize: this._initialPaneSizes[index] + 'px',\n newSize: this._paneSizes[index] + 'px'\n });\n }\n });\n\n this.resize.emit(changedPaneSizes);\n\n this._resizePanesToFitInContainer(true);\n }\n\n /** @hidden */\n _onResize(paneId: string, diff: number): void {\n if (diff === 0) {\n return;\n }\n\n diff *= this._isRtl && this.orientation === SplitterPaneContainerOrientation.vertical ? -1 : 1;\n\n const resizedPaneIndex =\n this._panesInRightOrderForResize.findIndex((pane) => pane.id === paneId) + (diff < 0 ? 1 : 0);\n const resizedPane = this._panesInRightOrderForResize[resizedPaneIndex];\n\n let siblingPaneIndex = resizedPaneIndex;\n let siblingPane;\n let siblingPaneSize;\n\n do {\n siblingPaneIndex += diff < 0 ? -1 : 1;\n siblingPane = this._panesInRightOrderForResize[siblingPaneIndex];\n siblingPaneSize = this._paneSizes[siblingPaneIndex];\n\n if (!siblingPane) {\n return;\n }\n } while (!siblingPaneSize);\n\n const resizedPaneNewSize = this._paneSizes[resizedPaneIndex] + diff * (diff < 0 ? -1 : 1);\n const siblingPaneNewSize = this._paneSizes[siblingPaneIndex] + diff * (diff < 0 ? 1 : -1);\n\n /** Prevent from setting negative size */\n if (resizedPaneNewSize < 0 || siblingPaneNewSize < 0) {\n return;\n }\n\n this._paneSizes[resizedPaneIndex] = resizedPaneNewSize;\n this._paneSizes[siblingPaneIndex] = siblingPaneNewSize;\n\n resizedPane.size = this._paneSizes[resizedPaneIndex] + 'px';\n siblingPane.size = this._paneSizes[siblingPaneIndex] + 'px';\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n _onPageChange(page: string = ROOT_PAGE): void {\n this._currentPage = page;\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _updatePages(): void {\n this._pages = [];\n\n const offCanvasDemandPages = this._panes\n .filter((pane) => !pane.isOnCanvas && pane.demandPane)\n .map((pane) => pane.id);\n let newPage = ROOT_PAGE;\n\n if (offCanvasDemandPages.length) {\n this._pages = offCanvasDemandPages;\n newPage = offCanvasDemandPages[0];\n\n if (this._panesOnCanvas.length > 1) {\n this._pages.unshift(ROOT_PAGE);\n newPage = ROOT_PAGE;\n }\n\n if (this._panesOnCanvas.length === 1) {\n this._pages.unshift(this._panesOnCanvas[0].id);\n newPage = this._panesOnCanvas[0].id;\n }\n }\n\n const currentPageExist = this._pages.includes(this._currentPage);\n\n if (!currentPageExist) {\n /** Detaching basically works without the code but it's the edge-case */\n const isShouldDetachDefaultPane = this._currentPage === this._defaultPane?.id && newPage === ROOT_PAGE;\n\n if (isShouldDetachDefaultPane && this._defaultPane?._content?.isAttached) {\n this._defaultPane._content.detach();\n }\n\n this._onPageChange(newPage);\n return;\n }\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _setPanes(): void {\n this._resizePanesToFitInContainer(true);\n\n const setDirectPanesSubscription = (): void => {\n this._directPaneSubscription$.unsubscribe();\n this._directPaneSubscription$ = new Subscription();\n\n this._directPanes.forEach((pane) => {\n this._directPaneSubscription$.add(\n pane.toggleOnCanvas.subscribe(() => this._resizePanesToFitInContainer())\n );\n });\n };\n\n let prevDirectPanes = [...this._directPanes];\n const areDirectPanesSame = (panes: QueryList<SplitterSplitPaneComponent>): boolean => {\n if (panes.length !== prevDirectPanes.length) {\n return false;\n }\n\n return prevDirectPanes.every((prevPane) => !!panes.find((pane) => pane.id === prevPane.id));\n };\n\n setDirectPanesSubscription();\n\n this._subscription$.add(\n this._panes.changes.pipe(filter((panes) => !areDirectPanesSame(panes))).subscribe((panesList) => {\n prevDirectPanes = panesList.toArray();\n\n setDirectPanesSubscription();\n\n this._resizePanesToFitInContainer(true);\n })\n );\n\n this._subscription$.add(this._viewportRuler.change(10).subscribe(() => this._resizePanesToFitInContainer()));\n }\n\n /** @hidden */\n private _setDefaultPane(): void {\n const setDefaultPane = (): void => {\n if (this._splitter.defaultPaneId) {\n this._defaultPane =\n this._panes.find((pane) => pane.id === this._splitter.defaultPaneId) ?? this._directPanes[0];\n }\n\n /** Detaching basically works without the code but it's the edge-case */\n if (this._defaultPane?._content?.isAttached) {\n this._defaultPane._content.detach();\n }\n };\n\n setDefaultPane();\n\n this._subscription$.add(\n this._splitter._defaultPaneId$.subscribe(() => {\n this._cdr.detectChanges();\n\n setDefaultPane();\n\n this._resizePanesToFitInContainer(true);\n this._updatePages();\n })\n );\n }\n\n /** @hidden */\n private _resizePanesToFitInContainer(setInitialSize = false): void {\n if (setInitialSize) {\n this._cdr.detectChanges();\n }\n\n const containerSizePx = this._isHorizontal\n ? this._elementRef.nativeElement.offsetHeight\n : this._elementRef.nativeElement.offsetWidth;\n let availableSpacePx = containerSizePx - RESIZER_SIZE_PX * (this._directPanes.length - 1);\n\n this._directPanes.forEach((pane, index) => {\n if (!availableSpacePx) {\n pane._actualSize = '0px';\n return;\n }\n\n if (setInitialSize) {\n this._wantedPanesSizes[index] = this._getPaneElementSizePx(pane.id);\n }\n\n const paneSize = this._wantedPanesSizes[index];\n\n if (availableSpacePx - this._wantedPanesSizes[index] < 0) {\n pane._actualSize = availableSpacePx + 'px';\n availableSpacePx = 0;\n return;\n }\n\n pane._actualSize = pane.size === PANE_AUTO_SIZE ? PANE_AUTO_SIZE : paneSize + 'px';\n availableSpacePx -= paneSize;\n });\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _getPaneElementSizePx(paneId: string): number {\n const paneElement = this._getPaneElement(paneId);\n\n if (!paneElement) {\n return 0;\n }\n\n return this._isHorizontal ? paneElement.offsetHeight : paneElement.offsetWidth;\n }\n\n /** @hidden */\n private _getPaneElement(paneId: string): HTMLElement {\n return this._elementRef.nativeElement.querySelector(`#${paneId}`);\n }\n}\n\n@Pipe({ name: 'noDefaultPane' })\nexport class NoDefaultPanePipe implements PipeTransform {\n constructor(private readonly _splitterPaneContainer: SplitterPaneContainerComponent) {}\n\n transform(value: SplitterSplitPaneComponent[], excludingCondition = true): SplitterSplitPaneComponent[] {\n if (!excludingCondition) {\n return value;\n }\n\n return value.filter((pane) => pane.id !== this._splitterPaneContainer._defaultPane?.id);\n }\n}\n","<ng-container *ngIf=\"_isRootContainer; else panesOnCanvasTemplate\">\n <ng-container *ngIf=\"_defaultPane?.isOnCanvas && _activePanes.length > 1\">\n <ng-container\n *ngTemplateOutlet=\"panesTemplate; context: { panes: [_defaultPane], showResizer: true }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"fd-splitter__split-pane\">\n <div\n class=\"fd-splitter__pane-container\"\n [class.fd-splitter__pane-container--horizontal]=\"!_isRootContainer && _isHorizontal\"\n [class.fd-splitter__pane-container--vertical]=\"_isRootContainer || _isVertical\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n panesTemplate;\n context: {\n panes: _activePanes | noDefaultPane: _defaultPane?.isOnCanvas && _activePanes.length > 1\n }\n \"\n ></ng-container>\n </div>\n\n <fd-splitter-pagination\n *ngIf=\"_pages.length\"\n [pages]=\"_pages\"\n [currentPage]=\"_currentPage\"\n (onPageChange)=\"_onPageChange($event)\"\n ></fd-splitter-pagination>\n </div>\n</ng-container>\n\n<ng-template #panesOnCanvasTemplate>\n <ng-container *ngTemplateOutlet=\"panesTemplate; context: { panes: _panesOnCanvas }\"></ng-container>\n</ng-template>\n\n<!-- IDE won't recognize types properly below -->\n\n<ng-template #panesTemplate let-panes=\"panes\" let-showResizer=\"showResizer\">\n <ng-container *ngFor=\"let pane of panes; let last = last\">\n <section [id]=\"pane.id\" class=\"fd-splitter__split-pane\" [style]=\"_getPaneStyles(pane)\">\n <ng-template [cdkPortalOutlet]=\"pane._content\"></ng-template>\n </section>\n\n <fd-splitter-resizer\n *ngIf=\"!last || showResizer\"\n [orientation]=\"orientation\"\n (startResize)=\"_startResize()\"\n (endResize)=\"_endResize()\"\n (resize)=\"_onResize(pane.id, $event)\"\n ></fd-splitter-resizer>\n </ng-container>\n</ng-template>\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\nimport { IconModule } from '@fundamental-ngx/core/icon';\n\nimport { SplitterPaginationComponent } from './splitter-pagination/splitter-pagination.component';\nimport {\n SplitterPaneContainerComponent,\n NoDefaultPanePipe\n} from './splitter-pane-container/splitter-pane-container.component';\nimport { SplitterResizerComponent } from './splitter-resizer/splitter-resizer.component';\nimport { SplitterSplitPaneComponent } from './splitter-split-pane/splitter-split-pane.component';\nimport { SplitterComponent } from './splitter.component';\n\n@NgModule({\n declarations: [\n SplitterComponent,\n SplitterPaneContainerComponent,\n SplitterSplitPaneComponent,\n SplitterResizerComponent,\n SplitterPaginationComponent,\n NoDefaultPanePipe\n ],\n imports: [CommonModule, IconModule, ButtonModule, PortalModule],\n exports: [\n SplitterComponent,\n SplitterPaneContainerComponent,\n SplitterSplitPaneComponent,\n SplitterResizerComponent,\n SplitterPaginationComponent,\n NoDefaultPanePipe\n ]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-splitter.mjs","sources":["../../../../../libs/core/src/lib/splitter/constants.ts","../../../../../libs/core/src/lib/splitter/splitter-split-pane/splitter-split-pane.component.ts","../../../../../libs/core/src/lib/splitter/splitter-split-pane/splitter-split-pane.component.html","../../../../../libs/core/src/lib/splitter/splitter.component.ts","../../../../../libs/core/src/lib/splitter/splitter.component.html","../../../../../libs/core/src/lib/splitter/splitter-pagination/splitter-pagination.component.ts","../../../../../libs/core/src/lib/splitter/splitter-pagination/splitter-pagination.component.html","../../../../../libs/core/src/lib/splitter/splitter-pane-container/splitter-pane-orientation.enum.ts","../../../../../libs/core/src/lib/splitter/splitter-resizer/splitter-resizer.component.ts","../../../../../libs/core/src/lib/splitter/splitter-resizer/splitter-resizer.component.html","../../../../../libs/core/src/lib/splitter/splitter-pane-container/splitter-pane-container.component.ts","../../../../../libs/core/src/lib/splitter/splitter-pane-container/splitter-pane-container.component.html","../../../../../libs/core/src/lib/splitter/splitter.module.ts","../../../../../libs/core/src/lib/splitter/fundamental-ngx-core-splitter.ts"],"sourcesContent":["export const PANE_AUTO_SIZE = 'auto';\n\nexport const PANE_NONE_SIZE = 'none';\n\nexport const RESIZER_SIZE_PX = 16;\n\nexport const ROOT_PAGE = 'FD_SPLITTER_ROOT_PAGE';\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nimport { PANE_AUTO_SIZE } from '../constants';\n\nlet paneUniqueId = 0;\n\n/** @dynamic */\n@Component({\n selector: 'fd-splitter-split-pane',\n templateUrl: './splitter-split-pane.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SplitterSplitPaneComponent implements OnInit, AfterViewInit, OnDestroy {\n /** Size (height in vertical orientation, width in horizontal orientation) of the pane. */\n @Input()\n set size(size: string) {\n this._size = size;\n this._actualSize = this._size;\n }\n\n get size(): string {\n return this._size;\n }\n\n /** Id of the split pane. Generated if not provided. */\n @Input()\n id = `fd-splitter-split-pane-${paneUniqueId++}`;\n\n /** Required browser's window width in pixels when the panel will be shown. */\n @Input()\n requiredParentWidth: number;\n\n /** Whether pane is reachable using pagination bar when is off-canvas. */\n @Input()\n demandPane = true;\n\n /** Event emitted when the pane appears on/disappears out of canvas. */\n @Output()\n readonly toggleOnCanvas = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild(TemplateRef, { static: true })\n _templateRef: TemplateRef<any>;\n\n /** @hidden */\n _actualSize = PANE_AUTO_SIZE;\n\n /** @hidden */\n private _size = PANE_AUTO_SIZE;\n\n /** @hidden */\n private _contentPortal: TemplatePortal | null = null;\n\n /** @hidden */\n private _isOnCanvas = true;\n\n /** @hidden */\n private _unsubscribe$ = new Subject<void>();\n\n /** Returns if the pane is on canvas. */\n get isOnCanvas(): boolean {\n return this._isOnCanvas;\n }\n\n /** @hidden */\n get _content(): TemplatePortal | null {\n return this._contentPortal;\n }\n\n /** @hidden */\n private get _window(): Nullable<Window & typeof globalThis> {\n return this._document?.defaultView;\n }\n\n /** @hidden */\n constructor(\n private readonly _viewContainerRef: ViewContainerRef,\n private readonly _viewportRuler: ViewportRuler,\n @Optional() @Inject(DOCUMENT) private readonly _document: Document | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._contentPortal = new TemplatePortal(this._templateRef, this._viewContainerRef);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._processPaneOnCanvas();\n this._listenToResize();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n /** Hide pane from the canvas. */\n hideFromCanvas(): void {\n if (!this.isOnCanvas) {\n return;\n }\n\n this._isOnCanvas = false;\n\n this.toggleOnCanvas.emit(false);\n }\n\n /** Show pane on the canvas. */\n showOnCanvas(): void {\n if (this.isOnCanvas) {\n return;\n }\n\n this._isOnCanvas = true;\n\n this.toggleOnCanvas.emit(true);\n }\n\n /** @hidden */\n private _listenToResize(): void {\n if (!this._window) {\n return;\n }\n\n this._viewportRuler\n .change(10)\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => this._processPaneOnCanvas());\n }\n\n /** @hidden */\n private _processPaneOnCanvas(): void {\n if (!this._window) {\n return;\n }\n\n if (this.requiredParentWidth > this._window.innerWidth && this.isOnCanvas) {\n this.hideFromCanvas();\n }\n\n if (this.requiredParentWidth < this._window.innerWidth && !this.isOnCanvas) {\n this.showOnCanvas();\n }\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { SplitterSplitPaneComponent } from './splitter-split-pane/splitter-split-pane.component';\n\n@Component({\n selector: 'fd-splitter',\n templateUrl: './splitter.component.html',\n styleUrls: ['./splitter.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'fd-splitter' }\n})\nexport class SplitterComponent {\n /** Id of the main pane. */\n @Input()\n set defaultPaneId(value: string) {\n this._defaultPaneId = value;\n\n this._defaultPaneId$.next(this._defaultPaneId);\n }\n\n get defaultPaneId(): string {\n return this._defaultPaneId;\n }\n\n /**\n * @deprecated use i18n capabilities instead\n * aria-label for the pagination item.\n */\n @Input()\n paginationItemAriaLabel: string;\n\n /** @hidden */\n _defaultPaneId$ = new Subject<string>();\n\n /** @hidden */\n @ContentChildren(SplitterSplitPaneComponent, { descendants: true })\n _panes: QueryList<SplitterSplitPaneComponent>;\n\n /** @hidden */\n private _defaultPaneId: string;\n\n /** Check whether certain pane is on canvas. */\n isPaneOnCanvas(paneId: string): boolean {\n if (!this._panes.length) {\n return false;\n }\n\n const paneToCheck = this._panes.find((pane) => pane.id === paneId);\n\n return !!paneToCheck?.isOnCanvas;\n }\n\n /** Hide certain pane from the canvas. */\n hidePaneFromCanvas(paneId: string): void {\n if (!this._panes.length) {\n return;\n }\n\n const paneToRemove = this._panes.find((pane) => pane.id === paneId);\n\n paneToRemove?.hideFromCanvas();\n }\n\n /** Show certain pane from the canvas. */\n showPaneOnCanvas(paneId: string): void {\n if (!this._panes.length) {\n return;\n }\n\n const paneToShow = this._panes.find((pane) => pane.id === paneId);\n\n paneToShow?.showOnCanvas();\n }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { SplitterComponent } from '../splitter.component';\n\n@Component({\n selector: 'fd-splitter-pagination',\n templateUrl: './splitter-pagination.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-splitter__pagination',\n '[attr.role]': '\"radiogroup\"'\n }\n})\nexport class SplitterPaginationComponent {\n /** Array of pages ids. */\n @Input()\n pages: string[] = [];\n\n /** Current page id. */\n @Input()\n currentPage: string;\n\n /** Event emitted on page change. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onPageChange = new EventEmitter<string>();\n\n /**\n * @hidden\n * @deprecated use i18n capabilities instead\n */\n get paginationItemAriaLabel(): string {\n return this._splitter.paginationItemAriaLabel;\n }\n\n /** @Hidden */\n constructor(private readonly _splitter: SplitterComponent) {}\n\n /** @hidden */\n _changePage(page: string): void {\n if (page === this.currentPage) {\n return;\n }\n\n this.currentPage = page;\n this.onPageChange.emit(this.currentPage);\n }\n}\n","<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel || ('coreSplitter.paginationItemAriaLabel' | fdTranslate)\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n","export enum SplitterPaneContainerOrientation {\n vertical = 'vertical',\n horizontal = 'horizontal'\n}\n\nexport type SplitterPaneContainerOrientationType =\n | keyof typeof SplitterPaneContainerOrientation\n | SplitterPaneContainerOrientation;\n","import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent, Subject, throttleTime } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\n\nimport {\n SplitterPaneContainerOrientation,\n SplitterPaneContainerOrientationType\n} from '../splitter-pane-container/splitter-pane-orientation.enum';\n\n/** @dynamic */\n@Component({\n selector: 'fd-splitter-resizer',\n templateUrl: './splitter-resizer.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-splitter__resizer',\n '[class.is-active]': '_start != null || _isInFocus',\n '[tabindex]': '0'\n }\n})\nexport class SplitterResizerComponent implements OnDestroy {\n /** Orientation of the splitter's host pane container. */\n @Input()\n orientation: SplitterPaneContainerOrientationType = SplitterPaneContainerOrientation.vertical;\n\n /** Event emitted after resizing has started. */\n @Output()\n startResize = new EventEmitter<void>();\n\n /** Event emitted after resizing has ended. */\n @Output()\n endResize = new EventEmitter<void>();\n\n /** Event emitted while resizing. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n resize = new EventEmitter<number>();\n\n /** @hidden */\n _start: number | null = null;\n\n /** @hidden */\n _isInFocus = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n get _role(): string {\n return 'separator';\n }\n\n /** @hidden */\n @HostBinding('attr.aria-orientation')\n get _ariaOrientation(): string {\n return this.orientation;\n }\n\n /** @hidden */\n get _isHorizontal(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.horizontal;\n }\n\n /** @hidden */\n get _isVertical(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.vertical;\n }\n\n /** @hidden */\n private _prevDiff = 0;\n\n /** @hidden */\n private _pointerMoveListener = new Subject<void>();\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<Element>,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(DOCUMENT) private readonly _document: Document | null\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribe();\n }\n\n /** @hidden */\n @HostListener('mousedown', ['$event'])\n _onMouseDown(event: MouseEvent): void {\n event.preventDefault();\n\n this._start = this._isHorizontal ? event.clientY : event.clientX;\n\n this.startResize.emit();\n\n this._listenToPointerMove();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n _onKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n let diff: number | undefined;\n\n if (this._isHorizontal) {\n this._start = this._elementRef.nativeElement.getBoundingClientRect().left;\n\n if (KeyUtil.isKeyCode(event, [UP_ARROW])) {\n diff = this._start - 1;\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW])) {\n diff = this._start + 1;\n }\n }\n\n if (this._isVertical) {\n this._start = this._elementRef.nativeElement.getBoundingClientRect().top;\n\n if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n diff = this._start - 1;\n }\n\n if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n diff = this._start + 1;\n }\n }\n\n if (diff !== undefined) {\n this.startResize.emit();\n this._emitResize(diff);\n this.endResize.emit();\n }\n\n this._unsubscribe(false);\n }\n }\n\n /** @hidden */\n @HostListener('focus')\n _onFocus(): void {\n this._isInFocus = true;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n @HostListener('blur')\n _onBlur(): void {\n this._isInFocus = false;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _listenToPointerMove(): void {\n this._pointerMoveListener = new Subject<void>();\n\n if (!this._document) {\n return;\n }\n\n this._ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this._document!, 'mousemove')\n .pipe(throttleTime(10), takeUntil(this._pointerMoveListener))\n .subscribe((event) => {\n this._ngZone.run(() => {\n const newPosition = this._isHorizontal ? event.clientY : event.clientX;\n\n this._emitResize(newPosition);\n this._cdr.markForCheck();\n });\n });\n\n fromEvent(this._document!, 'mouseup')\n .pipe(take(1), takeUntil(this._pointerMoveListener))\n .subscribe(() => {\n this._ngZone.run(() => {\n this.endResize.emit();\n this._unsubscribe();\n this._cdr.markForCheck();\n });\n });\n });\n }\n\n /** @hidden */\n private _emitResize(newPosition: number): void {\n const diff = newPosition - (this._start ?? newPosition);\n\n this.resize.emit(diff - this._prevDiff);\n\n this._prevDiff = diff;\n }\n\n /** @hidden */\n private _unsubscribe(removeFocus = true): void {\n this._start = null;\n this._prevDiff = 0;\n\n this._pointerMoveListener?.next();\n this._pointerMoveListener?.complete();\n\n if (removeFocus) {\n this._isInFocus = false;\n\n this._cdr.markForCheck();\n }\n }\n}\n","<div class=\"fd-splitter__resizer-decoration-before\"></div>\n\n<button fd-button fdType=\"transparent\" tabindex=\"-1\" class=\"fd-splitter__resizer-grip\">\n <fd-icon\n class=\"fd-splitter__resizer-grip-icon\"\n [glyph]=\"(_isVertical && 'vertical-grip') || (_isHorizontal && 'horizontal-grip')\"\n ></fd-icon>\n</button>\n\n<div class=\"fd-splitter__resizer-decoration-after\"></div>\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n Pipe,\n PipeTransform,\n QueryList,\n SkipSelf,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { RtlService } from '@fundamental-ngx/core/utils';\n\nimport { SplitterComponent } from '../splitter.component';\nimport { SplitterPaneResizeEvent } from '../interfaces/splitter-pane-resize-event.interface';\nimport { SplitterSplitPaneComponent } from '../splitter-split-pane/splitter-split-pane.component';\nimport { PANE_AUTO_SIZE, PANE_NONE_SIZE, RESIZER_SIZE_PX, ROOT_PAGE } from '../constants';\nimport {\n SplitterPaneContainerOrientation,\n SplitterPaneContainerOrientationType\n} from './splitter-pane-orientation.enum';\n\n@Component({\n selector: 'fd-splitter-pane-container',\n templateUrl: './splitter-pane-container.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-splitter__pane-container',\n '[class.fd-splitter__pane-container--horizontal]': '!_isRootContainer && _isHorizontal',\n '[class.fd-splitter__pane-container--vertical]': '_isRootContainer || _isVertical'\n }\n})\nexport class SplitterPaneContainerComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Pane type - vertical (default) or horizontal. */\n @Input()\n orientation: SplitterPaneContainerOrientationType = SplitterPaneContainerOrientation.vertical;\n\n /** Event emitted after container's panes has resized. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly resize = new EventEmitter<SplitterPaneResizeEvent[]>();\n\n /** @hidden */\n @ContentChildren(SplitterSplitPaneComponent, { descendants: true })\n _panes: QueryList<SplitterSplitPaneComponent>;\n\n /** @hidden */\n @ContentChildren(SplitterSplitPaneComponent)\n _directPanes: QueryList<SplitterSplitPaneComponent>;\n\n /** @hidden */\n _defaultPane: SplitterSplitPaneComponent;\n\n /** @hidden */\n _pages: string[] = [];\n\n /** @hidden */\n _currentPage: string;\n\n /** @hidden */\n private _paneSizes: number[] = [];\n\n /** @hidden */\n private _wantedPanesSizes: number[] = [];\n\n /** @hidden */\n private _initialPaneSizes: number[] = [];\n\n /** @hidden */\n private _directPaneSubscription$ = new Subscription();\n\n /** @hidden */\n private _subscription$ = new Subscription();\n\n /** @hidden */\n get _isHorizontal(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.horizontal;\n }\n\n /** @hidden */\n get _isVertical(): boolean {\n return this.orientation === SplitterPaneContainerOrientation.vertical;\n }\n\n /** @hidden */\n get _isRootContainer(): boolean {\n return !this._parentSplitterPaneContainer;\n }\n\n /** @hidden */\n get _panesOnCanvas(): SplitterSplitPaneComponent[] {\n return this._directPanes.filter((pane) => pane.isOnCanvas);\n }\n\n /** @hidden */\n get _activePanes(): SplitterSplitPaneComponent[] {\n if (this._currentPage === ROOT_PAGE) {\n return this._panesOnCanvas;\n }\n\n return this._panes.filter((pane) => pane.id === this._currentPage);\n }\n\n /** @hidden */\n private get _panesInRightOrderForResize(): SplitterSplitPaneComponent[] {\n const panes = this._directPanes.filter((pane) => pane.id !== this._defaultPane?.id);\n\n if (this._defaultPane) {\n panes.unshift(this._defaultPane);\n }\n\n return panes;\n }\n\n /** @hidden */\n private get _isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n constructor(\n private readonly _cdr: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _splitter: SplitterComponent,\n private readonly _viewportRuler: ViewportRuler,\n @Optional() private readonly _rtlService: RtlService,\n @Optional() @SkipSelf() private readonly _parentSplitterPaneContainer: SplitterPaneContainerComponent\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._isRootContainer) {\n this._setDefaultPane();\n this._updatePages();\n\n this._panes.forEach((pane) => {\n this._subscription$.add(pane.toggleOnCanvas.subscribe(() => this._updatePages()));\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setPanes();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._directPaneSubscription$.unsubscribe();\n this._subscription$.unsubscribe();\n }\n\n /** @hidden */\n _getPaneStyles(pane: SplitterSplitPaneComponent): { [klass: string]: any } {\n const style = {\n 'min-width': PANE_AUTO_SIZE,\n 'max-width': PANE_NONE_SIZE,\n 'min-height': PANE_AUTO_SIZE,\n 'max-height': PANE_NONE_SIZE\n };\n\n if (this._isVertical && pane.isOnCanvas && pane._actualSize !== PANE_AUTO_SIZE) {\n style['min-width'] = pane._actualSize;\n style['max-width'] = pane._actualSize;\n }\n\n if (this._isHorizontal && pane.isOnCanvas && pane._actualSize !== PANE_AUTO_SIZE) {\n style['min-height'] = pane._actualSize;\n style['max-height'] = pane._actualSize;\n }\n\n return style;\n }\n\n /** @hidden */\n _startResize(): void {\n this._paneSizes = [];\n this._initialPaneSizes = [];\n\n this._panesInRightOrderForResize.forEach((pane) => {\n const paneSize = this._getPaneElementSizePx(pane.id);\n\n this._paneSizes.push(paneSize);\n this._initialPaneSizes.push(paneSize);\n });\n }\n\n /** @hidden */\n _endResize(): void {\n const changedPaneSizes: SplitterPaneResizeEvent[] = [];\n\n this._panesInRightOrderForResize.forEach((pane, index) => {\n if (this._paneSizes[index] !== this._initialPaneSizes[index]) {\n changedPaneSizes.push({\n paneId: pane.id,\n oldSize: this._initialPaneSizes[index] + 'px',\n newSize: this._paneSizes[index] + 'px'\n });\n }\n });\n\n this.resize.emit(changedPaneSizes);\n\n this._resizePanesToFitInContainer(true);\n }\n\n /** @hidden */\n _onResize(paneId: string, diff: number): void {\n if (diff === 0) {\n return;\n }\n\n diff *= this._isRtl && this.orientation === SplitterPaneContainerOrientation.vertical ? -1 : 1;\n\n const resizedPaneIndex =\n this._panesInRightOrderForResize.findIndex((pane) => pane.id === paneId) + (diff < 0 ? 1 : 0);\n const resizedPane = this._panesInRightOrderForResize[resizedPaneIndex];\n\n let siblingPaneIndex = resizedPaneIndex;\n let siblingPane;\n let siblingPaneSize;\n\n do {\n siblingPaneIndex += diff < 0 ? -1 : 1;\n siblingPane = this._panesInRightOrderForResize[siblingPaneIndex];\n siblingPaneSize = this._paneSizes[siblingPaneIndex];\n\n if (!siblingPane) {\n return;\n }\n } while (!siblingPaneSize);\n\n const resizedPaneNewSize = this._paneSizes[resizedPaneIndex] + diff * (diff < 0 ? -1 : 1);\n const siblingPaneNewSize = this._paneSizes[siblingPaneIndex] + diff * (diff < 0 ? 1 : -1);\n\n /** Prevent from setting negative size */\n if (resizedPaneNewSize < 0 || siblingPaneNewSize < 0) {\n return;\n }\n\n this._paneSizes[resizedPaneIndex] = resizedPaneNewSize;\n this._paneSizes[siblingPaneIndex] = siblingPaneNewSize;\n\n resizedPane.size = this._paneSizes[resizedPaneIndex] + 'px';\n siblingPane.size = this._paneSizes[siblingPaneIndex] + 'px';\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n _onPageChange(page: string = ROOT_PAGE): void {\n this._currentPage = page;\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _updatePages(): void {\n this._pages = [];\n\n const offCanvasDemandPages = this._panes\n .filter((pane) => !pane.isOnCanvas && pane.demandPane)\n .map((pane) => pane.id);\n let newPage = ROOT_PAGE;\n\n if (offCanvasDemandPages.length) {\n this._pages = offCanvasDemandPages;\n newPage = offCanvasDemandPages[0];\n\n if (this._panesOnCanvas.length > 1) {\n this._pages.unshift(ROOT_PAGE);\n newPage = ROOT_PAGE;\n }\n\n if (this._panesOnCanvas.length === 1) {\n this._pages.unshift(this._panesOnCanvas[0].id);\n newPage = this._panesOnCanvas[0].id;\n }\n }\n\n const currentPageExist = this._pages.includes(this._currentPage);\n\n if (!currentPageExist) {\n /** Detaching basically works without the code but it's the edge-case */\n const isShouldDetachDefaultPane = this._currentPage === this._defaultPane?.id && newPage === ROOT_PAGE;\n\n if (isShouldDetachDefaultPane && this._defaultPane?._content?.isAttached) {\n this._defaultPane._content.detach();\n }\n\n this._onPageChange(newPage);\n return;\n }\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _setPanes(): void {\n this._resizePanesToFitInContainer(true);\n\n const setDirectPanesSubscription = (): void => {\n this._directPaneSubscription$.unsubscribe();\n this._directPaneSubscription$ = new Subscription();\n\n this._directPanes.forEach((pane) => {\n this._directPaneSubscription$.add(\n pane.toggleOnCanvas.subscribe(() => this._resizePanesToFitInContainer())\n );\n });\n };\n\n let prevDirectPanes = [...this._directPanes];\n const areDirectPanesSame = (panes: QueryList<SplitterSplitPaneComponent>): boolean => {\n if (panes.length !== prevDirectPanes.length) {\n return false;\n }\n\n return prevDirectPanes.every((prevPane) => !!panes.find((pane) => pane.id === prevPane.id));\n };\n\n setDirectPanesSubscription();\n\n this._subscription$.add(\n this._panes.changes.pipe(filter((panes) => !areDirectPanesSame(panes))).subscribe((panesList) => {\n prevDirectPanes = panesList.toArray();\n\n setDirectPanesSubscription();\n\n this._resizePanesToFitInContainer(true);\n })\n );\n\n this._subscription$.add(this._viewportRuler.change(10).subscribe(() => this._resizePanesToFitInContainer()));\n }\n\n /** @hidden */\n private _setDefaultPane(): void {\n const setDefaultPane = (): void => {\n if (this._splitter.defaultPaneId) {\n this._defaultPane =\n this._panes.find((pane) => pane.id === this._splitter.defaultPaneId) ?? this._directPanes[0];\n }\n\n /** Detaching basically works without the code but it's the edge-case */\n if (this._defaultPane?._content?.isAttached) {\n this._defaultPane._content.detach();\n }\n };\n\n setDefaultPane();\n\n this._subscription$.add(\n this._splitter._defaultPaneId$.subscribe(() => {\n this._cdr.detectChanges();\n\n setDefaultPane();\n\n this._resizePanesToFitInContainer(true);\n this._updatePages();\n })\n );\n }\n\n /** @hidden */\n private _resizePanesToFitInContainer(setInitialSize = false): void {\n if (setInitialSize) {\n this._cdr.detectChanges();\n }\n\n const containerSizePx = this._isHorizontal\n ? this._elementRef.nativeElement.offsetHeight\n : this._elementRef.nativeElement.offsetWidth;\n let availableSpacePx = containerSizePx - RESIZER_SIZE_PX * (this._directPanes.length - 1);\n\n this._directPanes.forEach((pane, index) => {\n if (!availableSpacePx) {\n pane._actualSize = '0px';\n return;\n }\n\n if (setInitialSize) {\n this._wantedPanesSizes[index] = this._getPaneElementSizePx(pane.id);\n }\n\n const paneSize = this._wantedPanesSizes[index];\n\n if (availableSpacePx - this._wantedPanesSizes[index] < 0) {\n pane._actualSize = availableSpacePx + 'px';\n availableSpacePx = 0;\n return;\n }\n\n pane._actualSize = pane.size === PANE_AUTO_SIZE ? PANE_AUTO_SIZE : paneSize + 'px';\n availableSpacePx -= paneSize;\n });\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _getPaneElementSizePx(paneId: string): number {\n const paneElement = this._getPaneElement(paneId);\n\n if (!paneElement) {\n return 0;\n }\n\n return this._isHorizontal ? paneElement.offsetHeight : paneElement.offsetWidth;\n }\n\n /** @hidden */\n private _getPaneElement(paneId: string): HTMLElement {\n return this._elementRef.nativeElement.querySelector(`#${paneId}`);\n }\n}\n\n@Pipe({ name: 'noDefaultPane' })\nexport class NoDefaultPanePipe implements PipeTransform {\n constructor(private readonly _splitterPaneContainer: SplitterPaneContainerComponent) {}\n\n transform(value: SplitterSplitPaneComponent[], excludingCondition = true): SplitterSplitPaneComponent[] {\n if (!excludingCondition) {\n return value;\n }\n\n return value.filter((pane) => pane.id !== this._splitterPaneContainer._defaultPane?.id);\n }\n}\n","<ng-container *ngIf=\"_isRootContainer; else panesOnCanvasTemplate\">\n <ng-container *ngIf=\"_defaultPane?.isOnCanvas && _activePanes.length > 1\">\n <ng-container\n *ngTemplateOutlet=\"panesTemplate; context: { panes: [_defaultPane], showResizer: true }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"fd-splitter__split-pane\">\n <div\n class=\"fd-splitter__pane-container\"\n [class.fd-splitter__pane-container--horizontal]=\"!_isRootContainer && _isHorizontal\"\n [class.fd-splitter__pane-container--vertical]=\"_isRootContainer || _isVertical\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n panesTemplate;\n context: {\n panes: _activePanes | noDefaultPane: _defaultPane?.isOnCanvas && _activePanes.length > 1\n }\n \"\n ></ng-container>\n </div>\n\n <fd-splitter-pagination\n *ngIf=\"_pages.length\"\n [pages]=\"_pages\"\n [currentPage]=\"_currentPage\"\n (onPageChange)=\"_onPageChange($event)\"\n ></fd-splitter-pagination>\n </div>\n</ng-container>\n\n<ng-template #panesOnCanvasTemplate>\n <ng-container *ngTemplateOutlet=\"panesTemplate; context: { panes: _panesOnCanvas }\"></ng-container>\n</ng-template>\n\n<!-- IDE won't recognize types properly below -->\n\n<ng-template #panesTemplate let-panes=\"panes\" let-showResizer=\"showResizer\">\n <ng-container *ngFor=\"let pane of panes; let last = last\">\n <section [id]=\"pane.id\" class=\"fd-splitter__split-pane\" [style]=\"_getPaneStyles(pane)\">\n <ng-template [cdkPortalOutlet]=\"pane._content\"></ng-template>\n </section>\n\n <fd-splitter-resizer\n *ngIf=\"!last || showResizer\"\n [orientation]=\"orientation\"\n (startResize)=\"_startResize()\"\n (endResize)=\"_endResize()\"\n (resize)=\"_onResize(pane.id, $event)\"\n ></fd-splitter-resizer>\n </ng-container>\n</ng-template>\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { SplitterPaginationComponent } from './splitter-pagination/splitter-pagination.component';\nimport {\n SplitterPaneContainerComponent,\n NoDefaultPanePipe\n} from './splitter-pane-container/splitter-pane-container.component';\nimport { SplitterResizerComponent } from './splitter-resizer/splitter-resizer.component';\nimport { SplitterSplitPaneComponent } from './splitter-split-pane/splitter-split-pane.component';\nimport { SplitterComponent } from './splitter.component';\n\n@NgModule({\n declarations: [\n SplitterComponent,\n SplitterPaneContainerComponent,\n SplitterSplitPaneComponent,\n SplitterResizerComponent,\n SplitterPaginationComponent,\n NoDefaultPanePipe\n ],\n imports: [CommonModule, IconModule, ButtonModule, PortalModule, I18nModule],\n exports: [\n SplitterComponent,\n SplitterPaneContainerComponent,\n SplitterSplitPaneComponent,\n SplitterResizerComponent,\n SplitterPaginationComponent,\n NoDefaultPanePipe\n ]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import * as i2 from '@fundamental-ngx/core/button';
8
8
  import { ButtonModule } from '@fundamental-ngx/core/button';
9
9
  import * as i2$1 from '@fundamental-ngx/core/icon';
10
10
  import { IconModule } from '@fundamental-ngx/core/icon';
11
+ import * as i4 from '@fundamental-ngx/i18n';
12
+ import { I18nModule } from '@fundamental-ngx/i18n';
11
13
  import { Subject, fromEvent, throttleTime, Subscription } from 'rxjs';
12
14
  import * as i1 from '@angular/cdk/scrolling';
13
15
  import { takeUntil, take, filter } from 'rxjs/operators';
@@ -145,8 +147,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
145
147
 
146
148
  class SplitterComponent {
147
149
  constructor() {
148
- /** aria-label for the pagination item. */
149
- this.paginationItemAriaLabel = 'Section';
150
150
  /** @hidden */
151
151
  this._defaultPaneId$ = new Subject();
152
152
  }
@@ -207,7 +207,10 @@ class SplitterPaginationComponent {
207
207
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
208
208
  this.onPageChange = new EventEmitter();
209
209
  }
210
- /** @hidden */
210
+ /**
211
+ * @hidden
212
+ * @deprecated use i18n capabilities instead
213
+ */
211
214
  get paginationItemAriaLabel() {
212
215
  return this._splitter.paginationItemAriaLabel;
213
216
  }
@@ -221,13 +224,13 @@ class SplitterPaginationComponent {
221
224
  }
222
225
  }
223
226
  SplitterPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterPaginationComponent, deps: [{ token: SplitterComponent }], target: i0.ɵɵFactoryTarget.Component });
224
- SplitterPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: SplitterPaginationComponent, selector: "fd-splitter-pagination", inputs: { pages: "pages", currentPage: "currentPage" }, outputs: { onPageChange: "onPageChange" }, host: { properties: { "attr.role": "\"radiogroup\"" }, classAttribute: "fd-splitter__pagination" }, ngImport: i0, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n", components: [{ type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
227
+ SplitterPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: SplitterPaginationComponent, selector: "fd-splitter-pagination", inputs: { pages: "pages", currentPage: "currentPage" }, outputs: { onPageChange: "onPageChange" }, host: { properties: { "attr.role": "\"radiogroup\"" }, classAttribute: "fd-splitter__pagination" }, ngImport: i0, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel || ('coreSplitter.paginationItemAriaLabel' | fdTranslate)\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n", components: [{ type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fdTranslate": i4.FdTranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
225
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterPaginationComponent, decorators: [{
226
229
  type: Component,
227
230
  args: [{ selector: 'fd-splitter-pagination', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
228
231
  class: 'fd-splitter__pagination',
229
232
  '[attr.role]': '"radiogroup"'
230
- }, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n" }]
233
+ }, template: "<button\n *ngFor=\"let page of pages\"\n fd-button\n fdType=\"transparent\"\n class=\"fd-splitter__pagination-item\"\n [class.fd-splitter__pagination-item--active]=\"page === currentPage\"\n role=\"radio\"\n [attr.aria-label]=\"paginationItemAriaLabel || ('coreSplitter.paginationItemAriaLabel' | fdTranslate)\"\n [attr.aria-checked]=\"page === currentPage\"\n (click)=\"_changePage(page)\"\n (keydown.enter)=\"_changePage(page)\"\n>\n <span class=\"fd-splitter__pagination-item-dot\"></span>\n</button>\n" }]
231
234
  }], ctorParameters: function () { return [{ type: SplitterComponent }]; }, propDecorators: { pages: [{
232
235
  type: Input
233
236
  }], currentPage: [{
@@ -755,13 +758,13 @@ SplitterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
755
758
  SplitterSplitPaneComponent,
756
759
  SplitterResizerComponent,
757
760
  SplitterPaginationComponent,
758
- NoDefaultPanePipe], imports: [CommonModule, IconModule, ButtonModule, PortalModule], exports: [SplitterComponent,
761
+ NoDefaultPanePipe], imports: [CommonModule, IconModule, ButtonModule, PortalModule, I18nModule], exports: [SplitterComponent,
759
762
  SplitterPaneContainerComponent,
760
763
  SplitterSplitPaneComponent,
761
764
  SplitterResizerComponent,
762
765
  SplitterPaginationComponent,
763
766
  NoDefaultPanePipe] });
764
- SplitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterModule, imports: [[CommonModule, IconModule, ButtonModule, PortalModule]] });
767
+ SplitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterModule, imports: [[CommonModule, IconModule, ButtonModule, PortalModule, I18nModule]] });
765
768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SplitterModule, decorators: [{
766
769
  type: NgModule,
767
770
  args: [{
@@ -773,7 +776,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
773
776
  SplitterPaginationComponent,
774
777
  NoDefaultPanePipe
775
778
  ],
776
- imports: [CommonModule, IconModule, ButtonModule, PortalModule],
779
+ imports: [CommonModule, IconModule, ButtonModule, PortalModule, I18nModule],
777
780
  exports: [
778
781
  SplitterComponent,
779
782
  SplitterPaneContainerComponent,