@syncfusion/ej2-ribbon 33.2.10 → 34.1.30

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 (294) hide show
  1. package/dist/ej2-ribbon.umd.min.js +2 -2
  2. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  3. package/dist/es6/ej2-ribbon.es2015.js +107 -8
  4. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  5. package/dist/es6/ej2-ribbon.es5.js +115 -16
  6. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  7. package/dist/global/ej2-ribbon.min.js +2 -2
  8. package/dist/global/ej2-ribbon.min.js.map +1 -1
  9. package/dist/global/index.d.ts +1 -1
  10. package/package.json +8 -8
  11. package/src/ribbon/base/ribbon-model.d.ts +1 -1
  12. package/src/ribbon/base/ribbon.js +1 -2
  13. package/src/ribbon/base/utils.js +8 -0
  14. package/src/ribbon/items/ribbon-colorpicker.js +20 -1
  15. package/src/ribbon/items/ribbon-combobox.js +30 -1
  16. package/src/ribbon/items/ribbon-gallery.js +17 -5
  17. package/src/ribbon/items/ribbon-groupbutton.js +18 -6
  18. package/src/ribbon/items/ribbon-splitbutton.js +8 -2
  19. package/src/ribbon/modules/ribbon-filemenu.js +14 -0
  20. package/styles/bds-lite.css +15 -312
  21. package/styles/bds-lite.scss +1 -15
  22. package/styles/bds.css +20 -316
  23. package/styles/bds.scss +2 -16
  24. package/styles/bootstrap-dark-lite.css +6 -74
  25. package/styles/bootstrap-dark-lite.scss +1 -15
  26. package/styles/bootstrap-dark.css +6 -74
  27. package/styles/bootstrap-dark.scss +2 -16
  28. package/styles/bootstrap-lite.css +6 -76
  29. package/styles/bootstrap-lite.scss +1 -15
  30. package/styles/bootstrap.css +6 -76
  31. package/styles/bootstrap.scss +2 -16
  32. package/styles/bootstrap4-lite.css +7 -127
  33. package/styles/bootstrap4-lite.scss +1 -15
  34. package/styles/bootstrap4.css +7 -127
  35. package/styles/bootstrap4.scss +2 -16
  36. package/styles/bootstrap5-dark-lite.css +6 -149
  37. package/styles/bootstrap5-dark-lite.scss +1 -15
  38. package/styles/bootstrap5-dark.css +11 -149
  39. package/styles/bootstrap5-dark.scss +2 -16
  40. package/styles/bootstrap5-lite.css +7 -150
  41. package/styles/bootstrap5-lite.scss +1 -16
  42. package/styles/bootstrap5.3-lite.css +7 -318
  43. package/styles/bootstrap5.3-lite.scss +1 -16
  44. package/styles/bootstrap5.3.css +13 -403
  45. package/styles/bootstrap5.3.scss +2 -17
  46. package/styles/bootstrap5.css +12 -150
  47. package/styles/bootstrap5.scss +2 -17
  48. package/styles/fabric-dark-lite.css +6 -50
  49. package/styles/fabric-dark-lite.scss +1 -16
  50. package/styles/fabric-dark.css +6 -50
  51. package/styles/fabric-dark.scss +2 -17
  52. package/styles/fabric-lite.css +6 -51
  53. package/styles/fabric-lite.scss +1 -16
  54. package/styles/fabric.css +6 -51
  55. package/styles/fabric.scss +2 -17
  56. package/styles/fluent-dark-lite.css +6 -141
  57. package/styles/fluent-dark-lite.scss +1 -16
  58. package/styles/fluent-dark.css +6 -141
  59. package/styles/fluent-dark.scss +2 -17
  60. package/styles/fluent-lite.css +6 -141
  61. package/styles/fluent-lite.scss +1 -16
  62. package/styles/fluent.css +6 -141
  63. package/styles/fluent.scss +2 -17
  64. package/styles/fluent2-lite.css +7 -390
  65. package/styles/fluent2-lite.scss +1 -16
  66. package/styles/fluent2.css +7 -476
  67. package/styles/fluent2.scss +2 -17
  68. package/styles/highcontrast-light-lite.css +6 -71
  69. package/styles/highcontrast-light-lite.scss +1 -16
  70. package/styles/highcontrast-light.css +6 -71
  71. package/styles/highcontrast-light.scss +2 -17
  72. package/styles/highcontrast-lite.css +6 -72
  73. package/styles/highcontrast-lite.scss +1 -16
  74. package/styles/highcontrast.css +6 -72
  75. package/styles/highcontrast.scss +2 -17
  76. package/styles/material-dark-lite.css +7 -211
  77. package/styles/material-dark-lite.scss +1 -16
  78. package/styles/material-dark.css +7 -211
  79. package/styles/material-dark.scss +2 -17
  80. package/styles/material-lite.css +6 -215
  81. package/styles/material-lite.scss +1 -15
  82. package/styles/material.css +6 -215
  83. package/styles/material.scss +2 -16
  84. package/styles/material3-dark-lite.css +7 -358
  85. package/styles/material3-dark-lite.scss +1 -16
  86. package/styles/material3-dark.css +7 -440
  87. package/styles/material3-dark.scss +2 -17
  88. package/styles/material3-lite.css +7 -362
  89. package/styles/material3-lite.scss +1 -16
  90. package/styles/material3.css +7 -446
  91. package/styles/material3.scss +2 -17
  92. package/styles/ribbon/_all.scss +2 -2
  93. package/styles/ribbon/_bds-definition.scss +2 -2
  94. package/styles/ribbon/_bigger.scss +8 -1
  95. package/styles/ribbon/_bootstrap-dark-definition.scss +1 -2
  96. package/styles/ribbon/_bootstrap-definition.scss +2 -2
  97. package/styles/ribbon/_bootstrap4-definition.scss +1 -2
  98. package/styles/ribbon/_bootstrap5-dark-definition.scss +2 -2
  99. package/styles/ribbon/_bootstrap5-definition.scss +2 -2
  100. package/styles/ribbon/_bootstrap5.3-definition.scss +3 -3
  101. package/styles/ribbon/_fabric-dark-definition.scss +2 -2
  102. package/styles/ribbon/_fabric-definition.scss +2 -2
  103. package/styles/ribbon/_fluent-dark-definition.scss +2 -2
  104. package/styles/ribbon/_fluent-definition.scss +2 -2
  105. package/styles/ribbon/_fluent2-definition.scss +2 -2
  106. package/styles/ribbon/_highcontrast-definition.scss +2 -2
  107. package/styles/ribbon/_highcontrast-light-definition.scss +2 -2
  108. package/styles/ribbon/_layout.scss +1 -1
  109. package/styles/ribbon/_material-dark-definition.scss +2 -2
  110. package/styles/ribbon/_material-definition.scss +2 -2
  111. package/styles/ribbon/_material3-dark-definition.scss +2 -2
  112. package/styles/ribbon/_material3-definition.scss +2 -2
  113. package/styles/ribbon/_tailwind-dark-definition.scss +2 -2
  114. package/styles/ribbon/_tailwind-definition.scss +2 -2
  115. package/styles/ribbon/_tailwind3-definition.scss +2 -2
  116. package/styles/ribbon/_theme.scss +1 -1
  117. package/styles/ribbon/_variables.scss +2 -0
  118. package/styles/ribbon/bds.css +20 -316
  119. package/styles/ribbon/bds.scss +2 -17
  120. package/styles/ribbon/bootstrap-dark.css +6 -74
  121. package/styles/ribbon/bootstrap-dark.scss +2 -17
  122. package/styles/ribbon/bootstrap.css +6 -76
  123. package/styles/ribbon/bootstrap.scss +2 -17
  124. package/styles/ribbon/bootstrap4.css +7 -127
  125. package/styles/ribbon/bootstrap4.scss +2 -17
  126. package/styles/ribbon/bootstrap5-dark.css +11 -149
  127. package/styles/ribbon/bootstrap5-dark.scss +2 -17
  128. package/styles/ribbon/bootstrap5.3.css +13 -403
  129. package/styles/ribbon/bootstrap5.3.scss +2 -17
  130. package/styles/ribbon/bootstrap5.css +12 -150
  131. package/styles/ribbon/bootstrap5.scss +2 -17
  132. package/styles/ribbon/fabric-dark.css +6 -50
  133. package/styles/ribbon/fabric-dark.scss +2 -17
  134. package/styles/ribbon/fabric.css +6 -51
  135. package/styles/ribbon/fabric.scss +2 -17
  136. package/styles/ribbon/fluent-dark.css +6 -141
  137. package/styles/ribbon/fluent-dark.scss +2 -17
  138. package/styles/ribbon/fluent.css +6 -141
  139. package/styles/ribbon/fluent.scss +2 -17
  140. package/styles/ribbon/fluent2.css +7 -476
  141. package/styles/ribbon/fluent2.scss +2 -17
  142. package/styles/ribbon/highcontrast-light.css +6 -71
  143. package/styles/ribbon/highcontrast-light.scss +2 -17
  144. package/styles/ribbon/highcontrast.css +6 -72
  145. package/styles/ribbon/highcontrast.scss +2 -17
  146. package/styles/ribbon/icons/_bds.scss +1 -1
  147. package/styles/ribbon/icons/_bootstrap-dark.scss +1 -1
  148. package/styles/ribbon/icons/_bootstrap.scss +1 -1
  149. package/styles/ribbon/icons/_bootstrap4.scss +1 -1
  150. package/styles/ribbon/icons/_bootstrap5.3.scss +1 -1
  151. package/styles/ribbon/icons/_bootstrap5.scss +1 -1
  152. package/styles/ribbon/icons/_fabric-dark.scss +1 -1
  153. package/styles/ribbon/icons/_fabric.scss +1 -1
  154. package/styles/ribbon/icons/_fluent.scss +1 -1
  155. package/styles/ribbon/icons/_fluent2.scss +1 -1
  156. package/styles/ribbon/icons/_fusionnew.scss +1 -1
  157. package/styles/ribbon/icons/_highcontrast.scss +1 -1
  158. package/styles/ribbon/icons/_material-dark.scss +1 -1
  159. package/styles/ribbon/icons/_material.scss +1 -1
  160. package/styles/ribbon/icons/_material3.scss +1 -1
  161. package/styles/ribbon/icons/_tailwind-dark.scss +1 -1
  162. package/styles/ribbon/icons/_tailwind.scss +1 -1
  163. package/styles/ribbon/icons/_tailwind3.scss +1 -1
  164. package/styles/ribbon/material-dark.css +7 -211
  165. package/styles/ribbon/material-dark.scss +2 -17
  166. package/styles/ribbon/material.css +6 -215
  167. package/styles/ribbon/material.scss +2 -17
  168. package/styles/ribbon/material3-dark.css +7 -440
  169. package/styles/ribbon/material3-dark.scss +2 -17
  170. package/styles/ribbon/material3.css +7 -446
  171. package/styles/ribbon/material3.scss +2 -17
  172. package/styles/ribbon/tailwind-dark.css +19 -176
  173. package/styles/ribbon/tailwind-dark.scss +2 -17
  174. package/styles/ribbon/tailwind.css +20 -177
  175. package/styles/ribbon/tailwind.scss +2 -17
  176. package/styles/ribbon/tailwind3.css +15 -376
  177. package/styles/ribbon/tailwind3.scss +2 -17
  178. package/styles/tailwind-dark-lite.css +14 -176
  179. package/styles/tailwind-dark-lite.scss +1 -16
  180. package/styles/tailwind-dark.css +19 -176
  181. package/styles/tailwind-dark.scss +2 -17
  182. package/styles/tailwind-lite.css +15 -177
  183. package/styles/tailwind-lite.scss +1 -16
  184. package/styles/tailwind.css +20 -177
  185. package/styles/tailwind.scss +2 -17
  186. package/styles/tailwind3-lite.css +15 -302
  187. package/styles/tailwind3-lite.scss +1 -16
  188. package/styles/tailwind3.css +15 -376
  189. package/styles/tailwind3.scss +2 -17
  190. package/styles/ribbon/_all.bds.scss +0 -2
  191. package/styles/ribbon/_all.bootstrap-dark.scss +0 -2
  192. package/styles/ribbon/_all.bootstrap.scss +0 -2
  193. package/styles/ribbon/_all.bootstrap4.scss +0 -2
  194. package/styles/ribbon/_all.bootstrap5-dark.scss +0 -2
  195. package/styles/ribbon/_all.bootstrap5.3.scss +0 -2
  196. package/styles/ribbon/_all.bootstrap5.scss +0 -2
  197. package/styles/ribbon/_all.fabric-dark.scss +0 -2
  198. package/styles/ribbon/_all.fabric.scss +0 -2
  199. package/styles/ribbon/_all.fluent-dark.scss +0 -2
  200. package/styles/ribbon/_all.fluent.scss +0 -2
  201. package/styles/ribbon/_all.fluent2.scss +0 -2
  202. package/styles/ribbon/_all.highcontrast-light.scss +0 -2
  203. package/styles/ribbon/_all.highcontrast.scss +0 -2
  204. package/styles/ribbon/_all.material-dark.scss +0 -2
  205. package/styles/ribbon/_all.material.scss +0 -2
  206. package/styles/ribbon/_all.material3-dark.scss +0 -2
  207. package/styles/ribbon/_all.material3.scss +0 -2
  208. package/styles/ribbon/_all.tailwind-dark.scss +0 -2
  209. package/styles/ribbon/_all.tailwind.scss +0 -2
  210. package/styles/ribbon/_all.tailwind3.scss +0 -2
  211. package/styles/ribbon/_bigger.bds.scss +0 -3
  212. package/styles/ribbon/_bigger.bootstrap-dark.scss +0 -3
  213. package/styles/ribbon/_bigger.bootstrap.scss +0 -3
  214. package/styles/ribbon/_bigger.bootstrap4.scss +0 -3
  215. package/styles/ribbon/_bigger.bootstrap5-dark.scss +0 -3
  216. package/styles/ribbon/_bigger.bootstrap5.3.scss +0 -3
  217. package/styles/ribbon/_bigger.bootstrap5.scss +0 -3
  218. package/styles/ribbon/_bigger.fabric-dark.scss +0 -3
  219. package/styles/ribbon/_bigger.fabric.scss +0 -3
  220. package/styles/ribbon/_bigger.fluent-dark.scss +0 -3
  221. package/styles/ribbon/_bigger.fluent.scss +0 -3
  222. package/styles/ribbon/_bigger.fluent2.scss +0 -3
  223. package/styles/ribbon/_bigger.highcontrast-light.scss +0 -3
  224. package/styles/ribbon/_bigger.highcontrast.scss +0 -3
  225. package/styles/ribbon/_bigger.material-dark.scss +0 -3
  226. package/styles/ribbon/_bigger.material.scss +0 -3
  227. package/styles/ribbon/_bigger.material3-dark.scss +0 -3
  228. package/styles/ribbon/_bigger.material3.scss +0 -3
  229. package/styles/ribbon/_bigger.tailwind-dark.scss +0 -3
  230. package/styles/ribbon/_bigger.tailwind.scss +0 -3
  231. package/styles/ribbon/_bigger.tailwind3.scss +0 -3
  232. package/styles/ribbon/_layout.bds.scss +0 -3
  233. package/styles/ribbon/_layout.bootstrap-dark.scss +0 -3
  234. package/styles/ribbon/_layout.bootstrap.scss +0 -3
  235. package/styles/ribbon/_layout.bootstrap4.scss +0 -3
  236. package/styles/ribbon/_layout.bootstrap5-dark.scss +0 -3
  237. package/styles/ribbon/_layout.bootstrap5.3.scss +0 -3
  238. package/styles/ribbon/_layout.bootstrap5.scss +0 -3
  239. package/styles/ribbon/_layout.fabric-dark.scss +0 -3
  240. package/styles/ribbon/_layout.fabric.scss +0 -3
  241. package/styles/ribbon/_layout.fluent-dark.scss +0 -3
  242. package/styles/ribbon/_layout.fluent.scss +0 -3
  243. package/styles/ribbon/_layout.fluent2.scss +0 -3
  244. package/styles/ribbon/_layout.highcontrast-light.scss +0 -3
  245. package/styles/ribbon/_layout.highcontrast.scss +0 -3
  246. package/styles/ribbon/_layout.material-dark.scss +0 -3
  247. package/styles/ribbon/_layout.material.scss +0 -3
  248. package/styles/ribbon/_layout.material3-dark.scss +0 -3
  249. package/styles/ribbon/_layout.material3.scss +0 -3
  250. package/styles/ribbon/_layout.tailwind-dark.scss +0 -3
  251. package/styles/ribbon/_layout.tailwind.scss +0 -3
  252. package/styles/ribbon/_layout.tailwind3.scss +0 -3
  253. package/styles/ribbon/_theme-variables.bds.scss +0 -1
  254. package/styles/ribbon/_theme-variables.bootstrap-dark.scss +0 -1
  255. package/styles/ribbon/_theme-variables.bootstrap.scss +0 -1
  256. package/styles/ribbon/_theme-variables.bootstrap4.scss +0 -1
  257. package/styles/ribbon/_theme-variables.bootstrap5-dark.scss +0 -1
  258. package/styles/ribbon/_theme-variables.bootstrap5.3.scss +0 -1
  259. package/styles/ribbon/_theme-variables.bootstrap5.scss +0 -1
  260. package/styles/ribbon/_theme-variables.fabric-dark.scss +0 -1
  261. package/styles/ribbon/_theme-variables.fabric.scss +0 -1
  262. package/styles/ribbon/_theme-variables.fluent-dark.scss +0 -1
  263. package/styles/ribbon/_theme-variables.fluent.scss +0 -1
  264. package/styles/ribbon/_theme-variables.fluent2.scss +0 -1
  265. package/styles/ribbon/_theme-variables.highcontrast-light.scss +0 -1
  266. package/styles/ribbon/_theme-variables.highcontrast.scss +0 -1
  267. package/styles/ribbon/_theme-variables.material-dark.scss +0 -1
  268. package/styles/ribbon/_theme-variables.material.scss +0 -1
  269. package/styles/ribbon/_theme-variables.material3-dark.scss +0 -1
  270. package/styles/ribbon/_theme-variables.material3.scss +0 -1
  271. package/styles/ribbon/_theme-variables.tailwind-dark.scss +0 -1
  272. package/styles/ribbon/_theme-variables.tailwind.scss +0 -1
  273. package/styles/ribbon/_theme-variables.tailwind3.scss +0 -1
  274. package/styles/ribbon/_theme.bds.scss +0 -4
  275. package/styles/ribbon/_theme.bootstrap-dark.scss +0 -4
  276. package/styles/ribbon/_theme.bootstrap.scss +0 -4
  277. package/styles/ribbon/_theme.bootstrap4.scss +0 -4
  278. package/styles/ribbon/_theme.bootstrap5-dark.scss +0 -4
  279. package/styles/ribbon/_theme.bootstrap5.3.scss +0 -4
  280. package/styles/ribbon/_theme.bootstrap5.scss +0 -4
  281. package/styles/ribbon/_theme.fabric-dark.scss +0 -4
  282. package/styles/ribbon/_theme.fabric.scss +0 -4
  283. package/styles/ribbon/_theme.fluent-dark.scss +0 -4
  284. package/styles/ribbon/_theme.fluent.scss +0 -4
  285. package/styles/ribbon/_theme.fluent2.scss +0 -4
  286. package/styles/ribbon/_theme.highcontrast-light.scss +0 -4
  287. package/styles/ribbon/_theme.highcontrast.scss +0 -4
  288. package/styles/ribbon/_theme.material-dark.scss +0 -4
  289. package/styles/ribbon/_theme.material.scss +0 -4
  290. package/styles/ribbon/_theme.material3-dark.scss +0 -4
  291. package/styles/ribbon/_theme.material3.scss +0 -4
  292. package/styles/ribbon/_theme.tailwind-dark.scss +0 -4
  293. package/styles/ribbon/_theme.tailwind.scss +0 -4
  294. package/styles/ribbon/_theme.tailwind3.scss +0 -4
@@ -2081,7 +2081,16 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
2081
2081
  colorPickerSettings.beforeClose.call(_this);
2082
2082
  }
2083
2083
  },
2084
- beforeOpen: colorPickerSettings.beforeOpen,
2084
+ beforeOpen: function (e) {
2085
+ var target = _this.parent.getAppendToElement();
2086
+ var splitBtn = colorPicker['splitBtn'];
2087
+ if (splitBtn && splitBtn.dropDown && !target.contains(splitBtn.dropDown.element)) {
2088
+ target.appendChild(splitBtn.dropDown.element);
2089
+ }
2090
+ if (colorPickerSettings.beforeOpen) {
2091
+ colorPickerSettings.beforeOpen.call(_this, e);
2092
+ }
2093
+ },
2085
2094
  beforeTileRender: colorPickerSettings.beforeTileRender,
2086
2095
  created: colorPickerSettings.created,
2087
2096
  change: function (e) {
@@ -2150,6 +2159,16 @@ var RibbonColorPicker = /** @__PURE__ @class */ (function () {
2150
2159
  item.colorPickerSettings.beforeClose.call(_this);
2151
2160
  }
2152
2161
  };
2162
+ colorPickerObj.beforeOpen = function (e) {
2163
+ var target = _this.parent.getAppendToElement();
2164
+ var splitBtn = colorPickerObj['splitBtn'];
2165
+ if (splitBtn && splitBtn.dropDown && !target.contains(splitBtn.dropDown.element)) {
2166
+ target.appendChild(splitBtn.dropDown.element);
2167
+ }
2168
+ if (item.colorPickerSettings.beforeOpen) {
2169
+ item.colorPickerSettings.beforeOpen.call(_this, e);
2170
+ }
2171
+ };
2153
2172
  splitBtn.close = function () {
2154
2173
  if (target && !target.closest('.e-ribbon-group-overflow-ddb')) {
2155
2174
  if (overflowButton.element.classList.contains('e-active')) {
@@ -2322,7 +2341,21 @@ var RibbonComboBox = /** @__PURE__ @class */ (function () {
2322
2341
  text: comboBoxSettings.text,
2323
2342
  value: comboBoxSettings.value,
2324
2343
  width: comboBoxSettings.width,
2325
- beforeOpen: comboBoxSettings.beforeOpen,
2344
+ beforeOpen: function (e) {
2345
+ requestAnimationFrame(function () {
2346
+ if (!_this.parent) {
2347
+ return;
2348
+ }
2349
+ var target = _this.parent.getAppendToElement();
2350
+ var popupEle = document.getElementById(inputEle.id + '_popup');
2351
+ if (popupEle && !target.contains(popupEle)) {
2352
+ target.appendChild(popupEle);
2353
+ }
2354
+ });
2355
+ if (comboBoxSettings.beforeOpen) {
2356
+ comboBoxSettings.beforeOpen.call(_this, e);
2357
+ }
2358
+ },
2326
2359
  open: comboBoxSettings.open,
2327
2360
  htmlAttributes: comboBoxSettings.htmlAttributes,
2328
2361
  close: function (e) {
@@ -2359,6 +2392,21 @@ var RibbonComboBox = /** @__PURE__ @class */ (function () {
2359
2392
  var inputEle = itemEle.querySelector('#' + item.id);
2360
2393
  inputEle.setAttribute('data-control', item.type.toString());
2361
2394
  var comboBoxObj = getComponent(inputEle, ComboBox);
2395
+ comboBoxObj.beforeOpen = function (e) {
2396
+ requestAnimationFrame(function () {
2397
+ if (!_this.parent) {
2398
+ return;
2399
+ }
2400
+ var target = _this.parent.getAppendToElement();
2401
+ var popupEle = document.getElementById(item.id + '_popup');
2402
+ if (popupEle && !target.contains(popupEle)) {
2403
+ target.appendChild(popupEle);
2404
+ }
2405
+ });
2406
+ if (item.comboBoxSettings.beforeOpen) {
2407
+ item.comboBoxSettings.beforeOpen.call(_this, e);
2408
+ }
2409
+ };
2362
2410
  comboBoxObj.setProperties({ cssClass: comboBoxObj.cssClass + SPACE + RIBBON_POPUP_CONTROL });
2363
2411
  comboBoxObj.close = function (e) {
2364
2412
  var target = e.event ? e.event.target : null;
@@ -3061,9 +3109,15 @@ var RibbonSplitButton = /** @__PURE__ @class */ (function () {
3061
3109
  }
3062
3110
  };
3063
3111
  var target;
3064
- splitbutton.beforeOpen = function (e) {
3112
+ splitbutton.beforeOpen = function () {
3113
+ var splitBtn = getComponent(splitButtonEle, SplitButton);
3114
+ var popupEl = splitBtn && splitBtn.dropDown ? splitBtn.dropDown.element : null;
3115
+ var target = _this.parent.getAppendToElement();
3116
+ if (popupEl && !target.contains(popupEl)) {
3117
+ target.appendChild(popupEl);
3118
+ }
3065
3119
  if (item.splitButtonSettings.beforeOpen) {
3066
- item.splitButtonSettings.beforeOpen.call(_this, e);
3120
+ item.splitButtonSettings.beforeOpen.call(_this);
3067
3121
  }
3068
3122
  };
3069
3123
  splitbutton.beforeClose = function (e) {
@@ -3504,6 +3558,7 @@ function createTooltip(element, ribbon) {
3504
3558
  var ribbonTooltip = new Tooltip({
3505
3559
  target: '.' + RIBBON_TOOLTIP_TARGET,
3506
3560
  beforeRender: beforeTooltipRender.bind(this),
3561
+ beforeOpen: beforeTooltipOpen.bind(this),
3507
3562
  windowCollision: true
3508
3563
  });
3509
3564
  ribbonTooltip.appendTo(element);
@@ -3515,6 +3570,13 @@ function createTooltip(element, ribbon) {
3515
3570
  function beforeTooltipRender(args) {
3516
3571
  setToolTipContent(args, ribbonTooltip, ribbon.tooltipData);
3517
3572
  }
3573
+ function beforeTooltipOpen(args) {
3574
+ var target = ribbon.getAppendToElement();
3575
+ var tooltipPopup = args.element;
3576
+ if (tooltipPopup && !target.contains(tooltipPopup)) {
3577
+ target.appendChild(tooltipPopup);
3578
+ }
3579
+ }
3518
3580
  }
3519
3581
  /**
3520
3582
  * Destroys tooltip
@@ -3683,15 +3745,21 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3683
3745
  }
3684
3746
  count++;
3685
3747
  }
3686
- var dropdown = new DropDownButton({
3748
+ var dropdown_1 = new DropDownButton({
3687
3749
  iconCss: dropdownIcon,
3688
3750
  target: btnContainerEle,
3689
3751
  enableRtl: this.parent.enableRtl,
3690
3752
  cssClass: 'e-ribbon-dropdown-group-button',
3691
- disabled: item.disabled
3753
+ disabled: item.disabled,
3754
+ beforeOpen: function () {
3755
+ var target = _this.parent.getAppendToElement();
3756
+ if (dropdown_1 && dropdown_1.dropDown && !target.contains(dropdown_1.dropDown.element)) {
3757
+ target.appendChild(dropdown_1.dropDown.element);
3758
+ }
3759
+ }
3692
3760
  }, buttonEle);
3693
3761
  if (groupBtnSettings.header) {
3694
- var dropDownPopup = dropdown.dropDown;
3762
+ var dropDownPopup = dropdown_1.dropDown;
3695
3763
  this.addGroupButtonHeader(item.id, groupBtnSettings, dropDownPopup.element);
3696
3764
  }
3697
3765
  buttonEle.onclick = buttonEle.onkeydown = function () {
@@ -3859,15 +3927,21 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3859
3927
  }
3860
3928
  itemsCount++;
3861
3929
  }
3862
- var dropdown = new DropDownButton({
3930
+ var dropdown_2 = new DropDownButton({
3863
3931
  iconCss: dropdownIcon,
3864
3932
  target: containerEle,
3865
3933
  enableRtl: this.parent.enableRtl,
3866
3934
  cssClass: 'e-ribbon-dropdown-group-button',
3867
- disabled: item.disabled
3935
+ disabled: item.disabled,
3936
+ beforeOpen: function () {
3937
+ var target = _this.parent.getAppendToElement();
3938
+ if (dropdown_2 && dropdown_2.dropDown && !target.contains(dropdown_2.dropDown.element)) {
3939
+ target.appendChild(dropdown_2.dropDown.element);
3940
+ }
3941
+ }
3868
3942
  }, buttonEle);
3869
3943
  if (groupBtnSettings.header) {
3870
- var dropDownPopup = dropdown.dropDown;
3944
+ var dropDownPopup = dropdown_2.dropDown;
3871
3945
  this.addGroupButtonHeader(item.id, groupBtnSettings, dropDownPopup.element);
3872
3946
  }
3873
3947
  buttonEle.onclick = buttonEle.onkeydown = function () {
@@ -4505,7 +4579,8 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4505
4579
  className: 'e-ribbon-gallery-popup',
4506
4580
  id: item.id + '_galleryPopup'
4507
4581
  });
4508
- document.body.append(gallerypopupElement);
4582
+ var appendTarget = this.parent.getAppendToElement();
4583
+ appendTarget.append(gallerypopupElement);
4509
4584
  var galleryPopup = new Popup(gallerypopupElement, {
4510
4585
  relateTo: buttonEle,
4511
4586
  content: popupContainer,
@@ -4610,13 +4685,20 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4610
4685
  var popupEle = document.querySelector('#' + item.id + '_galleryPopup');
4611
4686
  var popup_1 = getComponent(popupEle, Popup);
4612
4687
  var popupContainerEle_1 = document.querySelector('#' + item.id + '_galleryPopup .e-ribbon-popup-container');
4613
- var dropdown = new DropDownButton({
4688
+ var dropdown_1 = new DropDownButton({
4614
4689
  iconCss: iconCss,
4615
4690
  content: content,
4616
4691
  target: popupContainerEle_1,
4617
4692
  enableRtl: this.parent.enableRtl,
4618
4693
  cssClass: 'e-ribbon-gallery-dropdown',
4619
4694
  disabled: item.disabled,
4695
+ beforeOpen: function () {
4696
+ var target = _this.parent.getAppendToElement();
4697
+ var dropDownPopup = dropdown_1 && dropdown_1.dropDown ? dropdown_1.dropDown.element : null;
4698
+ if (dropDownPopup && !target.contains(dropDownPopup)) {
4699
+ target.appendChild(dropDownPopup);
4700
+ }
4701
+ },
4620
4702
  open: function () {
4621
4703
  var popupContainerItems = popupContainerEle_1.querySelectorAll('.e-ribbon-gallery-container');
4622
4704
  _this.setWrapperStyle(popup_1, popupContainerItems);
@@ -4633,11 +4715,11 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4633
4715
  }
4634
4716
  }, buttonEle_1);
4635
4717
  if (popup_1.width !== 'auto') {
4636
- dropdown.dropDown.width = formatUnit(popup_1.width);
4718
+ dropdown_1.dropDown.width = formatUnit(popup_1.width);
4637
4719
  }
4638
4720
  if (popup_1.height !== 'auto') {
4639
- dropdown.dropDown.height = formatUnit(popup_1.height);
4640
- dropdown.dropDown.element.style.height = (popup_1.height).toString();
4721
+ dropdown_1.dropDown.height = formatUnit(popup_1.height);
4722
+ dropdown_1.dropDown.element.style.height = (popup_1.height).toString();
4641
4723
  }
4642
4724
  }
4643
4725
  };
@@ -4741,6 +4823,10 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4741
4823
  if (isCancelled) {
4742
4824
  return;
4743
4825
  }
4826
+ var target = this.parent.getAppendToElement();
4827
+ if (!target.contains(popupEle)) {
4828
+ target.appendChild(popupEle);
4829
+ }
4744
4830
  popup.show();
4745
4831
  this.checkCollision(popup, popupEle);
4746
4832
  var buttonEle = document.querySelector('#' + itemID + '_popupButton');
@@ -9720,7 +9806,6 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
9720
9806
  _super.prototype.destroy.call(this);
9721
9807
  this.tabObj.destroy();
9722
9808
  this.tabObj = undefined;
9723
- this.l10n = null;
9724
9809
  this.initialPropsData = {};
9725
9810
  this.hiddenGroups = [];
9726
9811
  this.hiddenElements = {};
@@ -10026,6 +10111,13 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
10026
10111
  if (!isOpen && args.event && args.event.target.closest('.e-ribbon-menu')) {
10027
10112
  args.cancel = true;
10028
10113
  }
10114
+ if (isOpen && this.fileMenuDDB && this.fileMenuDDB.dropDown) {
10115
+ var target = this.parent.getAppendToElement();
10116
+ var popupEl = this.fileMenuDDB.dropDown.element;
10117
+ if (popupEl && !target.contains(popupEl)) {
10118
+ target.appendChild(popupEl);
10119
+ }
10120
+ }
10029
10121
  var event = isOpen ? this.parent.fileMenu.beforeOpen :
10030
10122
  this.parent.fileMenu.beforeClose;
10031
10123
  if (event) {
@@ -10087,6 +10179,13 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
10087
10179
  }, this);
10088
10180
  };
10089
10181
  RibbonFileMenu.prototype.menuBeforeEvent = function (isOpen, args) {
10182
+ if (isOpen) {
10183
+ var target = this.parent.getAppendToElement();
10184
+ var popup = args.element && args.element.closest('.e-popup');
10185
+ if (popup && !target.contains(popup)) {
10186
+ target.appendChild(popup);
10187
+ }
10188
+ }
10090
10189
  var event = isOpen ? this.parent.fileMenu.beforeOpen :
10091
10190
  this.parent.fileMenu.beforeClose;
10092
10191
  if (event) {