@syncfusion/ej2-ribbon 23.1.38 → 23.1.43

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 (44) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/ej2-ribbon.umd.min.js +2 -2
  3. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-ribbon.es2015.js +67 -1
  5. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  6. package/dist/es6/ej2-ribbon.es5.js +67 -1
  7. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  8. package/dist/global/ej2-ribbon.min.js +2 -2
  9. package/dist/global/ej2-ribbon.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/ribbon/base/ribbon.js +2 -0
  13. package/src/ribbon/base/utils.d.ts +11 -0
  14. package/src/ribbon/base/utils.js +27 -1
  15. package/src/ribbon/items/ribbon-button.js +4 -1
  16. package/src/ribbon/items/ribbon-checkbox.js +1 -0
  17. package/src/ribbon/items/ribbon-colorpicker.js +4 -1
  18. package/src/ribbon/items/ribbon-combobox.js +1 -0
  19. package/src/ribbon/items/ribbon-dropdown.js +4 -1
  20. package/src/ribbon/items/ribbon-groupbutton.js +4 -1
  21. package/src/ribbon/items/ribbon-splitbutton.js +4 -1
  22. package/src/ribbon/models/ribbon-button-settings-model.d.ts +7 -0
  23. package/src/ribbon/models/ribbon-button-settings.d.ts +8 -0
  24. package/src/ribbon/models/ribbon-button-settings.js +3 -0
  25. package/src/ribbon/models/ribbon-checkbox-settings-model.d.ts +7 -0
  26. package/src/ribbon/models/ribbon-checkbox-settings.d.ts +8 -0
  27. package/src/ribbon/models/ribbon-checkbox-settings.js +3 -0
  28. package/src/ribbon/models/ribbon-colorpicker-settings-model.d.ts +7 -0
  29. package/src/ribbon/models/ribbon-colorpicker-settings.d.ts +8 -0
  30. package/src/ribbon/models/ribbon-colorpicker-settings.js +3 -0
  31. package/src/ribbon/models/ribbon-combobox-settings-model.d.ts +7 -0
  32. package/src/ribbon/models/ribbon-combobox-settings.d.ts +8 -0
  33. package/src/ribbon/models/ribbon-combobox-settings.js +3 -0
  34. package/src/ribbon/models/ribbon-dropdown-settings-model.d.ts +7 -0
  35. package/src/ribbon/models/ribbon-dropdown-settings.d.ts +8 -0
  36. package/src/ribbon/models/ribbon-dropdown-settings.js +3 -0
  37. package/src/ribbon/models/ribbon-group-button-item-model.d.ts +7 -0
  38. package/src/ribbon/models/ribbon-group-button-item.d.ts +8 -0
  39. package/src/ribbon/models/ribbon-group-button-item.js +3 -0
  40. package/src/ribbon/models/ribbon-splitbutton-settings-model.d.ts +7 -0
  41. package/src/ribbon/models/ribbon-splitbutton-settings.d.ts +8 -0
  42. package/src/ribbon/models/ribbon-splitbutton-settings.js +3 -0
  43. package/styles/bootstrap4.css +13 -2
  44. package/styles/ribbon/bootstrap4.css +13 -2
@@ -166,6 +166,9 @@ __decorate$5([
166
166
  __decorate$5([
167
167
  Property(false)
168
168
  ], RibbonButtonSettings.prototype, "isPrimary", void 0);
169
+ __decorate$5([
170
+ Property({})
171
+ ], RibbonButtonSettings.prototype, "htmlAttributes", void 0);
169
172
  __decorate$5([
170
173
  Event()
171
174
  ], RibbonButtonSettings.prototype, "created", void 0);
@@ -205,6 +208,9 @@ __decorate$6([
205
208
  __decorate$6([
206
209
  Property('After')
207
210
  ], RibbonCheckBoxSettings.prototype, "labelPosition", void 0);
211
+ __decorate$6([
212
+ Property({})
213
+ ], RibbonCheckBoxSettings.prototype, "htmlAttributes", void 0);
208
214
  __decorate$6([
209
215
  Event()
210
216
  ], RibbonCheckBoxSettings.prototype, "created", void 0);
@@ -259,6 +265,9 @@ __decorate$7([
259
265
  __decorate$7([
260
266
  Property('#008000ff')
261
267
  ], RibbonColorPickerSettings.prototype, "value", void 0);
268
+ __decorate$7([
269
+ Property({})
270
+ ], RibbonColorPickerSettings.prototype, "htmlAttributes", void 0);
262
271
  __decorate$7([
263
272
  Event()
264
273
  ], RibbonColorPickerSettings.prototype, "beforeClose", void 0);
@@ -361,6 +370,9 @@ __decorate$8([
361
370
  __decorate$8([
362
371
  Property('150px')
363
372
  ], RibbonComboBoxSettings.prototype, "width", void 0);
373
+ __decorate$8([
374
+ Property({})
375
+ ], RibbonComboBoxSettings.prototype, "htmlAttributes", void 0);
364
376
  __decorate$8([
365
377
  Event()
366
378
  ], RibbonComboBoxSettings.prototype, "beforeOpen", void 0);
@@ -424,6 +436,9 @@ __decorate$9([
424
436
  __decorate$9([
425
437
  Property(false)
426
438
  ], RibbonDropDownSettings.prototype, "createPopupOnClick", void 0);
439
+ __decorate$9([
440
+ Property({})
441
+ ], RibbonDropDownSettings.prototype, "htmlAttributes", void 0);
427
442
  __decorate$9([
428
443
  Event()
429
444
  ], RibbonDropDownSettings.prototype, "beforeClose", void 0);
@@ -484,6 +499,9 @@ __decorate$10([
484
499
  __decorate$10([
485
500
  Property('')
486
501
  ], RibbonSplitButtonSettings.prototype, "target", void 0);
502
+ __decorate$10([
503
+ Property({})
504
+ ], RibbonSplitButtonSettings.prototype, "htmlAttributes", void 0);
487
505
  __decorate$10([
488
506
  Event()
489
507
  ], RibbonSplitButtonSettings.prototype, "beforeClose", void 0);
@@ -559,6 +577,9 @@ __decorate$13([
559
577
  __decorate$13([
560
578
  Property(false)
561
579
  ], RibbonGroupButtonItem.prototype, "selected", void 0);
580
+ __decorate$13([
581
+ Property({})
582
+ ], RibbonGroupButtonItem.prototype, "htmlAttributes", void 0);
562
583
  __decorate$13([
563
584
  Event()
564
585
  ], RibbonGroupButtonItem.prototype, "beforeClick", void 0);
@@ -1171,6 +1192,9 @@ class RibbonButton {
1171
1192
  isToggle: btnSettings.isToggle,
1172
1193
  created: btnSettings.created
1173
1194
  }, buttonEle);
1195
+ if (btnSettings.htmlAttributes) {
1196
+ setCustomAttributes(buttonEle, btnSettings.htmlAttributes);
1197
+ }
1174
1198
  buttonEle.onclick = (e) => {
1175
1199
  if (btnSettings.clicked) {
1176
1200
  btnSettings.clicked.call(this, e);
@@ -1318,6 +1342,7 @@ class RibbonCheckBox {
1318
1342
  labelPosition: checkBoxSettings.labelPosition,
1319
1343
  disabled: item.disabled,
1320
1344
  created: checkBoxSettings.created,
1345
+ htmlAttributes: checkBoxSettings.htmlAttributes,
1321
1346
  change: (e) => {
1322
1347
  if (checkBoxSettings.change) {
1323
1348
  checkBoxSettings.change.call(this, e);
@@ -1467,6 +1492,9 @@ class RibbonColorPicker {
1467
1492
  },
1468
1493
  select: colorPickerSettings.select
1469
1494
  }, inputEle);
1495
+ if (colorPickerSettings.htmlAttributes) {
1496
+ setCustomAttributes(inputEle, colorPickerSettings.htmlAttributes);
1497
+ }
1470
1498
  const wrapper = colorPicker.element.parentElement;
1471
1499
  EventHandler.add(wrapper, 'mouseenter', this.toggleWrapperHover.bind(this, wrapper, true), this);
1472
1500
  EventHandler.add(wrapper, 'mouseleave', this.toggleWrapperHover.bind(this, wrapper, false), this);
@@ -1658,6 +1686,7 @@ class RibbonComboBox {
1658
1686
  width: comboBoxSettings.width,
1659
1687
  beforeOpen: comboBoxSettings.beforeOpen,
1660
1688
  open: comboBoxSettings.open,
1689
+ htmlAttributes: comboBoxSettings.htmlAttributes,
1661
1690
  close: (e) => {
1662
1691
  if (comboBoxSettings.close) {
1663
1692
  comboBoxSettings.close.call(this, e);
@@ -1839,6 +1868,9 @@ class RibbonDropDown {
1839
1868
  open: dropDownSettings.open,
1840
1869
  select: dropDownSettings.select
1841
1870
  }).appendTo(buttonEle);
1871
+ if (dropDownSettings.htmlAttributes) {
1872
+ setCustomAttributes(buttonEle, dropDownSettings.htmlAttributes);
1873
+ }
1842
1874
  }
1843
1875
  /**
1844
1876
  * Adds the additional event handlers as the item moved into overflow popup.
@@ -2276,6 +2308,9 @@ class RibbonSplitButton {
2276
2308
  }
2277
2309
  }
2278
2310
  }, buttonEle);
2311
+ if (splitButtonSettings.htmlAttributes) {
2312
+ setCustomAttributes(buttonEle, splitButtonSettings.htmlAttributes);
2313
+ }
2279
2314
  const dropdownEle = buttonEle.parentElement.querySelector('.e-dropdown-btn');
2280
2315
  dropdownEle.onkeydown = (e) => {
2281
2316
  if (e.key === 'Enter') {
@@ -2774,6 +2809,32 @@ function updateTooltipProp(element, prop) {
2774
2809
  const control = getComponent(element, Tooltip);
2775
2810
  control.setProperties(prop);
2776
2811
  }
2812
+ /**
2813
+ * Sets the HTML attributes of an element
2814
+ *
2815
+ * @param {HTMLElement} element - The HTML element for which attributes are to be updated.
2816
+ * @param {commonProperties} attributes - An object containing key-value pairs of attributes to be updated.
2817
+ * @returns {void}
2818
+ * @hidden
2819
+ */
2820
+ function setCustomAttributes(element, attributes) {
2821
+ for (const key in attributes) {
2822
+ if (key === 'class') {
2823
+ const elementClass = attributes['class'].replace(/\s+/g, ' ').trim();
2824
+ if (elementClass) {
2825
+ addClass([element], elementClass.split(' '));
2826
+ }
2827
+ }
2828
+ else if (key === 'style') {
2829
+ const prevStyles = element.getAttribute('style') || '';
2830
+ const value = `${prevStyles}${attributes[`${key}`]}`;
2831
+ element.setAttribute(`${key}`, value);
2832
+ }
2833
+ else {
2834
+ element.setAttribute(key, attributes[`${key}`]);
2835
+ }
2836
+ }
2837
+ }
2777
2838
 
2778
2839
  /**
2779
2840
  * Defines the items of Ribbon.
@@ -2819,6 +2880,9 @@ class RibbonGroupButton {
2819
2880
  content: item.activeSize === RibbonItemSize.Small ? '' : groupBtnSettings.items[parseInt(i.toString(), 10)].content,
2820
2881
  iconPosition: item.activeSize === RibbonItemSize.Large ? 'Top' : 'Left'
2821
2882
  }, groupButtonEle);
2883
+ if (groupBtnSettings.items[parseInt(i.toString(), 10)].htmlAttributes) {
2884
+ setCustomAttributes(groupButtonEle, groupBtnSettings.items[parseInt(i.toString(), 10)].htmlAttributes);
2885
+ }
2822
2886
  const buttonEle = itemElement.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + i);
2823
2887
  if (groupBtnSettings.selection === RibbonGroupButtonSelection.Single) {
2824
2888
  btnContainerEle.classList.add(RIBBON_SINGLE_BUTTON_SELECTION);
@@ -5005,6 +5069,8 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
5005
5069
  }
5006
5070
  }
5007
5071
  }
5072
+ const activeContent = this.tabObj.element.querySelector('#' + this.tabs[this.selectedTab].id + CONTENT_ID);
5073
+ this.checkOverflow(this.selectedTab, activeContent);
5008
5074
  }
5009
5075
  switchLayout() {
5010
5076
  this.currentControlIndex = 0;
@@ -7737,5 +7803,5 @@ class RibbonBackstage extends Component {
7737
7803
  // export all modules from current location
7738
7804
  // example: export * from './module'
7739
7805
 
7740
- export { Ribbon, RibbonLayout, ItemOrientation, RibbonItemSize, DisplayMode, RibbonItemType, RibbonGroupButtonSelection, ITEM_VERTICAL_CENTER, EXPAND_COLLAPSE_ICON, BACKSTAGE_CLOSE_ICON, OVERFLOW_ICON, VERTICAL_DDB, DISABLED_CSS, RTL_CSS, RIBBON_HOVER, RIBBON_CONTROL, RIBBON_POPUP_CONTROL, RIBBON_POPUP_OPEN, SPACE, HORIZONTAL_SCROLLBAR, HIDE_CSS, RIBBON_TAB, RIBBON_TAB_ACTIVE, RIBBON_TAB_ITEM, RIBBON_COLLAPSE_BUTTON, RIBBON_EXPAND_BUTTON, RIBBON_COLLAPSIBLE, RIBBON_OVERALL_OF_BUTTON, RIBBON_GROUP_OF_BUTTON, RIBBON_OVERFLOW_TARGET, RIBBON_OVERFLOW, TAB_CONTENT, RIBBON_MINIMIZE, RIBBON_GROUP, RIBBON_SINGLE_BUTTON_SELECTION, RIBBON_MULTIPLE_BUTTON_SELECTION, RIBBON_GROUP_BUTTON, RIBBON_GROUP_BUTTON_OVERFLOW_POPUP, RIBBON_GROUP_CONTAINER, RIBBON_OF_TAB_CONTAINER, RIBBON_OF_GROUP_CONTAINER, RIBBON_GROUP_CONTENT, RIBBON_GROUP_HEADER, RIBBON_OVERFLOW_HEADER, RIBBON_GROUP_OVERFLOW, RIBBON_GROUP_OVERFLOW_DDB, RIBBON_LAUNCHER, RIBBON_LAUNCHER_ICON_ELE, RIBBON_LAUNCHER_ICON, RIBBON_COLLECTION, RIBBON_ITEM, RIBBON_ROW, RIBBON_COLUMN, RIBBON_LARGE_ITEM, RIBBON_MEDIUM_ITEM, RIBBON_SMALL_ITEM, RIBBON_CONTENT_HEIGHT, DROPDOWNBUTTON, DROPDOWNBUTTON_HIDE, RIBBON_TEMPLATE, RIBBON_HELP_TEMPLATE, RIBBON_TOOLTIP, RIBBON_TOOLTIP_TARGET, RIBBON_TOOLTIP_TITLE, RIBBON_TOOLTIP_CONTENT, RIBBON_TOOLTIP_ICON, RIBBON_TOOLTIP_CONTAINER, RIBBON_TEXT_CONTAINER, RIBBON_SIMPLIFIED_MODE, RIBBON_BACKSTAGE_POPUP, RIBBON_BACKSTAGE_OPEN, RIBBON_BACKSTAGE_CONTENT, RIBBON_SELECTED_CONTENT, RIBBON_BACKSTAGE, RIBBON_BACKSTAGE_MENU, RIBBON_BACKSTAGE_TEMPLATE, RIBBON_BACKSTAGE_MENU_WRAPPER, RIBBON_BACKSTAGE_ITEMS_WRAPPER, RIBBON_BACKSTAGE_TEXT_MENU, TAB_ID, GROUP_ID, COLLECTION_ID, ITEM_ID, COLLAPSE_BUTTON_ID, OVRLOF_BUTTON_ID, GROUPOF_BUTTON_ID, HEADER_ID, LAUNCHER_ID, CONTENT_ID, CONTAINER_ID, OVERFLOW_ID, DROPDOWN_ID, RIBBON_FILE_MENU_ID, RIBBON_BACKSTAGE_MENU_ID, RIBBON_BACKSTAGE_POPUP_ID, RIBBON_FILE_MENU_LIST, RIBBON_MENU_LIST, RIBBON_FOOTER_MENU_LIST, RIBBON_HELP_PANE_TEMPLATE_ID, RIBBON_GROUP_BUTTON_ID, RIBBON_FILE_MENU_WIDTH, RIBBON_HELP_PANE_TEMPLATE_WIDTH, getIndex, getTemplateFunction, getItem, getCollection, getGroup, destroyControl, updateCommonProperty, updateControlDisabled, getItemElement, isTooltipPresent, setToolTipContent, createTooltip, destroyTooltip, updateTooltipProp, RibbonTab, RibbonGroup, RibbonCollection, RibbonItem, RibbonButtonSettings, RibbonCheckBoxSettings, RibbonColorPickerSettings, RibbonComboBoxSettings, RibbonDropDownSettings, RibbonSplitButtonSettings, FileMenuSettings, BackStageMenu, BackstageBackButton, BackstageItem, RibbonTooltip, RibbonGroupButtonSettings, RibbonGroupButtonItem, RibbonButton, RibbonCheckBox, RibbonColorPicker, RibbonComboBox, RibbonDropDown, RibbonSplitButton, RibbonGroupButton, RibbonFileMenu, RibbonBackstage };
7806
+ export { Ribbon, RibbonLayout, ItemOrientation, RibbonItemSize, DisplayMode, RibbonItemType, RibbonGroupButtonSelection, ITEM_VERTICAL_CENTER, EXPAND_COLLAPSE_ICON, BACKSTAGE_CLOSE_ICON, OVERFLOW_ICON, VERTICAL_DDB, DISABLED_CSS, RTL_CSS, RIBBON_HOVER, RIBBON_CONTROL, RIBBON_POPUP_CONTROL, RIBBON_POPUP_OPEN, SPACE, HORIZONTAL_SCROLLBAR, HIDE_CSS, RIBBON_TAB, RIBBON_TAB_ACTIVE, RIBBON_TAB_ITEM, RIBBON_COLLAPSE_BUTTON, RIBBON_EXPAND_BUTTON, RIBBON_COLLAPSIBLE, RIBBON_OVERALL_OF_BUTTON, RIBBON_GROUP_OF_BUTTON, RIBBON_OVERFLOW_TARGET, RIBBON_OVERFLOW, TAB_CONTENT, RIBBON_MINIMIZE, RIBBON_GROUP, RIBBON_SINGLE_BUTTON_SELECTION, RIBBON_MULTIPLE_BUTTON_SELECTION, RIBBON_GROUP_BUTTON, RIBBON_GROUP_BUTTON_OVERFLOW_POPUP, RIBBON_GROUP_CONTAINER, RIBBON_OF_TAB_CONTAINER, RIBBON_OF_GROUP_CONTAINER, RIBBON_GROUP_CONTENT, RIBBON_GROUP_HEADER, RIBBON_OVERFLOW_HEADER, RIBBON_GROUP_OVERFLOW, RIBBON_GROUP_OVERFLOW_DDB, RIBBON_LAUNCHER, RIBBON_LAUNCHER_ICON_ELE, RIBBON_LAUNCHER_ICON, RIBBON_COLLECTION, RIBBON_ITEM, RIBBON_ROW, RIBBON_COLUMN, RIBBON_LARGE_ITEM, RIBBON_MEDIUM_ITEM, RIBBON_SMALL_ITEM, RIBBON_CONTENT_HEIGHT, DROPDOWNBUTTON, DROPDOWNBUTTON_HIDE, RIBBON_TEMPLATE, RIBBON_HELP_TEMPLATE, RIBBON_TOOLTIP, RIBBON_TOOLTIP_TARGET, RIBBON_TOOLTIP_TITLE, RIBBON_TOOLTIP_CONTENT, RIBBON_TOOLTIP_ICON, RIBBON_TOOLTIP_CONTAINER, RIBBON_TEXT_CONTAINER, RIBBON_SIMPLIFIED_MODE, RIBBON_BACKSTAGE_POPUP, RIBBON_BACKSTAGE_OPEN, RIBBON_BACKSTAGE_CONTENT, RIBBON_SELECTED_CONTENT, RIBBON_BACKSTAGE, RIBBON_BACKSTAGE_MENU, RIBBON_BACKSTAGE_TEMPLATE, RIBBON_BACKSTAGE_MENU_WRAPPER, RIBBON_BACKSTAGE_ITEMS_WRAPPER, RIBBON_BACKSTAGE_TEXT_MENU, TAB_ID, GROUP_ID, COLLECTION_ID, ITEM_ID, COLLAPSE_BUTTON_ID, OVRLOF_BUTTON_ID, GROUPOF_BUTTON_ID, HEADER_ID, LAUNCHER_ID, CONTENT_ID, CONTAINER_ID, OVERFLOW_ID, DROPDOWN_ID, RIBBON_FILE_MENU_ID, RIBBON_BACKSTAGE_MENU_ID, RIBBON_BACKSTAGE_POPUP_ID, RIBBON_FILE_MENU_LIST, RIBBON_MENU_LIST, RIBBON_FOOTER_MENU_LIST, RIBBON_HELP_PANE_TEMPLATE_ID, RIBBON_GROUP_BUTTON_ID, RIBBON_FILE_MENU_WIDTH, RIBBON_HELP_PANE_TEMPLATE_WIDTH, getIndex, getTemplateFunction, getItem, getCollection, getGroup, destroyControl, updateCommonProperty, updateControlDisabled, getItemElement, isTooltipPresent, setToolTipContent, createTooltip, destroyTooltip, updateTooltipProp, setCustomAttributes, RibbonTab, RibbonGroup, RibbonCollection, RibbonItem, RibbonButtonSettings, RibbonCheckBoxSettings, RibbonColorPickerSettings, RibbonComboBoxSettings, RibbonDropDownSettings, RibbonSplitButtonSettings, FileMenuSettings, BackStageMenu, BackstageBackButton, BackstageItem, RibbonTooltip, RibbonGroupButtonSettings, RibbonGroupButtonItem, RibbonButton, RibbonCheckBox, RibbonColorPicker, RibbonComboBox, RibbonDropDown, RibbonSplitButton, RibbonGroupButton, RibbonFileMenu, RibbonBackstage };
7741
7807
  //# sourceMappingURL=ej2-ribbon.es2015.js.map