@syncfusion/ej2-splitbuttons 30.2.4 → 31.1.17

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 (32) hide show
  1. package/dist/ej2-splitbuttons.min.js +1 -1
  2. package/dist/ej2-splitbuttons.umd.min.js +1 -1
  3. package/dist/global/ej2-splitbuttons.min.js +1 -1
  4. package/dist/global/index.d.ts +1 -1
  5. package/dist/ts/button-group/button-group.d.ts +38 -0
  6. package/dist/ts/button-group/button-group.ts +84 -0
  7. package/dist/ts/button-group/index.d.ts +4 -0
  8. package/dist/ts/button-group/index.ts +4 -0
  9. package/dist/ts/common/common-model.d.ts +51 -0
  10. package/dist/ts/common/common.d.ts +95 -0
  11. package/dist/ts/common/common.ts +218 -0
  12. package/dist/ts/common/index.d.ts +5 -0
  13. package/dist/ts/common/index.ts +5 -0
  14. package/dist/ts/drop-down-button/drop-down-button-model.d.ts +195 -0
  15. package/dist/ts/drop-down-button/drop-down-button.d.ts +308 -0
  16. package/dist/ts/drop-down-button/drop-down-button.ts +1110 -0
  17. package/dist/ts/drop-down-button/index.d.ts +5 -0
  18. package/dist/ts/drop-down-button/index.ts +5 -0
  19. package/dist/ts/index.d.ts +8 -0
  20. package/dist/ts/index.ts +8 -0
  21. package/dist/ts/progress-button/index.d.ts +5 -0
  22. package/dist/ts/progress-button/index.ts +5 -0
  23. package/dist/ts/progress-button/progress-button-model.d.ts +206 -0
  24. package/dist/ts/progress-button/progress-button.d.ts +323 -0
  25. package/dist/ts/progress-button/progress-button.ts +689 -0
  26. package/dist/ts/split-button/index.d.ts +5 -0
  27. package/dist/ts/split-button/index.ts +5 -0
  28. package/dist/ts/split-button/split-button-model.d.ts +133 -0
  29. package/dist/ts/split-button/split-button.d.ts +236 -0
  30. package/dist/ts/split-button/split-button.ts +535 -0
  31. package/package.json +59 -13
  32. package/aceconfig.js +0 -17
@@ -0,0 +1,535 @@
1
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
2
+ /// <reference path='../drop-down-button/drop-down-button-model.d.ts'/>
3
+ import { Event, EmitType, remove, addClass, removeClass, detach, getValue, setValue } from '@syncfusion/ej2-base';
4
+ import { EventHandler, Collection, BaseEventArgs, NotifyPropertyChanges, INotifyPropertyChanged, Property } from '@syncfusion/ej2-base';
5
+ import { attributes, getUniqueID, getInstance, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';
6
+ import { Button, ButtonModel } from '@syncfusion/ej2-buttons';
7
+ import { MenuEventArgs, BeforeOpenCloseMenuEventArgs, OpenCloseMenuEventArgs } from './../common/common';
8
+ import { getModel, SplitButtonIconPosition, Item } from './../common/common';
9
+ import { DropDownButton } from '../drop-down-button/drop-down-button';
10
+ import { ItemModel } from './../common/common-model';
11
+ import { SplitButtonModel } from './split-button-model';
12
+
13
+ const RTL: string = 'e-rtl';
14
+
15
+ const TAGNAME: string = 'EJS-SPLITBUTTON';
16
+
17
+ /**
18
+ * SplitButton component has primary and secondary button. Primary button is used to select
19
+ * default action and secondary button is used to toggle contextual overlays for displaying list of
20
+ * action items. It can contain both text and images.
21
+ * ```html
22
+ * <button id="element"></button>
23
+ * ```
24
+ * ```typescript
25
+ * <script>
26
+ * var splitBtnObj = new SplitButton({content: 'SplitButton'});
27
+ * splitBtnObj.appendTo("#element");
28
+ * </script>
29
+ * ```
30
+ */
31
+ @NotifyPropertyChanges
32
+ export class SplitButton extends DropDownButton implements INotifyPropertyChanged {
33
+ private wrapper: HTMLElement;
34
+ private primaryBtnObj: Button;
35
+ private secondaryBtnObj: DropDownButton;
36
+
37
+ /**
38
+ * Defines the content of the SplitButton primary action button can either be a text or HTML elements.
39
+ *
40
+ * @default ""
41
+ */
42
+ @Property('')
43
+ public content: string;
44
+
45
+ /**
46
+ * Defines class/multiple classes separated by a space in the SplitButton element. The SplitButton
47
+ * size and styles can be customized by using this.
48
+ *
49
+ * @default ""
50
+ */
51
+ @Property('')
52
+ public cssClass: string;
53
+
54
+ /**
55
+ * Specifies a value that indicates whether the SplitButton is disabled or not.
56
+ *
57
+ * @default false.
58
+ */
59
+ @Property(false)
60
+ public disabled: boolean;
61
+
62
+ /**
63
+ * Defines class/multiple classes separated by a space for the SplitButton that is used to include an
64
+ * icon. SplitButton can also include font icon and sprite image.
65
+ *
66
+ * @default ""
67
+ */
68
+ @Property('')
69
+ public iconCss: string;
70
+
71
+ /**
72
+ * Positions the icon before/top of the text content in the SplitButton. The possible values are
73
+ * * Left: The icon will be positioned to the left of the text content.
74
+ * * Top: The icon will be positioned to the top of the text content.
75
+ *
76
+ * @default "Left"
77
+ */
78
+ @Property('Left')
79
+ public iconPosition: SplitButtonIconPosition;
80
+
81
+ /**
82
+ * Specifies the popup element creation on open.
83
+ *
84
+ * @default false
85
+ */
86
+ @Property(false)
87
+ public createPopupOnClick: boolean;
88
+
89
+ /**
90
+ * Specifies action items with its properties which will be rendered as SplitButton secondary button popup.
91
+ *
92
+ * @default []
93
+ */
94
+ @Collection<ItemModel>([], Item)
95
+ public items: ItemModel[];
96
+
97
+ /**
98
+ * Allows to specify the SplitButton popup item element.
99
+ *
100
+ * @default ""
101
+ */
102
+ @Property('')
103
+ public target: string | Element;
104
+
105
+ /**
106
+ * Triggers while rendering each Popup item of SplitButton.
107
+ *
108
+ * @event beforeItemRender
109
+ */
110
+ @Event()
111
+ public beforeItemRender: EmitType<MenuEventArgs>;
112
+
113
+ /**
114
+ * Triggers before opening the SplitButton popup.
115
+ *
116
+ * @event beforeOpen
117
+ */
118
+ @Event()
119
+ public beforeOpen: EmitType<BeforeOpenCloseMenuEventArgs>;
120
+
121
+ /**
122
+ * Triggers before closing the SplitButton popup.
123
+ *
124
+ * @event beforeClose
125
+ */
126
+ @Event()
127
+ public beforeClose: EmitType<BeforeOpenCloseMenuEventArgs>;
128
+
129
+ /**
130
+ * Triggers when the primary button of SplitButton has been clicked.
131
+ *
132
+ * @event click
133
+ */
134
+ @Event()
135
+ public click: EmitType<ClickEventArgs>;
136
+
137
+ /**
138
+ * Triggers while closing the SplitButton popup.
139
+ *
140
+ * @event close
141
+ */
142
+ @Event()
143
+ public close: EmitType<OpenCloseMenuEventArgs>;
144
+
145
+ /**
146
+ * Triggers while opening the SplitButton popup.
147
+ *
148
+ * @event open
149
+ */
150
+ @Event()
151
+ public open: EmitType<OpenCloseMenuEventArgs>;
152
+
153
+ /**
154
+ * Triggers while selecting action item of SplitButton popup.
155
+ *
156
+ * @event select
157
+ */
158
+ @Event()
159
+ public select: EmitType<MenuEventArgs>;
160
+
161
+ /**
162
+ * Triggers once the component rendering is completed.
163
+ *
164
+ * @event created
165
+ */
166
+ @Event()
167
+ public created: EmitType<Event>;
168
+
169
+ /**
170
+ * Constructor for creating the widget
171
+ *
172
+ * @param {SplitButtonModel} options - Specifies the splitbutton model
173
+ * @param {string|HTMLButtonElement} element - Specifies the element
174
+ * @hidden
175
+ */
176
+ public constructor(options?: SplitButtonModel, element?: string | HTMLButtonElement) {
177
+ super(options, <string | HTMLButtonElement>element);
178
+ }
179
+
180
+ /**
181
+ * Initialize Angular support.
182
+ *
183
+ * @private
184
+ * @returns {void}
185
+ */
186
+ protected preRender(): void {
187
+ let ele: Element = this.element;
188
+ if (ele.tagName === TAGNAME) {
189
+ const ejInstance: Object = getValue('ej2_instances', ele);
190
+ const btn: Element = this.createElement('button', { attrs: { 'type': 'button' } });
191
+ const wrapper: HTMLElement = this.createElement(TAGNAME, { className: 'e-' + this.getModuleName() + '-wrapper' });
192
+ for (let idx: number = 0, len: number = ele.attributes.length; idx < len; idx++) {
193
+ btn.setAttribute(ele.attributes[idx as number].nodeName, ele.attributes[idx as number].nodeValue);
194
+ }
195
+ ele.parentNode.insertBefore(wrapper, ele);
196
+ detach(ele);
197
+ ele = btn;
198
+ wrapper.appendChild(ele);
199
+ setValue('ej2_instances', ejInstance, ele);
200
+ this.wrapper = wrapper;
201
+ this.element = ele as HTMLButtonElement;
202
+ }
203
+ if (!this.element.id) {
204
+ this.element.id = getUniqueID('e-' + this.getModuleName());
205
+ }
206
+ }
207
+ /**
208
+ * Initialize the Component rendering.
209
+ *
210
+ * @returns {void}
211
+ * @private
212
+ */
213
+ public render(): void {
214
+ this.initWrapper();
215
+ this.createPrimaryButton();
216
+ this.renderControl();
217
+ }
218
+
219
+ private renderControl(): void {
220
+ this.createSecondaryButton();
221
+ this.setActiveElem([this.element, this.secondaryBtnObj.element]);
222
+ this.setAria();
223
+ this.wireEvents();
224
+ this.renderComplete();
225
+ }
226
+ /**
227
+ * Adds a new item to the menu. By default, new item appends to the list as the last item,
228
+ * but you can insert based on the text parameter.
229
+ *
230
+ * @param { ItemModel[] } items - Specifies an array of JSON data.
231
+ * @param { string } text - Specifies the text to insert the newly added item in the menu.
232
+ * @returns {void}.
233
+ */
234
+ public addItems(items: ItemModel[], text?: string): void {
235
+ super.addItems(items, text);
236
+ this.secondaryBtnObj.items = this.items;
237
+ }
238
+ /**
239
+ * Removes the items from the menu.
240
+ *
241
+ * @param { string[] } items - Specifies an array of string to remove the items.
242
+ * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.
243
+ * @returns {void}.
244
+ */
245
+ public removeItems(items: string[], isUniqueId?: boolean): void {
246
+ super.removeItems(items, isUniqueId);
247
+ this.secondaryBtnObj.items = this.items;
248
+ }
249
+
250
+ private initWrapper(): void {
251
+ if (!this.wrapper) {
252
+ this.wrapper = this.createElement('div', { className: 'e-' + this.getModuleName() + '-wrapper' });
253
+ this.element.parentNode.insertBefore(this.wrapper, this.element);
254
+ }
255
+ this.element.classList.remove('e-' + this.getModuleName());
256
+ if (this.enableRtl) {
257
+ this.wrapper.classList.add(RTL);
258
+ }
259
+ if (this.cssClass) {
260
+ addClass([this.wrapper], this.cssClass.replace(/\s+/g, ' ').trim().split(' '));
261
+ }
262
+ }
263
+
264
+ private createPrimaryButton(): void {
265
+ const btnModel: ButtonModel = {
266
+ cssClass: this.cssClass,
267
+ enableRtl: this.enableRtl,
268
+ iconCss: this.iconCss,
269
+ iconPosition: this.iconPosition,
270
+ content: this.content,
271
+ disabled: this.disabled
272
+ };
273
+ this.primaryBtnObj = new Button(btnModel);
274
+ this.primaryBtnObj.createElement = this.createElement;
275
+ this.primaryBtnObj.appendTo(this.element);
276
+ this.element.classList.add('e-' + this.getModuleName());
277
+ this.element.type = 'button';
278
+ this.wrapper.appendChild(this.element);
279
+ }
280
+
281
+ private createSecondaryButton(): void {
282
+ const btnElem : HTMLButtonElement = this.createElement('button', {
283
+ className: 'e-icon-btn',
284
+ attrs: { 'tabindex': '-1' },
285
+ id: this.element.id + '_dropdownbtn'
286
+ }) as HTMLButtonElement;
287
+ this.wrapper.appendChild(btnElem);
288
+ const dropDownBtnModel: SplitButtonModel = {
289
+ cssClass: this.cssClass,
290
+ disabled: this.disabled,
291
+ enableRtl: this.enableRtl,
292
+ items: this.items,
293
+ target: this.target,
294
+ createPopupOnClick: this.createPopupOnClick
295
+ };
296
+ dropDownBtnModel.beforeItemRender = (args: MenuEventArgs): void => {
297
+ if (this.createPopupOnClick) {
298
+ this.secondaryBtnObj.dropDown.relateTo = this.wrapper;
299
+ this.dropDown = this.secondaryBtnObj.dropDown;
300
+ }
301
+ this.trigger('beforeItemRender', args);
302
+ };
303
+ dropDownBtnModel.open = (args: OpenCloseMenuEventArgs): void => {
304
+ this.trigger('open', args);
305
+ };
306
+ dropDownBtnModel.close = (args: OpenCloseMenuEventArgs): void => {
307
+ this.trigger('close', args);
308
+ };
309
+ dropDownBtnModel.select = (args: MenuEventArgs): void => {
310
+ this.trigger('select', args);
311
+ };
312
+ dropDownBtnModel.beforeOpen = (args: BeforeOpenCloseMenuEventArgs): Deferred | void => {
313
+ if (this.createPopupOnClick && this.items.length === 0) {
314
+ this.secondaryBtnObj.dropDown.relateTo = this.wrapper;
315
+ this.dropDown = this.secondaryBtnObj.dropDown;
316
+ }
317
+ const callBackPromise: Deferred = new Deferred();
318
+ this.trigger('beforeOpen', args, (observedArgs: BeforeOpenCloseMenuEventArgs) => {
319
+ callBackPromise.resolve(observedArgs);
320
+ });
321
+ return callBackPromise;
322
+ };
323
+ dropDownBtnModel.beforeClose = (args: BeforeOpenCloseMenuEventArgs): Deferred | void => {
324
+ const callBackPromise: Deferred = new Deferred();
325
+ this.trigger('beforeClose', args, (observedArgs: BeforeOpenCloseMenuEventArgs) => {
326
+ callBackPromise.resolve(observedArgs);
327
+ });
328
+ return callBackPromise;
329
+ };
330
+ this.secondaryBtnObj = new DropDownButton(dropDownBtnModel);
331
+ this.secondaryBtnObj.createElement = this.createElement;
332
+ this.secondaryBtnObj.appendTo(btnElem);
333
+ if (!this.createPopupOnClick) {
334
+ this.secondaryBtnObj.dropDown.relateTo = this.wrapper;
335
+ this.dropDown = this.secondaryBtnObj.dropDown;
336
+ }
337
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
338
+ (this as any).isPopupCreated = (this.secondaryBtnObj as any).isPopupCreated;
339
+ this.secondaryBtnObj.activeElem = [this.element, this.secondaryBtnObj.element];
340
+ this.secondaryBtnObj.element.querySelector('.e-btn-icon').classList.remove('e-icon-right');
341
+ if (this.disabled) {
342
+ this.wrapper.classList.add('e-splitbtn-disabled');
343
+ }
344
+ }
345
+
346
+ private setAria(): void {
347
+ attributes(this.element, {
348
+ 'aria-expanded': 'false', 'aria-haspopup': 'true',
349
+ 'aria-label': this.element.textContent ? this.element.textContent + ' splitbutton' : 'splitbutton', 'aria-owns': this.element.id + '_dropdownbtn-popup'
350
+ });
351
+ }
352
+
353
+ /**
354
+ * Get component name.
355
+ *
356
+ * @returns {string} - Module Name
357
+ * @private
358
+ */
359
+ public getModuleName(): string {
360
+ return 'split-btn';
361
+ }
362
+
363
+ /**
364
+ * To open/close SplitButton popup based on current state of the SplitButton.
365
+ *
366
+ * @returns {void}
367
+ */
368
+ public toggle(): void {
369
+ this.secondaryBtnObj.toggle();
370
+ }
371
+
372
+ public destroy(): void {
373
+ let classList: string[] = [RTL];
374
+ if (this.cssClass) {
375
+ classList = classList.concat(this.cssClass.split(' '));
376
+ }
377
+ if (this.element) {
378
+ const element: Element = document.getElementById(this.element.id);
379
+ if (element && element.parentElement === this.wrapper) {
380
+ if (this.wrapper.tagName === TAGNAME) {
381
+ this.wrapper.innerHTML = '';
382
+ removeClass([this.wrapper], ['e-rtl', 'e-' + this.getModuleName() + '-wrapper']);
383
+ removeClass([this.wrapper], this.cssClass.split(' '));
384
+ } else {
385
+ removeClass([this.element], classList);
386
+ ['aria-label', 'aria-haspopup', 'aria-expanded', 'aria-owns', 'type'].forEach((key: string) => {
387
+ this.element.removeAttribute(key);
388
+ });
389
+ this.wrapper.parentNode.insertBefore(this.element, this.wrapper);
390
+ remove(this.wrapper);
391
+ }
392
+ this.unWireEvents();
393
+ }
394
+ }
395
+ this.primaryBtnObj.destroy();
396
+ this.secondaryBtnObj.destroy();
397
+ super.destroy();
398
+ if (this.element && !this.element.getAttribute('class')) {
399
+ this.element.removeAttribute('class');
400
+ }
401
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
402
+ if (this.refreshing && (this as any).isAngular) {
403
+ this.element = this.wrapper as HTMLButtonElement;
404
+ ['e-control', 'e-split-btn', 'e-lib'].forEach((key: string) => {
405
+ this.element.classList.add(key);
406
+ });
407
+ setValue('ej2_instances', [this], this.element);
408
+ }
409
+ this.wrapper = null;
410
+ }
411
+
412
+ protected wireEvents(): void {
413
+ EventHandler.add(this.element, 'click', this.primaryBtnClickHandler, this);
414
+ new KeyboardEvents(this.element, {
415
+ keyAction: this.btnKeyBoardHandler.bind(this),
416
+ keyConfigs: {
417
+ altdownarrow: 'alt+downarrow',
418
+ enter: 'enter'
419
+ }
420
+ });
421
+ }
422
+
423
+ protected unWireEvents(): void {
424
+ EventHandler.remove(this.element, 'click', this.primaryBtnClickHandler);
425
+ (getInstance(this.element, KeyboardEvents) as KeyboardEvents).destroy();
426
+ }
427
+
428
+ private primaryBtnClickHandler(): void {
429
+ this.trigger('click', { element: this.element });
430
+ }
431
+
432
+ private btnKeyBoardHandler(e: KeyboardEventArgs): void {
433
+ switch (e.action) {
434
+ case 'altdownarrow':
435
+ this.clickHandler(e);
436
+ break;
437
+ case 'enter':
438
+ this.clickHandler(e);
439
+ if (this.getPopUpElement() && !this.getPopUpElement().classList.contains('e-popup-close')) {
440
+ this.element.classList.remove('e-active');
441
+ this.secondaryBtnObj.element.classList.add('e-active');
442
+ } else {
443
+ this.secondaryBtnObj.element.classList.remove('e-active');
444
+ }
445
+ break;
446
+ }
447
+ }
448
+
449
+ /**
450
+ * Called internally if any of the property value changed.
451
+ *
452
+ * @param {SplitButtonModel} newProp - Specifies new properties
453
+ * @param {SplitButtonModel} oldProp - Specifies old properties
454
+ * @returns {void}
455
+ */
456
+ public onPropertyChanged(newProp: SplitButtonModel, oldProp: SplitButtonModel): void {
457
+ let model: string[] = ['content', 'iconCss', 'iconPosition', 'cssClass', 'disabled', 'enableRtl'];
458
+ this.primaryBtnObj.setProperties(getModel(newProp, model));
459
+ model = ['beforeOpen', 'beforeItemRender', 'select', 'open',
460
+ 'close', 'cssClass', 'disabled', 'enableRtl', 'createPopupOnClick'];
461
+ if (Object.keys(newProp).indexOf('items') > -1) {
462
+ this.secondaryBtnObj.items = newProp.items;
463
+ this.secondaryBtnObj.dataBind();
464
+ }
465
+ this.secondaryBtnObj.setProperties(getModel(newProp, model));
466
+ for (const prop of Object.keys(newProp)) {
467
+ switch (prop) {
468
+ case 'cssClass':
469
+ if (oldProp.cssClass) {
470
+ removeClass([this.wrapper], oldProp.cssClass.split(' '));
471
+ }
472
+ addClass([this.wrapper], newProp.cssClass.replace(/\s+/g, ' ').trim().split(' '));
473
+ break;
474
+ case 'enableRtl':
475
+ if (newProp.enableRtl) {
476
+ addClass([this.wrapper], RTL);
477
+ } else {
478
+ removeClass([this.wrapper], RTL);
479
+ }
480
+ break;
481
+ case 'disabled':
482
+ if (newProp.disabled) {
483
+ addClass([this.wrapper], 'e-splitbtn-disabled');
484
+ } else {
485
+ removeClass([this.wrapper], 'e-splitbtn-disabled');
486
+ }
487
+ }
488
+ }
489
+ }
490
+
491
+ /**
492
+ * Sets the focus to SplitButton
493
+ * its native method
494
+ *
495
+ * @public
496
+ * @returns {void}
497
+ */
498
+ public focusIn(): void {
499
+ this.element.focus();
500
+ }
501
+ }
502
+ /**
503
+ * Interface for Split Button click event arguments.
504
+ */
505
+ export interface ClickEventArgs extends BaseEventArgs {
506
+ element: Element;
507
+ }
508
+ /**
509
+ * Deferred is used to handle asynchronous operation.
510
+ */
511
+ export class Deferred {
512
+ /**
513
+ * Reject a Deferred object and call failCallbacks with the given args.
514
+ */
515
+ public reject: Function;
516
+ /**
517
+ * Resolve a Deferred object and call doneCallbacks with the given args.
518
+ */
519
+ public resolve: Function;
520
+ /**
521
+ * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.
522
+ */
523
+ public promise: Promise<Object> = new Promise((resolve: Function, reject: Function) => {
524
+ this.resolve = resolve;
525
+ this.reject = reject;
526
+ });
527
+ /**
528
+ * Defines the callback function triggers when the Deferred object is rejected.
529
+ */
530
+ public catch: Function = this.promise.catch.bind(this.promise);
531
+ /**
532
+ * Defines the callback function triggers when the Deferred object is resolved.
533
+ */
534
+ public then: Function = this.promise.then.bind(this.promise);
535
+ }
package/package.json CHANGED
@@ -1,17 +1,59 @@
1
1
  {
2
- "name": "@syncfusion/ej2-splitbuttons",
3
- "version": "30.2.4",
4
- "description": "A package of feature-rich Essential JS 2 components such as DropDownButton, SplitButton, ProgressButton and ButtonGroup.",
5
- "author": "Syncfusion Inc.",
6
- "license": "SEE LICENSE IN license",
7
- "main": "./dist/ej2-splitbuttons.umd.min.js",
8
- "module": "./index.js",
9
- "es2015": "./dist/es6/ej2-splitbuttons.es5.js",
2
+ "_from": "@syncfusion/ej2-splitbuttons@*",
3
+ "_id": "@syncfusion/ej2-splitbuttons@28.2.0",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-tt8f1YRDvF0IzHce89/BLV4nlZt0P9kbzXblCZmkLWY17xa+8+Kk//nCo3O2OYIR2fSV1yHDeV81HwDqQ3Pd1Q==",
6
+ "_location": "/@syncfusion/ej2-splitbuttons",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "@syncfusion/ej2-splitbuttons@*",
12
+ "name": "@syncfusion/ej2-splitbuttons",
13
+ "escapedName": "@syncfusion%2fej2-splitbuttons",
14
+ "scope": "@syncfusion",
15
+ "rawSpec": "*",
16
+ "saveSpec": null,
17
+ "fetchSpec": "*"
18
+ },
19
+ "_requiredBy": [
20
+ "/",
21
+ "/@syncfusion/ej2",
22
+ "/@syncfusion/ej2-angular-splitbuttons",
23
+ "/@syncfusion/ej2-documenteditor",
24
+ "/@syncfusion/ej2-filemanager",
25
+ "/@syncfusion/ej2-grids",
26
+ "/@syncfusion/ej2-image-editor",
27
+ "/@syncfusion/ej2-inplace-editor",
28
+ "/@syncfusion/ej2-inputs",
29
+ "/@syncfusion/ej2-interactive-chat",
30
+ "/@syncfusion/ej2-pivotview",
31
+ "/@syncfusion/ej2-querybuilder",
32
+ "/@syncfusion/ej2-react-splitbuttons",
33
+ "/@syncfusion/ej2-ribbon",
34
+ "/@syncfusion/ej2-richtexteditor",
35
+ "/@syncfusion/ej2-vue-splitbuttons"
36
+ ],
37
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-development/@syncfusion/ej2-splitbuttons/-/ej2-splitbuttons-28.2.0.tgz",
38
+ "_shasum": "35954bfaeb235ae40b33c6184f033136800e9e2c",
39
+ "_spec": "@syncfusion/ej2-splitbuttons@*",
40
+ "_where": "D:\\SF3992\\WFH\\Nexus\\release",
41
+ "author": {
42
+ "name": "Syncfusion Inc."
43
+ },
44
+ "bugs": {
45
+ "url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
46
+ },
47
+ "bundleDependencies": false,
10
48
  "dependencies": {
11
- "@syncfusion/ej2-base": "~30.2.4",
12
- "@syncfusion/ej2-popups": "~30.2.4"
49
+ "@syncfusion/ej2-base": "~31.1.17",
50
+ "@syncfusion/ej2-popups": "~31.1.17"
13
51
  },
52
+ "deprecated": false,
53
+ "description": "A package of feature-rich Essential JS 2 components such as DropDownButton, SplitButton, ProgressButton and ButtonGroup.",
14
54
  "devDependencies": {},
55
+ "es2015": "./dist/es6/ej2-splitbuttons.es5.js",
56
+ "homepage": "https://www.syncfusion.com/javascript-ui-controls",
15
57
  "keywords": [
16
58
  "ej2",
17
59
  "syncfusion",
@@ -39,11 +81,15 @@
39
81
  "spinbutton",
40
82
  "spin button"
41
83
  ],
84
+ "license": "SEE LICENSE IN license",
85
+ "main": "./dist/ej2-splitbuttons.umd.min.js",
86
+ "module": "./index.js",
87
+ "name": "@syncfusion/ej2-splitbuttons",
42
88
  "repository": {
43
89
  "type": "git",
44
- "url": "https://github.com/syncfusion/ej2-javascript-ui-controls.git"
90
+ "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
45
91
  },
46
92
  "typings": "index.d.ts",
47
- "sideEffects": false,
48
- "homepage": "https://www.syncfusion.com/javascript-ui-controls"
93
+ "version": "31.1.17",
94
+ "sideEffects": false
49
95
  }
package/aceconfig.js DELETED
@@ -1,17 +0,0 @@
1
- //Config file for Accessibility-Checker
2
- module.exports = {
3
- ruleArchive: "18March2024",
4
- policies: ["WCAG_2_1","IBM_Accessibility"],
5
- failLevels: ["violation", "potentialviolation"],
6
- reportLevels: [
7
- "violation",
8
- "potentialviolation",
9
- "recommendation",
10
- "potentialrecommendation",
11
- "manual",
12
- "pass",
13
- ],
14
- outputFormat: ["html","json"],
15
- label: [process.env.TRAVIS_BRANCH],
16
- outputFolder:"accessibility-reports",
17
- };