@syncfusion/ej2-ribbon 21.1.35 → 21.2.3

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 (62) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/README.md +61 -1
  3. package/dist/ej2-ribbon.umd.min.js +2 -2
  4. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-ribbon.es2015.js +137 -36
  6. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  7. package/dist/es6/ej2-ribbon.es5.js +139 -36
  8. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  9. package/dist/global/ej2-ribbon.min.js +2 -2
  10. package/dist/global/ej2-ribbon.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +13 -16
  13. package/src/ribbon/base/constant.d.ts +2 -0
  14. package/src/ribbon/base/constant.js +2 -0
  15. package/src/ribbon/base/ribbon-model.d.ts +1 -1
  16. package/src/ribbon/base/ribbon.js +26 -16
  17. package/src/ribbon/base/utils.d.ts +15 -1
  18. package/src/ribbon/base/utils.js +16 -1
  19. package/src/ribbon/items/ribbon-button.d.ts +0 -1
  20. package/src/ribbon/items/ribbon-button.js +2 -1
  21. package/src/ribbon/items/ribbon-checkbox.d.ts +0 -1
  22. package/src/ribbon/items/ribbon-checkbox.js +0 -1
  23. package/src/ribbon/items/ribbon-colorpicker.d.ts +7 -1
  24. package/src/ribbon/items/ribbon-colorpicker.js +40 -4
  25. package/src/ribbon/items/ribbon-combobox.d.ts +0 -1
  26. package/src/ribbon/items/ribbon-combobox.js +4 -2
  27. package/src/ribbon/items/ribbon-dropdown.d.ts +0 -1
  28. package/src/ribbon/items/ribbon-dropdown.js +21 -3
  29. package/src/ribbon/items/ribbon-splitbutton.d.ts +0 -1
  30. package/src/ribbon/items/ribbon-splitbutton.js +21 -3
  31. package/src/ribbon/modules/ribbon-filemenu.js +6 -4
  32. package/styles/bootstrap-dark.css +47 -12
  33. package/styles/bootstrap.css +47 -12
  34. package/styles/bootstrap4.css +47 -12
  35. package/styles/bootstrap5-dark.css +47 -12
  36. package/styles/bootstrap5.css +47 -12
  37. package/styles/fabric-dark.css +47 -12
  38. package/styles/fabric.css +47 -12
  39. package/styles/fluent-dark.css +47 -12
  40. package/styles/fluent.css +47 -12
  41. package/styles/highcontrast-light.css +47 -12
  42. package/styles/highcontrast.css +47 -12
  43. package/styles/material-dark.css +47 -12
  44. package/styles/material.css +47 -12
  45. package/styles/ribbon/_layout.scss +77 -18
  46. package/styles/ribbon/bootstrap-dark.css +47 -12
  47. package/styles/ribbon/bootstrap.css +47 -12
  48. package/styles/ribbon/bootstrap4.css +47 -12
  49. package/styles/ribbon/bootstrap5-dark.css +47 -12
  50. package/styles/ribbon/bootstrap5.css +47 -12
  51. package/styles/ribbon/fabric-dark.css +47 -12
  52. package/styles/ribbon/fabric.css +47 -12
  53. package/styles/ribbon/fluent-dark.css +47 -12
  54. package/styles/ribbon/fluent.css +47 -12
  55. package/styles/ribbon/highcontrast-light.css +47 -12
  56. package/styles/ribbon/highcontrast.css +47 -12
  57. package/styles/ribbon/material-dark.css +47 -12
  58. package/styles/ribbon/material.css +47 -12
  59. package/styles/ribbon/tailwind-dark.css +47 -12
  60. package/styles/ribbon/tailwind.css +47 -12
  61. package/styles/tailwind-dark.css +47 -12
  62. package/styles/tailwind.css +47 -12
@@ -1077,6 +1077,8 @@ var DROPDOWNBUTTON = 'e-dropdown-btn';
1077
1077
  /** @hidden */
1078
1078
  var DROPDOWNBUTTON_HIDE = 'e-caret-hide';
1079
1079
  /** @hidden */
1080
+ var RIBBON_TEMPLATE = 'e-ribbon-template';
1081
+ /** @hidden */
1080
1082
  var RIBBON_HELP_TEMPLATE = 'e-ribbon-help-template';
1081
1083
  /** @hidden */
1082
1084
  var RIBBON_TOOLTIP = 'e-ribbon-tooltip';
@@ -1177,6 +1179,7 @@ var RibbonButton = /** @__PURE__ @class */ (function () {
1177
1179
  btnSettings.clicked.call(_this, e);
1178
1180
  }
1179
1181
  };
1182
+ buttonEle.setAttribute('aria-label', btnSettings.content);
1180
1183
  };
1181
1184
  /**
1182
1185
  * Adds the additional event handlers as the item moved into overflow popup.
@@ -1204,7 +1207,6 @@ var RibbonButton = /** @__PURE__ @class */ (function () {
1204
1207
  *
1205
1208
  * @param {RibbonItemModel} item - Gets the ribbon item model.
1206
1209
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
1207
- * @param {DropDownButton} overflowButton - Gets the overflow button.
1208
1210
  * @returns {void}
1209
1211
  * @hidden
1210
1212
  */
@@ -1258,6 +1260,7 @@ var RibbonButton = /** @__PURE__ @class */ (function () {
1258
1260
  }
1259
1261
  if (prop.content) {
1260
1262
  prop.content = itemProp.item.activeSize === RibbonItemSize.Small ? '' : prop.content;
1263
+ buttonEle.setAttribute('aria-label', prop.content);
1261
1264
  }
1262
1265
  delete prop.clicked;
1263
1266
  buttonObj.setProperties(prop);
@@ -1352,7 +1355,6 @@ var RibbonCheckBox = /** @__PURE__ @class */ (function () {
1352
1355
  *
1353
1356
  * @param {RibbonItemModel} item - Gets the ribbon item model.
1354
1357
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
1355
- * @param {DropDownButton} overflowButton - Gets the overflow button.
1356
1358
  * @returns {void}
1357
1359
  * @hidden
1358
1360
  */
@@ -1472,8 +1474,16 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
1472
1474
  select: colorPickerSettings.select
1473
1475
  }, inputEle);
1474
1476
  var wrapper = colorPicker.element.parentElement;
1475
- EventHandler.add(wrapper, 'mouseenter', function () { wrapper.classList.add(RIBBON_HOVER); }, this);
1476
- EventHandler.add(wrapper, 'mouseleave', function () { wrapper.classList.remove(RIBBON_HOVER); }, this);
1477
+ EventHandler.add(wrapper, 'mouseenter', this.toggleWrapperHover.bind(this, wrapper, true), this);
1478
+ EventHandler.add(wrapper, 'mouseleave', this.toggleWrapperHover.bind(this, wrapper, false), this);
1479
+ };
1480
+ RibbonColorPicker.prototype.toggleWrapperHover = function (wrapper, isAdd) {
1481
+ if (isAdd) {
1482
+ wrapper.classList.add(RIBBON_HOVER);
1483
+ }
1484
+ else {
1485
+ wrapper.classList.remove(RIBBON_HOVER);
1486
+ }
1477
1487
  };
1478
1488
  /**
1479
1489
  * Adds the additional event handlers as the item moved into overflow popup.
@@ -1485,13 +1495,24 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
1485
1495
  * @hidden
1486
1496
  */
1487
1497
  RibbonColorPicker.prototype.addOverFlowEvents = function (item, itemEle, overflowButton) {
1498
+ var _this = this;
1488
1499
  var colorPickerEle = itemEle.querySelector('#' + item.id);
1489
1500
  var colorPickerObj = getComponent(colorPickerEle, ColorPicker);
1490
1501
  colorPickerObj.setProperties({ cssClass: colorPickerObj.cssClass + SPACE + RIBBON_POPUP_CONTROL });
1491
1502
  //Accessing the private property 'splitBtn' of ColorPicker component to get the colorpicker instance as there is no close event in colorpicker.
1492
1503
  var splitBtn = colorPickerObj['splitBtn'];
1504
+ var target;
1505
+ colorPickerObj.beforeClose = function (e) {
1506
+ target = e.event ? e.event.target : null;
1507
+ colorPickerObj.element.parentElement.classList.remove(RIBBON_POPUP_OPEN);
1508
+ if (item.colorPickerSettings.beforeClose) {
1509
+ item.colorPickerSettings.beforeClose.call(_this);
1510
+ }
1511
+ };
1493
1512
  splitBtn.close = function () {
1494
- overflowButton.toggle();
1513
+ if (target && !target.closest('.e-ribbon-group-overflow-ddb')) {
1514
+ overflowButton.toggle();
1515
+ }
1495
1516
  };
1496
1517
  };
1497
1518
  /**
@@ -1499,11 +1520,11 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
1499
1520
  *
1500
1521
  * @param {RibbonItemModel} item - Gets the ribbon item model.
1501
1522
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
1502
- * @param {DropDownButton} overflowButton - Gets the overflow button.
1503
1523
  * @returns {void}
1504
1524
  * @hidden
1505
1525
  */
1506
1526
  RibbonColorPicker.prototype.removeOverFlowEvents = function (item, itemEle) {
1527
+ var _this = this;
1507
1528
  var colorPickerEle = itemEle.querySelector('#' + item.id);
1508
1529
  var colorPickerObj = getComponent(colorPickerEle, ColorPicker);
1509
1530
  var cssClass = colorPickerObj.cssClass.split(SPACE);
@@ -1512,6 +1533,12 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
1512
1533
  var splitBtn = colorPickerObj['splitBtn'];
1513
1534
  //Accessing the private property 'splitBtn' of ColorPicker component to get the colorpicker instance as there is no close event in colorpicker.
1514
1535
  splitBtn.close = null;
1536
+ colorPickerObj.beforeClose = function (e) {
1537
+ colorPickerObj.element.parentElement.classList.remove(RIBBON_POPUP_OPEN);
1538
+ if (item.colorPickerSettings.beforeClose) {
1539
+ item.colorPickerSettings.beforeClose.call(_this);
1540
+ }
1541
+ };
1515
1542
  };
1516
1543
  RibbonColorPicker.prototype.getColorPickerObj = function (controlId) {
1517
1544
  var inputEle = getItemElement(this.parent, controlId);
@@ -1567,6 +1594,17 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
1567
1594
  var colorPickerObj = getComponent(inputEle, ColorPicker);
1568
1595
  colorPickerObj.setProperties(prop);
1569
1596
  };
1597
+ /**
1598
+ * @param {HTMLElement} element - Gets the colorpicker element to be destroyed.
1599
+ * @returns {void}
1600
+ * @hidden
1601
+ */
1602
+ RibbonColorPicker.prototype.unwireColorPickerEvents = function (element) {
1603
+ var colorPickerObj = getComponent(element, ColorPicker);
1604
+ var wrapper = colorPickerObj.element.parentElement;
1605
+ EventHandler.remove(wrapper, 'mouseenter', this.toggleWrapperHover);
1606
+ EventHandler.remove(wrapper, 'mouseleave', this.toggleWrapperHover);
1607
+ };
1570
1608
  return RibbonColorPicker;
1571
1609
  }());
1572
1610
 
@@ -1655,10 +1693,13 @@ var RibbonComboBox = /** @__PURE__ @class */ (function () {
1655
1693
  var comboBoxObj = getComponent(inputEle, ComboBox);
1656
1694
  comboBoxObj.setProperties({ cssClass: comboBoxObj.cssClass + SPACE + RIBBON_POPUP_CONTROL });
1657
1695
  comboBoxObj.close = function (e) {
1696
+ var target = e.event ? e.event.target : null;
1658
1697
  if (item.comboBoxSettings.close) {
1659
1698
  item.comboBoxSettings.close.call(_this, e);
1660
1699
  }
1661
- overflowButton.toggle();
1700
+ if (target && !target.closest('.e-ribbon-group-overflow-ddb')) {
1701
+ overflowButton.toggle();
1702
+ }
1662
1703
  };
1663
1704
  };
1664
1705
  /**
@@ -1666,7 +1707,6 @@ var RibbonComboBox = /** @__PURE__ @class */ (function () {
1666
1707
  *
1667
1708
  * @param {RibbonItemModel} item - Gets the ribbon item model.
1668
1709
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
1669
- * @param {DropDownButton} overflowButton - Gets the overflow button.
1670
1710
  * @returns {void}
1671
1711
  * @hidden
1672
1712
  */
@@ -1794,7 +1834,11 @@ var RibbonDropDown = /** @__PURE__ @class */ (function () {
1794
1834
  iconCss: dropDownSettings.iconCss,
1795
1835
  items: dropDownSettings.items,
1796
1836
  target: dropDownSettings.target,
1797
- beforeClose: dropDownSettings.beforeClose,
1837
+ beforeClose: function (e) {
1838
+ if (dropDownSettings.beforeClose) {
1839
+ dropDownSettings.beforeClose.call(_this, e);
1840
+ }
1841
+ },
1798
1842
  beforeItemRender: dropDownSettings.beforeItemRender,
1799
1843
  beforeOpen: dropDownSettings.beforeOpen,
1800
1844
  close: function (e) {
@@ -1822,11 +1866,20 @@ var RibbonDropDown = /** @__PURE__ @class */ (function () {
1822
1866
  var dropdown = getComponent(dropdownElement, DropDownButton);
1823
1867
  dropdown.cssClass = dropdown.cssClass + SPACE + RIBBON_POPUP_CONTROL;
1824
1868
  dropdown.dataBind();
1869
+ var target;
1870
+ dropdown.beforeClose = function (e) {
1871
+ if (item.dropDownSettings.beforeClose) {
1872
+ item.dropDownSettings.beforeClose.call(_this, e);
1873
+ }
1874
+ target = e.event ? e.event.target : null;
1875
+ };
1825
1876
  dropdown.close = function (e) {
1826
1877
  if (item.dropDownSettings.close) {
1827
1878
  item.dropDownSettings.close.call(_this, e);
1828
1879
  }
1829
- overflowButton.toggle();
1880
+ if (target && !target.closest('.e-ribbon-group-overflow-ddb')) {
1881
+ overflowButton.toggle();
1882
+ }
1830
1883
  };
1831
1884
  };
1832
1885
  /**
@@ -1834,7 +1887,6 @@ var RibbonDropDown = /** @__PURE__ @class */ (function () {
1834
1887
  *
1835
1888
  * @param {RibbonItemModel} item - Gets the ribbon item model.
1836
1889
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
1837
- * @param {DropDownButton} overflowButton - Gets the overflow button.
1838
1890
  * @returns {void}
1839
1891
  * @hidden
1840
1892
  */
@@ -1851,6 +1903,11 @@ var RibbonDropDown = /** @__PURE__ @class */ (function () {
1851
1903
  item.dropDownSettings.close.call(_this, e);
1852
1904
  }
1853
1905
  };
1906
+ dropdown.beforeClose = function (e) {
1907
+ if (item.dropDownSettings.beforeClose) {
1908
+ item.dropDownSettings.beforeClose.call(_this, e);
1909
+ }
1910
+ };
1854
1911
  };
1855
1912
  /**
1856
1913
  * Creates Overflow DropDown.
@@ -1986,6 +2043,7 @@ var RibbonDropDown = /** @__PURE__ @class */ (function () {
1986
2043
  control.cssClass = prop.cssClass;
1987
2044
  }
1988
2045
  delete prop.close;
2046
+ delete prop.beforeClose;
1989
2047
  if (prop.content) {
1990
2048
  prop.content = itemProp.item.activeSize === RibbonItemSize.Small ? '' : prop.content;
1991
2049
  }
@@ -2056,7 +2114,11 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2056
2114
  iconCss: splitButtonSettings.iconCss,
2057
2115
  items: splitButtonSettings.items,
2058
2116
  target: splitButtonSettings.target,
2059
- beforeClose: splitButtonSettings.beforeClose,
2117
+ beforeClose: function (e) {
2118
+ if (splitButtonSettings.beforeClose) {
2119
+ splitButtonSettings.beforeClose.call(_this, e);
2120
+ }
2121
+ },
2060
2122
  beforeItemRender: splitButtonSettings.beforeItemRender,
2061
2123
  beforeOpen: splitButtonSettings.beforeOpen,
2062
2124
  close: function () {
@@ -2099,6 +2161,13 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2099
2161
  var splitbutton = getComponent(splitButtonEle, SplitButton);
2100
2162
  splitbutton.cssClass = splitbutton.cssClass + SPACE + RIBBON_POPUP_CONTROL;
2101
2163
  splitbutton.dataBind();
2164
+ var target;
2165
+ splitbutton.beforeClose = function (e) {
2166
+ if (item.splitButtonSettings.beforeClose) {
2167
+ item.splitButtonSettings.beforeClose.call(_this, e);
2168
+ }
2169
+ target = e.event ? e.event.target : null;
2170
+ };
2102
2171
  splitbutton.click = function (e) {
2103
2172
  if (item.splitButtonSettings.click) {
2104
2173
  item.splitButtonSettings.click.call(_this, e);
@@ -2110,7 +2179,9 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2110
2179
  item.splitButtonSettings.close.call(_this, e);
2111
2180
  }
2112
2181
  splitbutton['wrapper'].classList.remove(RIBBON_POPUP_OPEN);
2113
- overflowButton.toggle();
2182
+ if (target && !target.closest('.e-ribbon-group-overflow-ddb')) {
2183
+ overflowButton.toggle();
2184
+ }
2114
2185
  };
2115
2186
  };
2116
2187
  /**
@@ -2118,7 +2189,6 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2118
2189
  *
2119
2190
  * @param {RibbonItemModel} item - Gets the ribbon item model.
2120
2191
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
2121
- * @param {DropDownButton} overflowButton - Gets the overflow button.
2122
2192
  * @returns {void}
2123
2193
  * @hidden
2124
2194
  */
@@ -2130,6 +2200,11 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2130
2200
  cssClass = cssClass.filter(function (value) { return value !== RIBBON_POPUP_CONTROL; });
2131
2201
  splitbutton.cssClass = cssClass.join(SPACE);
2132
2202
  splitbutton.dataBind();
2203
+ splitbutton.beforeClose = function (e) {
2204
+ if (item.splitButtonSettings.beforeClose) {
2205
+ item.splitButtonSettings.beforeClose.call(_this, e);
2206
+ }
2207
+ };
2133
2208
  splitbutton.click = function (e) {
2134
2209
  if (item.splitButtonSettings.click) {
2135
2210
  item.splitButtonSettings.click.call(_this, e);
@@ -2209,6 +2284,7 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2209
2284
  delete prop.open;
2210
2285
  delete prop.click;
2211
2286
  delete prop.close;
2287
+ delete prop.beforeClose;
2212
2288
  control.setProperties(prop);
2213
2289
  if (prop.content) {
2214
2290
  this.setContent(itemProp.item, control);
@@ -2244,6 +2320,7 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
2244
2320
  * @param {Array} arr - Gets the array to find index.
2245
2321
  * @param {boolean} condition - Defines whether index matches with the value.
2246
2322
  * @returns {number} - Gets the index value.
2323
+ * @hidden
2247
2324
  */
2248
2325
  function getIndex(arr, condition) {
2249
2326
  for (var i = 0; i < arr.length; i++) {
@@ -2258,6 +2335,7 @@ function getIndex(arr, condition) {
2258
2335
  *
2259
2336
  * @param {string | HTMLElement} template - Template property value.
2260
2337
  * @returns {Function} - Return template function.
2338
+ * @hidden
2261
2339
  */
2262
2340
  function getTemplateFunction(template) {
2263
2341
  if (typeof template === 'string') {
@@ -2288,6 +2366,7 @@ function getTemplateFunction(template) {
2288
2366
  * @param {RibbonTabModel} tabs - Gets the ribbon tab model.
2289
2367
  * @param {string} id - Gets the ID of the tab.
2290
2368
  * @returns {itemProps} - Gets the ribbon item.
2369
+ * @hidden
2291
2370
  */
2292
2371
  function getItem(tabs, id) {
2293
2372
  for (var i = 0; i < tabs.length; i++) {
@@ -2316,6 +2395,7 @@ function getItem(tabs, id) {
2316
2395
  * @param {RibbonTabModel} tabs - Gets the ribbon tab model.
2317
2396
  * @param {string} id - Gets the ID of the tab.
2318
2397
  * @returns {itemProps} - Gets the ribbon collection.
2398
+ * @hidden
2319
2399
  */
2320
2400
  function getCollection(tabs, id) {
2321
2401
  for (var i = 0; i < tabs.length; i++) {
@@ -2341,6 +2421,7 @@ function getCollection(tabs, id) {
2341
2421
  * @param {RibbonTabModel} tabs - Gets the ribbon tab model.
2342
2422
  * @param {string} id - Gets the ID of the tab.
2343
2423
  * @returns {itemProps} - Gets the ribbon group.
2424
+ * @hidden
2344
2425
  */
2345
2426
  function getGroup(tabs, id) {
2346
2427
  for (var i = 0; i < tabs.length; i++) {
@@ -2360,6 +2441,7 @@ function getGroup(tabs, id) {
2360
2441
  * @param {HTMLElement} element - Gets the element to be destroyed.
2361
2442
  * @param {string} moduleName - Gets the module name.
2362
2443
  * @returns {void}
2444
+ * @hidden
2363
2445
  */
2364
2446
  function destroyControl(element, moduleName) {
2365
2447
  var control = getComponent(element, moduleName);
@@ -2372,6 +2454,7 @@ function destroyControl(element, moduleName) {
2372
2454
  * @param {string} moduleName - Gets the module name.
2373
2455
  * @param {commonProperties} commonProp - Gets the common properties to be updated.
2374
2456
  * @returns {void}
2457
+ * @hidden
2375
2458
  */
2376
2459
  function updateCommonProperty(element, moduleName, commonProp) {
2377
2460
  var control = getComponent(element, moduleName);
@@ -2384,6 +2467,7 @@ function updateCommonProperty(element, moduleName, commonProp) {
2384
2467
  * @param {string} moduleName - Gets the module name.
2385
2468
  * @param {boolean} disable - Defines whether the control to be disabled or not.
2386
2469
  * @returns {void}
2470
+ * @hidden
2387
2471
  */
2388
2472
  function updateControlDisabled(element, moduleName, disable) {
2389
2473
  var control = getComponent(element, moduleName);
@@ -2393,9 +2477,10 @@ function updateControlDisabled(element, moduleName, disable) {
2393
2477
  * Gets the ribbon item element.
2394
2478
  *
2395
2479
  * @param {Ribbon} parent - Gets the parent element.
2396
- * @param {itemProps} itemProp - Gets the ribbon item.
2397
2480
  * @param {string} id - Gets the ID of the item.
2481
+ * @param {itemProps} itemProp - Gets the ribbon item.
2398
2482
  * @returns {HTMLElement} - Gets the ribbon item element.
2483
+ * @hidden
2399
2484
  */
2400
2485
  function getItemElement(parent, id, itemProp) {
2401
2486
  if (!itemProp) {
@@ -2430,6 +2515,7 @@ function getItemElement(parent, id, itemProp) {
2430
2515
  /**
2431
2516
  * @param {RibbonTooltipModel} tooltip - Gets the property of tooltip.
2432
2517
  * @returns {boolean} - Gets whether the tooltip is present or not.
2518
+ * @hidden
2433
2519
  */
2434
2520
  function isTooltipPresent(tooltip) {
2435
2521
  return (tooltip.content || tooltip.iconCss || tooltip.title || tooltip.id || tooltip.cssClass) ? true : false;
@@ -2441,6 +2527,7 @@ function isTooltipPresent(tooltip) {
2441
2527
  * @param {Tooltip} tooltip - Gets the tooltip to set the content.
2442
2528
  * @param {ribbonTooltipData} tooltipData - Gets the tooltip data.
2443
2529
  * @returns {void}
2530
+ * @hidden
2444
2531
  */
2445
2532
  function setToolTipContent(args, tooltip, tooltipData) {
2446
2533
  var targetId = args.target.getAttribute('id');
@@ -2484,6 +2571,7 @@ function setToolTipContent(args, tooltip, tooltipData) {
2484
2571
  * @param {HTMLElement} element - Gets the element to add tooltip.
2485
2572
  * @param {Ribbon} ribbon - Gets the ribbon.
2486
2573
  * @returns {void}
2574
+ * @hidden
2487
2575
  */
2488
2576
  function createTooltip(element, ribbon) {
2489
2577
  var ribbonTooltip = new Tooltip({
@@ -2495,6 +2583,7 @@ function createTooltip(element, ribbon) {
2495
2583
  /**
2496
2584
  * @param {TooltipEventArgs} args - Gets the tooltip argument.
2497
2585
  * @returns {void}
2586
+ * @hidden
2498
2587
  */
2499
2588
  function beforeTooltipRender(args) {
2500
2589
  setToolTipContent(args, ribbonTooltip, ribbon.tooltipData);
@@ -2505,6 +2594,7 @@ function createTooltip(element, ribbon) {
2505
2594
  *
2506
2595
  * @param {HTMLElement} element - Gets the element in which the tooltip needs to be destroyed.
2507
2596
  * @returns {void}
2597
+ * @hidden
2508
2598
  */
2509
2599
  function destroyTooltip(element) {
2510
2600
  var control = getComponent(element, Tooltip);
@@ -2516,6 +2606,7 @@ function destroyTooltip(element) {
2516
2606
  * @param {HTMLElement} element - Gets the element in which the tooltip needs to be Updated.
2517
2607
  * @param {commonProperties} prop - Gets the property to be updated.
2518
2608
  * @returns {void}
2609
+ * @hidden
2519
2610
  */
2520
2611
  function updateTooltipProp(element, prop) {
2521
2612
  var control = getComponent(element, Tooltip);
@@ -2691,7 +2782,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
2691
2782
  selectedIndex = selectedIndex === -1 ? this.selectedTab : selectedIndex;
2692
2783
  var eventArgs = { previousIndex: this.selectedTab, selectedIndex: selectedIndex };
2693
2784
  this.setProperties({ selectedTab: selectedIndex }, true);
2694
- this.checkOverflow(selectedIndex, e.selectedContent);
2785
+ this.checkOverflow(selectedIndex, e.selectedContent.firstChild);
2695
2786
  if (this.activeLayout === 'Simplified' && this.overflowDDB) {
2696
2787
  var overflowTarget = this.overflowDDB.target;
2697
2788
  var ofTabContainer = overflowTarget.querySelector('.' + RIBBON_TAB_ACTIVE);
@@ -2710,9 +2801,6 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
2710
2801
  this.trigger('tabSelected', eventArgs);
2711
2802
  };
2712
2803
  Ribbon.prototype.checkOverflow = function (tabIndex, activeContent) {
2713
- if (!activeContent) {
2714
- activeContent = this.tabObj.element.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + CONTENT_ID);
2715
- }
2716
2804
  var tabContent = activeContent.closest('.' + TAB_CONTENT);
2717
2805
  var isOverFlow = tabContent.offsetWidth < activeContent.offsetWidth;
2718
2806
  if (isOverFlow && !this.scrollModule) {
@@ -2735,7 +2823,9 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
2735
2823
  }
2736
2824
  //Adds Scroll if the tabwidth is less the content width even after adding overflow dropdown.
2737
2825
  if ((tabContent.offsetWidth < activeContent.offsetWidth) && (!this.scrollModule)) {
2738
- this.scrollModule = new HScroll({}, this.tabObj.element.querySelector('.' + TAB_CONTENT));
2826
+ this.scrollModule = new HScroll({
2827
+ enableRtl: this.enableRtl
2828
+ }, this.tabObj.element.querySelector('.' + TAB_CONTENT));
2739
2829
  }
2740
2830
  }
2741
2831
  else if (!isOverFlow) {
@@ -2816,8 +2906,8 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
2816
2906
  var group = orderedGroups[parseInt(i.toString(), 10)];
2817
2907
  var groupEle = tabContent.querySelector('#' + group.id);
2818
2908
  var groupContainer = groupEle.querySelector('#' + group.id + CONTAINER_ID);
2819
- for (var j = 0; ((j < group.collections.length) && (tabContent.offsetWidth < activeContent.offsetWidth)); j++) {
2820
- var collection = group.collections[parseInt(j.toString(), 10)];
2909
+ for (var j = group.collections.length; ((j >= 1) && (tabContent.offsetWidth < activeContent.offsetWidth)); j--) {
2910
+ var collection = group.collections[parseInt((j - 1).toString(), 10)];
2821
2911
  var collectionEle = groupEle.querySelector('#' + collection.id);
2822
2912
  for (var k = collection.items.length; ((k >= 1) && (tabContent.offsetWidth < activeContent.offsetWidth)); k--) {
2823
2913
  var item = collection.items[k - 1];
@@ -2884,8 +2974,8 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
2884
2974
  overflowDDB = this.overflowDDB;
2885
2975
  overflowtarget = this.overflowDDB ? this.overflowDDB.target : null;
2886
2976
  }
2887
- for (var j = (group.collections.length); ((j >= 1) && flag); j--) {
2888
- var collection = group.collections[parseInt((j - 1).toString(), 10)];
2977
+ for (var j = 0; ((j < group.collections.length) && flag); j++) {
2978
+ var collection = group.collections[parseInt(j.toString(), 10)];
2889
2979
  // eslint-disable-next-line max-len
2890
2980
  for (var k = 0; ((k < collection.items.length) && flag && !isClear && (tabContent.offsetWidth > activeContent.offsetWidth)); k++) {
2891
2981
  var item = collection.items[parseInt(k.toString(), 10)];
@@ -3709,11 +3799,11 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
3709
3799
  this.collapseButton = this.createElement('span', {
3710
3800
  className: RIBBON_COLLAPSE_BUTTON + SPACE + EXPAND_COLLAPSE_ICON,
3711
3801
  id: this.tabObj.element.id + COLLAPSE_BUTTON_ID,
3712
- attrs: { 'tabindex': '0', 'type': 'button', 'aria-label': 'Layout Switcher' }
3802
+ attrs: { 'tabindex': '0', 'type': 'button', 'aria-label': 'Layout Switcher', 'role': 'button' }
3713
3803
  });
3714
3804
  this.collapseButton.onclick = function () { _this.toggleLayout(); };
3715
3805
  this.collapseButton.onkeydown = function (e) {
3716
- if (e.key === "Enter") {
3806
+ if (e.key === 'Enter') {
3717
3807
  _this.toggleLayout();
3718
3808
  }
3719
3809
  };
@@ -3959,13 +4049,13 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
3959
4049
  var launcherIcon = this_3.createElement('div', {
3960
4050
  className: RIBBON_LAUNCHER_ICON_ELE + ' ' + (this_3.launcherIconCss ? this_3.launcherIconCss : RIBBON_LAUNCHER_ICON),
3961
4051
  id: group.id + LAUNCHER_ID,
3962
- attrs: { 'tabindex': '0', 'type': 'button', 'aria-label': 'Launcher Icon' }
4052
+ attrs: { 'tabindex': '0', 'type': 'button', 'aria-label': 'Launcher Icon', 'role': 'button' }
3963
4053
  });
3964
4054
  groupContainer.appendChild(launcherIcon);
3965
4055
  groupContainer.classList.add(RIBBON_LAUNCHER);
3966
4056
  EventHandler.add(launcherIcon, 'click', this_3.launcherIconClicked.bind(this_3, group.id), this_3);
3967
4057
  EventHandler.add(launcherIcon, 'keydown', function (e) {
3968
- if (e.key === "Enter") {
4058
+ if (e.key === 'Enter') {
3969
4059
  _this.launcherIconClicked(group.id);
3970
4060
  }
3971
4061
  }, this_3);
@@ -3993,7 +4083,9 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
3993
4083
  for (var j = 0; j < items.length; j++) {
3994
4084
  var ribbonitem = items[parseInt(j.toString(), 10)];
3995
4085
  if (!ribbonitem.allowedSizes || (ribbonitem.allowedSizes === 0)) {
3996
- ribbonitem.setProperties({ allowedSizes: (RibbonItemSize.Small | RibbonItemSize.Medium | RibbonItemSize.Large) }, true);
4086
+ ribbonitem.setProperties({
4087
+ allowedSizes: (RibbonItemSize.Small | RibbonItemSize.Medium | RibbonItemSize.Large)
4088
+ }, true);
3997
4089
  }
3998
4090
  if ((ribbonitem.type === 'ColorPicker') && (ribbonitem.allowedSizes !== RibbonItemSize.Small)) {
3999
4091
  ribbonitem.setProperties({ allowedSizes: RibbonItemSize.Small }, true);
@@ -4137,10 +4229,11 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4137
4229
  };
4138
4230
  Ribbon.prototype.createTemplateContent = function (item, itemElement) {
4139
4231
  var itemEle = this.createElement('div', {
4140
- className: item.disabled ? DISABLED_CSS + SPACE + item.cssClass : item.cssClass,
4232
+ className: item.cssClass ? (RIBBON_TEMPLATE + SPACE + item.cssClass) : RIBBON_TEMPLATE,
4141
4233
  id: item.id
4142
4234
  });
4143
4235
  if (item.disabled) {
4236
+ itemEle.classList.add(DISABLED_CSS);
4144
4237
  itemEle.setAttribute('disabled', '');
4145
4238
  }
4146
4239
  itemElement.appendChild(itemEle);
@@ -4302,7 +4395,10 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4302
4395
  };
4303
4396
  Ribbon.prototype.destroyFunction = function (item, ele) {
4304
4397
  var moduleName = this.getItemModuleName(item);
4305
- if (moduleName !== 'template') {
4398
+ if (moduleName === 'colorpicker') {
4399
+ this.ribbonColorPickerModule.unwireColorPickerEvents(ele);
4400
+ }
4401
+ else if (moduleName !== 'template') {
4306
4402
  destroyControl(ele, moduleName);
4307
4403
  }
4308
4404
  if (item.ribbonTooltipSettings) {
@@ -4807,6 +4903,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4807
4903
  break;
4808
4904
  case 'isMinimized':
4809
4905
  this.element.classList.toggle(RIBBON_MINIMIZE, this.isMinimized);
4906
+ this.tabObj.element.querySelector('.e-content').style.display = this.isMinimized ? 'none' : 'block';
4810
4907
  break;
4811
4908
  case 'locale':
4812
4909
  this.updateCommonProperty({ locale: this.locale });
@@ -4817,6 +4914,9 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4817
4914
  case 'enableRtl':
4818
4915
  this.element.classList.toggle(RTL_CSS, this.enableRtl);
4819
4916
  this.updateCommonProperty({ enableRtl: newProp.enableRtl });
4917
+ if (this.scrollModule) {
4918
+ this.scrollModule.setProperties({ enableRtl: newProp.enableRtl });
4919
+ }
4820
4920
  break;
4821
4921
  case 'launcherIconCss':
4822
4922
  for (var i = 0; i < this.tabs.length; i++) {
@@ -4853,6 +4953,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4853
4953
  break;
4854
4954
  case 'width':
4855
4955
  this.element.style.width = formatUnit(newProp.width);
4956
+ this.refreshLayout();
4856
4957
  break;
4857
4958
  case 'fileMenu':
4858
4959
  if (this.ribbonFileMenuModule) {
@@ -4958,7 +5059,7 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
4958
5059
  return;
4959
5060
  }
4960
5061
  this.ddbElement = this.parent.createElement('button', {
4961
- id: this.parent.element.id + RIBBON_FILE_MENU_ID,
5062
+ id: this.parent.element.id + RIBBON_FILE_MENU_ID
4962
5063
  });
4963
5064
  var tabEle = this.parent.tabObj.element;
4964
5065
  var toolbarEle = tabEle.querySelector('.e-toolbar');
@@ -5050,7 +5151,7 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
5050
5151
  select: this.menuSelect.bind(this)
5051
5152
  }, ulElem);
5052
5153
  EventHandler.add(ulElem, 'keydown', function (e) {
5053
- if (e.key === "Tab") {
5154
+ if (e.key === 'Tab') {
5054
5155
  _this.fileMenuDDB.toggle();
5055
5156
  }
5056
5157
  }, this);
@@ -5059,8 +5160,10 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
5059
5160
  var event = isOpen ? this.parent.fileMenu.beforeOpen :
5060
5161
  this.parent.fileMenu.beforeClose;
5061
5162
  if (event) {
5062
- var eventArgs = { cancel: args.cancel, element: args.element, event: args.event,
5063
- items: args.items, parentItem: args.parentItem };
5163
+ var eventArgs = {
5164
+ cancel: args.cancel, element: args.element, event: args.event,
5165
+ items: args.items, parentItem: args.parentItem
5166
+ };
5064
5167
  event.call(this, eventArgs);
5065
5168
  args.cancel = eventArgs.cancel;
5066
5169
  }
@@ -5249,5 +5352,5 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
5249
5352
  // export all modules from current location
5250
5353
  // example: export * from './module'
5251
5354
 
5252
- export { Ribbon, RibbonLayout, ItemOrientation, RibbonItemSize, DisplayMode, RibbonItemType, ITEM_VERTICAL_CENTER, EXPAND_COLLAPSE_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_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_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, 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_FILE_MENU_LIST, RIBBON_HELP_PANE_TEMPLATE_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, RibbonTooltip, RibbonButton, RibbonCheckBox, RibbonColorPicker, RibbonComboBox, RibbonDropDown, RibbonSplitButton, RibbonFileMenu };
5355
+ export { Ribbon, RibbonLayout, ItemOrientation, RibbonItemSize, DisplayMode, RibbonItemType, ITEM_VERTICAL_CENTER, EXPAND_COLLAPSE_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_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, 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_FILE_MENU_LIST, RIBBON_HELP_PANE_TEMPLATE_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, RibbonTooltip, RibbonButton, RibbonCheckBox, RibbonColorPicker, RibbonComboBox, RibbonDropDown, RibbonSplitButton, RibbonFileMenu };
5253
5356
  //# sourceMappingURL=ej2-ribbon.es5.js.map