@progress/kendo-angular-buttons 7.0.5-dev.202203211448 → 7.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-buttons',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1647874037,
12
+ publishDate: 1648131806,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -39,3 +39,9 @@ export declare const getStylingClasses: (componentType: any, stylingOption: stri
39
39
  * Returns the themeColor classes to be added and removed
40
40
  */
41
41
  export declare const getThemeColorClasses: (componentType: any, prevFillMode: any, fillMode: any, previousValue: any, newValue: any) => ButtonStylingClasses;
42
+ /**
43
+ * @hidden
44
+ *
45
+ * Returns true if the used browser is Firefox.
46
+ */
47
+ export declare const isFirefox: (userAgent: any) => boolean;
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /* tslint:disable:no-null-keyword */
6
6
  /* tslint:disable:no-bitwise */
7
+ import { detectDesktopBrowser, detectMobileOS } from "@progress/kendo-common";
7
8
  const resolvedPromise = Promise.resolve(null);
8
9
  /**
9
10
  * @hidden
@@ -93,3 +94,13 @@ export const getThemeColorClasses = (componentType, prevFillMode, fillMode, prev
93
94
  toAdd: newValue ? `k-${componentType}-${fillMode}-${newValue}` : null
94
95
  };
95
96
  };
97
+ /**
98
+ * @hidden
99
+ *
100
+ * Returns true if the used browser is Firefox.
101
+ */
102
+ export const isFirefox = (userAgent) => {
103
+ const desktopBrowser = detectDesktopBrowser(userAgent);
104
+ const mobileOS = detectMobileOS(userAgent);
105
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
106
+ };
@@ -8,6 +8,7 @@ import { Subject, fromEvent, merge, Subscription } from 'rxjs';
8
8
  import { Keys, isChanged, isDocumentAvailable, hasObservers, guid, EventsModule } from '@progress/kendo-angular-common';
9
9
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
+ import { detectDesktopBrowser, detectMobileOS } from '@progress/kendo-common';
11
12
  import { CommonModule } from '@angular/common';
12
13
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
13
14
  import { filter, take } from 'rxjs/operators';
@@ -39,13 +40,12 @@ const packageMetadata = {
39
40
  name: '@progress/kendo-angular-buttons',
40
41
  productName: 'Kendo UI for Angular',
41
42
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
42
- publishDate: 1647874037,
43
+ publishDate: 1648131806,
43
44
  version: '',
44
45
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
45
46
  };
46
47
 
47
48
  /* tslint:disable:no-null-keyword */
48
- /* tslint:disable:no-bitwise */
49
49
  const resolvedPromise = Promise.resolve(null);
50
50
  /**
51
51
  * @hidden
@@ -135,6 +135,16 @@ const getThemeColorClasses = (componentType, prevFillMode, fillMode, previousVal
135
135
  toAdd: newValue ? `k-${componentType}-${fillMode}-${newValue}` : null
136
136
  };
137
137
  };
138
+ /**
139
+ * @hidden
140
+ *
141
+ * Returns true if the used browser is Firefox.
142
+ */
143
+ const isFirefox = (userAgent) => {
144
+ const desktopBrowser = detectDesktopBrowser(userAgent);
145
+ const mobileOS = detectMobileOS(userAgent);
146
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
147
+ };
138
148
 
139
149
  const SPAN_TAG_NAME = 'SPAN';
140
150
  /**
@@ -261,6 +271,10 @@ let ButtonDirective = class ButtonDirective {
261
271
  * If set to `true`, it disables the Button.
262
272
  */
263
273
  set disabled(disabled) {
274
+ //Required, because in FF focused buttons are not blurred on disabled
275
+ if (isFirefox(navigator.userAgent) && disabled) {
276
+ this.blur();
277
+ }
264
278
  this.isDisabled = disabled;
265
279
  this.renderer.setProperty(this.element, 'disabled', disabled);
266
280
  }
@@ -522,8 +536,10 @@ let ButtonDirective = class ButtonDirective {
522
536
  }
523
537
  addImgIcon(imageUrl) {
524
538
  let renderer = this.renderer;
525
- this.iconSpanNode = renderer.createElement('span');
526
- renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
539
+ if (!this.iconSpanNode) {
540
+ this.iconSpanNode = renderer.createElement('span');
541
+ renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
542
+ }
527
543
  if (this.imageNode) {
528
544
  renderer.setProperty(this.imageNode, 'src', imageUrl);
529
545
  }
@@ -8,6 +8,7 @@ import { Subject, fromEvent, merge, Subscription } from 'rxjs';
8
8
  import { Keys, isChanged, isDocumentAvailable, hasObservers, guid, EventsModule } from '@progress/kendo-angular-common';
9
9
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
+ import { detectDesktopBrowser, detectMobileOS } from '@progress/kendo-common';
11
12
  import { CommonModule } from '@angular/common';
12
13
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
13
14
  import { filter, take } from 'rxjs/operators';
@@ -37,13 +38,12 @@ var packageMetadata = {
37
38
  name: '@progress/kendo-angular-buttons',
38
39
  productName: 'Kendo UI for Angular',
39
40
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
40
- publishDate: 1647874037,
41
+ publishDate: 1648131806,
41
42
  version: '',
42
43
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
43
44
  };
44
45
 
45
46
  /* tslint:disable:no-null-keyword */
46
- /* tslint:disable:no-bitwise */
47
47
  var resolvedPromise = Promise.resolve(null);
48
48
  /**
49
49
  * @hidden
@@ -135,6 +135,16 @@ var getThemeColorClasses = function (componentType, prevFillMode, fillMode, prev
135
135
  toAdd: newValue ? "k-" + componentType + "-" + fillMode + "-" + newValue : null
136
136
  };
137
137
  };
138
+ /**
139
+ * @hidden
140
+ *
141
+ * Returns true if the used browser is Firefox.
142
+ */
143
+ var isFirefox = function (userAgent) {
144
+ var desktopBrowser = detectDesktopBrowser(userAgent);
145
+ var mobileOS = detectMobileOS(userAgent);
146
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
147
+ };
138
148
 
139
149
  var SPAN_TAG_NAME = 'SPAN';
140
150
  /**
@@ -295,6 +305,10 @@ var ButtonDirective = /** @class */ (function () {
295
305
  * If set to `true`, it disables the Button.
296
306
  */
297
307
  set: function (disabled) {
308
+ //Required, because in FF focused buttons are not blurred on disabled
309
+ if (isFirefox(navigator.userAgent) && disabled) {
310
+ this.blur();
311
+ }
298
312
  this.isDisabled = disabled;
299
313
  this.renderer.setProperty(this.element, 'disabled', disabled);
300
314
  },
@@ -615,8 +629,10 @@ var ButtonDirective = /** @class */ (function () {
615
629
  };
616
630
  ButtonDirective.prototype.addImgIcon = function (imageUrl) {
617
631
  var renderer = this.renderer;
618
- this.iconSpanNode = renderer.createElement('span');
619
- renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
632
+ if (!this.iconSpanNode) {
633
+ this.iconSpanNode = renderer.createElement('span');
634
+ renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
635
+ }
620
636
  if (this.imageNode) {
621
637
  renderer.setProperty(this.imageNode, 'src', imageUrl);
622
638
  }
@@ -171,6 +171,10 @@ var ButtonDirective = /** @class */ (function () {
171
171
  * If set to `true`, it disables the Button.
172
172
  */
173
173
  set: function (disabled) {
174
+ //Required, because in FF focused buttons are not blurred on disabled
175
+ if (util_1.isFirefox(navigator.userAgent) && disabled) {
176
+ this.blur();
177
+ }
174
178
  this.isDisabled = disabled;
175
179
  this.renderer.setProperty(this.element, 'disabled', disabled);
176
180
  },
@@ -491,8 +495,10 @@ var ButtonDirective = /** @class */ (function () {
491
495
  };
492
496
  ButtonDirective.prototype.addImgIcon = function (imageUrl) {
493
497
  var renderer = this.renderer;
494
- this.iconSpanNode = renderer.createElement('span');
495
- renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
498
+ if (!this.iconSpanNode) {
499
+ this.iconSpanNode = renderer.createElement('span');
500
+ renderer.setProperty(this.iconSpanNode, 'className', 'k-button-icon k-icon');
501
+ }
496
502
  if (this.imageNode) {
497
503
  renderer.setProperty(this.imageNode, 'src', imageUrl);
498
504
  }
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-buttons',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1647874037,
14
+ publishDate: 1648131806,
15
15
  version: '',
16
16
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
17
17
  };
package/dist/npm/util.js CHANGED
@@ -6,6 +6,7 @@
6
6
  /* tslint:disable:no-null-keyword */
7
7
  /* tslint:disable:no-bitwise */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ var kendo_common_1 = require("@progress/kendo-common");
9
10
  var resolvedPromise = Promise.resolve(null);
10
11
  /**
11
12
  * @hidden
@@ -98,3 +99,13 @@ exports.getThemeColorClasses = function (componentType, prevFillMode, fillMode,
98
99
  toAdd: newValue ? "k-" + componentType + "-" + fillMode + "-" + newValue : null
99
100
  };
100
101
  };
102
+ /**
103
+ * @hidden
104
+ *
105
+ * Returns true if the used browser is Firefox.
106
+ */
107
+ exports.isFirefox = function (userAgent) {
108
+ var desktopBrowser = kendo_common_1.detectDesktopBrowser(userAgent);
109
+ var mobileOS = kendo_common_1.detectMobileOS(userAgent);
110
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
111
+ };