@progress/kendo-angular-buttons 7.0.0-next.202111120840 → 7.0.2-dev.202201201235

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 (283) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/dist/cdn/js/kendo-angular-buttons.js +20 -0
  5. package/dist/cdn/main.js +5 -0
  6. package/dist/es/button/button.directive.js +769 -0
  7. package/{esm2015 → dist/es}/button/button.module.js +13 -13
  8. package/dist/es/button/button.service.js +24 -0
  9. package/{esm2015 → dist/es}/button/selection-settings.js +0 -1
  10. package/dist/es/buttongroup/buttongroup.component.js +353 -0
  11. package/dist/es/buttongroup/buttongroup.module.js +30 -0
  12. package/{esm2015 → dist/es}/buttons.module.js +12 -12
  13. package/{esm2015 → dist/es}/chip/chip-content-click-event-args.interface.js +0 -1
  14. package/{esm2015 → dist/es}/chip/chip-list-remove-event-args.interface.js +0 -1
  15. package/dist/es/chip/chip-list.component.js +214 -0
  16. package/{esm2015 → dist/es}/chip/chip-remove-event-args.interface.js +0 -1
  17. package/dist/es/chip/chip.component.js +449 -0
  18. package/dist/es/chip/chip.module.js +55 -0
  19. package/{esm2015 → dist/es}/chip/models/selection.js +0 -1
  20. package/dist/es/common/models/fillmode.js +4 -0
  21. package/dist/es/common/models/rounded.js +4 -0
  22. package/{esm2015 → dist/es}/common/models/shape.js +0 -1
  23. package/{esm2015 → dist/es}/common/models/size.js +0 -1
  24. package/dist/es/common/models/styling-classes.js +4 -0
  25. package/{esm2015 → dist/es}/common/models/theme-color.js +0 -1
  26. package/{esm2015/button-look.js → dist/es/common/models.js} +0 -1
  27. package/{esm2015 → dist/es}/direction.js +0 -1
  28. package/dist/es/dropdownbutton/dropdownbutton.component.js +704 -0
  29. package/dist/es/dropdownbutton/dropdownbutton.module.js +32 -0
  30. package/dist/es/floatingactionbutton/animations/animations.js +33 -0
  31. package/dist/es/floatingactionbutton/dial-item.component.js +143 -0
  32. package/dist/es/floatingactionbutton/dial-list.component.js +76 -0
  33. package/dist/es/floatingactionbutton/floatingactionbutton.component.js +903 -0
  34. package/dist/es/floatingactionbutton/floatingactionbutton.module.js +65 -0
  35. package/{esm2015 → dist/es}/floatingactionbutton/models/align.js +0 -1
  36. package/{esm2015 → dist/es}/floatingactionbutton/models/item-animation.interface.js +0 -1
  37. package/{esm2015 → dist/es}/floatingactionbutton/models/item-click.event.js +0 -1
  38. package/{esm2015 → dist/es}/floatingactionbutton/models/item.interface.js +0 -1
  39. package/{esm2015 → dist/es}/floatingactionbutton/models/offset.js +0 -1
  40. package/{esm2015 → dist/es}/floatingactionbutton/models/position-mode.js +0 -1
  41. package/dist/es/floatingactionbutton/templates/dial-item-template.directive.js +26 -0
  42. package/dist/es/floatingactionbutton/templates/fab-template.directive.js +26 -0
  43. package/dist/es/floatingactionbutton/utils.js +38 -0
  44. package/dist/es/focusable/focus.service.js +43 -0
  45. package/dist/es/focusable/focusable.directive.js +68 -0
  46. package/dist/es/index.js +22 -0
  47. package/dist/es/listbutton/button-item-template.directive.js +68 -0
  48. package/dist/es/listbutton/list-button.js +243 -0
  49. package/{esm2015 → dist/es}/listbutton/list-item-model.js +0 -1
  50. package/dist/es/listbutton/list.component.js +85 -0
  51. package/dist/es/listbutton/list.module.js +33 -0
  52. package/{esm2015 → dist/es}/listbutton/popup-settings.js +0 -1
  53. package/dist/es/listbutton/template-context.directive.js +40 -0
  54. package/{esm2015 → dist/es}/main.js +1 -5
  55. package/{esm2015 → dist/es}/navigation/key-events.js +0 -0
  56. package/{esm2015 → dist/es}/navigation/navigation-action.js +0 -0
  57. package/dist/es/navigation/navigation-config.js +9 -0
  58. package/dist/es/navigation/navigation.service.js +114 -0
  59. package/dist/es/package-metadata.js +15 -0
  60. package/dist/es/preventable-event.js +29 -0
  61. package/dist/es/splitbutton/localization/custom-messages.component.js +44 -0
  62. package/dist/es/splitbutton/localization/localized-messages.directive.js +35 -0
  63. package/dist/es/splitbutton/localization/messages.js +22 -0
  64. package/dist/es/splitbutton/splitbutton.component.js +830 -0
  65. package/dist/es/splitbutton/splitbutton.module.js +34 -0
  66. package/dist/es/util.js +97 -0
  67. package/{button → dist/es2015/button}/button.directive.d.ts +101 -46
  68. package/dist/es2015/button/button.directive.js +671 -0
  69. package/{button → dist/es2015/button}/button.module.d.ts +0 -5
  70. package/dist/es2015/button/button.module.js +47 -0
  71. package/{button → dist/es2015/button}/button.service.d.ts +1 -7
  72. package/dist/es2015/button/button.service.js +26 -0
  73. package/{button → dist/es2015/button}/selection-settings.d.ts +0 -0
  74. package/dist/es2015/button/selection-settings.js +4 -0
  75. package/{buttongroup → dist/es2015/buttongroup}/buttongroup.component.d.ts +9 -28
  76. package/{esm2015 → dist/es2015}/buttongroup/buttongroup.component.js +116 -121
  77. package/dist/es2015/buttongroup/buttongroup.module.d.ts +14 -0
  78. package/dist/es2015/buttongroup/buttongroup.module.js +27 -0
  79. package/{buttons.module.d.ts → dist/es2015/buttons.module.d.ts} +0 -10
  80. package/dist/es2015/buttons.module.js +51 -0
  81. package/{chip → dist/es2015/chip}/chip-content-click-event-args.interface.d.ts +0 -0
  82. package/dist/es2015/chip/chip-content-click-event-args.interface.js +4 -0
  83. package/{chip → dist/es2015/chip}/chip-list-remove-event-args.interface.d.ts +0 -0
  84. package/dist/es2015/chip/chip-list-remove-event-args.interface.js +4 -0
  85. package/{chip → dist/es2015/chip}/chip-list.component.d.ts +21 -8
  86. package/dist/es2015/chip/chip-list.component.js +197 -0
  87. package/{chip → dist/es2015/chip}/chip-remove-event-args.interface.d.ts +0 -0
  88. package/dist/es2015/chip/chip-remove-event-args.interface.js +4 -0
  89. package/{chip → dist/es2015/chip}/chip.component.d.ts +72 -38
  90. package/dist/es2015/chip/chip.component.js +431 -0
  91. package/{chip → dist/es2015/chip}/chip.module.d.ts +0 -7
  92. package/{esm2015 → dist/es2015}/chip/chip.module.js +11 -16
  93. package/{chip → dist/es2015/chip}/models/selection.d.ts +0 -0
  94. package/dist/es2015/chip/models/selection.js +4 -0
  95. package/{util.d.ts → dist/es2015/common/models/fillmode.d.ts} +4 -8
  96. package/dist/es2015/common/models/fillmode.js +4 -0
  97. package/dist/es2015/common/models/rounded.d.ts +12 -0
  98. package/dist/es2015/common/models/rounded.js +4 -0
  99. package/dist/es2015/common/models/shape.d.ts +9 -0
  100. package/dist/es2015/common/models/shape.js +4 -0
  101. package/dist/es2015/common/models/size.d.ts +17 -0
  102. package/dist/es2015/common/models/size.js +4 -0
  103. package/{esm2015/kendo-angular-buttons.js → dist/es2015/common/models/styling-classes.d.ts} +5 -2
  104. package/dist/es2015/common/models/styling-classes.js +4 -0
  105. package/{common → dist/es2015/common}/models/theme-color.d.ts +15 -4
  106. package/dist/es2015/common/models/theme-color.js +4 -0
  107. package/{common/models/size.d.ts → dist/es2015/common/models.d.ts} +6 -10
  108. package/dist/es2015/common/models.js +4 -0
  109. package/{direction.d.ts → dist/es2015/direction.d.ts} +0 -0
  110. package/dist/es2015/direction.js +4 -0
  111. package/{dropdownbutton → dist/es2015/dropdownbutton}/dropdownbutton.component.d.ts +74 -29
  112. package/{esm2015 → dist/es2015}/dropdownbutton/dropdownbutton.component.js +257 -179
  113. package/dist/es2015/dropdownbutton/dropdownbutton.module.d.ts +14 -0
  114. package/dist/es2015/dropdownbutton/dropdownbutton.module.js +29 -0
  115. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/animations/animations.d.ts +0 -0
  116. package/{esm2015 → dist/es2015}/floatingactionbutton/animations/animations.js +0 -0
  117. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/dial-item.component.d.ts +5 -8
  118. package/dist/es2015/floatingactionbutton/dial-item.component.js +133 -0
  119. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/dial-list.component.d.ts +2 -5
  120. package/dist/es2015/floatingactionbutton/dial-list.component.js +81 -0
  121. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/floatingactionbutton.component.d.ts +47 -49
  122. package/{esm2015 → dist/es2015}/floatingactionbutton/floatingactionbutton.component.js +212 -192
  123. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/floatingactionbutton.module.d.ts +0 -13
  124. package/{esm2015 → dist/es2015}/floatingactionbutton/floatingactionbutton.module.js +11 -19
  125. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/models/align.d.ts +0 -0
  126. package/dist/es2015/floatingactionbutton/models/align.js +4 -0
  127. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/models/item-animation.interface.d.ts +0 -0
  128. package/dist/es2015/floatingactionbutton/models/item-animation.interface.js +4 -0
  129. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/models/item-click.event.d.ts +0 -0
  130. package/dist/es2015/floatingactionbutton/models/item-click.event.js +4 -0
  131. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/models/item.interface.d.ts +0 -0
  132. package/dist/es2015/floatingactionbutton/models/item.interface.js +4 -0
  133. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/models/offset.d.ts +0 -0
  134. package/dist/es2015/floatingactionbutton/models/offset.js +4 -0
  135. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/models/position-mode.d.ts +0 -0
  136. package/dist/es2015/floatingactionbutton/models/position-mode.js +4 -0
  137. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/templates/dial-item-template.directive.d.ts +0 -3
  138. package/dist/es2015/floatingactionbutton/templates/dial-item-template.directive.js +25 -0
  139. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/templates/fab-template.directive.d.ts +0 -3
  140. package/dist/es2015/floatingactionbutton/templates/fab-template.directive.js +25 -0
  141. package/{floatingactionbutton → dist/es2015/floatingactionbutton}/utils.d.ts +0 -0
  142. package/{esm2015 → dist/es2015}/floatingactionbutton/utils.js +0 -0
  143. package/{focusable → dist/es2015/focusable}/focus.service.d.ts +1 -5
  144. package/{esm2015 → dist/es2015}/focusable/focus.service.js +10 -8
  145. package/{focusable → dist/es2015/focusable}/focusable.directive.d.ts +0 -3
  146. package/{esm2015 → dist/es2015}/focusable/focusable.directive.js +20 -19
  147. package/dist/es2015/index.d.ts +22 -0
  148. package/dist/es2015/index.js +22 -0
  149. package/dist/es2015/index.metadata.json +1 -0
  150. package/{listbutton → dist/es2015/listbutton}/button-item-template.directive.d.ts +0 -3
  151. package/{esm2015 → dist/es2015}/listbutton/button-item-template.directive.js +12 -13
  152. package/{listbutton → dist/es2015/listbutton}/list-button.d.ts +2 -6
  153. package/{esm2015 → dist/es2015}/listbutton/list-button.js +6 -16
  154. package/{listbutton → dist/es2015/listbutton}/list-item-model.d.ts +0 -0
  155. package/dist/es2015/listbutton/list-item-model.js +4 -0
  156. package/{listbutton → dist/es2015/listbutton}/list.component.d.ts +3 -3
  157. package/dist/es2015/listbutton/list.component.js +113 -0
  158. package/dist/es2015/listbutton/list.module.d.ts +9 -0
  159. package/dist/es2015/listbutton/list.module.js +30 -0
  160. package/{listbutton → dist/es2015/listbutton}/popup-settings.d.ts +0 -0
  161. package/dist/es2015/listbutton/popup-settings.js +4 -0
  162. package/{listbutton → dist/es2015/listbutton}/template-context.directive.d.ts +1 -4
  163. package/dist/es2015/listbutton/template-context.directive.js +35 -0
  164. package/{main.d.ts → dist/es2015/main.d.ts} +5 -9
  165. package/dist/es2015/main.js +22 -0
  166. package/{navigation → dist/es2015/navigation}/key-events.d.ts +0 -0
  167. package/dist/es2015/navigation/key-events.js +13 -0
  168. package/{navigation → dist/es2015/navigation}/navigation-action.d.ts +0 -0
  169. package/dist/es2015/navigation/navigation-action.js +19 -0
  170. package/{navigation → dist/es2015/navigation}/navigation-config.d.ts +0 -0
  171. package/{esm2015 → dist/es2015}/navigation/navigation-config.js +0 -0
  172. package/{navigation → dist/es2015/navigation}/navigation.service.d.ts +0 -3
  173. package/{esm2015 → dist/es2015}/navigation/navigation.service.js +9 -11
  174. package/{package-metadata.d.ts → dist/es2015/package-metadata.d.ts} +0 -0
  175. package/{esm2015 → dist/es2015}/package-metadata.js +1 -1
  176. package/{preventable-event.d.ts → dist/es2015/preventable-event.d.ts} +0 -0
  177. package/{esm2015 → dist/es2015}/preventable-event.js +0 -0
  178. package/dist/es2015/splitbutton/localization/custom-messages.component.d.ts +15 -0
  179. package/dist/es2015/splitbutton/localization/custom-messages.component.js +36 -0
  180. package/dist/es2015/splitbutton/localization/localized-messages.directive.d.ts +13 -0
  181. package/dist/es2015/splitbutton/localization/localized-messages.directive.js +31 -0
  182. package/dist/es2015/splitbutton/localization/messages.d.ts +32 -0
  183. package/dist/es2015/splitbutton/localization/messages.js +16 -0
  184. package/{splitbutton → dist/es2015/splitbutton}/splitbutton.component.d.ts +74 -34
  185. package/{esm2015 → dist/es2015}/splitbutton/splitbutton.component.js +288 -203
  186. package/dist/es2015/splitbutton/splitbutton.module.d.ts +14 -0
  187. package/dist/es2015/splitbutton/splitbutton.module.js +31 -0
  188. package/dist/es2015/util.d.ts +41 -0
  189. package/dist/es2015/util.js +95 -0
  190. package/{fesm2015/kendo-angular-buttons.js → dist/fesm2015/index.js} +2394 -1838
  191. package/dist/fesm5/index.js +5561 -0
  192. package/dist/npm/button/button.directive.js +771 -0
  193. package/dist/npm/button/button.module.js +52 -0
  194. package/dist/npm/button/button.service.js +26 -0
  195. package/dist/npm/button/selection-settings.js +6 -0
  196. package/dist/npm/buttongroup/buttongroup.component.js +355 -0
  197. package/dist/npm/buttongroup/buttongroup.module.js +32 -0
  198. package/dist/npm/buttons.module.js +56 -0
  199. package/dist/npm/chip/chip-content-click-event-args.interface.js +6 -0
  200. package/dist/npm/chip/chip-list-remove-event-args.interface.js +6 -0
  201. package/dist/npm/chip/chip-list.component.js +216 -0
  202. package/dist/npm/chip/chip-remove-event-args.interface.js +6 -0
  203. package/dist/npm/chip/chip.component.js +451 -0
  204. package/dist/npm/chip/chip.module.js +57 -0
  205. package/dist/npm/chip/models/selection.js +6 -0
  206. package/dist/npm/common/models/fillmode.js +6 -0
  207. package/dist/npm/common/models/rounded.js +6 -0
  208. package/dist/npm/common/models/shape.js +6 -0
  209. package/dist/npm/common/models/size.js +6 -0
  210. package/dist/npm/common/models/styling-classes.js +6 -0
  211. package/dist/npm/common/models/theme-color.js +6 -0
  212. package/dist/npm/common/models.js +6 -0
  213. package/dist/npm/direction.js +6 -0
  214. package/dist/npm/dropdownbutton/dropdownbutton.component.js +706 -0
  215. package/dist/npm/dropdownbutton/dropdownbutton.module.js +34 -0
  216. package/dist/npm/floatingactionbutton/animations/animations.js +37 -0
  217. package/dist/npm/floatingactionbutton/dial-item.component.js +145 -0
  218. package/dist/npm/floatingactionbutton/dial-list.component.js +78 -0
  219. package/dist/npm/floatingactionbutton/floatingactionbutton.component.js +905 -0
  220. package/dist/npm/floatingactionbutton/floatingactionbutton.module.js +67 -0
  221. package/dist/npm/floatingactionbutton/models/align.js +6 -0
  222. package/dist/npm/floatingactionbutton/models/item-animation.interface.js +6 -0
  223. package/dist/npm/floatingactionbutton/models/item-click.event.js +6 -0
  224. package/dist/npm/floatingactionbutton/models/item.interface.js +6 -0
  225. package/dist/npm/floatingactionbutton/models/offset.js +6 -0
  226. package/dist/npm/floatingactionbutton/models/position-mode.js +6 -0
  227. package/dist/npm/floatingactionbutton/templates/dial-item-template.directive.js +28 -0
  228. package/dist/npm/floatingactionbutton/templates/fab-template.directive.js +28 -0
  229. package/dist/npm/floatingactionbutton/utils.js +42 -0
  230. package/dist/npm/focusable/focus.service.js +45 -0
  231. package/dist/npm/focusable/focusable.directive.js +70 -0
  232. package/dist/npm/index.js +39 -0
  233. package/dist/npm/listbutton/button-item-template.directive.js +70 -0
  234. package/dist/npm/listbutton/list-button.js +245 -0
  235. package/dist/npm/listbutton/list-item-model.js +6 -0
  236. package/dist/npm/listbutton/list.component.js +87 -0
  237. package/dist/npm/listbutton/list.module.js +35 -0
  238. package/dist/npm/listbutton/popup-settings.js +6 -0
  239. package/dist/npm/listbutton/template-context.directive.js +42 -0
  240. package/dist/npm/main.js +45 -0
  241. package/dist/npm/navigation/key-events.js +15 -0
  242. package/dist/npm/navigation/navigation-action.js +21 -0
  243. package/dist/npm/navigation/navigation-config.js +11 -0
  244. package/dist/npm/navigation/navigation.service.js +116 -0
  245. package/dist/npm/package-metadata.js +17 -0
  246. package/dist/npm/preventable-event.js +31 -0
  247. package/dist/npm/splitbutton/localization/custom-messages.component.js +46 -0
  248. package/dist/npm/splitbutton/localization/localized-messages.directive.js +37 -0
  249. package/dist/npm/splitbutton/localization/messages.js +24 -0
  250. package/dist/npm/splitbutton/splitbutton.component.js +832 -0
  251. package/dist/npm/splitbutton/splitbutton.module.js +36 -0
  252. package/dist/npm/util.js +100 -0
  253. package/dist/systemjs/kendo-angular-buttons.js +5 -0
  254. package/package.json +110 -35
  255. package/schematics/ngAdd/index.js +2 -5
  256. package/schematics/ngAdd/index.js.map +1 -1
  257. package/bundles/kendo-angular-buttons.umd.js +0 -5
  258. package/button-look.d.ts +0 -21
  259. package/buttongroup/buttongroup.module.d.ts +0 -21
  260. package/chip/models/chip-look.d.ts +0 -18
  261. package/chip/models/type.d.ts +0 -21
  262. package/common/models/shape.d.ts +0 -16
  263. package/dropdownbutton/dropdownbutton.module.d.ts +0 -23
  264. package/esm2015/button/button.directive.js +0 -488
  265. package/esm2015/button/button.service.js +0 -28
  266. package/esm2015/buttongroup/buttongroup.module.js +0 -30
  267. package/esm2015/chip/chip-list.component.js +0 -145
  268. package/esm2015/chip/chip.component.js +0 -335
  269. package/esm2015/chip/models/chip-look.js +0 -5
  270. package/esm2015/chip/models/type.js +0 -5
  271. package/esm2015/dropdownbutton/dropdownbutton.module.js +0 -32
  272. package/esm2015/floatingactionbutton/dial-item.component.js +0 -126
  273. package/esm2015/floatingactionbutton/dial-list.component.js +0 -89
  274. package/esm2015/floatingactionbutton/templates/dial-item-template.directive.js +0 -27
  275. package/esm2015/floatingactionbutton/templates/fab-template.directive.js +0 -27
  276. package/esm2015/listbutton/list.component.js +0 -120
  277. package/esm2015/listbutton/list.module.js +0 -39
  278. package/esm2015/listbutton/template-context.directive.js +0 -33
  279. package/esm2015/splitbutton/splitbutton.module.js +0 -32
  280. package/esm2015/util.js +0 -39
  281. package/kendo-angular-buttons.d.ts +0 -9
  282. package/listbutton/list.module.d.ts +0 -18
  283. package/splitbutton/splitbutton.module.d.ts +0 -23
@@ -0,0 +1,771 @@
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 core_1 = require("@angular/core");
9
+ var button_service_1 = require("./button.service");
10
+ var kendo_angular_common_1 = require("@progress/kendo-angular-common");
11
+ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
12
+ var kendo_licensing_1 = require("@progress/kendo-licensing");
13
+ var package_metadata_1 = require("../package-metadata");
14
+ var util_1 = require("../util");
15
+ var SPAN_TAG_NAME = 'SPAN';
16
+ /**
17
+ * Represents the Kendo UI Button component for Angular.
18
+ */
19
+ var ButtonDirective = /** @class */ (function () {
20
+ function ButtonDirective(element, renderer, service, localization, ngZone) {
21
+ var _this = this;
22
+ this.service = service;
23
+ this.ngZone = ngZone;
24
+ /**
25
+ * Provides visual styling that indicates if the Button is active.
26
+ * By default, `toggleable` is set to `false`.
27
+ */
28
+ this.toggleable = false;
29
+ /**
30
+ * @hidden
31
+ */
32
+ this.role = 'button';
33
+ /**
34
+ * Fires each time the selected state of a toggleable button is changed.
35
+ *
36
+ * The event argument is the new selected state (boolean).
37
+ */
38
+ this.selectedChange = new core_1.EventEmitter();
39
+ /**
40
+ * Fires each time the user clicks the button.
41
+ */
42
+ this.click = new core_1.EventEmitter();
43
+ this.isDisabled = false;
44
+ this.isIcon = false;
45
+ this.isIconClass = false;
46
+ this._size = 'medium';
47
+ this._rounded = 'medium';
48
+ this._shape = 'rectangle';
49
+ this._fillMode = 'solid';
50
+ this._themeColor = 'base';
51
+ this._focused = false;
52
+ this.domEvents = [];
53
+ kendo_licensing_1.validatePackage(package_metadata_1.packageMetadata);
54
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
55
+ this.localizationChangeSubscription = localization.changes.subscribe(function (_a) {
56
+ var rtl = _a.rtl;
57
+ return (_this.direction = rtl ? 'rtl' : 'ltr');
58
+ });
59
+ this.element = element.nativeElement;
60
+ this.renderer = renderer;
61
+ }
62
+ Object.defineProperty(ButtonDirective.prototype, "togglable", {
63
+ /**
64
+ * Backwards-compatible alias
65
+ *
66
+ * @hidden
67
+ */
68
+ get: function () {
69
+ return this.toggleable;
70
+ },
71
+ /**
72
+ * @hidden
73
+ */
74
+ set: function (value) {
75
+ this.toggleable = value;
76
+ },
77
+ enumerable: true,
78
+ configurable: true
79
+ });
80
+ Object.defineProperty(ButtonDirective.prototype, "selected", {
81
+ /**
82
+ * Sets the selected state of the Button.
83
+ */
84
+ get: function () {
85
+ return this._selected || false;
86
+ },
87
+ set: function (value) {
88
+ this._selected = value;
89
+ },
90
+ enumerable: true,
91
+ configurable: true
92
+ });
93
+ Object.defineProperty(ButtonDirective.prototype, "tabIndex", {
94
+ get: function () {
95
+ return this.element.tabIndex;
96
+ },
97
+ /**
98
+ * @hidden
99
+ */
100
+ set: function (index) {
101
+ this.element.tabIndex = index;
102
+ },
103
+ enumerable: true,
104
+ configurable: true
105
+ });
106
+ Object.defineProperty(ButtonDirective.prototype, "icon", {
107
+ /**
108
+ * Defines the name for an existing icon in a Kendo UI theme.
109
+ * The icon is rendered inside the Button by a `span.k-icon` element.
110
+ */
111
+ set: function (icon) {
112
+ var _this = this;
113
+ if (icon) {
114
+ this.iconSetter(icon, function () {
115
+ _this.isIcon = true;
116
+ var classes = 'k-button-icon k-icon k-i-' + icon;
117
+ _this.addIcon(classes);
118
+ });
119
+ }
120
+ else {
121
+ this.isIcon = false;
122
+ this.updateIconNode();
123
+ }
124
+ },
125
+ enumerable: true,
126
+ configurable: true
127
+ });
128
+ Object.defineProperty(ButtonDirective.prototype, "iconClass", {
129
+ /**
130
+ * Defines a CSS class—or multiple classes separated by spaces—
131
+ * which are applied to a `span` element inside the Button. Allows the usage of custom icons.
132
+ */
133
+ set: function (iconClassName) {
134
+ var _this = this;
135
+ if (iconClassName) {
136
+ this.iconSetter(iconClassName, function () {
137
+ _this.isIconClass = true;
138
+ var classes = 'k-button-icon k-icon ' + iconClassName;
139
+ _this.addIcon(classes);
140
+ });
141
+ }
142
+ else {
143
+ this.isIconClass = false;
144
+ this.updateIconNode();
145
+ }
146
+ },
147
+ enumerable: true,
148
+ configurable: true
149
+ });
150
+ Object.defineProperty(ButtonDirective.prototype, "imageUrl", {
151
+ /**
152
+ * Defines a URL which is used for an `img` element inside the Button.
153
+ * The URL can be relative or absolute. If relative, it is evaluated with relation to the web page URL.
154
+ */
155
+ set: function (imageUrl) {
156
+ if (imageUrl) {
157
+ this.iconSetter(imageUrl, this.addImgIcon.bind(this));
158
+ }
159
+ else {
160
+ this.removeImageNode();
161
+ }
162
+ },
163
+ enumerable: true,
164
+ configurable: true
165
+ });
166
+ Object.defineProperty(ButtonDirective.prototype, "disabled", {
167
+ get: function () {
168
+ return this.isDisabled;
169
+ },
170
+ /**
171
+ * If set to `true`, it disables the Button.
172
+ */
173
+ set: function (disabled) {
174
+ this.isDisabled = disabled;
175
+ this.renderer.setProperty(this.element, 'disabled', disabled);
176
+ },
177
+ enumerable: true,
178
+ configurable: true
179
+ });
180
+ Object.defineProperty(ButtonDirective.prototype, "size", {
181
+ get: function () {
182
+ return this._size;
183
+ },
184
+ /**
185
+ * The size property specifies the padding of the Button
186
+ * ([see example]({% slug appearance_button %}#toc-size)).
187
+ *
188
+ * The possible values are:
189
+ * * `'small'`
190
+ * * `'medium'` (default)
191
+ * * `'large'`
192
+ * * `null`
193
+ */
194
+ set: function (size) {
195
+ this.handleClasses(size, 'size');
196
+ this._size = size;
197
+ },
198
+ enumerable: true,
199
+ configurable: true
200
+ });
201
+ Object.defineProperty(ButtonDirective.prototype, "rounded", {
202
+ get: function () {
203
+ return this._rounded;
204
+ },
205
+ /**
206
+ * The rounded property specifies the border radius of the Button
207
+ * ([see example]({% slug appearance_button %}#toc-rounded)).
208
+ *
209
+ * The possible values are:
210
+ * * `'small'`
211
+ * * `'medium'` (default)
212
+ * * `'large'`
213
+ * * `'full'`
214
+ * * `null`
215
+ */
216
+ set: function (rounded) {
217
+ this.handleClasses(rounded, 'rounded');
218
+ this._rounded = rounded;
219
+ },
220
+ enumerable: true,
221
+ configurable: true
222
+ });
223
+ Object.defineProperty(ButtonDirective.prototype, "fillMode", {
224
+ get: function () {
225
+ return this._fillMode;
226
+ },
227
+ /**
228
+ * The fillMode property specifies the background and border styles of the Button
229
+ * ([see example]({% slug appearance_button %}#toc-fillMode)).
230
+ *
231
+ * The possible values are:
232
+ * * `'flat'`
233
+ * * `'solid'` (default)
234
+ * * `'outline'`
235
+ * * `'clear'`
236
+ * * `'link'`
237
+ * * `null`
238
+ */
239
+ set: function (fillMode) {
240
+ this.handleClasses(fillMode, 'fillMode');
241
+ this._fillMode = fillMode;
242
+ },
243
+ enumerable: true,
244
+ configurable: true
245
+ });
246
+ Object.defineProperty(ButtonDirective.prototype, "themeColor", {
247
+ get: function () {
248
+ return this._themeColor;
249
+ },
250
+ /**
251
+ * The Button allows you to specify predefined theme colors.
252
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
253
+ * ([see example]({% slug appearance_button %}#toc-themeColor)).
254
+ *
255
+ * The possible values are:
256
+ * * `'base'` (default)
257
+ * * `'primary'`
258
+ * * `'secondary'`
259
+ * * `'tertiary'`
260
+ * * `'info'`
261
+ * * `'success'`
262
+ * * `'warning'`
263
+ * * `'error'`
264
+ * * `'dark'`
265
+ * * `'light`'
266
+ * * `'inverse'`
267
+ */
268
+ set: function (themeColor) {
269
+ this.handleThemeColor(themeColor);
270
+ this._themeColor = themeColor;
271
+ },
272
+ enumerable: true,
273
+ configurable: true
274
+ });
275
+ Object.defineProperty(ButtonDirective.prototype, "shape", {
276
+ get: function () {
277
+ return this._shape;
278
+ },
279
+ /**
280
+ * The shape property specifies if the Button will form a rectangle or square.
281
+ * ([see example]({% slug appearance_button %}#toc-shape)).
282
+ *
283
+ * The possible values are:
284
+ * * `'square'`
285
+ * * `'rectangle'` (default)
286
+ */
287
+ set: function (shape) {
288
+ this.handleClasses(shape, 'shape');
289
+ this._shape = shape;
290
+ },
291
+ enumerable: true,
292
+ configurable: true
293
+ });
294
+ Object.defineProperty(ButtonDirective.prototype, "isFocused", {
295
+ get: function () {
296
+ return this._focused;
297
+ },
298
+ set: function (isFocused) {
299
+ this.toggleClass('k-focus', isFocused);
300
+ this._focused = isFocused;
301
+ },
302
+ enumerable: true,
303
+ configurable: true
304
+ });
305
+ Object.defineProperty(ButtonDirective.prototype, "classButton", {
306
+ get: function () {
307
+ return true;
308
+ },
309
+ enumerable: true,
310
+ configurable: true
311
+ });
312
+ Object.defineProperty(ButtonDirective.prototype, "isToggleable", {
313
+ get: function () {
314
+ return this.toggleable;
315
+ },
316
+ enumerable: true,
317
+ configurable: true
318
+ });
319
+ Object.defineProperty(ButtonDirective.prototype, "roleSetter", {
320
+ get: function () {
321
+ return this.role;
322
+ },
323
+ enumerable: true,
324
+ configurable: true
325
+ });
326
+ Object.defineProperty(ButtonDirective.prototype, "classDisabled", {
327
+ get: function () {
328
+ return this.isDisabled;
329
+ },
330
+ enumerable: true,
331
+ configurable: true
332
+ });
333
+ Object.defineProperty(ButtonDirective.prototype, "classActive", {
334
+ get: function () {
335
+ return this.selected;
336
+ },
337
+ enumerable: true,
338
+ configurable: true
339
+ });
340
+ Object.defineProperty(ButtonDirective.prototype, "getDirection", {
341
+ get: function () {
342
+ return this.direction;
343
+ },
344
+ enumerable: true,
345
+ configurable: true
346
+ });
347
+ /**
348
+ * @hidden
349
+ */
350
+ ButtonDirective.prototype.onFocus = function () {
351
+ this.isFocused = true;
352
+ };
353
+ /**
354
+ * @hidden
355
+ */
356
+ ButtonDirective.prototype.onBlur = function () {
357
+ this.isFocused = false;
358
+ };
359
+ Object.defineProperty(ButtonDirective.prototype, "primary", {
360
+ /**
361
+ * @hidden
362
+ */
363
+ set: function (value) {
364
+ this.themeColor = value ? 'primary' : 'base';
365
+ },
366
+ enumerable: true,
367
+ configurable: true
368
+ });
369
+ Object.defineProperty(ButtonDirective.prototype, "look", {
370
+ /**
371
+ * @hidden
372
+ */
373
+ set: function (value) {
374
+ switch (value) {
375
+ case 'default':
376
+ this.fillMode = 'solid';
377
+ break;
378
+ default:
379
+ this.fillMode = value;
380
+ break;
381
+ }
382
+ },
383
+ enumerable: true,
384
+ configurable: true
385
+ });
386
+ ButtonDirective.prototype.ngOnInit = function () {
387
+ var _this = this;
388
+ var isSpan = this.element.tagName === SPAN_TAG_NAME;
389
+ this.addTextSpan();
390
+ if (!this.element.hasAttribute('role') && this.togglable) {
391
+ this.toggleAriaPressed(this.toggleable);
392
+ }
393
+ if (this.role) {
394
+ this.setAttribute('role', this.role);
395
+ }
396
+ this.ngZone.runOutsideAngular(function () {
397
+ _this.domEvents.push(_this.renderer.listen(_this.element, 'click', _this._onButtonClick.bind(_this)));
398
+ _this.domEvents.push(_this.renderer.listen(_this.element, 'keydown', function (event) {
399
+ var isSpaceOrEnter = event.keyCode === kendo_angular_common_1.Keys.Space || event.keyCode === kendo_angular_common_1.Keys.Enter;
400
+ if (isSpan && isSpaceOrEnter) {
401
+ _this.click.emit(event);
402
+ _this._onButtonClick();
403
+ }
404
+ }));
405
+ });
406
+ };
407
+ ButtonDirective.prototype.ngOnChanges = function (change) {
408
+ if (kendo_angular_common_1.isChanged('togglable', change) || kendo_angular_common_1.isChanged('toggleable', change)) {
409
+ this.toggleAriaPressed(this.toggleable);
410
+ }
411
+ };
412
+ ButtonDirective.prototype.ngAfterViewInit = function () {
413
+ var _this = this;
414
+ var stylingOptions = ['size', 'rounded', 'shape', 'fillMode'];
415
+ stylingOptions.forEach(function (input) {
416
+ _this.handleClasses(_this[input], input);
417
+ });
418
+ };
419
+ ButtonDirective.prototype.ngAfterViewChecked = function () {
420
+ this.setIconTextClasses();
421
+ };
422
+ ButtonDirective.prototype.ngOnDestroy = function () {
423
+ this.imageNode = null;
424
+ this.iconNode = null;
425
+ this.iconSpanNode = null;
426
+ this.renderer = null;
427
+ this.localizationChangeSubscription.unsubscribe();
428
+ clearTimeout(this.deferTimeout);
429
+ this.domEvents.forEach(function (unbindHandler) { return unbindHandler(); });
430
+ };
431
+ /**
432
+ * Focuses the Button component.
433
+ */
434
+ ButtonDirective.prototype.focus = function () {
435
+ if (kendo_angular_common_1.isDocumentAvailable()) {
436
+ this.element.focus();
437
+ this.isFocused = true;
438
+ }
439
+ };
440
+ /**
441
+ * Blurs the Button component.
442
+ */
443
+ ButtonDirective.prototype.blur = function () {
444
+ if (kendo_angular_common_1.isDocumentAvailable()) {
445
+ this.element.blur();
446
+ this.isFocused = false;
447
+ }
448
+ };
449
+ /**
450
+ * @hidden
451
+ */
452
+ ButtonDirective.prototype.setAttribute = function (attribute, value) {
453
+ this.renderer.setAttribute(this.element, attribute, value);
454
+ };
455
+ /**
456
+ * @hidden
457
+ */
458
+ ButtonDirective.prototype.removeAttribute = function (attribute) {
459
+ this.renderer.removeAttribute(this.element, attribute);
460
+ };
461
+ /**
462
+ * @hidden
463
+ *
464
+ * Internal setter that triggers selectedChange
465
+ */
466
+ ButtonDirective.prototype.setSelected = function (value) {
467
+ var _this = this;
468
+ var changed = this.selected !== value;
469
+ this.selected = value;
470
+ this.setAttribute('aria-pressed', this.selected.toString());
471
+ this.toggleClass('k-selected', this.selected);
472
+ if (changed && kendo_angular_common_1.hasObservers(this.selectedChange)) {
473
+ this.ngZone.run(function () {
474
+ _this.selectedChange.emit(value);
475
+ });
476
+ }
477
+ };
478
+ ButtonDirective.prototype.toggleAriaPressed = function (shouldSet) {
479
+ if (!kendo_angular_common_1.isDocumentAvailable()) {
480
+ return;
481
+ }
482
+ if (shouldSet) {
483
+ this.setAttribute('aria-pressed', this.selected.toString());
484
+ }
485
+ else {
486
+ this.removeAttribute('aria-pressed');
487
+ }
488
+ };
489
+ ButtonDirective.prototype.hasText = function () {
490
+ return kendo_angular_common_1.isDocumentAvailable() && this.element.textContent.trim().length > 0;
491
+ };
492
+ ButtonDirective.prototype.addImgIcon = function (imageUrl) {
493
+ var renderer = this.renderer;
494
+ this.iconSpanNode = renderer.createElement('span');
495
+ renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
496
+ if (this.imageNode) {
497
+ renderer.setProperty(this.imageNode, 'src', imageUrl);
498
+ }
499
+ else if (kendo_angular_common_1.isDocumentAvailable()) {
500
+ this.imageNode = renderer.createElement('img');
501
+ renderer.setProperty(this.imageNode, 'src', imageUrl);
502
+ renderer.setProperty(this.imageNode, 'className', 'k-image');
503
+ renderer.setAttribute(this.imageNode, 'role', 'presentation');
504
+ }
505
+ this.iconSpanNode.appendChild(this.imageNode);
506
+ this.prependChild(this.iconSpanNode);
507
+ };
508
+ ButtonDirective.prototype.addIcon = function (classNames) {
509
+ var renderer = this.renderer;
510
+ if (this.iconNode) {
511
+ renderer.setProperty(this.iconNode, 'className', classNames);
512
+ }
513
+ else if (kendo_angular_common_1.isDocumentAvailable()) {
514
+ this.iconNode = renderer.createElement('span');
515
+ renderer.setProperty(this.iconNode, 'className', classNames);
516
+ renderer.setAttribute(this.iconNode, 'role', 'presentation');
517
+ this.prependChild(this.iconNode);
518
+ }
519
+ };
520
+ ButtonDirective.prototype.addTextSpan = function () {
521
+ var _this = this;
522
+ if (kendo_angular_common_1.isDocumentAvailable() && this.hasText()) {
523
+ var span_1 = this.renderer.createElement('span');
524
+ this.renderer.addClass(span_1, 'k-button-text');
525
+ var buttonContentNodes = Array.from(this.element.childNodes);
526
+ buttonContentNodes.forEach(function (node) { return _this.renderer.appendChild(span_1, node); });
527
+ this.renderer.appendChild(this.element, span_1);
528
+ }
529
+ };
530
+ ButtonDirective.prototype.prependChild = function (node) {
531
+ var _this = this;
532
+ this.defer(function () {
533
+ if (_this.renderer && node !== _this.element.firstChild) {
534
+ _this.renderer.insertBefore(_this.element, node, _this.element.firstChild);
535
+ }
536
+ });
537
+ };
538
+ ButtonDirective.prototype.defer = function (callback) {
539
+ var _this = this;
540
+ this.ngZone.runOutsideAngular(function () {
541
+ _this.deferTimeout = setTimeout(callback, 0);
542
+ });
543
+ };
544
+ ButtonDirective.prototype.iconSetter = function (icon, insertIcon) {
545
+ if (icon) {
546
+ insertIcon(icon);
547
+ }
548
+ this.setIconTextClasses();
549
+ };
550
+ ButtonDirective.prototype.removeImageNode = function () {
551
+ if (this.imageNode && this.renderer.parentNode(this.imageNode)) {
552
+ this.renderer.removeChild(this.element, this.imageNode);
553
+ this.renderer.removeChild(this.element, this.iconSpanNode);
554
+ this.imageNode = null;
555
+ this.iconSpanNode = null;
556
+ }
557
+ };
558
+ ButtonDirective.prototype.removeIconNode = function () {
559
+ if (this.iconNode && this.renderer.parentNode(this.iconNode)) {
560
+ this.renderer.removeChild(this.element, this.iconNode);
561
+ this.iconNode = null;
562
+ }
563
+ if (this.iconSpanNode) {
564
+ this.renderer.removeChild(this.element, this.iconSpanNode);
565
+ this.iconSpanNode = null;
566
+ }
567
+ };
568
+ ButtonDirective.prototype.updateIconNode = function () {
569
+ if (!this.isIcon && !this.isIconClass) {
570
+ this.removeIconNode();
571
+ }
572
+ };
573
+ ButtonDirective.prototype.setIconTextClasses = function () {
574
+ var hasIcon = this.isIcon || this.isIconClass || this.imageNode;
575
+ this.toggleClass('k-icon-button', hasIcon && !this.hasText());
576
+ };
577
+ ButtonDirective.prototype.toggleClass = function (className, add) {
578
+ if (add) {
579
+ this.renderer.addClass(this.element, className);
580
+ }
581
+ else {
582
+ this.renderer.removeClass(this.element, className);
583
+ }
584
+ };
585
+ ButtonDirective.prototype._onButtonClick = function () {
586
+ var _this = this;
587
+ if (!this.disabled && this.service) {
588
+ this.ngZone.run(function () {
589
+ _this.service.click(_this);
590
+ });
591
+ }
592
+ if (this.togglable && !this.service) {
593
+ this.setSelected(!this.selected);
594
+ }
595
+ };
596
+ ButtonDirective.prototype.handleClasses = function (value, input) {
597
+ var elem = this.element;
598
+ var classes = util_1.getStylingClasses('button', input, this[input], value);
599
+ if (input === 'fillMode') {
600
+ this.handleThemeColor(this.themeColor, this[input], value);
601
+ }
602
+ if (classes.toRemove) {
603
+ this.renderer.removeClass(elem, classes.toRemove);
604
+ }
605
+ if (classes.toAdd) {
606
+ this.renderer.addClass(elem, classes.toAdd);
607
+ }
608
+ };
609
+ ButtonDirective.prototype.handleThemeColor = function (value, prevFillMode, fillMode) {
610
+ var elem = this.element;
611
+ var removeFillMode = prevFillMode ? prevFillMode : this.fillMode;
612
+ var addFillMode = fillMode ? fillMode : this.fillMode;
613
+ var themeColorClass = util_1.getThemeColorClasses('button', removeFillMode, addFillMode, this.themeColor, value);
614
+ this.renderer.removeClass(elem, themeColorClass.toRemove);
615
+ if (addFillMode !== null && fillMode !== null) {
616
+ if (themeColorClass.toAdd) {
617
+ this.renderer.addClass(elem, themeColorClass.toAdd);
618
+ }
619
+ }
620
+ };
621
+ tslib_1.__decorate([
622
+ core_1.Input(),
623
+ tslib_1.__metadata("design:type", Boolean)
624
+ ], ButtonDirective.prototype, "toggleable", void 0);
625
+ tslib_1.__decorate([
626
+ core_1.Input(),
627
+ tslib_1.__metadata("design:type", Boolean),
628
+ tslib_1.__metadata("design:paramtypes", [Boolean])
629
+ ], ButtonDirective.prototype, "togglable", null);
630
+ tslib_1.__decorate([
631
+ core_1.Input(),
632
+ tslib_1.__metadata("design:type", Boolean),
633
+ tslib_1.__metadata("design:paramtypes", [Boolean])
634
+ ], ButtonDirective.prototype, "selected", null);
635
+ tslib_1.__decorate([
636
+ core_1.Input(),
637
+ tslib_1.__metadata("design:type", Number),
638
+ tslib_1.__metadata("design:paramtypes", [Number])
639
+ ], ButtonDirective.prototype, "tabIndex", null);
640
+ tslib_1.__decorate([
641
+ core_1.Input(),
642
+ tslib_1.__metadata("design:type", String),
643
+ tslib_1.__metadata("design:paramtypes", [String])
644
+ ], ButtonDirective.prototype, "icon", null);
645
+ tslib_1.__decorate([
646
+ core_1.Input(),
647
+ tslib_1.__metadata("design:type", String),
648
+ tslib_1.__metadata("design:paramtypes", [String])
649
+ ], ButtonDirective.prototype, "iconClass", null);
650
+ tslib_1.__decorate([
651
+ core_1.Input(),
652
+ tslib_1.__metadata("design:type", String),
653
+ tslib_1.__metadata("design:paramtypes", [String])
654
+ ], ButtonDirective.prototype, "imageUrl", null);
655
+ tslib_1.__decorate([
656
+ core_1.Input(),
657
+ tslib_1.__metadata("design:type", Boolean),
658
+ tslib_1.__metadata("design:paramtypes", [Boolean])
659
+ ], ButtonDirective.prototype, "disabled", null);
660
+ tslib_1.__decorate([
661
+ core_1.Input(),
662
+ tslib_1.__metadata("design:type", String),
663
+ tslib_1.__metadata("design:paramtypes", [String])
664
+ ], ButtonDirective.prototype, "size", null);
665
+ tslib_1.__decorate([
666
+ core_1.Input(),
667
+ tslib_1.__metadata("design:type", String),
668
+ tslib_1.__metadata("design:paramtypes", [String])
669
+ ], ButtonDirective.prototype, "rounded", null);
670
+ tslib_1.__decorate([
671
+ core_1.Input(),
672
+ tslib_1.__metadata("design:type", String),
673
+ tslib_1.__metadata("design:paramtypes", [String])
674
+ ], ButtonDirective.prototype, "fillMode", null);
675
+ tslib_1.__decorate([
676
+ core_1.Input(),
677
+ tslib_1.__metadata("design:type", String),
678
+ tslib_1.__metadata("design:paramtypes", [String])
679
+ ], ButtonDirective.prototype, "themeColor", null);
680
+ tslib_1.__decorate([
681
+ core_1.Input(),
682
+ tslib_1.__metadata("design:type", String),
683
+ tslib_1.__metadata("design:paramtypes", [String])
684
+ ], ButtonDirective.prototype, "shape", null);
685
+ tslib_1.__decorate([
686
+ core_1.Input(),
687
+ tslib_1.__metadata("design:type", String)
688
+ ], ButtonDirective.prototype, "role", void 0);
689
+ tslib_1.__decorate([
690
+ core_1.Output(),
691
+ tslib_1.__metadata("design:type", core_1.EventEmitter)
692
+ ], ButtonDirective.prototype, "selectedChange", void 0);
693
+ tslib_1.__decorate([
694
+ core_1.Output(),
695
+ tslib_1.__metadata("design:type", core_1.EventEmitter)
696
+ ], ButtonDirective.prototype, "click", void 0);
697
+ tslib_1.__decorate([
698
+ core_1.HostBinding('class.k-button'),
699
+ tslib_1.__metadata("design:type", Boolean),
700
+ tslib_1.__metadata("design:paramtypes", [])
701
+ ], ButtonDirective.prototype, "classButton", null);
702
+ tslib_1.__decorate([
703
+ core_1.HostBinding('class.k-toggle-button'),
704
+ tslib_1.__metadata("design:type", Boolean),
705
+ tslib_1.__metadata("design:paramtypes", [])
706
+ ], ButtonDirective.prototype, "isToggleable", null);
707
+ tslib_1.__decorate([
708
+ core_1.HostBinding('attr.role'),
709
+ tslib_1.__metadata("design:type", String),
710
+ tslib_1.__metadata("design:paramtypes", [])
711
+ ], ButtonDirective.prototype, "roleSetter", null);
712
+ tslib_1.__decorate([
713
+ core_1.HostBinding('attr.aria-disabled'),
714
+ core_1.HostBinding('class.k-disabled'),
715
+ tslib_1.__metadata("design:type", Boolean),
716
+ tslib_1.__metadata("design:paramtypes", [])
717
+ ], ButtonDirective.prototype, "classDisabled", null);
718
+ tslib_1.__decorate([
719
+ core_1.HostBinding('class.k-selected'),
720
+ tslib_1.__metadata("design:type", Boolean),
721
+ tslib_1.__metadata("design:paramtypes", [])
722
+ ], ButtonDirective.prototype, "classActive", null);
723
+ tslib_1.__decorate([
724
+ core_1.HostBinding('attr.dir'),
725
+ tslib_1.__metadata("design:type", String),
726
+ tslib_1.__metadata("design:paramtypes", [])
727
+ ], ButtonDirective.prototype, "getDirection", null);
728
+ tslib_1.__decorate([
729
+ core_1.HostListener('focus'),
730
+ tslib_1.__metadata("design:type", Function),
731
+ tslib_1.__metadata("design:paramtypes", []),
732
+ tslib_1.__metadata("design:returntype", void 0)
733
+ ], ButtonDirective.prototype, "onFocus", null);
734
+ tslib_1.__decorate([
735
+ core_1.HostListener('blur'),
736
+ tslib_1.__metadata("design:type", Function),
737
+ tslib_1.__metadata("design:paramtypes", []),
738
+ tslib_1.__metadata("design:returntype", void 0)
739
+ ], ButtonDirective.prototype, "onBlur", null);
740
+ tslib_1.__decorate([
741
+ core_1.Input(),
742
+ tslib_1.__metadata("design:type", Boolean),
743
+ tslib_1.__metadata("design:paramtypes", [Boolean])
744
+ ], ButtonDirective.prototype, "primary", null);
745
+ tslib_1.__decorate([
746
+ core_1.Input(),
747
+ tslib_1.__metadata("design:type", String),
748
+ tslib_1.__metadata("design:paramtypes", [String])
749
+ ], ButtonDirective.prototype, "look", null);
750
+ ButtonDirective = tslib_1.__decorate([
751
+ core_1.Directive({
752
+ exportAs: 'kendoButton',
753
+ providers: [
754
+ kendo_angular_l10n_1.LocalizationService,
755
+ {
756
+ provide: kendo_angular_l10n_1.L10N_PREFIX,
757
+ useValue: 'kendo.button'
758
+ }
759
+ ],
760
+ selector: 'button[kendoButton], span[kendoButton]',
761
+ }),
762
+ tslib_1.__param(2, core_1.Optional()),
763
+ tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
764
+ core_1.Renderer2,
765
+ button_service_1.KendoButtonService,
766
+ kendo_angular_l10n_1.LocalizationService,
767
+ core_1.NgZone])
768
+ ], ButtonDirective);
769
+ return ButtonDirective;
770
+ }());
771
+ exports.ButtonDirective = ButtonDirective;