@progress/kendo-angular-buttons 7.0.6 → 8.0.0-dev.202204190655

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 (270) hide show
  1. package/bundles/kendo-angular-buttons.umd.js +5 -0
  2. package/{dist/es2015/button → button}/button.directive.d.ts +64 -62
  3. package/{dist/es2015/button → button}/button.module.d.ts +5 -0
  4. package/{dist/es2015/button → button}/button.service.d.ts +3 -0
  5. package/{dist/es2015/button → button}/selection-settings.d.ts +0 -0
  6. package/{dist/es2015/buttongroup → buttongroup}/buttongroup.component.d.ts +14 -11
  7. package/{dist/es2015/buttongroup → buttongroup}/buttongroup.module.d.ts +7 -0
  8. package/{dist/es2015/buttons.module.d.ts → buttons.module.d.ts} +10 -0
  9. package/{dist/es2015/chip → chip}/chip-content-click-event-args.interface.d.ts +0 -0
  10. package/{dist/es2015/chip → chip}/chip-list-remove-event-args.interface.d.ts +0 -0
  11. package/{dist/es2015/chip → chip}/chip-list.component.d.ts +8 -4
  12. package/{dist/es2015/chip → chip}/chip-remove-event-args.interface.d.ts +0 -0
  13. package/{dist/es2015/chip → chip}/chip.component.d.ts +39 -33
  14. package/{dist/es2015/chip → chip}/chip.module.d.ts +7 -0
  15. package/{dist/es2015/chip → chip}/models/selection.d.ts +0 -0
  16. package/{dist/es2015/common → common}/models/fillmode.d.ts +2 -2
  17. package/{dist/es2015/common → common}/models/rounded.d.ts +2 -2
  18. package/{dist/es2015/common → common}/models/size.d.ts +3 -3
  19. package/{dist/es2015/common → common}/models/styling-classes.d.ts +0 -0
  20. package/{dist/es2015/common → common}/models/theme-color.d.ts +3 -3
  21. package/{dist/es2015/common → common}/models.d.ts +0 -1
  22. package/{dist/es2015/direction.d.ts → direction.d.ts} +0 -0
  23. package/{dist/es2015/dropdownbutton → dropdownbutton}/dropdownbutton.component.d.ts +37 -38
  24. package/dropdownbutton/dropdownbutton.module.d.ts +23 -0
  25. package/{dist/es2015 → esm2015}/button/button.directive.js +145 -215
  26. package/{dist/es2015 → esm2015}/button/button.module.js +13 -10
  27. package/{dist/es2015 → esm2015}/button/button.service.js +8 -10
  28. package/{dist/es → esm2015}/button/selection-settings.js +1 -0
  29. package/{dist/es2015 → esm2015}/buttongroup/buttongroup.component.js +88 -111
  30. package/esm2015/buttongroup/buttongroup.module.js +30 -0
  31. package/{dist/es → esm2015}/buttons.module.js +12 -12
  32. package/{dist/es2015 → esm2015}/chip/chip-content-click-event-args.interface.js +1 -0
  33. package/{dist/es2015 → esm2015}/chip/chip-list-remove-event-args.interface.js +1 -0
  34. package/{dist/es2015 → esm2015}/chip/chip-list.component.js +62 -73
  35. package/{dist/es2015 → esm2015}/chip/chip-remove-event-args.interface.js +1 -0
  36. package/{dist/es2015 → esm2015}/chip/chip.component.js +171 -167
  37. package/{dist/es2015 → esm2015}/chip/chip.module.js +16 -11
  38. package/{dist/es → esm2015}/chip/models/selection.js +1 -0
  39. package/{dist/es → esm2015}/common/models/fillmode.js +1 -0
  40. package/{dist/es → esm2015}/common/models/rounded.js +1 -0
  41. package/{dist/es → esm2015}/common/models/size.js +1 -0
  42. package/{dist/es → esm2015}/common/models/styling-classes.js +1 -0
  43. package/{dist/es → esm2015}/common/models/theme-color.js +1 -0
  44. package/{dist/es → esm2015}/common/models.js +5 -0
  45. package/{dist/es → esm2015}/direction.js +1 -0
  46. package/{dist/es2015 → esm2015}/dropdownbutton/dropdownbutton.component.js +185 -214
  47. package/esm2015/dropdownbutton/dropdownbutton.module.js +32 -0
  48. package/{dist/es2015 → esm2015}/floatingactionbutton/animations/animations.js +0 -0
  49. package/esm2015/floatingactionbutton/dial-item.component.js +127 -0
  50. package/esm2015/floatingactionbutton/dial-list.component.js +90 -0
  51. package/{dist/es2015 → esm2015}/floatingactionbutton/floatingactionbutton.component.js +205 -210
  52. package/{dist/es2015 → esm2015}/floatingactionbutton/floatingactionbutton.module.js +19 -11
  53. package/{dist/es → esm2015}/floatingactionbutton/models/align.js +1 -0
  54. package/{dist/es → esm2015}/floatingactionbutton/models/item-animation.interface.js +1 -0
  55. package/{dist/es → esm2015}/floatingactionbutton/models/item-click.event.js +1 -0
  56. package/{dist/es → esm2015}/floatingactionbutton/models/item.interface.js +1 -0
  57. package/{dist/es → esm2015}/floatingactionbutton/models/offset.js +1 -0
  58. package/{dist/es → esm2015}/floatingactionbutton/models/position-mode.js +1 -0
  59. package/esm2015/floatingactionbutton/templates/dial-item-template.directive.js +27 -0
  60. package/esm2015/floatingactionbutton/templates/fab-template.directive.js +27 -0
  61. package/{dist/es2015 → esm2015}/floatingactionbutton/utils.js +0 -0
  62. package/{dist/es2015 → esm2015}/focusable/focus.service.js +8 -10
  63. package/{dist/es2015 → esm2015}/focusable/focusable.directive.js +20 -27
  64. package/{dist/es2015/listbutton/list.module.d.ts → esm2015/kendo-angular-buttons.js} +2 -3
  65. package/{dist/es2015 → esm2015}/listbutton/button-item-template.directive.js +12 -12
  66. package/{dist/es2015 → esm2015}/listbutton/list-button.js +30 -37
  67. package/{dist/es → esm2015}/listbutton/list-item-model.js +1 -0
  68. package/esm2015/listbutton/list.component.js +140 -0
  69. package/esm2015/listbutton/list.module.js +39 -0
  70. package/{dist/es → esm2015}/listbutton/popup-settings.js +1 -0
  71. package/esm2015/listbutton/template-context.directive.js +34 -0
  72. package/{dist/es2015 → esm2015}/main.js +7 -0
  73. package/{dist/es → esm2015}/navigation/key-events.js +0 -0
  74. package/{dist/es2015 → esm2015}/navigation/navigation-action.js +1 -0
  75. package/{dist/es2015 → esm2015}/navigation/navigation-config.js +0 -0
  76. package/{dist/es2015 → esm2015}/navigation/navigation.service.js +11 -9
  77. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  78. package/{dist/es2015 → esm2015}/preventable-event.js +0 -0
  79. package/esm2015/splitbutton/localization/custom-messages.component.js +37 -0
  80. package/esm2015/splitbutton/localization/localized-messages.directive.js +36 -0
  81. package/esm2015/splitbutton/localization/messages.js +23 -0
  82. package/{dist/es2015 → esm2015}/splitbutton/splitbutton.component.js +221 -209
  83. package/esm2015/splitbutton/splitbutton.module.js +34 -0
  84. package/{dist/es2015 → esm2015}/util.js +7 -7
  85. package/{dist/fesm2015/index.js → fesm2015/kendo-angular-buttons.js} +1885 -1941
  86. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/animations/animations.d.ts +0 -0
  87. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/dial-item.component.d.ts +8 -5
  88. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/dial-list.component.d.ts +5 -2
  89. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/floatingactionbutton.component.d.ts +50 -51
  90. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/floatingactionbutton.module.d.ts +13 -0
  91. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/models/align.d.ts +0 -0
  92. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/models/item-animation.interface.d.ts +0 -0
  93. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/models/item-click.event.d.ts +0 -0
  94. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/models/item.interface.d.ts +0 -0
  95. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/models/offset.d.ts +0 -0
  96. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/models/position-mode.d.ts +0 -0
  97. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/templates/dial-item-template.directive.d.ts +3 -0
  98. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/templates/fab-template.directive.d.ts +3 -0
  99. package/{dist/es2015/floatingactionbutton → floatingactionbutton}/utils.d.ts +0 -0
  100. package/{dist/es2015/focusable → focusable}/focus.service.d.ts +5 -1
  101. package/{dist/es2015/focusable → focusable}/focusable.directive.d.ts +4 -2
  102. package/{dist/es2015/common/models/shape.d.ts → kendo-angular-buttons.d.ts} +3 -3
  103. package/{dist/es2015/listbutton → listbutton}/button-item-template.directive.d.ts +3 -0
  104. package/{dist/es2015/listbutton → listbutton}/list-button.d.ts +7 -13
  105. package/{dist/es2015/listbutton → listbutton}/list-item-model.d.ts +0 -0
  106. package/{dist/es2015/listbutton → listbutton}/list.component.d.ts +4 -1
  107. package/listbutton/list.module.d.ts +18 -0
  108. package/{dist/es2015/listbutton → listbutton}/popup-settings.d.ts +0 -0
  109. package/{dist/es2015/listbutton → listbutton}/template-context.directive.d.ts +4 -1
  110. package/{dist/es2015/main.d.ts → main.d.ts} +7 -1
  111. package/{dist/es2015/navigation → navigation}/key-events.d.ts +0 -0
  112. package/{dist/es2015/navigation → navigation}/navigation-action.d.ts +0 -0
  113. package/{dist/es2015/navigation → navigation}/navigation-config.d.ts +0 -0
  114. package/{dist/es2015/navigation → navigation}/navigation.service.d.ts +3 -0
  115. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  116. package/package.json +38 -113
  117. package/{dist/es2015/preventable-event.d.ts → preventable-event.d.ts} +0 -0
  118. package/schematics/ngAdd/index.js +5 -2
  119. package/schematics/ngAdd/index.js.map +1 -1
  120. package/{dist/es2015/splitbutton → splitbutton}/localization/custom-messages.component.d.ts +4 -1
  121. package/{dist/es2015/splitbutton → splitbutton}/localization/localized-messages.directive.d.ts +3 -0
  122. package/{dist/es2015/splitbutton → splitbutton}/localization/messages.d.ts +3 -0
  123. package/{dist/es2015/splitbutton → splitbutton}/splitbutton.component.d.ts +39 -27
  124. package/splitbutton/splitbutton.module.d.ts +25 -0
  125. package/{dist/es2015/util.d.ts → util.d.ts} +0 -0
  126. package/dist/cdn/js/kendo-angular-buttons.js +0 -20
  127. package/dist/cdn/main.js +0 -5
  128. package/dist/es/button/button.directive.js +0 -775
  129. package/dist/es/button/button.module.js +0 -50
  130. package/dist/es/button/button.service.js +0 -24
  131. package/dist/es/buttongroup/buttongroup.component.js +0 -353
  132. package/dist/es/buttongroup/buttongroup.module.js +0 -30
  133. package/dist/es/chip/chip-content-click-event-args.interface.js +0 -4
  134. package/dist/es/chip/chip-list-remove-event-args.interface.js +0 -4
  135. package/dist/es/chip/chip-list.component.js +0 -214
  136. package/dist/es/chip/chip-remove-event-args.interface.js +0 -4
  137. package/dist/es/chip/chip.component.js +0 -449
  138. package/dist/es/chip/chip.module.js +0 -55
  139. package/dist/es/common/models/shape.js +0 -4
  140. package/dist/es/dropdownbutton/dropdownbutton.component.js +0 -704
  141. package/dist/es/dropdownbutton/dropdownbutton.module.js +0 -32
  142. package/dist/es/floatingactionbutton/animations/animations.js +0 -33
  143. package/dist/es/floatingactionbutton/dial-item.component.js +0 -143
  144. package/dist/es/floatingactionbutton/dial-list.component.js +0 -76
  145. package/dist/es/floatingactionbutton/floatingactionbutton.component.js +0 -903
  146. package/dist/es/floatingactionbutton/floatingactionbutton.module.js +0 -65
  147. package/dist/es/floatingactionbutton/templates/dial-item-template.directive.js +0 -26
  148. package/dist/es/floatingactionbutton/templates/fab-template.directive.js +0 -26
  149. package/dist/es/floatingactionbutton/utils.js +0 -38
  150. package/dist/es/focusable/focus.service.js +0 -43
  151. package/dist/es/focusable/focusable.directive.js +0 -68
  152. package/dist/es/index.js +0 -22
  153. package/dist/es/listbutton/button-item-template.directive.js +0 -68
  154. package/dist/es/listbutton/list-button.js +0 -243
  155. package/dist/es/listbutton/list.component.js +0 -85
  156. package/dist/es/listbutton/list.module.js +0 -33
  157. package/dist/es/listbutton/template-context.directive.js +0 -40
  158. package/dist/es/main.js +0 -22
  159. package/dist/es/navigation/navigation-action.js +0 -19
  160. package/dist/es/navigation/navigation-config.js +0 -9
  161. package/dist/es/navigation/navigation.service.js +0 -114
  162. package/dist/es/package-metadata.js +0 -15
  163. package/dist/es/preventable-event.js +0 -29
  164. package/dist/es/splitbutton/localization/custom-messages.component.js +0 -44
  165. package/dist/es/splitbutton/localization/localized-messages.directive.js +0 -35
  166. package/dist/es/splitbutton/localization/messages.js +0 -22
  167. package/dist/es/splitbutton/splitbutton.component.js +0 -830
  168. package/dist/es/splitbutton/splitbutton.module.js +0 -34
  169. package/dist/es/util.js +0 -108
  170. package/dist/es2015/button/selection-settings.js +0 -4
  171. package/dist/es2015/buttongroup/buttongroup.module.js +0 -27
  172. package/dist/es2015/buttons.module.js +0 -51
  173. package/dist/es2015/chip/models/selection.js +0 -4
  174. package/dist/es2015/common/models/fillmode.js +0 -4
  175. package/dist/es2015/common/models/rounded.js +0 -4
  176. package/dist/es2015/common/models/shape.js +0 -4
  177. package/dist/es2015/common/models/size.js +0 -4
  178. package/dist/es2015/common/models/styling-classes.js +0 -4
  179. package/dist/es2015/common/models/theme-color.js +0 -4
  180. package/dist/es2015/common/models.js +0 -4
  181. package/dist/es2015/direction.js +0 -4
  182. package/dist/es2015/dropdownbutton/dropdownbutton.module.d.ts +0 -14
  183. package/dist/es2015/dropdownbutton/dropdownbutton.module.js +0 -29
  184. package/dist/es2015/floatingactionbutton/dial-item.component.js +0 -133
  185. package/dist/es2015/floatingactionbutton/dial-list.component.js +0 -81
  186. package/dist/es2015/floatingactionbutton/models/align.js +0 -4
  187. package/dist/es2015/floatingactionbutton/models/item-animation.interface.js +0 -4
  188. package/dist/es2015/floatingactionbutton/models/item-click.event.js +0 -4
  189. package/dist/es2015/floatingactionbutton/models/item.interface.js +0 -4
  190. package/dist/es2015/floatingactionbutton/models/offset.js +0 -4
  191. package/dist/es2015/floatingactionbutton/models/position-mode.js +0 -4
  192. package/dist/es2015/floatingactionbutton/templates/dial-item-template.directive.js +0 -25
  193. package/dist/es2015/floatingactionbutton/templates/fab-template.directive.js +0 -25
  194. package/dist/es2015/index.d.ts +0 -22
  195. package/dist/es2015/index.js +0 -22
  196. package/dist/es2015/index.metadata.json +0 -1
  197. package/dist/es2015/listbutton/list-item-model.js +0 -4
  198. package/dist/es2015/listbutton/list.component.js +0 -115
  199. package/dist/es2015/listbutton/list.module.js +0 -30
  200. package/dist/es2015/listbutton/popup-settings.js +0 -4
  201. package/dist/es2015/listbutton/template-context.directive.js +0 -35
  202. package/dist/es2015/navigation/key-events.js +0 -13
  203. package/dist/es2015/splitbutton/localization/custom-messages.component.js +0 -36
  204. package/dist/es2015/splitbutton/localization/localized-messages.directive.js +0 -31
  205. package/dist/es2015/splitbutton/localization/messages.js +0 -16
  206. package/dist/es2015/splitbutton/splitbutton.module.d.ts +0 -14
  207. package/dist/es2015/splitbutton/splitbutton.module.js +0 -31
  208. package/dist/fesm5/index.js +0 -5577
  209. package/dist/npm/button/button.directive.js +0 -777
  210. package/dist/npm/button/button.module.js +0 -52
  211. package/dist/npm/button/button.service.js +0 -26
  212. package/dist/npm/button/selection-settings.js +0 -6
  213. package/dist/npm/buttongroup/buttongroup.component.js +0 -355
  214. package/dist/npm/buttongroup/buttongroup.module.js +0 -32
  215. package/dist/npm/buttons.module.js +0 -56
  216. package/dist/npm/chip/chip-content-click-event-args.interface.js +0 -6
  217. package/dist/npm/chip/chip-list-remove-event-args.interface.js +0 -6
  218. package/dist/npm/chip/chip-list.component.js +0 -216
  219. package/dist/npm/chip/chip-remove-event-args.interface.js +0 -6
  220. package/dist/npm/chip/chip.component.js +0 -451
  221. package/dist/npm/chip/chip.module.js +0 -57
  222. package/dist/npm/chip/models/selection.js +0 -6
  223. package/dist/npm/common/models/fillmode.js +0 -6
  224. package/dist/npm/common/models/rounded.js +0 -6
  225. package/dist/npm/common/models/shape.js +0 -6
  226. package/dist/npm/common/models/size.js +0 -6
  227. package/dist/npm/common/models/styling-classes.js +0 -6
  228. package/dist/npm/common/models/theme-color.js +0 -6
  229. package/dist/npm/common/models.js +0 -6
  230. package/dist/npm/direction.js +0 -6
  231. package/dist/npm/dropdownbutton/dropdownbutton.component.js +0 -706
  232. package/dist/npm/dropdownbutton/dropdownbutton.module.js +0 -34
  233. package/dist/npm/floatingactionbutton/animations/animations.js +0 -37
  234. package/dist/npm/floatingactionbutton/dial-item.component.js +0 -145
  235. package/dist/npm/floatingactionbutton/dial-list.component.js +0 -78
  236. package/dist/npm/floatingactionbutton/floatingactionbutton.component.js +0 -905
  237. package/dist/npm/floatingactionbutton/floatingactionbutton.module.js +0 -67
  238. package/dist/npm/floatingactionbutton/models/align.js +0 -6
  239. package/dist/npm/floatingactionbutton/models/item-animation.interface.js +0 -6
  240. package/dist/npm/floatingactionbutton/models/item-click.event.js +0 -6
  241. package/dist/npm/floatingactionbutton/models/item.interface.js +0 -6
  242. package/dist/npm/floatingactionbutton/models/offset.js +0 -6
  243. package/dist/npm/floatingactionbutton/models/position-mode.js +0 -6
  244. package/dist/npm/floatingactionbutton/templates/dial-item-template.directive.js +0 -28
  245. package/dist/npm/floatingactionbutton/templates/fab-template.directive.js +0 -28
  246. package/dist/npm/floatingactionbutton/utils.js +0 -42
  247. package/dist/npm/focusable/focus.service.js +0 -45
  248. package/dist/npm/focusable/focusable.directive.js +0 -70
  249. package/dist/npm/index.js +0 -39
  250. package/dist/npm/listbutton/button-item-template.directive.js +0 -70
  251. package/dist/npm/listbutton/list-button.js +0 -245
  252. package/dist/npm/listbutton/list-item-model.js +0 -6
  253. package/dist/npm/listbutton/list.component.js +0 -87
  254. package/dist/npm/listbutton/list.module.js +0 -35
  255. package/dist/npm/listbutton/popup-settings.js +0 -6
  256. package/dist/npm/listbutton/template-context.directive.js +0 -42
  257. package/dist/npm/main.js +0 -45
  258. package/dist/npm/navigation/key-events.js +0 -15
  259. package/dist/npm/navigation/navigation-action.js +0 -21
  260. package/dist/npm/navigation/navigation-config.js +0 -11
  261. package/dist/npm/navigation/navigation.service.js +0 -116
  262. package/dist/npm/package-metadata.js +0 -17
  263. package/dist/npm/preventable-event.js +0 -31
  264. package/dist/npm/splitbutton/localization/custom-messages.component.js +0 -46
  265. package/dist/npm/splitbutton/localization/localized-messages.directive.js +0 -37
  266. package/dist/npm/splitbutton/localization/messages.js +0 -24
  267. package/dist/npm/splitbutton/splitbutton.component.js +0 -832
  268. package/dist/npm/splitbutton/splitbutton.module.js +0 -36
  269. package/dist/npm/util.js +0 -111
  270. package/dist/systemjs/kendo-angular-buttons.js +0 -5
@@ -1,905 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var tslib_1 = require("tslib");
8
- var animations_1 = require("@angular/animations");
9
- var core_1 = require("@angular/core");
10
- var rxjs_1 = require("rxjs");
11
- var operators_1 = require("rxjs/operators");
12
- var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
13
- var kendo_licensing_1 = require("@progress/kendo-licensing");
14
- var package_metadata_1 = require("../package-metadata");
15
- var kendo_angular_common_1 = require("@progress/kendo-angular-common");
16
- var kendo_angular_popup_1 = require("@progress/kendo-angular-popup");
17
- var focus_service_1 = require("../focusable/focus.service");
18
- var navigation_action_1 = require("../navigation/navigation-action");
19
- var navigation_config_1 = require("../navigation/navigation-config");
20
- var navigation_service_1 = require("../navigation/navigation.service");
21
- var util_1 = require("../util");
22
- var utils_1 = require("./utils");
23
- var animations_2 = require("./animations/animations");
24
- var preventable_event_1 = require("../preventable-event");
25
- var dial_item_template_directive_1 = require("./templates/dial-item-template.directive");
26
- var fab_template_directive_1 = require("./templates/fab-template.directive");
27
- var NAVIGATION_SETTINGS = {
28
- useLeftRightArrows: false
29
- };
30
- var ɵ0 = NAVIGATION_SETTINGS;
31
- exports.ɵ0 = ɵ0;
32
- var NAVIGATION_SETTINGS_PROVIDER = {
33
- provide: navigation_config_1.NAVIGATION_CONFIG,
34
- useValue: ɵ0
35
- };
36
- var SIZE_CLASSES = {
37
- small: 'k-fab-sm',
38
- medium: 'k-fab-md',
39
- large: 'k-fab-lg'
40
- };
41
- var SHAPE_CLASSES = {
42
- rectangle: 'k-fab-rectangle',
43
- square: 'k-fab-square'
44
- };
45
- var ROUNDED_CLASSES = {
46
- small: 'k-rounded-sm',
47
- medium: 'k-rounded-md',
48
- large: 'k-rounded-lg',
49
- full: 'k-rounded-full'
50
- };
51
- var FILLMODE_CLASS = 'k-fab-solid';
52
- var DEFAULT_DURATION = 180;
53
- var DEFAULT_ITEM_GAP = 90;
54
- var DEFAULT_OFFSET = '16px';
55
- /**
56
- *
57
- * Represents the [Kendo UI FloatingActionButton component for Angular]({% slug overview_floatingactionbutton %}).
58
- * Used to specify the primary or the most common action in an application.
59
- *
60
- */
61
- var FloatingActionButtonComponent = /** @class */ (function () {
62
- function FloatingActionButtonComponent(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
63
- var _this = this;
64
- this.renderer = renderer;
65
- this.element = element;
66
- this.focusService = focusService;
67
- this.navigationService = navigationService;
68
- this.ngZone = ngZone;
69
- this.popupService = popupService;
70
- this.builder = builder;
71
- this.localizationService = localizationService;
72
- /**
73
- * Specifies the positionMode of the FloatingActionButton
74
- * ([see example]({% slug positioning_floatingactionbutton %}#toc-positionMode)).
75
- *
76
- * * The possible values are:
77
- * * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
78
- * * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
79
- */
80
- this.positionMode = 'fixed';
81
- /**
82
- * Specifies the animation settings of the FloatingActionButton dial items.
83
- * ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
84
- *
85
- * The possible values are:
86
- * * Boolean
87
- * * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
88
- * * `false`
89
- * * `DialItemAnimation`
90
- * * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
91
- * * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
92
- */
93
- this.dialItemAnimation = true;
94
- /**
95
- * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
96
- */
97
- this.tabIndex = 0;
98
- /**
99
- * Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
100
- */
101
- this.dialItems = [];
102
- /**
103
- * Fires each time the FloatingActionButton gets blurred.
104
- */
105
- this.onBlur = new core_1.EventEmitter();
106
- /**
107
- * Fires each time the FloatingActionButton gets focused.
108
- */
109
- this.onFocus = new core_1.EventEmitter();
110
- /**
111
- * Fires each time a dial item is clicked.
112
- */
113
- this.dialItemClick = new core_1.EventEmitter();
114
- /**
115
- * Fires each time the popup is about to open.
116
- * This event is preventable. If you cancel the event, the popup will remain closed
117
- * ([more information and example]({% slug overview_floatingactionbutton %}#toc-events)).
118
- */
119
- this.open = new core_1.EventEmitter();
120
- /**
121
- * Fires each time the popup is about to close.
122
- * This event is preventable. If you cancel the event, the popup will remain open
123
- * ([more information and example]({% slug overview_floatingactionbutton %}#toc-events)).
124
- */
125
- this.close = new core_1.EventEmitter();
126
- /**
127
- * @hidden
128
- */
129
- this.id = "k-" + kendo_angular_common_1.guid();
130
- this._themeColor = 'primary';
131
- this._size = 'medium';
132
- this._shape = 'rectangle';
133
- this._disabled = false;
134
- this._align = { horizontal: 'end', vertical: 'bottom' };
135
- this._offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
136
- this._rounded = 'full';
137
- this.subscriptions = new rxjs_1.Subscription();
138
- this.rtl = false;
139
- this.animationEnd = new core_1.EventEmitter();
140
- this.initialSetup = true;
141
- kendo_licensing_1.validatePackage(package_metadata_1.packageMetadata);
142
- this.subscribeNavigationEvents();
143
- this.subscriptions.add(this.localizationService.changes.subscribe(function (_a) {
144
- var rtl = _a.rtl;
145
- _this.rtl = rtl;
146
- _this.direction = _this.rtl ? 'rtl' : 'ltr';
147
- }));
148
- }
149
- Object.defineProperty(FloatingActionButtonComponent.prototype, "fixedClass", {
150
- get: function () {
151
- return this.positionMode === 'fixed';
152
- },
153
- enumerable: true,
154
- configurable: true
155
- });
156
- Object.defineProperty(FloatingActionButtonComponent.prototype, "absoluteClass", {
157
- get: function () {
158
- return this.positionMode === 'absolute';
159
- },
160
- enumerable: true,
161
- configurable: true
162
- });
163
- Object.defineProperty(FloatingActionButtonComponent.prototype, "themeColor", {
164
- get: function () {
165
- return this._themeColor;
166
- },
167
- /**
168
- * Specifies the theme color of the FloatingActionButton
169
- * ([see example]({% slug appearance_floatingactionbutton %}#toc-themeColor)).
170
- * The theme color will be applied as background color of the component.
171
- *
172
- * The possible values are:
173
- * * `'primary'` (Default)—Applies coloring based on the `primary` theme color.
174
- * * `'secondary'`—Applies coloring based on the `secondary` theme color.
175
- * * `'tertiary'`— Applies coloring based on the `tertiary` theme color.
176
- * * `'info'`—Applies coloring based on the `info` theme color.
177
- * * `'success'`— Applies coloring based on the `success` theme color.
178
- * * `'warning'`— Applies coloring based on the `warning` theme color.
179
- * * `'error'`— Applies coloring based on the `error` theme color.
180
- * * `'dark'`— Applies coloring based on the `dark` theme color.
181
- * * `'light'`— Applies coloring based on the `light` theme color.
182
- * * `'inverse'`— Applies coloring based on the `inverse` theme color.
183
- */
184
- set: function (themeColor) {
185
- this.handleClasses(themeColor, 'themeColor');
186
- this._themeColor = themeColor;
187
- },
188
- enumerable: true,
189
- configurable: true
190
- });
191
- Object.defineProperty(FloatingActionButtonComponent.prototype, "size", {
192
- get: function () {
193
- return this._size;
194
- },
195
- /**
196
- * Specifies the size of the FloatingActionButton
197
- * ([see example]({% slug appearance_floatingactionbutton %}#toc-size)).
198
- *
199
- * The possible values are:
200
- * * `'small'`
201
- * * `'medium'` (Default)
202
- * * `'large'`
203
- */
204
- set: function (size) {
205
- this.handleClasses(size, 'size');
206
- this._size = size;
207
- },
208
- enumerable: true,
209
- configurable: true
210
- });
211
- Object.defineProperty(FloatingActionButtonComponent.prototype, "rounded", {
212
- get: function () {
213
- return this._rounded;
214
- },
215
- /**
216
- * The rounded property specifies the border radius of the FloatingActionButton.
217
- *
218
- * The possible values are:
219
- * * `'small'`
220
- * * `'medium'`
221
- * * `'large'`
222
- * * `'full'` (default)
223
- * * `null`
224
- */
225
- set: function (rounded) {
226
- this.handleClasses(rounded, 'rounded');
227
- this._rounded = rounded;
228
- },
229
- enumerable: true,
230
- configurable: true
231
- });
232
- Object.defineProperty(FloatingActionButtonComponent.prototype, "shape", {
233
- get: function () {
234
- return this._shape;
235
- },
236
- /**
237
- * Specifies the shape of the FloatingActionButton
238
- * ([see example]({% slug appearance_floatingactionbutton %}#toc-shape)).
239
- *
240
- * The possible values are:
241
- * * `rectangle` (Default)—Applies rectangular shape on the FloatingActionButton.
242
- * * `square`—Applies square shape on the FloatingActionButton.
243
- *
244
- */
245
- set: function (shape) {
246
- this.handleClasses(shape, 'shape');
247
- this._shape = shape;
248
- },
249
- enumerable: true,
250
- configurable: true
251
- });
252
- Object.defineProperty(FloatingActionButtonComponent.prototype, "disabled", {
253
- get: function () {
254
- return this._disabled;
255
- },
256
- /**
257
- * Specifies whether the FloatingActionButton is disabled.
258
- */
259
- set: function (disabled) {
260
- this._disabled = disabled;
261
- },
262
- enumerable: true,
263
- configurable: true
264
- });
265
- Object.defineProperty(FloatingActionButtonComponent.prototype, "align", {
266
- get: function () {
267
- return this._align;
268
- },
269
- /**
270
- * Specifies the horizontal and vertical alignment of the FloatingActionButton
271
- * ([see example]({% slug positioning_floatingactionbutton %}#toc-align)).
272
- *
273
- * The possible values are:
274
- * * `{ horizontal: 'start'|'center'|'end', vertical: 'top'|'middle'|'bottom' }`
275
- *
276
- * The default value is:
277
- * * `{ horizontal: 'end', vertical: 'bottom' }`
278
- *
279
- */
280
- set: function (align) {
281
- this._align = Object.assign(this._align, align);
282
- },
283
- enumerable: true,
284
- configurable: true
285
- });
286
- Object.defineProperty(FloatingActionButtonComponent.prototype, "offset", {
287
- get: function () {
288
- return this._offset;
289
- },
290
- /**
291
- * Specifies the horizontal and vertical offset position of the FloatingActionButton
292
- * ([see example]({% slug positioning_floatingactionbutton %}#toc-offset)).
293
- *
294
- * * The default value is:
295
- * * `{ x: '16px', y: '16px' }`
296
- */
297
- set: function (offset) {
298
- this._offset = Object.assign(this._offset, offset);
299
- this.offsetStyles();
300
- },
301
- enumerable: true,
302
- configurable: true
303
- });
304
- Object.defineProperty(FloatingActionButtonComponent.prototype, "componentTabIndex", {
305
- /**
306
- * @hidden
307
- */
308
- get: function () {
309
- return this.disabled ? (-1) : this.tabIndex;
310
- },
311
- enumerable: true,
312
- configurable: true
313
- });
314
- FloatingActionButtonComponent.prototype.ngAfterViewInit = function () {
315
- var _this = this;
316
- ['shape', 'size', 'rounded', 'themeColor'].forEach(function (option) { return _this.handleClasses(_this[option], option); });
317
- this.renderer.addClass(this.element.nativeElement, this.alignClass());
318
- this.offsetStyles();
319
- this.initialSetup = false;
320
- };
321
- FloatingActionButtonComponent.prototype.ngOnDestroy = function () {
322
- this.subscriptions.unsubscribe();
323
- };
324
- Object.defineProperty(FloatingActionButtonComponent.prototype, "isOpen", {
325
- /**
326
- * Indicates whether the FloatingActionButton is currently open.
327
- */
328
- get: function () { return util_1.isPresent(this.popupRef); },
329
- enumerable: true,
330
- configurable: true
331
- });
332
- /**
333
- * Focuses the FloatingActionButton.
334
- */
335
- FloatingActionButtonComponent.prototype.focus = function () {
336
- if (kendo_angular_common_1.isDocumentAvailable()) {
337
- this.button.nativeElement.focus();
338
- }
339
- };
340
- /**
341
- * Blurs the FloatingActionButton.
342
- */
343
- FloatingActionButtonComponent.prototype.blur = function () {
344
- if (kendo_angular_common_1.isDocumentAvailable()) {
345
- this.button.nativeElement.blur();
346
- }
347
- };
348
- /**
349
- * Toggles the visibility of the FloatingActionButton dial items popup.
350
- *
351
- * If you use the `toggleDial` method to open or close the dial items,
352
- * the `open` and `close` events do not fire ([more information and examples]({% slug openstate_floatingactionbutton %}#toc-events)).
353
- *
354
- * @param open - The state of dial items popup.
355
- */
356
- FloatingActionButtonComponent.prototype.toggleDial = function (open) {
357
- var _this = this;
358
- if (this.disabled || !this.hasDialItems) {
359
- return;
360
- }
361
- var shouldOpen = util_1.isPresent(open) ? open : !this.isOpen;
362
- if (this.disabled || shouldOpen === this.isOpen) {
363
- return;
364
- }
365
- shouldOpen ? setTimeout(function () { return _this.openDial(); }) : this.closeDial();
366
- };
367
- Object.defineProperty(FloatingActionButtonComponent.prototype, "role", {
368
- /**
369
- * @hidden
370
- */
371
- get: function () {
372
- return (this.dialItems && this.dialItems.length) ? 'menubutton' : 'button';
373
- },
374
- enumerable: true,
375
- configurable: true
376
- });
377
- Object.defineProperty(FloatingActionButtonComponent.prototype, "ariaExpanded", {
378
- /**
379
- * @hidden
380
- */
381
- get: function () {
382
- return util_1.isPresent(this.isOpen);
383
- },
384
- enumerable: true,
385
- configurable: true
386
- });
387
- Object.defineProperty(FloatingActionButtonComponent.prototype, "ariaHasPopup", {
388
- /**
389
- * @hidden
390
- */
391
- get: function () {
392
- return util_1.isPresent(this.isOpen);
393
- },
394
- enumerable: true,
395
- configurable: true
396
- });
397
- Object.defineProperty(FloatingActionButtonComponent.prototype, "iconClasses", {
398
- /**
399
- * @hidden
400
- */
401
- get: function () {
402
- var classes = [];
403
- if (this.iconClass) {
404
- classes.push("" + this.iconClass);
405
- }
406
- if (this.icon) {
407
- classes.push("k-fab-icon k-icon k-i-" + this.icon);
408
- }
409
- return classes;
410
- },
411
- enumerable: true,
412
- configurable: true
413
- });
414
- /**
415
- * @hidden
416
- */
417
- FloatingActionButtonComponent.prototype.clickHandler = function () {
418
- var _this = this;
419
- if (this.disabled || !this.hasDialItems) {
420
- return;
421
- }
422
- this.ngZone.run(function () {
423
- var shouldOpen = !_this.isOpen;
424
- _this.toggleDialWithEvents(shouldOpen);
425
- });
426
- };
427
- /**
428
- * @hidden
429
- */
430
- FloatingActionButtonComponent.prototype.keyDownHandler = function (event) {
431
- this.keyHandler(event);
432
- };
433
- /**
434
- * @hidden
435
- */
436
- FloatingActionButtonComponent.prototype.keyHandler = function (event, keyEvent) {
437
- if (this.disabled) {
438
- return;
439
- }
440
- var focused = this.focusService.focused || 0;
441
- var keyCode = event.keyCode;
442
- var action = this.navigationService.process({
443
- altKey: event.altKey,
444
- current: focused,
445
- keyCode: keyCode,
446
- keyEvent: keyEvent,
447
- max: this.dialItems ? this.dialItems.length - 1 : 0,
448
- min: 0,
449
- flipNavigation: this.align.vertical === 'bottom'
450
- });
451
- if (action !== navigation_action_1.NavigationAction.Undefined &&
452
- action !== navigation_action_1.NavigationAction.Tab) {
453
- event.preventDefault();
454
- }
455
- };
456
- /**
457
- * @hidden
458
- */
459
- FloatingActionButtonComponent.prototype.onItemClick = function (event) {
460
- var item = util_1.closest(event.target, '.k-fab-item');
461
- if (!item) {
462
- return;
463
- }
464
- var index = item.getAttribute('data-fab-item-index');
465
- this.emitItemClick(index);
466
- };
467
- /**
468
- * @hidden
469
- */
470
- FloatingActionButtonComponent.prototype.focusHandler = function () {
471
- if (!this.disabled) {
472
- this.onFocus.emit();
473
- }
474
- };
475
- /**
476
- * @hidden
477
- */
478
- FloatingActionButtonComponent.prototype.blurHandler = function () {
479
- this.onBlur.emit();
480
- this.toggleDialWithEvents(false);
481
- };
482
- FloatingActionButtonComponent.prototype.handleClasses = function (inputValue, input) {
483
- if (util_1.isPresent(this.button) && (this[input] !== inputValue || this.initialSetup)) {
484
- var button = this.button.nativeElement;
485
- var classesToRemove = {
486
- themeColor: FILLMODE_CLASS + "-" + this.themeColor,
487
- size: SIZE_CLASSES[this.size],
488
- shape: SHAPE_CLASSES[this.shape],
489
- rounded: ROUNDED_CLASSES[this.rounded]
490
- };
491
- var classesToAdd = {
492
- themeColor: inputValue ? FILLMODE_CLASS + "-" + inputValue : null,
493
- size: SIZE_CLASSES[inputValue],
494
- shape: SHAPE_CLASSES[inputValue],
495
- rounded: ROUNDED_CLASSES[inputValue]
496
- };
497
- this.renderer.removeClass(button, classesToRemove[input]);
498
- if (classesToAdd[input]) {
499
- this.renderer.addClass(button, classesToAdd[input]);
500
- }
501
- }
502
- };
503
- FloatingActionButtonComponent.prototype.onEnterPressed = function () {
504
- var index = this.focusService.focused;
505
- this.emitItemClick(index);
506
- };
507
- FloatingActionButtonComponent.prototype.emitItemClick = function (index) {
508
- var item = this.dialItems[index];
509
- if (item && !item.disabled) {
510
- var clickEventArgs = { item: item, index: index };
511
- this.dialItemClick.emit(clickEventArgs);
512
- this.toggleDialWithEvents(false);
513
- }
514
- };
515
- FloatingActionButtonComponent.prototype.subscribeNavigationEvents = function () {
516
- this.subscriptions.add(this.navigationService.navigate.subscribe(this.onArrowKeyNavigate.bind(this)));
517
- this.subscriptions.add(this.navigationService.enter.subscribe(this.onNavigationEnterPress.bind(this)));
518
- this.subscriptions.add(rxjs_1.merge(this.navigationService.close, this.navigationService.esc).subscribe(this.onNavigationClose.bind(this)));
519
- };
520
- FloatingActionButtonComponent.prototype.onArrowKeyNavigate = function (index) {
521
- this.focusService.focus(index);
522
- };
523
- FloatingActionButtonComponent.prototype.onNavigationEnterPress = function () {
524
- var _this = this;
525
- this.ngZone.run(function () {
526
- if (_this.isOpen) {
527
- var focusedIndex = _this.focusService.focused;
528
- var focusedItem = _this.dialItems[focusedIndex];
529
- if (focusedItem && focusedItem.disabled) {
530
- return;
531
- }
532
- if (util_1.isPresent(focusedIndex) && focusedIndex !== -1) {
533
- _this.onEnterPressed();
534
- return;
535
- }
536
- }
537
- if (!_this.isOpen && kendo_angular_common_1.isDocumentAvailable()) {
538
- _this.toggleDialWithEvents(true);
539
- _this.button.nativeElement.focus();
540
- }
541
- });
542
- };
543
- FloatingActionButtonComponent.prototype.onNavigationClose = function () {
544
- var _this = this;
545
- if (this.isOpen) {
546
- this.ngZone.run(function () {
547
- _this.toggleDialWithEvents(false);
548
- if (kendo_angular_common_1.isDocumentAvailable()) {
549
- _this.button.nativeElement.focus();
550
- }
551
- });
552
- }
553
- };
554
- FloatingActionButtonComponent.prototype.alignClass = function () {
555
- return "k-pos-" + this.align.vertical + "-" + this.align.horizontal;
556
- };
557
- FloatingActionButtonComponent.prototype.toggleDialWithEvents = function (open) {
558
- if (open === this.isOpen) {
559
- return;
560
- }
561
- var event = new preventable_event_1.PreventableEvent();
562
- open ? this.open.emit(event) : this.close.emit(event);
563
- if (event.isDefaultPrevented()) {
564
- return;
565
- }
566
- open ? this.openDial() : this.closeDial();
567
- };
568
- FloatingActionButtonComponent.prototype.openPopup = function () {
569
- var _this = this;
570
- if (this.isOpen) {
571
- return;
572
- }
573
- var isIconFab = this.icon && !this.text;
574
- var rtl = this.rtl;
575
- var align = this.align;
576
- this.popupRef = this.popupService.open({
577
- anchor: this.element.nativeElement,
578
- animate: false,
579
- content: this.popupTemplate,
580
- anchorAlign: utils_1.getAnchorAlign(align, rtl),
581
- popupAlign: utils_1.getPopupAlign(align, rtl),
582
- popupClass: 'k-fab-popup k-popup-transparent'
583
- });
584
- var popupElement = this.popupRef.popupElement;
585
- this.renderer.setStyle(popupElement, 'box-shadow', 'none');
586
- if (isIconFab) {
587
- this.subscriptions.add(this.popupRef.popupOpen.subscribe(function () { return _this.positionPopup(); }));
588
- }
589
- this.ngZone.runOutsideAngular(function () {
590
- _this.popupMouseDownListener = _this.renderer.listen(popupElement, 'mousedown', function (event) {
591
- event.preventDefault();
592
- });
593
- });
594
- this.popupRef.popupAnchorViewportLeave.subscribe(function () { return _this.toggleDialWithEvents(false); });
595
- };
596
- FloatingActionButtonComponent.prototype.closePopup = function () {
597
- if (this.isOpen) {
598
- if (this.popupMouseDownListener) {
599
- this.popupMouseDownListener();
600
- }
601
- this.popupRef.close();
602
- this.popupRef = null;
603
- }
604
- };
605
- FloatingActionButtonComponent.prototype.openDial = function () {
606
- this.openPopup();
607
- this.focusService.focus(0);
608
- if (this.dialItemAnimation && this.isValidAnimation()) {
609
- this.playAnimation(true);
610
- }
611
- };
612
- FloatingActionButtonComponent.prototype.closeDial = function () {
613
- var _this = this;
614
- if (this.dialItemAnimation && this.isValidAnimation()) {
615
- this.playAnimation(false);
616
- this.animationEnd.pipe(operators_1.take(1)).subscribe(function () { return _this.closePopup(); });
617
- }
618
- else {
619
- this.closePopup();
620
- }
621
- };
622
- FloatingActionButtonComponent.prototype.isValidAnimation = function () {
623
- var animation = this.dialItemAnimation;
624
- if (typeof animation !== 'boolean') {
625
- return animation.duration !== 0;
626
- }
627
- return true;
628
- };
629
- FloatingActionButtonComponent.prototype.positionPopup = function () {
630
- if (this.dialItemTemplate) {
631
- return;
632
- }
633
- var fab = this.element.nativeElement;
634
- var fabWidth = fab.getBoundingClientRect().width;
635
- var popupEl = this.popupRef.popupElement;
636
- var icon = popupEl.querySelector('.k-fab-item-icon');
637
- if (!icon) {
638
- return;
639
- }
640
- var iconWidth = icon.getBoundingClientRect().width;
641
- var left = (fabWidth / 2) - (iconWidth / 2);
642
- var popupLeft = popupEl.getBoundingClientRect().left;
643
- var isEndAlign = this.align.horizontal === 'end';
644
- var leftValue = isEndAlign ? (popupLeft - left) : (left + popupLeft);
645
- var rtlLeftValue = isEndAlign ? (left + popupLeft) : (popupLeft - left);
646
- popupEl.style.left = this.rtl ? rtlLeftValue + "px" : leftValue + "px";
647
- };
648
- FloatingActionButtonComponent.prototype.offsetStyles = function () {
649
- var hostElement = this.element.nativeElement;
650
- this.renderer.setStyle(hostElement, this.horizontalPosition, this.horizontalOffset);
651
- this.renderer.setStyle(hostElement, this.verticalPosition, this.verticalOffset);
652
- };
653
- Object.defineProperty(FloatingActionButtonComponent.prototype, "hasDialItems", {
654
- get: function () {
655
- return util_1.isPresent(this.dialItems) && this.dialItems.length !== 0;
656
- },
657
- enumerable: true,
658
- configurable: true
659
- });
660
- Object.defineProperty(FloatingActionButtonComponent.prototype, "verticalPosition", {
661
- /**
662
- * Gets the CSS prop name of the selected vertical position (`top`/`bottom`);
663
- */
664
- get: function () {
665
- return {
666
- top: 'top',
667
- middle: 'top',
668
- bottom: 'bottom'
669
- }[this.align.vertical];
670
- },
671
- enumerable: true,
672
- configurable: true
673
- });
674
- Object.defineProperty(FloatingActionButtonComponent.prototype, "verticalOffset", {
675
- /**
676
- * Gets the offset according to the selected vertical position.
677
- */
678
- get: function () {
679
- if (this.align.vertical === 'middle') {
680
- return this.offset.y === DEFAULT_OFFSET ? '50%' : "calc(50% + " + this.offset.y + ")";
681
- }
682
- return this.offset.y;
683
- },
684
- enumerable: true,
685
- configurable: true
686
- });
687
- Object.defineProperty(FloatingActionButtonComponent.prototype, "horizontalPosition", {
688
- /**
689
- * Gets the CSS prop name of the selected horizontal position (`left`/`right`);
690
- */
691
- get: function () {
692
- var horizontal = this.align.horizontal;
693
- return {
694
- end: this.rtl ? 'left' : 'right',
695
- center: 'left',
696
- start: this.rtl ? 'right' : 'left'
697
- }[horizontal];
698
- },
699
- enumerable: true,
700
- configurable: true
701
- });
702
- Object.defineProperty(FloatingActionButtonComponent.prototype, "horizontalOffset", {
703
- /**
704
- * Gets the offset according to the selected horizontal position.
705
- */
706
- get: function () {
707
- if (this.align.horizontal === 'center') {
708
- return this.offset.x === DEFAULT_OFFSET ? '50%' : "calc(50% + " + this.offset.x + ")";
709
- }
710
- return this.offset.x;
711
- },
712
- enumerable: true,
713
- configurable: true
714
- });
715
- FloatingActionButtonComponent.prototype.playerFor = function (element, animation) {
716
- var factory = this.builder.build(animation);
717
- return factory.create(element);
718
- };
719
- FloatingActionButtonComponent.prototype.playAnimation = function (open) {
720
- var _this = this;
721
- var durationSettings = this.durationSettings();
722
- var animationSettings = {
723
- duration: durationSettings.duration,
724
- gap: durationSettings.gap,
725
- align: this.align
726
- };
727
- var animation = open ? animations_2.openAnimation(animationSettings) : animations_2.closeAnimation(animationSettings);
728
- var player = this.playerFor(this.popupRef.popupElement, animation);
729
- player.play();
730
- player.onDone(function () {
731
- if (player) {
732
- _this.animationEnd.emit();
733
- player.destroy();
734
- player = null;
735
- }
736
- });
737
- };
738
- FloatingActionButtonComponent.prototype.durationSettings = function () {
739
- return {
740
- duration: this.animationDuration(),
741
- gap: this.animationGap()
742
- };
743
- };
744
- FloatingActionButtonComponent.prototype.animationGap = function () {
745
- var animation = this.dialItemAnimation;
746
- if (typeof animation !== 'boolean' && util_1.isPresent(animation.gap)) {
747
- return animation.gap;
748
- }
749
- return DEFAULT_ITEM_GAP;
750
- };
751
- FloatingActionButtonComponent.prototype.animationDuration = function () {
752
- var animation = this.dialItemAnimation;
753
- if (typeof animation !== 'boolean' && util_1.isPresent(animation.duration)) {
754
- return animation.duration;
755
- }
756
- return DEFAULT_DURATION;
757
- };
758
- tslib_1.__decorate([
759
- core_1.HostBinding('class.k-pos-fixed'),
760
- tslib_1.__metadata("design:type", Boolean),
761
- tslib_1.__metadata("design:paramtypes", [])
762
- ], FloatingActionButtonComponent.prototype, "fixedClass", null);
763
- tslib_1.__decorate([
764
- core_1.HostBinding('class.k-pos-absolute'),
765
- tslib_1.__metadata("design:type", Boolean),
766
- tslib_1.__metadata("design:paramtypes", [])
767
- ], FloatingActionButtonComponent.prototype, "absoluteClass", null);
768
- tslib_1.__decorate([
769
- core_1.HostBinding('attr.dir'),
770
- tslib_1.__metadata("design:type", String)
771
- ], FloatingActionButtonComponent.prototype, "direction", void 0);
772
- tslib_1.__decorate([
773
- core_1.ViewChild('button', { static: true }),
774
- tslib_1.__metadata("design:type", core_1.ElementRef)
775
- ], FloatingActionButtonComponent.prototype, "button", void 0);
776
- tslib_1.__decorate([
777
- core_1.ViewChild('popupTemplate', { static: true }),
778
- tslib_1.__metadata("design:type", core_1.TemplateRef)
779
- ], FloatingActionButtonComponent.prototype, "popupTemplate", void 0);
780
- tslib_1.__decorate([
781
- core_1.ContentChild(dial_item_template_directive_1.DialItemTemplateDirective, { static: false }),
782
- tslib_1.__metadata("design:type", dial_item_template_directive_1.DialItemTemplateDirective)
783
- ], FloatingActionButtonComponent.prototype, "dialItemTemplate", void 0);
784
- tslib_1.__decorate([
785
- core_1.ContentChild(fab_template_directive_1.FloatingActionButtonTemplateDirective, { static: false }),
786
- tslib_1.__metadata("design:type", fab_template_directive_1.FloatingActionButtonTemplateDirective)
787
- ], FloatingActionButtonComponent.prototype, "fabTemplate", void 0);
788
- tslib_1.__decorate([
789
- core_1.Input(),
790
- tslib_1.__metadata("design:type", String),
791
- tslib_1.__metadata("design:paramtypes", [String])
792
- ], FloatingActionButtonComponent.prototype, "themeColor", null);
793
- tslib_1.__decorate([
794
- core_1.Input(),
795
- tslib_1.__metadata("design:type", String),
796
- tslib_1.__metadata("design:paramtypes", [String])
797
- ], FloatingActionButtonComponent.prototype, "size", null);
798
- tslib_1.__decorate([
799
- core_1.Input(),
800
- tslib_1.__metadata("design:type", String),
801
- tslib_1.__metadata("design:paramtypes", [String])
802
- ], FloatingActionButtonComponent.prototype, "rounded", null);
803
- tslib_1.__decorate([
804
- core_1.Input(),
805
- tslib_1.__metadata("design:type", String),
806
- tslib_1.__metadata("design:paramtypes", [String])
807
- ], FloatingActionButtonComponent.prototype, "shape", null);
808
- tslib_1.__decorate([
809
- core_1.Input(),
810
- tslib_1.__metadata("design:type", Boolean),
811
- tslib_1.__metadata("design:paramtypes", [Boolean])
812
- ], FloatingActionButtonComponent.prototype, "disabled", null);
813
- tslib_1.__decorate([
814
- core_1.Input(),
815
- tslib_1.__metadata("design:type", Object),
816
- tslib_1.__metadata("design:paramtypes", [Object])
817
- ], FloatingActionButtonComponent.prototype, "align", null);
818
- tslib_1.__decorate([
819
- core_1.Input(),
820
- tslib_1.__metadata("design:type", Object),
821
- tslib_1.__metadata("design:paramtypes", [Object])
822
- ], FloatingActionButtonComponent.prototype, "offset", null);
823
- tslib_1.__decorate([
824
- core_1.Input(),
825
- tslib_1.__metadata("design:type", String)
826
- ], FloatingActionButtonComponent.prototype, "positionMode", void 0);
827
- tslib_1.__decorate([
828
- core_1.Input(),
829
- tslib_1.__metadata("design:type", String)
830
- ], FloatingActionButtonComponent.prototype, "icon", void 0);
831
- tslib_1.__decorate([
832
- core_1.Input(),
833
- tslib_1.__metadata("design:type", String)
834
- ], FloatingActionButtonComponent.prototype, "iconClass", void 0);
835
- tslib_1.__decorate([
836
- core_1.Input(),
837
- tslib_1.__metadata("design:type", Object)
838
- ], FloatingActionButtonComponent.prototype, "buttonClass", void 0);
839
- tslib_1.__decorate([
840
- core_1.Input(),
841
- tslib_1.__metadata("design:type", Object)
842
- ], FloatingActionButtonComponent.prototype, "dialClass", void 0);
843
- tslib_1.__decorate([
844
- core_1.Input(),
845
- tslib_1.__metadata("design:type", String)
846
- ], FloatingActionButtonComponent.prototype, "text", void 0);
847
- tslib_1.__decorate([
848
- core_1.Input(),
849
- tslib_1.__metadata("design:type", Object)
850
- ], FloatingActionButtonComponent.prototype, "dialItemAnimation", void 0);
851
- tslib_1.__decorate([
852
- core_1.Input(),
853
- tslib_1.__metadata("design:type", Number)
854
- ], FloatingActionButtonComponent.prototype, "tabIndex", void 0);
855
- tslib_1.__decorate([
856
- core_1.Input(),
857
- tslib_1.__metadata("design:type", Array)
858
- ], FloatingActionButtonComponent.prototype, "dialItems", void 0);
859
- tslib_1.__decorate([
860
- core_1.Output('blur'),
861
- tslib_1.__metadata("design:type", core_1.EventEmitter)
862
- ], FloatingActionButtonComponent.prototype, "onBlur", void 0);
863
- tslib_1.__decorate([
864
- core_1.Output('focus'),
865
- tslib_1.__metadata("design:type", core_1.EventEmitter)
866
- ], FloatingActionButtonComponent.prototype, "onFocus", void 0);
867
- tslib_1.__decorate([
868
- core_1.Output('dialItemClick'),
869
- tslib_1.__metadata("design:type", core_1.EventEmitter)
870
- ], FloatingActionButtonComponent.prototype, "dialItemClick", void 0);
871
- tslib_1.__decorate([
872
- core_1.Output(),
873
- tslib_1.__metadata("design:type", core_1.EventEmitter)
874
- ], FloatingActionButtonComponent.prototype, "open", void 0);
875
- tslib_1.__decorate([
876
- core_1.Output(),
877
- tslib_1.__metadata("design:type", core_1.EventEmitter)
878
- ], FloatingActionButtonComponent.prototype, "close", void 0);
879
- FloatingActionButtonComponent = tslib_1.__decorate([
880
- core_1.Component({
881
- selector: 'kendo-floatingactionbutton',
882
- providers: [
883
- focus_service_1.FocusService,
884
- navigation_service_1.NavigationService,
885
- NAVIGATION_SETTINGS_PROVIDER,
886
- kendo_angular_l10n_1.LocalizationService,
887
- {
888
- provide: kendo_angular_l10n_1.L10N_PREFIX,
889
- useValue: 'kendo.floatingactionbutton'
890
- }
891
- ],
892
- template: "\n <button\n #button\n [attr.id]=\"id\"\n [attr.role]=\"role\"\n [tabIndex]=\"componentTabIndex\"\n type=\"button\"\n class=\"k-fab k-fab-solid\"\n [class.k-disabled]=\"disabled\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n (focus)=\"focusHandler()\"\n (blur)=\"blurHandler()\"\n [kendoEventsOutsideAngular]=\"{\n keydown: keyDownHandler,\n click: clickHandler\n }\"\n [scope]=\"this\"\n >\n <ng-template *ngIf=\"fabTemplate\"\n [ngTemplateOutlet]=\"fabTemplate?.templateRef\"\n >\n </ng-template>\n\n <ng-container *ngIf=\"!fabTemplate\">\n <span *ngIf=\"icon || iconClass\" [ngClass]=\"iconClasses\"></span>\n <span *ngIf=\"text\" class=\"k-fab-text\">{{ text }}</span>\n </ng-container>\n </button>\n\n <ng-template #popupTemplate>\n <ul\n kendoDialList\n [ngClass]=\"dialClass\"\n [dialItems]=\"dialItems\"\n [dialItemTemplate]='dialItemTemplate?.templateRef'\n [align]=\"align\"\n [attr.aria-labelledby]=\"id\"\n (click)=\"onItemClick($event)\"\n >\n </ul>\n </ng-template>\n "
893
- }),
894
- tslib_1.__metadata("design:paramtypes", [core_1.Renderer2,
895
- core_1.ElementRef,
896
- focus_service_1.FocusService,
897
- navigation_service_1.NavigationService,
898
- core_1.NgZone,
899
- kendo_angular_popup_1.PopupService,
900
- animations_1.AnimationBuilder,
901
- kendo_angular_l10n_1.LocalizationService])
902
- ], FloatingActionButtonComponent);
903
- return FloatingActionButtonComponent;
904
- }());
905
- exports.FloatingActionButtonComponent = FloatingActionButtonComponent;