@eclipse-scout/core 22.0.1 → 22.0.11

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 (156) hide show
  1. package/dist/eclipse-scout-core-e5e8740e3649f5b9f279.min.js +2 -0
  2. package/dist/eclipse-scout-core-e5e8740e3649f5b9f279.min.js.map +1 -0
  3. package/dist/eclipse-scout-core-theme-74b63e0d57bed407a729.min.css +1 -0
  4. package/dist/eclipse-scout-core-theme-dark-b82aea152f416e38ce7f.min.css +1 -0
  5. package/dist/eclipse-scout-core-theme-dark.css +517 -361
  6. package/dist/eclipse-scout-core-theme-dark.css.map +1 -1
  7. package/dist/eclipse-scout-core-theme.css +300 -144
  8. package/dist/eclipse-scout-core-theme.css.map +1 -1
  9. package/dist/eclipse-scout-core.js +1150 -766
  10. package/dist/eclipse-scout-core.js.map +1 -1
  11. package/dist/file-list +7 -0
  12. package/dist/locales.json +47126 -0
  13. package/dist/texts.json +1153 -0
  14. package/package.json +2 -2
  15. package/src/ErrorHandler.js +66 -28
  16. package/src/{table/TableHeaderMenuButtonKeyStroke.js → action/ActionExecKeyStroke.js} +4 -5
  17. package/src/action/Button.less +1 -0
  18. package/src/box/Box.less +10 -6
  19. package/src/breadcrumbbar/BreadcrumbItem.less +3 -6
  20. package/src/calendar/Calendar.js +40 -58
  21. package/src/calendar/Calendar.less +10 -10
  22. package/src/calendar/CalendarLayout.js +3 -1
  23. package/src/checkbox/CheckBox.less +3 -1
  24. package/src/datepicker/DatePicker.less +1 -0
  25. package/src/datepicker/DatePickerTouchPopup.js +8 -0
  26. package/src/desktop/DisableBrowserF5ReloadKeyStroke.js +1 -0
  27. package/src/desktop/bench/DesktopTabSelectKeyStroke.js +2 -1
  28. package/src/desktop/desktoptab/DesktopTab.less +5 -2
  29. package/src/desktop/desktoptab/DesktopTabArea.less +7 -3
  30. package/src/desktop/desktoptab/DisableBrowserTabSwitchingKeyStroke.js +1 -0
  31. package/src/desktop/navigation/DesktopNavigation.less +4 -0
  32. package/src/desktop/navigation/EnlargeNavigationKeyStroke.js +1 -0
  33. package/src/desktop/navigation/ShrinkNavigationKeyStroke.js +1 -0
  34. package/src/desktop/notification/DesktopNotification.js +11 -4
  35. package/src/desktop/notification/DesktopNotification.less +5 -3
  36. package/src/desktop/outline/Outline.less +4 -4
  37. package/src/desktop/viewbutton/ViewButton.less +13 -9
  38. package/src/desktop/viewbutton/ViewMenuPopupEnterKeyStroke.js +2 -1
  39. package/src/desktop/viewbutton/ViewMenuTab.less +3 -2
  40. package/src/filechooser/FileChooser.js +1 -1
  41. package/src/filechooser/FileChooser.less +16 -11
  42. package/src/focus/FocusContext.js +11 -8
  43. package/src/focus/FocusManager.js +24 -5
  44. package/src/form/Form.less +1 -0
  45. package/src/form/fields/LookupBox.js +5 -2
  46. package/src/form/fields/LookupBox.less +28 -2
  47. package/src/form/fields/TextFieldIcon.less +2 -2
  48. package/src/form/fields/ValueField.js +11 -2
  49. package/src/form/fields/breadcrumbbarfield/BreadcrumbBarField.less +20 -0
  50. package/src/form/fields/button/ButtonKeyStroke.js +0 -3
  51. package/src/form/fields/datefield/DateField.js +31 -47
  52. package/src/form/fields/filechooserfield/FileChooserFieldBrowseKeyStroke.js +1 -3
  53. package/src/form/fields/filechooserfield/FileChooserFieldDeleteKeyStroke.js +1 -3
  54. package/src/form/fields/groupbox/GroupBox.js +14 -9
  55. package/src/form/fields/groupbox/GroupBox.less +1 -0
  56. package/src/form/fields/htmlfield/HtmlField.less +0 -1
  57. package/src/form/fields/listbox/ListBox.js +13 -7
  58. package/src/form/fields/lookupfield/lookupField.js +6 -5
  59. package/src/form/fields/smartfield/ProposalField.js +2 -1
  60. package/src/form/fields/smartfield/ProposalTreeNode.js +4 -8
  61. package/src/form/fields/smartfield/SmartField.js +4 -20
  62. package/src/form/fields/smartfield/SmartField.less +24 -11
  63. package/src/form/fields/splitbox/SplitBoxCollapseKeyStroke.js +1 -0
  64. package/src/form/fields/splitbox/SplitBoxFirstCollapseKeyStroke.js +1 -0
  65. package/src/form/fields/splitbox/SplitBoxSecondCollapseKeyStroke.js +1 -0
  66. package/src/form/fields/tabbox/TabAreaLayout.js +63 -66
  67. package/src/form/fields/tabbox/TabAreaLeftKeyStroke.js +2 -0
  68. package/src/form/fields/tabbox/TabAreaRightKeyStroke.js +2 -0
  69. package/src/form/fields/tabbox/TabBox.js +8 -7
  70. package/src/form/fields/tabbox/TabBox.less +2 -1
  71. package/src/form/fields/tabbox/TabBoxHeader.js +4 -0
  72. package/src/form/fields/tabbox/TabBoxHeaderLayout.js +5 -5
  73. package/src/form/fields/tabbox/TabItem.js +4 -0
  74. package/src/form/fields/treebox/TreeBox.js +6 -5
  75. package/src/glasspane/GlassPane.js +3 -3
  76. package/src/group/Group.less +1 -1
  77. package/src/index.js +1 -1
  78. package/src/index.less +1 -0
  79. package/src/jquery/jquery-scout.js +17 -4
  80. package/src/keystroke/CloseKeyStroke.js +1 -0
  81. package/src/keystroke/ContextMenuKeyStroke.js +1 -0
  82. package/src/keystroke/FocusFilterFieldKeyStroke.js +1 -0
  83. package/src/keystroke/KeyStroke.js +11 -3
  84. package/src/keystroke/TabItemKeyStroke.js +8 -5
  85. package/src/logging/logging.js +16 -8
  86. package/src/login/LoginBox.js +3 -2
  87. package/src/login/LoginBox.less +18 -1
  88. package/src/menu/ContextMenuPopup.less +9 -2
  89. package/src/menu/Menu.less +1 -0
  90. package/src/menu/MenuExecKeyStroke.js +3 -17
  91. package/src/menu/MenuNavigationKeyStroke.js +1 -0
  92. package/src/menu/menubar/MenuBarLeftKeyStroke.js +2 -0
  93. package/src/menu/menubar/MenuBarRightKeyStroke.js +2 -0
  94. package/src/messagebox/MessageBox.less +17 -17
  95. package/src/modeselector/Mode.less +15 -37
  96. package/src/modeselector/ModeSelector.js +1 -1
  97. package/src/modeselector/ModeSelector.less +2 -1
  98. package/src/planner/Planner.js +2 -0
  99. package/src/planner/PlannerHeader.less +2 -1
  100. package/src/popup/Popup.js +24 -8
  101. package/src/popup/PopupLayout.js +2 -8
  102. package/src/scrollbar/Scrollbar.less +8 -1
  103. package/src/scrollbar/scrollbars.js +26 -4
  104. package/src/session/Session.js +8 -5
  105. package/src/style/colors-dark.less +17 -10
  106. package/src/style/colors.less +11 -3
  107. package/src/style/fonts.less +10 -1
  108. package/src/style/mixins.less +16 -12
  109. package/src/style/sizes-dark.less +4 -1
  110. package/src/style/sizes.less +17 -9
  111. package/src/table/Table.js +62 -48
  112. package/src/table/Table.less +50 -20
  113. package/src/table/TableAdapter.js +9 -12
  114. package/src/table/TableHeader.js +10 -8
  115. package/src/table/TableHeader.less +1 -0
  116. package/src/table/TableHeaderMenu.js +3 -1
  117. package/src/table/TableHeaderMenu.less +7 -2
  118. package/src/table/TableHeaderMenuButton.js +2 -2
  119. package/src/table/TableLayout.js +6 -0
  120. package/src/table/columns/BooleanColumn.js +2 -2
  121. package/src/table/columns/Column.js +10 -7
  122. package/src/table/editor/CellEditorPopup.js +29 -15
  123. package/src/table/keystrokes/AbstractTableNavigationKeyStroke.js +1 -0
  124. package/src/table/keystrokes/TableCopyKeyStroke.js +1 -0
  125. package/src/table/keystrokes/TableNavigationCollapseKeyStroke.js +2 -2
  126. package/src/table/keystrokes/TableNavigationEndKeyStroke.js +2 -2
  127. package/src/table/keystrokes/TableNavigationExpandKeyStroke.js +2 -2
  128. package/src/table/keystrokes/TableNavigationHomeKeyStroke.js +2 -2
  129. package/src/table/keystrokes/TableNavigationPageDownKeyStroke.js +2 -2
  130. package/src/table/keystrokes/TableNavigationPageUpKeyStroke.js +2 -2
  131. package/src/table/keystrokes/TableNavigationUpKeyStroke.js +2 -2
  132. package/src/table/keystrokes/TableRefreshKeyStroke.js +2 -2
  133. package/src/table/keystrokes/TableSelectAllKeyStroke.js +3 -2
  134. package/src/table/keystrokes/TableStartCellEditKeyStroke.js +2 -2
  135. package/src/testing/index.js +1 -0
  136. package/src/testing/lookup/AbortableMicrotaskStaticLookupCall.js +50 -0
  137. package/src/tile/TileGrid.js +10 -12
  138. package/src/tile/TileGridLayout.js +2 -2
  139. package/src/tile/accordion/TileAccordion.js +16 -1
  140. package/src/tile/fields/FormFieldTile.less +18 -11
  141. package/src/tile/fields/tablefield/TileTableField.less +19 -2
  142. package/src/tile/keystrokes/TileGridSelectKeyStroke.js +3 -2
  143. package/src/timepicker/TimePickerTouchPopup.js +8 -0
  144. package/src/tree/CompactTree.less +1 -1
  145. package/src/tree/Tree.js +4 -4
  146. package/src/tree/Tree.less +13 -5
  147. package/src/tree/keystrokes/AbstractTreeNavigationKeyStroke.js +1 -0
  148. package/src/tree/keystrokes/TreeCollapseAllKeyStroke.js +2 -2
  149. package/src/tree/keystrokes/TreeExpandOrDrillDownKeyStroke.js +2 -2
  150. package/src/tree/keystrokes/TreeNavigationDownKeyStroke.js +2 -2
  151. package/src/tree/keystrokes/TreeNavigationEndKeyStroke.js +2 -2
  152. package/src/tree/keystrokes/TreeNavigationUpKeyStroke.js +2 -2
  153. package/src/util/Device.js +4 -4
  154. package/src/util/arrays.js +44 -2
  155. package/src/util/objects.js +4 -1
  156. package/src/widget/Widget.js +17 -7
@@ -618,23 +618,41 @@ class ErrorHandler {
618
618
 
619
619
  _onWindowError(errorMessage, fileName, lineNumber, columnNumber, error) {
620
620
  try {
621
+ if (this._isIgnorableScriptError(errorMessage, fileName, lineNumber, columnNumber, error)) {
622
+ this.handleErrorInfo({
623
+ log: "Ignoring error. Message: ".concat(errorMessage),
624
+ level: _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.INFO
625
+ });
626
+ return;
627
+ }
628
+
621
629
  if (error instanceof Error) {
622
630
  this.handle(error).catch(error => {
623
631
  console.error('Error in global JavaScript error handler', error);
624
632
  });
625
- } else {
626
- let code = 'J00';
627
- let log = errorMessage + ' at ' + fileName + ':' + lineNumber + '\n(' + 'Code ' + code + ')';
628
- this.handleErrorInfo({
629
- code: code,
630
- message: errorMessage,
631
- log: log
632
- });
633
+ return;
633
634
  }
635
+
636
+ let code = 'J00';
637
+ let log = errorMessage + ' at ' + fileName + ':' + lineNumber + '\n(' + 'Code ' + code + ')';
638
+ this.handleErrorInfo({
639
+ code: code,
640
+ message: errorMessage,
641
+ log: log
642
+ });
634
643
  } catch (err) {
635
644
  throw new Error('Error in global JavaScript error handler: ' + err.message + ' (original error: ' + errorMessage + ' at ' + fileName + ':' + lineNumber + ')');
636
645
  }
637
646
  }
647
+
648
+ _isIgnorableScriptError(message, fileName, lineNumber, columnNumber, error) {
649
+ // Ignore errors caused by scripts from a different origin.
650
+ // Example: Firefox on iOS throws an error, probably caused by an internal Firefox script.
651
+ // The error does not affect the application and cannot be prevented by the app either since we don't know what script it is and what it does.
652
+ // In that case the error must no be shown to the user, instead just log it silently.
653
+ // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
654
+ return message && message.toLowerCase().indexOf('script error') > -1 && !fileName && !lineNumber && !columnNumber && !error;
655
+ }
638
656
  /**
639
657
  * Handles unexpected JavaScript errors. The arguments are first analyzed and then handled.
640
658
  *
@@ -859,23 +877,10 @@ class ErrorHandler {
859
877
 
860
878
 
861
879
  handleErrorInfo(errorInfo) {
862
- if (this.logError && errorInfo.log) {
863
- jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error(errorInfo.log); // Note: when the null-logger is active it has already written the error to the console
864
- // when the $.log.error function has been called above, so we don't have to log again here.
880
+ errorInfo.level = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(errorInfo.level, _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR);
865
881
 
866
- let writeToConsole = ErrorHandler.CONSOLE_OUTPUT;
867
-
868
- if ((jquery__WEBPACK_IMPORTED_MODULE_1___default().log) instanceof _index__WEBPACK_IMPORTED_MODULE_0__.NullLogger) {
869
- writeToConsole = false;
870
- }
871
-
872
- if (writeToConsole && window && window.console) {
873
- if (window.console.error) {
874
- window.console.error(errorInfo.log);
875
- } else if (window.console.log) {
876
- window.console.log(errorInfo.log);
877
- }
878
- }
882
+ if (this.logError && errorInfo.log) {
883
+ this._logErrorInfo(errorInfo);
879
884
  } // Note: The error handler is installed globally and we cannot tell in which scout session the error happened.
880
885
  // We simply use the first scout session to display the message box and log the error. This is not ideal in the
881
886
  // multi-session-case (portlet), but currently there is no other way. Besides, this feature is not in use yet.
@@ -884,17 +889,58 @@ class ErrorHandler {
884
889
  if (_index__WEBPACK_IMPORTED_MODULE_0__.App.get().sessions.length > 0) {
885
890
  let session = _index__WEBPACK_IMPORTED_MODULE_0__.App.get().sessions[0];
886
891
 
887
- if (this.displayError) {
892
+ if (this.displayError && errorInfo.level === _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR) {
888
893
  this._showMessageBox(session, errorInfo.message, errorInfo.code, errorInfo.log);
889
894
  }
890
895
 
891
896
  if (this.sendError) {
892
- this._sendErrorMessage(session, errorInfo.log);
897
+ this._sendErrorMessage(session, errorInfo.log, errorInfo.level);
893
898
  }
894
899
  }
895
900
 
896
901
  return errorInfo;
897
902
  }
903
+
904
+ _logErrorInfo(errorInfo) {
905
+ switch (errorInfo.level) {
906
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.TRACE:
907
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.trace(errorInfo.log);
908
+ break;
909
+
910
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.DEBUG:
911
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.debug(errorInfo.log);
912
+ break;
913
+
914
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.INFO:
915
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info(errorInfo.log);
916
+ break;
917
+
918
+ case _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.WARN:
919
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.warn(errorInfo.log);
920
+ break;
921
+
922
+ default:
923
+ jquery__WEBPACK_IMPORTED_MODULE_1___default().log.error(errorInfo.log);
924
+ } // Note: when the null-logger is active it has already written the error to the console
925
+ // when the $.log.error function has been called above, so we don't have to log again here.
926
+
927
+
928
+ let writeToConsole = ErrorHandler.CONSOLE_OUTPUT;
929
+
930
+ if ((jquery__WEBPACK_IMPORTED_MODULE_1___default().log) instanceof _index__WEBPACK_IMPORTED_MODULE_0__.NullLogger) {
931
+ writeToConsole = false;
932
+ }
933
+
934
+ if (writeToConsole && window && window.console) {
935
+ if (errorInfo.level === _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR && window.console.error) {
936
+ window.console.error(errorInfo.log);
937
+ } else if (errorInfo.level === _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.WARN && window.console.warn) {
938
+ window.console.warn(errorInfo.log);
939
+ } else if (window.console.log) {
940
+ window.console.log(errorInfo.log);
941
+ }
942
+ }
943
+ }
898
944
  /**
899
945
  * Generate a "cool looking" error code from the JS error object, that
900
946
  * does not reveal too much technical information, but at least indicates
@@ -954,8 +1000,8 @@ class ErrorHandler {
954
1000
  session.showFatalMessage(options, errorCode);
955
1001
  }
956
1002
 
957
- _sendErrorMessage(session, logMessage) {
958
- session.sendLogRequest(logMessage);
1003
+ _sendErrorMessage(session, logMessage, logLevel) {
1004
+ session.sendLogRequest(logMessage, logLevel);
959
1005
  }
960
1006
 
961
1007
  }
@@ -2412,6 +2458,44 @@ class ActionAdapter extends _index__WEBPACK_IMPORTED_MODULE_0__.ModelAdapter {
2412
2458
 
2413
2459
  /***/ }),
2414
2460
 
2461
+ /***/ "./src/action/ActionExecKeyStroke.js":
2462
+ /*!*******************************************!*\
2463
+ !*** ./src/action/ActionExecKeyStroke.js ***!
2464
+ \*******************************************/
2465
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2466
+
2467
+ __webpack_require__.r(__webpack_exports__);
2468
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2469
+ /* harmony export */ "default": () => (/* binding */ ActionExecKeyStroke)
2470
+ /* harmony export */ });
2471
+ /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
2472
+ /*
2473
+ * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
2474
+ * All rights reserved. This program and the accompanying materials
2475
+ * are made available under the terms of the Eclipse Public License v1.0
2476
+ * which accompanies this distribution, and is available at
2477
+ * http://www.eclipse.org/legal/epl-v10.html
2478
+ *
2479
+ * Contributors:
2480
+ * BSI Business Systems Integration AG - initial API and implementation
2481
+ */
2482
+
2483
+ class ActionExecKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
2484
+ constructor(menu) {
2485
+ super();
2486
+ this.field = menu;
2487
+ this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.SPACE, _index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER];
2488
+ this.stopPropagation = true;
2489
+ }
2490
+
2491
+ handle(event) {
2492
+ this.field.doAction();
2493
+ }
2494
+
2495
+ }
2496
+
2497
+ /***/ }),
2498
+
2415
2499
  /***/ "./src/action/ActionKeyStroke.js":
2416
2500
  /*!***************************************!*\
2417
2501
  !*** ./src/action/ActionKeyStroke.js ***!
@@ -3429,7 +3513,7 @@ __webpack_require__.r(__webpack_exports__);
3429
3513
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3430
3514
 
3431
3515
  /*
3432
- * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
3516
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
3433
3517
  * All rights reserved. This program and the accompanying materials
3434
3518
  * are made available under the terms of the Eclipse Public License v1.0
3435
3519
  * which accompanies this distribution, and is available at
@@ -4212,7 +4296,8 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4212
4296
  this.$topGrid.find('.calendar-day-name').data('new-width', 0);
4213
4297
  this.$grids.find('.calendar-day').data('new-width', 0);
4214
4298
  let newWidthWorkWeek = Math.round(contentW / this.workDayIndices.length);
4215
- jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-day-name:nth-child(-n+6), ' + '.calendar-day:nth-child(-n+6)', this.$topGrid).data('new-width', newWidthWorkWeek);
4299
+ this.$topGrid.find('.calendar-day-name').slice(0, 5).data('new-width', newWidthWorkWeek);
4300
+ this.$topGrid.find('.calendar-day').slice(0, 5).data('new-width', newWidthWorkWeek);
4216
4301
  jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-day:nth-child(-n+6)', this.$grid).data('new-width', newWidthWorkWeek);
4217
4302
  this.widthPerDivision = newWidthWorkWeek;
4218
4303
  } else if (this._isMonth() || this._isWeek()) {
@@ -4229,23 +4314,33 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4229
4314
  $day = $comp.closest('.calendar-day');
4230
4315
  $comp.toggleClass('compact', $day.data('new-width') < _index__WEBPACK_IMPORTED_MODULE_0__.CalendarComponent.MONTH_COMPACT_THRESHOLD);
4231
4316
  });
4232
- }
4233
-
4234
- let afterLayoutCallback = this._afterLayout.bind(this); // animate old to new sizes
4317
+ } // animate old to new sizes
4235
4318
 
4236
4319
 
4237
- jquery__WEBPACK_IMPORTED_MODULE_1___default()('div', this.$container).each(function () {
4238
- let $e = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this),
4239
- w = $e.data('new-width'),
4240
- h = $e.data('new-height');
4320
+ jquery__WEBPACK_IMPORTED_MODULE_1___default()('div', this.$container).each((i, elem) => {
4321
+ let $e = jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem);
4322
+ let w = $e.data('new-width');
4323
+ let h = $e.data('new-height');
4241
4324
  $e.stop(false, true);
4242
4325
 
4243
4326
  if (w !== undefined && w !== $e.outerWidth()) {
4244
4327
  if (animate) {
4245
- $e.animateAVCSD('width', w, afterLayoutCallback.bind(this, $e, animate));
4328
+ let opts = {
4329
+ complete: () => this._afterLayout($e, animate)
4330
+ };
4331
+
4332
+ if ($e[0] === this.$grids[0]) {
4333
+ // Grid contains scroll shadows that should be updated during animation (don't due it always for performance reasons)
4334
+ opts.progress = () => this._afterLayout($e, animate);
4335
+ }
4336
+
4337
+ $e.animate({
4338
+ width: w
4339
+ }, opts);
4246
4340
  } else {
4247
4341
  $e.css('width', w);
4248
- afterLayoutCallback($e, animate);
4342
+
4343
+ this._afterLayout($e, animate);
4249
4344
  }
4250
4345
  }
4251
4346
 
@@ -4260,7 +4355,7 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4260
4355
  $e.addClass('hidden');
4261
4356
  }
4262
4357
 
4263
- afterLayoutCallback($e, animate);
4358
+ this._afterLayout($e, animate);
4264
4359
  });
4265
4360
  } else {
4266
4361
  $e.css('height', h);
@@ -4269,7 +4364,7 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4269
4364
  $e.addClass('hidden');
4270
4365
  }
4271
4366
 
4272
- afterLayoutCallback($e, animate);
4367
+ this._afterLayout($e, animate);
4273
4368
  }
4274
4369
  }
4275
4370
  });
@@ -4309,13 +4404,18 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4309
4404
 
4310
4405
  _updateScrollbars($parent, animate) {
4311
4406
  let $scrollables = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-scrollable-components', $parent);
4312
- $scrollables.each(function () {
4313
- let $scrollable = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this);
4314
- _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.update($scrollable, true);
4407
+ $scrollables.each((i, elem) => {
4408
+ _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.update(jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem), true);
4315
4409
  });
4316
4410
  this.updateScrollPosition(animate);
4317
4411
  }
4318
4412
 
4413
+ _uninstallComponentScrollbars($parent) {
4414
+ $parent.find('.calendar-scrollable-components').each((i, elem) => {
4415
+ _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.uninstall(jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem), this.session);
4416
+ });
4417
+ }
4418
+
4319
4419
  _updateTopGrid() {
4320
4420
  jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-component', this.$topGrid).each((index, part) => {
4321
4421
  let component = jquery__WEBPACK_IMPORTED_MODULE_1___default()(part).data('component');
@@ -4494,17 +4594,9 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4494
4594
  }
4495
4595
 
4496
4596
  _remove() {
4497
- let $days = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-day', this.$grid); // Ensure that scrollbars are unregistered
4597
+ this._uninstallComponentScrollbars(this.$grid);
4498
4598
 
4499
- for (let k = 0; k < $days.length; k++) {
4500
- let $day = $days.eq(k);
4501
- let $scrollableContainer = $day.children('.calendar-scrollable-components');
4502
-
4503
- if ($scrollableContainer.length > 0) {
4504
- _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.uninstall($scrollableContainer, this.session);
4505
- $scrollableContainer.remove();
4506
- }
4507
- }
4599
+ this._uninstallComponentScrollbars(this.$topGrid);
4508
4600
 
4509
4601
  this.$window.off('mousemove touchmove', this._mouseMoveHandler).off('mouseup touchend touchcancel', this._mouseUpHandler);
4510
4602
  this._moveData = null;
@@ -4639,6 +4731,8 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4639
4731
  if (this._isMonth()) {
4640
4732
  this._uninstallScrollbars();
4641
4733
 
4734
+ this._uninstallComponentScrollbars(this.$topGrid);
4735
+
4642
4736
  this.$grid.removeClass('calendar-scrollable-components');
4643
4737
  } else {
4644
4738
  this.$grid.addClass('calendar-scrollable-components'); // If we're in the non-month views, the time can scroll. Add scrollbars
@@ -4649,16 +4743,21 @@ class Calendar extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
4649
4743
  axis: 'y'
4650
4744
  });
4651
4745
 
4652
- let $topDays = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.calendar-scrollable-components', this.$topGrid);
4746
+ this.$topGrid.find('.calendar-scrollable-components').each((i, elem) => {
4747
+ let $topDay = jquery__WEBPACK_IMPORTED_MODULE_1___default()(elem);
4748
+
4749
+ if ($topDay.data('scrollable')) {
4750
+ _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.update($topDay);
4751
+ return;
4752
+ }
4653
4753
 
4654
- for (k = 0; k < $topDays.length; k++) {
4655
- let $topDay = $topDays.eq(k);
4656
4754
  _index__WEBPACK_IMPORTED_MODULE_0__.scrollbars.install($topDay, {
4657
4755
  parent: this,
4658
4756
  session: this.session,
4659
- axis: 'y'
4757
+ axis: 'y',
4758
+ scrollShadow: 'none'
4660
4759
  });
4661
- }
4760
+ });
4662
4761
  }
4663
4762
  }
4664
4763
 
@@ -5677,6 +5776,7 @@ class CalendarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout
5677
5776
  this.calendar = calendar;
5678
5777
  this.stacked = false;
5679
5778
  this.compacted = false;
5779
+ this.compactWidth = 550;
5680
5780
  }
5681
5781
 
5682
5782
  layout($container) {
@@ -5694,7 +5794,8 @@ class CalendarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout
5694
5794
  this.stack();
5695
5795
  }
5696
5796
 
5697
- if ($header[0].scrollWidth > $container.width()) {
5797
+ if ($container.width() < this.compactWidth || $header[0].scrollWidth > $container.width()) {
5798
+ // Title may take a lot of space, make it always compact for small devices so it won't toggle when changing display mode or view range
5698
5799
  this.compact();
5699
5800
  }
5700
5801
 
@@ -8318,6 +8419,16 @@ class DatePickerTouchPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.TouchPopu
8318
8419
 
8319
8420
  this._touchField._triggerAcceptInput();
8320
8421
  }
8422
+ /**
8423
+ * @override
8424
+ */
8425
+
8426
+
8427
+ _acceptInput() {
8428
+ this._field.acceptDate();
8429
+
8430
+ this.close();
8431
+ }
8321
8432
 
8322
8433
  }
8323
8434
 
@@ -10957,6 +11068,7 @@ class DisableBrowserF5ReloadKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
10957
11068
  this.keyStrokeFirePolicy = _index__WEBPACK_IMPORTED_MODULE_0__.Action.KeyStrokeFirePolicy.ALWAYS; // ignore glass panes
10958
11069
 
10959
11070
  this.renderingHints.render = false;
11071
+ this.inheritAccessibility = false;
10960
11072
  }
10961
11073
  /**
10962
11074
  * @override KeyStroke.js
@@ -12556,6 +12668,8 @@ class DesktopTabSelectKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Rang
12556
12668
  let viewIndex = event.which - _index__WEBPACK_IMPORTED_MODULE_0__.keys[1];
12557
12669
  return this._viewTabs()[viewIndex].$container;
12558
12670
  };
12671
+
12672
+ this.inheritAccessibility = false;
12559
12673
  }
12560
12674
  /**
12561
12675
  * @override KeyStroke.js
@@ -12931,6 +13045,7 @@ class DisableBrowserTabSwitchingKeyStroke extends _index__WEBPACK_IMPORTED_MODUL
12931
13045
 
12932
13046
  this.renderingHints.render = false;
12933
13047
  this.preventDefault = true;
13048
+ this.inheritAccessibility = false;
12934
13049
  }
12935
13050
  /**
12936
13051
  * @override KeyStroke.js
@@ -14106,6 +14221,8 @@ class EnlargeNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Key
14106
14221
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.forBrowser(_index__WEBPACK_IMPORTED_MODULE_0__.keys.ANGULAR_BRACKET)];
14107
14222
 
14108
14223
  this.renderingHints.$drawingArea = ($drawingArea, event) => this.desktop.$container;
14224
+
14225
+ this.inheritAccessibility = false;
14109
14226
  }
14110
14227
 
14111
14228
  _accept(event) {
@@ -14171,6 +14288,8 @@ class ShrinkNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyS
14171
14288
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.forBrowser(_index__WEBPACK_IMPORTED_MODULE_0__.keys.ANGULAR_BRACKET)];
14172
14289
 
14173
14290
  this.renderingHints.$drawingArea = ($drawingArea, event) => this.desktop.$container;
14291
+
14292
+ this.inheritAccessibility = false;
14174
14293
  }
14175
14294
 
14176
14295
  _accept(event) {
@@ -14376,18 +14495,19 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14376
14495
  }
14377
14496
 
14378
14497
  if (this.nativeNotificationVisibility === DesktopNotification.NativeNotificationVisibility.NONE) {
14498
+ this._hideLaterIfNativeOnly();
14499
+
14379
14500
  return;
14380
14501
  }
14381
14502
 
14382
14503
  if (this.nativeNotificationVisibility === DesktopNotification.NativeNotificationVisibility.BACKGROUND && !this._isDocumentHidden()) {
14504
+ this._hideLaterIfNativeOnly();
14505
+
14383
14506
  return;
14384
14507
  }
14385
14508
 
14386
14509
  if (window.Notification && Notification.permission === 'denied') {
14387
- if (this.nativeOnly) {
14388
- // If native notifications are not allowed, there is no need to keep the (invisible) desktop notification open
14389
- this.hide();
14390
- }
14510
+ this._hideLaterIfNativeOnly();
14391
14511
 
14392
14512
  return;
14393
14513
  }
@@ -14399,6 +14519,15 @@ class DesktopNotification extends _index__WEBPACK_IMPORTED_MODULE_0__.Notificati
14399
14519
  Notification.requestPermission(this._showNativeNotification.bind(this));
14400
14520
  }
14401
14521
  }
14522
+
14523
+ _hideLaterIfNativeOnly() {
14524
+ if (!this.nativeOnly) {
14525
+ return;
14526
+ } // If native notifications are not shown, there is no need to keep the (invisible) desktop notification open (prevent dom-leak)
14527
+
14528
+
14529
+ setTimeout(() => this.hide()); // async because this method is called in render and removing the notification within render throws exception
14530
+ }
14402
14531
  /**
14403
14532
  * Checks if browser supports the promise-based version of the method requestPermission. Safari only supports the older callback version.
14404
14533
  */
@@ -20125,6 +20254,8 @@ class ViewMenuPopupEnterKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ke
20125
20254
  return tile.$container;
20126
20255
  }
20127
20256
  };
20257
+
20258
+ this.inheritAccessibility = false;
20128
20259
  }
20129
20260
 
20130
20261
  accept(event) {
@@ -20705,7 +20836,7 @@ class FileChooser extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
20705
20836
  this.$container.addClass('calc-helper');
20706
20837
  let windowSize = this.$container.windowSize(); // Use css width, but ensure that it is not larger than the window (mobile)
20707
20838
 
20708
- let w = Math.min(this.$container.width(), windowSize.width - 20);
20839
+ let w = Math.min(this.$container.width(), windowSize.width);
20709
20840
  this.$container.css('min-width', w);
20710
20841
  this.$container.css('max-width', w);
20711
20842
  this.$container.removeClass('calc-helper'); // Render modality glass-panes
@@ -21611,7 +21742,7 @@ class FocusContext {
21611
21742
  let $target = jquery__WEBPACK_IMPORTED_MODULE_1___default()(event.target);
21612
21743
  $target.on('remove', this._removeListener);
21613
21744
  this.focusedElement = event.target; // Do not update current focus context nor validate focus if target is $entryPoint.
21614
- // That is because focusing the $entryPoint is done whenever no control is currently focusable, e.g. due to glasspanes.
21745
+ // That is because focusing the $entryPoint is done whenever no control is currently focusable, e.g. due to glass panes.
21615
21746
 
21616
21747
  if (event.target === this.$container.entryPoint(true)) {
21617
21748
  return;
@@ -21660,12 +21791,12 @@ class FocusContext {
21660
21791
  /**
21661
21792
  * Focuses the given element if being a child of this context's container and matches the given filter (if provided).
21662
21793
  *
21663
- * @param element
21664
- * the element to gain focus, or null to focus the context's first focusable element matching the given filter.
21665
- * @param filter
21666
- * filter to control which element to gain focus, or null to accept all focusable candidates.
21794
+ * @param {HTMLElement|$} [element]
21795
+ * the element to focus, or null to focus the context's first focusable element matching the given filter.
21796
+ * @param {function} [filter]
21797
+ * filter that controls which element should be focused, or null to accept all focusable candidates.
21667
21798
  * @param {object} [options]
21668
- * @param {boolean} [options.preventScroll] a boolean whether to prevent scrolling to focused element or not (defaults to false)
21799
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
21669
21800
  */
21670
21801
 
21671
21802
 
@@ -21710,8 +21841,11 @@ class FocusContext {
21710
21841
  }
21711
21842
  /**
21712
21843
  * Focuses the requested element.
21844
+ *
21845
+ * @param {HTMLElement} element
21846
+ * the element to focus, or null to focus the context's first focusable element matching the given filter.
21713
21847
  * @param {object} [options]
21714
- * @param {boolean} [options.preventScroll] a boolean whether to prevent scrolling to focused element or not (defaults to false)
21848
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
21715
21849
  */
21716
21850
 
21717
21851
 
@@ -21737,7 +21871,7 @@ class FocusContext {
21737
21871
  }
21738
21872
 
21739
21873
  elementToFocus = null;
21740
- } // Focus $entryPoint if current focus is to be blured.
21874
+ } // Focus $entryPoint if current focus is to be blurred.
21741
21875
  // Otherwise, the HTML body would be focused which makes global keystrokes (like backspace) not to work anymore.
21742
21876
 
21743
21877
 
@@ -21806,7 +21940,8 @@ class FocusManager {
21806
21940
  // Auto focusing of elements is bad with on screen keyboards -> deactivate to prevent unwanted popping up of the keyboard
21807
21941
  active: !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsOnlyTouch(),
21808
21942
  // Preventing blur is bad on touch devices because every touch on a non input field is supposed to close the keyboard which does not happen if preventDefault is used on mouse down
21809
- restrictedFocusGain: !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsOnlyTouch()
21943
+ restrictedFocusGain: !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsOnlyTouch(),
21944
+ session: null
21810
21945
  };
21811
21946
  jquery__WEBPACK_IMPORTED_MODULE_1___default().extend(this, defaults, options);
21812
21947
 
@@ -22056,16 +22191,35 @@ class FocusManager {
22056
22191
  }
22057
22192
 
22058
22193
  requestFocusIfReady(element, filter) {
22059
- return this.requestFocus(element, filter, true);
22194
+ return this.requestFocus(element, filter, {
22195
+ onlyIfReady: true
22196
+ });
22060
22197
  }
22061
22198
  /**
22062
22199
  * Requests the focus for the given element, but only if being a valid focus location.
22063
22200
  *
22201
+ * @param {HTMLElement|$} [element]
22202
+ * the element to focus, or null to focus the context's first focusable element matching the given filter.
22203
+ * @param {function} [filter]
22204
+ * filter that controls which element should be focused, or null to accept all focusable candidates.
22205
+ * @param {object|boolean} [options]
22206
+ * Use object, boolean is deprecated
22207
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
22208
+ * @param {boolean} [options.onlyIfReady] prevents focusing if not ready
22064
22209
  * @return {boolean} true if focus was gained, false otherwise.
22065
22210
  */
22066
22211
 
22067
22212
 
22068
- requestFocus(element, filter, onlyIfReady) {
22213
+ requestFocus(element, filter, options) {
22214
+ // backward compatibility
22215
+ if (typeof options === 'boolean') {
22216
+ options = {
22217
+ onlyIfReady: options
22218
+ };
22219
+ } else {
22220
+ options = options || {};
22221
+ }
22222
+
22069
22223
  element = element instanceof (jquery__WEBPACK_IMPORTED_MODULE_1___default()) ? element[0] : element;
22070
22224
 
22071
22225
  if (!element) {
@@ -22075,11 +22229,11 @@ class FocusManager {
22075
22229
  let context = this._findFocusContextFor(element);
22076
22230
 
22077
22231
  if (context) {
22078
- if (onlyIfReady && !context.prepared) {
22232
+ if (_index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(options.onlyIfReady, false) && !context.prepared) {
22079
22233
  return false;
22080
22234
  }
22081
22235
 
22082
- context.validateAndSetFocus(element, filter);
22236
+ context.validateAndSetFocus(element, filter, options);
22083
22237
  }
22084
22238
 
22085
22239
  return _index__WEBPACK_IMPORTED_MODULE_0__.focusUtils.isActiveElement(element);
@@ -28887,11 +29041,11 @@ __webpack_require__.r(__webpack_exports__);
28887
29041
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28888
29042
 
28889
29043
  /*
28890
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
29044
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
28891
29045
  * All rights reserved. This program and the accompanying materials
28892
29046
  * are made available under the terms of the Eclipse Public License v1.0
28893
29047
  * which accompanies this distribution, and is available at
28894
- * http://www.eclipse.org/legal/epl-v10.html
29048
+ * https://www.eclipse.org/legal/epl-v10.html
28895
29049
  *
28896
29050
  * Contributors:
28897
29051
  * BSI Business Systems Integration AG - initial API and implementation
@@ -28905,6 +29059,7 @@ class LookupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
28905
29059
  this.gridDataHints.weightY = 1.0;
28906
29060
  this.gridDataHints.h = 2;
28907
29061
  this.value = [];
29062
+ this.clearable = _index__WEBPACK_IMPORTED_MODULE_0__.ValueField.Clearable.NEVER;
28908
29063
  this.lookupCall = null;
28909
29064
  this._pendingLookup = null;
28910
29065
  this._currentLookupCall = null;
@@ -28953,6 +29108,8 @@ class LookupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
28953
29108
  this.$field.addClass('structure');
28954
29109
 
28955
29110
  this._renderFilterBox();
29111
+
29112
+ this.$container.css('--inactive-lookup-row-suffix-text', "'".concat(this.session.text('InactiveState'), "'"));
28956
29113
  }
28957
29114
 
28958
29115
  _renderFilterBox() {
@@ -29432,6 +29589,7 @@ class ValueField extends _index__WEBPACK_IMPORTED_MODULE_0__.FormField {
29432
29589
  this.value = null;
29433
29590
  this.validators = [];
29434
29591
  this.validators.push(this._validateValue.bind(this));
29592
+ this._updateDisplayTextPending = false;
29435
29593
  this.$clearIcon = null;
29436
29594
 
29437
29595
  this._addCloneProperties(['value', 'displayText', 'clearable']);
@@ -29976,14 +30134,22 @@ class ValueField extends _index__WEBPACK_IMPORTED_MODULE_0__.FormField {
29976
30134
  value = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(value, this.value);
29977
30135
  let returned = this.formatValue(value);
29978
30136
 
29979
- if (returned && jquery__WEBPACK_IMPORTED_MODULE_1___default().isFunction(returned.promise)) {
29980
- // Promise is returned -> set display text later
30137
+ if (_index__WEBPACK_IMPORTED_MODULE_0__.objects.isPromise(returned)) {
30138
+ this._updateDisplayTextPending = true; // Promise is returned -> set display text later
30139
+
29981
30140
  returned.done(this.setDisplayText.bind(this)).fail(() => {
29982
- this.setDisplayText('');
30141
+ // If display text was updated in the meantime, don't override the text with an empty string
30142
+ if (this._updateDisplayTextPending) {
30143
+ this.setDisplayText('');
30144
+ }
30145
+
29983
30146
  jquery__WEBPACK_IMPORTED_MODULE_1___default().log.isInfoEnabled() && jquery__WEBPACK_IMPORTED_MODULE_1___default().log.info('Could not resolve display text for value: ' + value);
30147
+ }).always(() => {
30148
+ this._updateDisplayTextPending = false;
29984
30149
  });
29985
30150
  } else {
29986
30151
  this.setDisplayText(returned);
30152
+ this._updateDisplayTextPending = false;
29987
30153
  }
29988
30154
  }
29989
30155
  /**
@@ -31864,10 +32030,6 @@ class ButtonKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
31864
32030
  this.stopPropagation = true;
31865
32031
  this.stopImmediatePropagation = true;
31866
32032
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
31867
-
31868
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
31869
- return this.field.$container;
31870
- }.bind(this);
31871
32033
  }
31872
32034
  /**
31873
32035
  * @override KeyStroke.js
@@ -33725,7 +33887,7 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
33725
33887
  }
33726
33888
 
33727
33889
  _renderDateClearable() {
33728
- if (this.hasDate || this.isClearable()) {
33890
+ if (this.hasDate && this.isClearable()) {
33729
33891
  if (!this.$dateClearIcon) {
33730
33892
  // date clear icon
33731
33893
  this.$dateClearIcon = this.$field.appendSpan('icon date-clear unfocusable text-field-icon action').on('mousedown', this._onDateClearIconMouseDown.bind(this));
@@ -33740,13 +33902,17 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
33740
33902
  }
33741
33903
 
33742
33904
  _renderTimeClearable() {
33743
- if (this.hasTime && this.isClearable() && !this.$timeClearIcon) {
33744
- // date clear icon
33745
- this.$timeClearIcon = this.$field.appendSpan('icon time-clear unfocusable text-field-icon action').on('mousedown', this._onTimeClearIconMouseDown.bind(this));
33746
- } else if ((!this.hasTime || !this.isClearable()) && this.$timeClearIcon) {
33747
- // Remove $dateField
33748
- this.$timeClearIcon.remove();
33749
- this.$timeClearIcon = null;
33905
+ if (this.hasTime && this.isClearable()) {
33906
+ if (!this.$timeClearIcon) {
33907
+ // time clear icon
33908
+ this.$timeClearIcon = this.$field.appendSpan('icon time-clear unfocusable text-field-icon action').on('mousedown', this._onTimeClearIconMouseDown.bind(this));
33909
+ }
33910
+ } else {
33911
+ if (this.$timeClearIcon) {
33912
+ // Remove clear icon
33913
+ this.$timeClearIcon.remove();
33914
+ this.$timeClearIcon = null;
33915
+ }
33750
33916
  }
33751
33917
  }
33752
33918
 
@@ -34280,29 +34446,23 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34280
34446
  }
34281
34447
 
34282
34448
  _onDatePickerDateSelect(event) {
34283
- this._setDateValid(true);
34284
-
34285
- this._setTimeValid(true);
34286
-
34287
- let newValue = this._newTimestampAsDate(event.date, this.value);
34288
-
34289
- this.setValue(newValue);
34290
- this.closePopup();
34291
-
34292
- this._triggerAcceptInput();
34449
+ this._setNewDateTimeValue(this._newTimestampAsDate(event.date, this.value));
34293
34450
  }
34294
34451
 
34295
34452
  _onTimePickerTimeSelect(event) {
34453
+ this._setNewDateTimeValue(this._newTimestampAsDate(this.value, event.time));
34454
+ }
34455
+
34456
+ _setNewDateTimeValue(newValue) {
34296
34457
  this._setDateValid(true);
34297
34458
 
34298
34459
  this._setTimeValid(true);
34299
34460
 
34300
- let newValue = this._newTimestampAsDate(this.value, event.time);
34301
-
34302
34461
  this.setValue(newValue);
34303
- this.closePopup();
34304
34462
 
34305
34463
  this._triggerAcceptInput();
34464
+
34465
+ this.closePopup();
34306
34466
  }
34307
34467
 
34308
34468
  _createPredictionField($inputField) {
@@ -34507,11 +34667,14 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34507
34667
  this.popup = this.createDatePopup();
34508
34668
  this.popup.open();
34509
34669
  this.$dateField.addClass('focused');
34510
- this.popup.on('remove', event => {
34511
- this._onPopupRemove(event);
34670
+ this.popup.one('destroy', event => {
34671
+ // Removing the class must happen before _onPopupDestroy() is called, otherwise the date field no longer exists,
34672
+ // because in touch mode _onPopupDestroy() destroys the date field.
34673
+ this.$dateField.removeClass('focused');
34674
+
34675
+ this._onPopupDestroy(event);
34512
34676
 
34513
34677
  this.popup = null;
34514
- this.$dateField.removeClass('focused');
34515
34678
  });
34516
34679
  this.getDatePicker().on('dateSelect', this._onDatePickerDateSelect.bind(this));
34517
34680
  }
@@ -34541,11 +34704,14 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34541
34704
  this.popup = this.createTimePopup();
34542
34705
  this.popup.open();
34543
34706
  this.$timeField.addClass('focused');
34544
- this.popup.on('remove', event => {
34545
- this._onPopupRemove(event);
34707
+ this.popup.one('destroy', event => {
34708
+ // Removing the class must happen before _onPopupDestroy() is called, otherwise the date field no longer exists,
34709
+ // because in touch mode _onPopupDestroy() destroys the date field.
34710
+ this.$timeField.removeClass('focused');
34711
+
34712
+ this._onPopupDestroy(event);
34546
34713
 
34547
34714
  this.popup = null;
34548
- this.$timeField.removeClass('focused');
34549
34715
  });
34550
34716
  this.getTimePicker().on('timeSelect', this._onTimePickerTimeSelect.bind(this));
34551
34717
  }
@@ -34843,7 +35009,7 @@ class DateField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
34843
35009
  }
34844
35010
  }
34845
35011
 
34846
- _onPopupRemove(event) {
35012
+ _onPopupDestroy(event) {
34847
35013
  if (!this.touchMode || !this._cellEditorPopup) {
34848
35014
  return;
34849
35015
  }
@@ -36160,9 +36326,7 @@ class FileChooserFieldBrowseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
36160
36326
  this.stopPropagation = true;
36161
36327
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.LEFT;
36162
36328
 
36163
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
36164
- return this.field.$fieldContainer;
36165
- }.bind(this);
36329
+ this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.$fieldContainer;
36166
36330
  }
36167
36331
  /**
36168
36332
  * @override KeyStroke.js
@@ -36208,9 +36372,7 @@ class FileChooserFieldDeleteKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
36208
36372
  this.renderingHints.offset = 25;
36209
36373
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
36210
36374
 
36211
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
36212
- return this.field.$fieldContainer;
36213
- }.bind(this);
36375
+ this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.$fieldContainer;
36214
36376
  }
36215
36377
  /**
36216
36378
  * @override KeyStroke.js
@@ -36284,6 +36446,7 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
36284
36446
  this.processButtons = [];
36285
36447
  this.processMenus = [];
36286
36448
  this.staticMenus = [];
36449
+ this.selectionKeystroke = null;
36287
36450
  this.responsive = null;
36288
36451
  this.$header = null;
36289
36452
  this.$body = null;
@@ -36404,13 +36567,13 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
36404
36567
  render: () => true,
36405
36568
  offset: 0,
36406
36569
  hAlign: _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT,
36407
- $drawingArea: function ($drawingArea, event) {
36408
- if (this.labelVisible) {
36570
+ $drawingArea: ($drawingArea, event) => {
36571
+ if (this.$header && this.$header.isVisible()) {
36409
36572
  return this.$header;
36410
36573
  }
36411
36574
 
36412
36575
  return this.$body;
36413
- }.bind(this)
36576
+ }
36414
36577
  };
36415
36578
  keyStrokes.forEach(keyStroke => {
36416
36579
  keyStroke.actionKeyStroke.renderingHints = jquery__WEBPACK_IMPORTED_MODULE_1___default().extend({}, keyStroke.actionKeyStroke.renderingHints, groupBoxRenderingHints);
@@ -36627,13 +36790,11 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
36627
36790
  this.$container.toggleClass('has-scroll-shadow-bottom', hasScrollShadowBottom);
36628
36791
 
36629
36792
  if ((headerVisible || hasMenubarTop) && oldHasScrollShadowTop !== hasScrollShadowTop || hasMenubarBottom && oldHasScrollShadowBottom !== hasScrollShadowBottom) {
36630
- this.invalidateLayout();
36793
+ this.invalidateLayoutTree(false);
36631
36794
  } // Enlarge header line if there is a shadow, but don't do it if there is a menubar on top
36632
36795
 
36633
36796
 
36634
- _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && headerVisible && !hasMenubarTop); // Prevent flickering of status icon
36635
-
36636
- this.validateLayout();
36797
+ _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && headerVisible && !hasMenubarTop);
36637
36798
  }
36638
36799
 
36639
36800
  setMainBox(mainBox) {
@@ -37075,10 +37236,18 @@ class GroupBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
37075
37236
  }
37076
37237
 
37077
37238
  _onControlClick(event) {
37078
- if (this.expandable) {
37079
- this.setExpanded(!this.expanded);
37239
+ if (!this.expandable) {
37240
+ return;
37080
37241
  }
37081
37242
 
37243
+ const target = _index__WEBPACK_IMPORTED_MODULE_0__.scout.widget(event.target);
37244
+
37245
+ if (this.menuBarPosition === GroupBox.MenuBarPosition.TITLE && this.menuBar.has(target)) {
37246
+ // If the position of the menubar is set to title and a menu has been clicked, then the event must not be handled
37247
+ return;
37248
+ }
37249
+
37250
+ this.setExpanded(!this.expanded);
37082
37251
  jquery__WEBPACK_IMPORTED_MODULE_1___default().suppressEvent(event); // otherwise, the event would be triggered twice sometimes (by group-box-control and group-box-title)
37083
37252
  }
37084
37253
 
@@ -38503,11 +38672,11 @@ __webpack_require__.r(__webpack_exports__);
38503
38672
  /* harmony export */ });
38504
38673
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
38505
38674
  /*
38506
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
38675
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
38507
38676
  * All rights reserved. This program and the accompanying materials
38508
38677
  * are made available under the terms of the Eclipse Public License v1.0
38509
38678
  * which accompanies this distribution, and is available at
38510
- * http://www.eclipse.org/legal/epl-v10.html
38679
+ * https://www.eclipse.org/legal/epl-v10.html
38511
38680
  *
38512
38681
  * Contributors:
38513
38682
  * BSI Business Systems Integration AG - initial API and implementation
@@ -38518,7 +38687,6 @@ class ListBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
38518
38687
  super();
38519
38688
  this.table = null;
38520
38689
  this.lookupStatus = null;
38521
- this.clearable = _index__WEBPACK_IMPORTED_MODULE_0__.ValueField.Clearable.NEVER;
38522
38690
 
38523
38691
  this._addWidgetProperties(['table', 'filterBox']);
38524
38692
  }
@@ -38533,6 +38701,13 @@ class ListBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
38533
38701
  _initStructure(value) {
38534
38702
  if (!this.table) {
38535
38703
  this.table = this._createDefaultListBoxTable();
38704
+ } // align checkableColumn in table with checkboxes of tree fields
38705
+
38706
+
38707
+ if (this.table.checkableColumn) {
38708
+ // may be null if a non-default list-box-table with checkable=false is used
38709
+ this.table.checkableColumn.minWidth = 28;
38710
+ this.table.checkableColumn.width = this.table.checkableColumn.minWidth; // do not use setWidth here
38536
38711
  }
38537
38712
  }
38538
38713
 
@@ -38682,14 +38857,15 @@ class ListBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
38682
38857
  row.enabled = false;
38683
38858
  }
38684
38859
 
38685
- if (lookupRow.active === false) {
38686
- row.active = false;
38687
- }
38688
-
38689
38860
  if (lookupRow.cssClass) {
38690
38861
  row.cssClass = lookupRow.cssClass;
38691
38862
  }
38692
38863
 
38864
+ if (lookupRow.active === false) {
38865
+ row.active = false;
38866
+ row.cssClass = (row.cssClass ? row.cssClass + ' ' : '') + 'inactive';
38867
+ }
38868
+
38693
38869
  return row;
38694
38870
  }
38695
38871
 
@@ -38849,11 +39025,11 @@ __webpack_require__.r(__webpack_exports__);
38849
39025
  /* harmony export */ });
38850
39026
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
38851
39027
  /*
38852
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
39028
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
38853
39029
  * All rights reserved. This program and the accompanying materials
38854
39030
  * are made available under the terms of the Eclipse Public License v1.0
38855
39031
  * which accompanies this distribution, and is available at
38856
- * http://www.eclipse.org/legal/epl-v10.html
39032
+ * https://www.eclipse.org/legal/epl-v10.html
38857
39033
  *
38858
39034
  * Contributors:
38859
39035
  * BSI Business Systems Integration AG - initial API and implementation
@@ -38877,14 +39053,15 @@ function createTableRow(lookupRow, multipleColumns) {
38877
39053
  row.enabled = false;
38878
39054
  }
38879
39055
 
38880
- if (lookupRow.active === false) {
38881
- row.active = false;
38882
- }
38883
-
38884
39056
  if (lookupRow.cssClass) {
38885
39057
  row.cssClass = lookupRow.cssClass;
38886
39058
  }
38887
39059
 
39060
+ if (lookupRow.active === false) {
39061
+ row.active = false;
39062
+ row.cssClass = (row.cssClass ? row.cssClass + ' ' : '') + 'inactive';
39063
+ }
39064
+
38888
39065
  if (!multipleColumns) {
38889
39066
  cells.push(createTableCell(lookupRow, null, null));
38890
39067
  }
@@ -42108,11 +42285,13 @@ class ProposalField extends _index__WEBPACK_IMPORTED_MODULE_0__.SmartField {
42108
42285
 
42109
42286
 
42110
42287
  if (searchTextChanged) {
42288
+ this.clearErrorStatus();
42289
+
42111
42290
  this._acceptByText(sync, searchText);
42112
42291
  } else if (!this._hasUiError()) {
42113
42292
  this._inputAccepted(false);
42114
42293
  } else {
42115
- // even though there's nothing todo, someone could wait for our promise to be resolved
42294
+ // even though there's nothing to do, someone could wait for our promise to be resolved
42116
42295
  this._acceptInputDeferred.resolve();
42117
42296
  }
42118
42297
 
@@ -42182,11 +42361,11 @@ __webpack_require__.r(__webpack_exports__);
42182
42361
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
42183
42362
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
42184
42363
  /*
42185
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
42364
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
42186
42365
  * All rights reserved. This program and the accompanying materials
42187
42366
  * are made available under the terms of the Eclipse Public License v1.0
42188
42367
  * which accompanies this distribution, and is available at
42189
- * http://www.eclipse.org/legal/epl-v10.html
42368
+ * https://www.eclipse.org/legal/epl-v10.html
42190
42369
  *
42191
42370
  * Contributors:
42192
42371
  * BSI Business Systems Integration AG - initial API and implementation
@@ -42203,16 +42382,10 @@ class ProposalTreeNode extends _index__WEBPACK_IMPORTED_MODULE_0__.TreeNode {
42203
42382
  }
42204
42383
 
42205
42384
  _renderText() {
42206
- let text = this.text;
42207
-
42208
- if (this.lookupRow.active === false) {
42209
- text += ' (' + this.session.text('InactiveState') + ')';
42210
- }
42211
-
42212
42385
  if (this.htmlEnabled) {
42213
- this.$text.html(text);
42386
+ this.$text.html(this.text);
42214
42387
  } else {
42215
- this.$text.textOrNbsp(text);
42388
+ this.$text.textOrNbsp(this.text);
42216
42389
  }
42217
42390
  }
42218
42391
 
@@ -42273,11 +42446,11 @@ __webpack_require__.r(__webpack_exports__);
42273
42446
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
42274
42447
 
42275
42448
  /*
42276
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
42449
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
42277
42450
  * All rights reserved. This program and the accompanying materials
42278
42451
  * are made available under the terms of the Eclipse Public License v1.0
42279
42452
  * which accompanies this distribution, and is available at
42280
- * http://www.eclipse.org/legal/epl-v10.html
42453
+ * https://www.eclipse.org/legal/epl-v10.html
42281
42454
  *
42282
42455
  * Contributors:
42283
42456
  * BSI Business Systems Integration AG - initial API and implementation
@@ -43234,6 +43407,7 @@ class SmartField extends _index__WEBPACK_IMPORTED_MODULE_0__.ValueField {
43234
43407
  status: status
43235
43408
  });
43236
43409
  this.popup.open();
43410
+ this.popup.$container.css('--inactive-lookup-row-suffix-text', "'".concat(this.session.text('InactiveState'), "'"));
43237
43411
  /* This variable is required to route events to the right field:
43238
43412
  * - in normal mode popup events should be processed by the normal smart-field
43239
43413
  * - in touch mode, the field flagged with the 'touch' property should process no
@@ -46412,6 +46586,7 @@ class SplitBoxCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyS
46412
46586
  super();
46413
46587
  this.field = splitBox;
46414
46588
  this.parseAndSetKeyStroke(keyStroke);
46589
+ this.inheritAccessibility = false;
46415
46590
  }
46416
46591
 
46417
46592
  handle(event) {
@@ -46457,6 +46632,7 @@ class SplitBoxFirstCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
46457
46632
  super();
46458
46633
  this.field = splitBox;
46459
46634
  this.parseAndSetKeyStroke(keyStroke);
46635
+ this.inheritAccessibility = false;
46460
46636
  }
46461
46637
 
46462
46638
  handle(event) {
@@ -46734,6 +46910,7 @@ class SplitBoxSecondCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
46734
46910
  super();
46735
46911
  this.field = splitBox;
46736
46912
  this.parseAndSetKeyStroke(keyStroke);
46913
+ this.inheritAccessibility = false;
46737
46914
  }
46738
46915
 
46739
46916
  handle(event) {
@@ -48225,7 +48402,7 @@ __webpack_require__.r(__webpack_exports__);
48225
48402
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
48226
48403
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
48227
48404
  /*
48228
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
48405
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
48229
48406
  * All rights reserved. This program and the accompanying materials
48230
48407
  * are made available under the terms of the Eclipse Public License v1.0
48231
48408
  * which accompanies this distribution, and is available at
@@ -48253,30 +48430,37 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48253
48430
  }
48254
48431
 
48255
48432
  layout($container) {
48256
- let ellipsis = this.tabArea.ellipsis,
48257
- htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
48433
+ let htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
48258
48434
  containerSize = htmlContainer.availableSize().subtract(htmlContainer.insets()); // compute visible and overflown tabs
48259
48435
 
48260
48436
  this.preferredLayoutSize($container, {
48261
48437
  widthHint: containerSize.width
48262
48438
  });
48263
48439
 
48264
- if (this.overflowTabs.length > 0) {
48265
- ellipsis.setHidden(false);
48266
- }
48440
+ this._layoutSelectionMarker();
48441
+ }
48267
48442
 
48268
- this.visibleTabs.forEach(tabItem => {
48269
- tabItem.setOverflown(false);
48270
- });
48271
- this.overflowTabs.forEach(tabItem => {
48272
- tabItem.setOverflown(true);
48273
- });
48443
+ _layoutSelectionMarker() {
48444
+ let $selectionMarker = this.tabArea.$selectionMarker,
48445
+ selectedTab = this.tabArea.selectedTab,
48446
+ selectedItemBounds;
48274
48447
 
48275
- if (this.overflowTabs.length === 0) {
48276
- ellipsis.setHidden(true);
48448
+ if (selectedTab) {
48449
+ $selectionMarker.setVisible(true);
48450
+ selectedItemBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds(selectedTab.$container);
48451
+ $selectionMarker.cssLeft(selectedItemBounds.x);
48452
+ $selectionMarker.cssWidth(selectedItemBounds.width);
48453
+ } else {
48454
+ $selectionMarker.setVisible(false);
48277
48455
  }
48456
+ }
48278
48457
 
48458
+ _updateEllipsis() {
48459
+ let ellipsis = this.tabArea.ellipsis;
48460
+ ellipsis.setHidden(this.overflowTabs.length < 1);
48279
48461
  ellipsis.setText(this.overflowTabs.length + '');
48462
+ this.visibleTabs.forEach(tabItem => tabItem.setOverflown(false));
48463
+ this.overflowTabs.forEach(tabItem => tabItem.setOverflown(true));
48280
48464
  ellipsis.setChildActions(this.overflowTabs.map(tab => {
48281
48465
  let menu = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('Menu', {
48282
48466
  parent: ellipsis,
@@ -48293,38 +48477,21 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48293
48477
  });
48294
48478
  return menu;
48295
48479
  }, this));
48296
-
48297
- this._layoutSelectionMarker();
48298
- }
48299
-
48300
- _layoutSelectionMarker() {
48301
- let $selectionMarker = this.tabArea.$selectionMarker,
48302
- selectedTab = this.tabArea.selectedTab,
48303
- selectedItemBounds;
48304
-
48305
- if (selectedTab) {
48306
- $selectionMarker.setVisible(true);
48307
- selectedItemBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds(selectedTab.$container);
48308
- $selectionMarker.cssLeft(selectedItemBounds.x);
48309
- $selectionMarker.cssWidth(selectedItemBounds.width);
48310
- } else {
48311
- $selectionMarker.setVisible(false);
48312
- }
48313
48480
  }
48314
48481
 
48315
48482
  preferredLayoutSize($container, options) {
48316
48483
  let htmlComp = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
48317
48484
  prefSize = new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0),
48318
- prefWidth = Number.MAX_VALUE,
48319
- visibleTabItems = this.tabArea.visibleTabs(),
48320
- overflowableIndexes = visibleTabItems.map((tabItem, index) => {
48485
+ prefWidth = Number.MAX_VALUE;
48486
+ this.visibleTabs = this.tabArea.visibleTabs();
48487
+ let overflowableIndexes = this.visibleTabs.map((tabItem, index) => {
48321
48488
  if (tabItem.selected) {
48322
48489
  return -1;
48323
48490
  }
48324
48491
 
48325
48492
  return index;
48326
48493
  }).filter(index => index >= 0);
48327
- this.overflowTabs = []; // consider avoid falsy 0 in tabboxes a 0 withHint will be used to calculate the minimum width
48494
+ this.overflowTabs = []; // consider avoid falsy 0 in tab-boxes a 0 withHint will be used to calculate the minimum width
48328
48495
 
48329
48496
  if (options.widthHint === 0 || options.widthHint) {
48330
48497
  prefWidth = options.widthHint - htmlComp.insets().horizontal();
@@ -48332,26 +48499,28 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48332
48499
 
48333
48500
 
48334
48501
  if (prefWidth <= 0) {
48335
- return this._minSize(visibleTabItems).add(htmlComp.insets());
48502
+ return this._minSize(this.visibleTabs).add(htmlComp.insets());
48336
48503
  }
48337
48504
 
48338
- let overflowIndex = -1;
48505
+ this._setFirstLastMarker(this.visibleTabs);
48339
48506
 
48340
- this._setFirstLastMarker(visibleTabItems);
48507
+ this._updateEllipsis();
48341
48508
 
48342
- prefSize = this._prefSize(visibleTabItems);
48509
+ prefSize = this._prefSize(this.visibleTabs);
48343
48510
 
48344
48511
  while (prefSize.width > prefWidth && overflowableIndexes.length > 0) {
48345
- overflowIndex = overflowableIndexes.splice(-1)[0];
48346
- this.overflowTabs.splice(0, 0, visibleTabItems[overflowIndex]);
48347
- visibleTabItems.splice(overflowIndex, 1);
48512
+ let overflowIndex = overflowableIndexes.splice(-1)[0];
48513
+ this.overflowTabs.splice(0, 0, this.visibleTabs[overflowIndex]);
48514
+ this.visibleTabs.splice(overflowIndex, 1);
48348
48515
 
48349
- this._setFirstLastMarker(visibleTabItems);
48516
+ this._setFirstLastMarker(this.visibleTabs);
48517
+
48518
+ this._updateEllipsis(); // update ellipsis here already so that the prefSize on the next line is correct
48350
48519
 
48351
- prefSize = this._prefSize(visibleTabItems);
48352
- }
48353
48520
 
48354
- this.visibleTabs = visibleTabItems; // Use the total available space if spreading tabs evenly.
48521
+ prefSize = this._prefSize(this.visibleTabs);
48522
+ } // Use the total available space if spreading tabs evenly.
48523
+
48355
48524
 
48356
48525
  if (this.tabArea.displayStyle === _index__WEBPACK_IMPORTED_MODULE_0__.TabArea.DisplayStyle.SPREAD_EVEN) {
48357
48526
  return _index__WEBPACK_IMPORTED_MODULE_0__.graphics.prefSize($container, options);
@@ -48361,8 +48530,7 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48361
48530
  }
48362
48531
 
48363
48532
  _minSize(tabItems) {
48364
- let visibleTabItems = [],
48365
- prefSize;
48533
+ let visibleTabItems = [];
48366
48534
  this.overflowTabs = tabItems.filter(tabItem => {
48367
48535
  if (tabItem.selected) {
48368
48536
  visibleTabItems.push(tabItem);
@@ -48375,21 +48543,20 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48375
48543
 
48376
48544
  this._setFirstLastMarker(visibleTabItems);
48377
48545
 
48378
- prefSize = this._prefSize(visibleTabItems);
48379
- return prefSize;
48546
+ return this._prefSize(visibleTabItems);
48380
48547
  }
48381
48548
 
48382
48549
  _prefSize(tabItems, considerEllipsis) {
48383
- let prefSize = tabItems.map(tabItem => this._tabItemSize(tabItem.htmlComp)).reduce((prefSize, itemSize) => {
48550
+ let prefSize = tabItems.map(tabItem => this._tabItemSize(tabItem)).reduce((prefSize, itemSize) => {
48384
48551
  prefSize.height = Math.max(prefSize.height, itemSize.height);
48385
48552
  prefSize.width += itemSize.width;
48386
48553
  return prefSize;
48387
- }, new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0)),
48388
- ellipsisSize = new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0);
48554
+ }, new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0));
48389
48555
  considerEllipsis = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(considerEllipsis, this.overflowTabs.length > 0);
48390
48556
 
48391
48557
  if (considerEllipsis) {
48392
- ellipsisSize = this._tabItemSize(this.tabArea.ellipsis.htmlComp);
48558
+ let ellipsisSize = this._tabItemSize(this.tabArea.ellipsis);
48559
+
48393
48560
  prefSize.height = Math.max(prefSize.height, ellipsisSize.height);
48394
48561
  prefSize.width += ellipsisSize.width;
48395
48562
  }
@@ -48416,8 +48583,9 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48416
48583
  }
48417
48584
  }
48418
48585
 
48419
- _tabItemSize(htmlComp) {
48420
- let prefSize,
48586
+ _tabItemSize(item) {
48587
+ let htmlComp = item.htmlComp,
48588
+ prefSize,
48421
48589
  classList = htmlComp.$comp.attr('class'); // temporarily revert display style to default. otherwise the pref size of the tab item will be the size of the container.
48422
48590
 
48423
48591
  if (this.tabArea.displayStyle === _index__WEBPACK_IMPORTED_MODULE_0__.TabArea.DisplayStyle.SPREAD_EVEN) {
@@ -48429,6 +48597,27 @@ class TabAreaLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
48429
48597
  prefSize = htmlComp.prefSize({
48430
48598
  exact: true
48431
48599
  }).add(_index__WEBPACK_IMPORTED_MODULE_0__.graphics.margins(htmlComp.$comp));
48600
+
48601
+ if (item.fieldStatus && item.fieldStatus.htmlComp) {
48602
+ let statusOverflownAndHidden = item.overflown && !item.fieldStatus.visible;
48603
+
48604
+ if (statusOverflownAndHidden) {
48605
+ // overflown tabs have no fieldStatus: explicitly set to visible so that the real consumed space can be computed
48606
+ item.fieldStatus.setVisible(true);
48607
+ }
48608
+
48609
+ let statusWidth = item.fieldStatus.htmlComp.prefSize({
48610
+ includeMargin: true
48611
+ }).width;
48612
+
48613
+ if (statusOverflownAndHidden) {
48614
+ // restore
48615
+ item.fieldStatus.setVisible(false);
48616
+ }
48617
+
48618
+ prefSize.width += statusWidth;
48619
+ }
48620
+
48432
48621
  htmlComp.$comp.attrOrRemove('class', classList);
48433
48622
 
48434
48623
  if (this.tabArea.displayStyle === _index__WEBPACK_IMPORTED_MODULE_0__.TabArea.DisplayStyle.SPREAD_EVEN) {
@@ -48471,6 +48660,7 @@ __webpack_require__.r(__webpack_exports__);
48471
48660
  */
48472
48661
 
48473
48662
  class TabAreaLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
48663
+ // noinspection DuplicatedCode
48474
48664
  constructor(tabArea) {
48475
48665
  super();
48476
48666
  this.field = tabArea;
@@ -48478,6 +48668,7 @@ class TabAreaLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke
48478
48668
  this.renderingHints.render = false;
48479
48669
  this.stopPropagation = true;
48480
48670
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
48671
+ this.inheritAccessibility = false;
48481
48672
  }
48482
48673
 
48483
48674
  handle(event) {
@@ -48512,6 +48703,7 @@ __webpack_require__.r(__webpack_exports__);
48512
48703
  */
48513
48704
 
48514
48705
  class TabAreaRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
48706
+ // noinspection DuplicatedCode
48515
48707
  constructor(tabArea) {
48516
48708
  super();
48517
48709
  this.field = tabArea;
@@ -48519,6 +48711,7 @@ class TabAreaRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStrok
48519
48711
  this.renderingHints.render = false;
48520
48712
  this.stopPropagation = true;
48521
48713
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
48714
+ this.inheritAccessibility = false;
48522
48715
  }
48523
48716
 
48524
48717
  handle(event) {
@@ -48576,7 +48769,6 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48576
48769
  this._addPreserveOnPropertyChangeProperties(['selectedTab']);
48577
48770
 
48578
48771
  this._tabBoxHeaderPropertyChangeHander = this._onTabBoxHeaderPropertyChange.bind(this);
48579
- this._selectedTabScrollTopChangeHandler = this._updateScrollShadow.bind(this);
48580
48772
  }
48581
48773
  /**
48582
48774
  * @override FormField.js
@@ -48730,17 +48922,19 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48730
48922
  _renderSelectedTab() {
48731
48923
  if (this.selectedTab) {
48732
48924
  this.selectedTab.render(this._$tabContent);
48733
- this.selectedTab.on('propertyChange:scrollTop', this._selectedTabScrollTopChangeHandler);
48925
+ this.selectedTab.get$Scrollable().data('scroll-shadow-customizer', this._updateScrollShadow.bind(this));
48734
48926
  }
48735
48927
 
48736
48928
  if (this.rendered) {
48929
+ this._updateScrollShadow();
48930
+
48737
48931
  _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get(this._$tabContent).invalidateLayoutTree();
48738
48932
  }
48739
48933
  }
48740
48934
 
48741
48935
  _removeSelectedTab() {
48742
48936
  if (this.selectedTab) {
48743
- this.selectedTab.off('propertyChange:scrollTop', this._selectedTabScrollTopChangeHandler);
48937
+ this.selectedTab.get$Scrollable().removeData('scroll-shadow-customizer');
48744
48938
  this.selectedTab.remove();
48745
48939
  }
48746
48940
  }
@@ -48755,13 +48949,11 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48755
48949
  this.$container.toggleClass('has-scroll-shadow-top', hasScrollShadowTop);
48756
48950
 
48757
48951
  if (oldHasScrollShadowTop !== hasScrollShadowTop) {
48758
- this.invalidateLayout();
48952
+ this.invalidateLayoutTree(false);
48759
48953
  } // Enlarge header line if there is a shadow, but only if there is a header (controlled by labelVisible)
48760
48954
 
48761
48955
 
48762
- _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && this.labelVisible); // Prevent flickering of status icon
48763
-
48764
- this.validateLayout();
48956
+ _index__WEBPACK_IMPORTED_MODULE_0__.fields.adjustStatusPositionForScrollShadow(this, () => hasScrollShadowTop && this.labelVisible);
48765
48957
  }
48766
48958
 
48767
48959
  setTabAreaStyle(tabAreaStyle) {
@@ -48865,6 +49057,10 @@ class TabBox extends _index__WEBPACK_IMPORTED_MODULE_0__.CompositeField {
48865
49057
  this.header.focusTabItem(tabItem);
48866
49058
  }
48867
49059
 
49060
+ getTabForItem(tabItem) {
49061
+ return this.header.getTabForItem(tabItem);
49062
+ }
49063
+
48868
49064
  _onTabBoxHeaderPropertyChange(event) {
48869
49065
  if (event.propertyName === 'selectedTabItem') {
48870
49066
  this.setSelectedTab(event.newValue);
@@ -49017,6 +49213,10 @@ class TabBoxHeader extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
49017
49213
  this.tabArea.focusTabItem(tabItem);
49018
49214
  }
49019
49215
 
49216
+ getTabForItem(tabItem) {
49217
+ return this.tabArea.getTabForItem(tabItem);
49218
+ }
49219
+
49020
49220
  _onTabBoxPropertyChange(event) {
49021
49221
  if (event.propertyName === 'menus') {
49022
49222
  this.menuBar.setMenuItems(this.tabBox.menus);
@@ -49047,7 +49247,7 @@ __webpack_require__.r(__webpack_exports__);
49047
49247
  /* harmony export */ });
49048
49248
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
49049
49249
  /*
49050
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
49250
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
49051
49251
  * All rights reserved. This program and the accompanying materials
49052
49252
  * are made available under the terms of the Eclipse Public License v1.0
49053
49253
  * which accompanies this distribution, and is available at
@@ -49082,21 +49282,20 @@ class TabBoxHeaderLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLay
49082
49282
  }
49083
49283
 
49084
49284
  layout($container) {
49085
- //
49086
49285
  let htmlContainer = _index__WEBPACK_IMPORTED_MODULE_0__.HtmlComponent.get($container),
49087
49286
  tabArea = this.tabBoxHeader.tabArea,
49088
49287
  tabAreaMargins = tabArea.htmlComp.margins(),
49089
49288
  tabAreaPrefSize,
49090
49289
  menuBar = this.tabBoxHeader.menuBar,
49091
49290
  menuBarMargins = menuBar.htmlComp.margins(),
49092
- menuBarMinumumSize,
49291
+ menuBarMinimumSize,
49093
49292
  $status = this.tabBoxHeader.tabBox.$status,
49094
49293
  statusSizeLarge = new _index__WEBPACK_IMPORTED_MODULE_0__.Dimension(),
49095
49294
  insets = htmlContainer.insets(),
49096
49295
  containerSize = htmlContainer.availableSize({
49097
49296
  exact: true
49098
49297
  }).subtract(htmlContainer.insets());
49099
- menuBarMinumumSize = menuBar.htmlComp.prefSize({
49298
+ menuBarMinimumSize = menuBar.htmlComp.prefSize({
49100
49299
  widthHint: 0
49101
49300
  });
49102
49301
 
@@ -49106,7 +49305,7 @@ class TabBoxHeaderLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLay
49106
49305
  }
49107
49306
 
49108
49307
  tabAreaPrefSize = tabArea.htmlComp.prefSize({
49109
- widthHint: containerSize.width - menuBarMinumumSize.width - menuBarMargins.horizontal() - statusSizeLarge.width,
49308
+ widthHint: containerSize.width - menuBarMinimumSize.width - menuBarMargins.horizontal() - statusSizeLarge.width,
49110
49309
  exact: false
49111
49310
  }); // layout tabArea
49112
49311
 
@@ -49406,6 +49605,10 @@ class TabItem extends _index__WEBPACK_IMPORTED_MODULE_0__.GroupBox {
49406
49605
  }
49407
49606
  }
49408
49607
 
49608
+ getTab() {
49609
+ return this.parent.getTabForItem(this);
49610
+ }
49611
+
49409
49612
  }
49410
49613
 
49411
49614
  /***/ }),
@@ -50964,11 +51167,11 @@ __webpack_require__.r(__webpack_exports__);
50964
51167
  /* harmony export */ });
50965
51168
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../index */ "./src/index.js");
50966
51169
  /*
50967
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
51170
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
50968
51171
  * All rights reserved. This program and the accompanying materials
50969
51172
  * are made available under the terms of the Eclipse Public License v1.0
50970
51173
  * which accompanies this distribution, and is available at
50971
- * http://www.eclipse.org/legal/epl-v10.html
51174
+ * https://www.eclipse.org/legal/epl-v10.html
50972
51175
  *
50973
51176
  * Contributors:
50974
51177
  * BSI Business Systems Integration AG - initial API and implementation
@@ -51173,14 +51376,15 @@ class TreeBox extends _index__WEBPACK_IMPORTED_MODULE_0__.LookupBox {
51173
51376
  node.enabled = false;
51174
51377
  }
51175
51378
 
51176
- if (lookupRow.active === false) {
51177
- node.active = false;
51178
- }
51179
-
51180
51379
  if (lookupRow.cssClass) {
51181
51380
  node.cssClass = lookupRow.cssClass;
51182
51381
  }
51183
51382
 
51383
+ if (lookupRow.active === false) {
51384
+ node.active = false;
51385
+ node.cssClass = (node.cssClass ? node.cssClass + ' ' : '') + 'inactive';
51386
+ }
51387
+
51184
51388
  return node;
51185
51389
  }
51186
51390
 
@@ -52370,7 +52574,7 @@ __webpack_require__.r(__webpack_exports__);
52370
52574
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
52371
52575
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
52372
52576
  /*
52373
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
52577
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
52374
52578
  * All rights reserved. This program and the accompanying materials
52375
52579
  * are made available under the terms of the Eclipse Public License v1.0
52376
52580
  * which accompanies this distribution, and is available at
@@ -52391,7 +52595,7 @@ class GlassPane extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
52391
52595
  this.$parent.addClass('glasspane-parent');
52392
52596
  let cssPosition = this.$parent.css('position');
52393
52597
 
52394
- if (!_index__WEBPACK_IMPORTED_MODULE_0__.scout.isOneOf(cssPosition, 'relative', 'absolute')) {
52598
+ if (cssPosition === 'static') {
52395
52599
  this.$parent.css('position', 'relative');
52396
52600
  } // Register 'glassPaneTarget' in focus manager.
52397
52601
 
@@ -54215,134 +54419,134 @@ __webpack_require__.r(__webpack_exports__);
54215
54419
  /* harmony export */ "WidgetTooltip": () => (/* reexport safe */ _tooltip_WidgetTooltip__WEBPACK_IMPORTED_MODULE_170__["default"]),
54216
54420
  /* harmony export */ "Action": () => (/* reexport safe */ _action_Action__WEBPACK_IMPORTED_MODULE_171__["default"]),
54217
54421
  /* harmony export */ "ActionAdapter": () => (/* reexport safe */ _action_ActionAdapter__WEBPACK_IMPORTED_MODULE_172__["default"]),
54218
- /* harmony export */ "ActionKeyStroke": () => (/* reexport safe */ _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_173__["default"]),
54219
- /* harmony export */ "Box": () => (/* reexport safe */ _box_Box__WEBPACK_IMPORTED_MODULE_174__["default"]),
54220
- /* harmony export */ "Label": () => (/* reexport safe */ _label_Label__WEBPACK_IMPORTED_MODULE_175__["default"]),
54221
- /* harmony export */ "LabelAdapter": () => (/* reexport safe */ _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_176__["default"]),
54222
- /* harmony export */ "Popup": () => (/* reexport safe */ _popup_Popup__WEBPACK_IMPORTED_MODULE_177__["default"]),
54223
- /* harmony export */ "PopupAdapter": () => (/* reexport safe */ _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_178__["default"]),
54224
- /* harmony export */ "PopupLayout": () => (/* reexport safe */ _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_179__["default"]),
54225
- /* harmony export */ "PopupManager": () => (/* reexport safe */ _popup_PopupManager__WEBPACK_IMPORTED_MODULE_180__["default"]),
54226
- /* harmony export */ "PopupManagerAdapter": () => (/* reexport safe */ _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_181__["default"]),
54227
- /* harmony export */ "TouchPopup": () => (/* reexport safe */ _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_182__["default"]),
54228
- /* harmony export */ "TouchPopupLayout": () => (/* reexport safe */ _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_183__["default"]),
54229
- /* harmony export */ "WidgetPopup": () => (/* reexport safe */ _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_184__["default"]),
54230
- /* harmony export */ "WidgetPopupAdapter": () => (/* reexport safe */ _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_185__["default"]),
54231
- /* harmony export */ "WidgetPopupLayout": () => (/* reexport safe */ _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_186__["default"]),
54232
- /* harmony export */ "MobilePopup": () => (/* reexport safe */ _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_187__["default"]),
54233
- /* harmony export */ "MobilePopupAdapter": () => (/* reexport safe */ _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_188__["default"]),
54234
- /* harmony export */ "MobilePopupLayout": () => (/* reexport safe */ _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_189__["default"]),
54235
- /* harmony export */ "DatePicker": () => (/* reexport safe */ _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_190__["default"]),
54236
- /* harmony export */ "DatePickerPopup": () => (/* reexport safe */ _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_191__["default"]),
54237
- /* harmony export */ "DatePickerPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_192__["default"]),
54238
- /* harmony export */ "DatePickerTouchPopup": () => (/* reexport safe */ _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_193__["default"]),
54239
- /* harmony export */ "DatePickerTouchPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_194__["default"]),
54240
- /* harmony export */ "Group": () => (/* reexport safe */ _group_Group__WEBPACK_IMPORTED_MODULE_195__["default"]),
54241
- /* harmony export */ "GroupAdapter": () => (/* reexport safe */ _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_196__["default"]),
54242
- /* harmony export */ "GroupLayout": () => (/* reexport safe */ _group_GroupLayout__WEBPACK_IMPORTED_MODULE_197__["default"]),
54243
- /* harmony export */ "GroupToggleCollapseKeyStroke": () => (/* reexport safe */ _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_198__["default"]),
54244
- /* harmony export */ "Icon": () => (/* reexport safe */ _image_Icon__WEBPACK_IMPORTED_MODULE_199__["default"]),
54245
- /* harmony export */ "IconDesc": () => (/* reexport safe */ _image_IconDesc__WEBPACK_IMPORTED_MODULE_200__["default"]),
54246
- /* harmony export */ "Image": () => (/* reexport safe */ _image_Image__WEBPACK_IMPORTED_MODULE_201__["default"]),
54247
- /* harmony export */ "ImageLayout": () => (/* reexport safe */ _image_ImageLayout__WEBPACK_IMPORTED_MODULE_202__["default"]),
54248
- /* harmony export */ "Notification": () => (/* reexport safe */ _notification_Notification__WEBPACK_IMPORTED_MODULE_203__["default"]),
54249
- /* harmony export */ "NotificationAdapter": () => (/* reexport safe */ _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_204__["default"]),
54250
- /* harmony export */ "menus": () => (/* reexport safe */ _menu_menus__WEBPACK_IMPORTED_MODULE_205__["default"]),
54251
- /* harmony export */ "MenuDestinations": () => (/* reexport safe */ _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_206__["default"]),
54252
- /* harmony export */ "Menu": () => (/* reexport safe */ _menu_Menu__WEBPACK_IMPORTED_MODULE_207__["default"]),
54253
- /* harmony export */ "EllipsisMenu": () => (/* reexport safe */ _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_208__["default"]),
54254
- /* harmony export */ "MenuAdapter": () => (/* reexport safe */ _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_209__["default"]),
54255
- /* harmony export */ "MenuKeyStroke": () => (/* reexport safe */ _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_210__["default"]),
54256
- /* harmony export */ "MenuExecKeyStroke": () => (/* reexport safe */ _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_211__["default"]),
54257
- /* harmony export */ "MenuItemsOrder": () => (/* reexport safe */ _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_212__["default"]),
54258
- /* harmony export */ "ComboMenu": () => (/* reexport safe */ _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_213__["default"]),
54259
- /* harmony export */ "ComboMenuAdapter": () => (/* reexport safe */ _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_214__["default"]),
54260
- /* harmony export */ "ContextMenuPopup": () => (/* reexport safe */ _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_215__["default"]),
54261
- /* harmony export */ "ContextMenuPopupLayout": () => (/* reexport safe */ _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_216__["default"]),
54262
- /* harmony export */ "MenuNavigationKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_217__["default"]),
54263
- /* harmony export */ "MenuNavigationExecKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_218__["default"]),
54264
- /* harmony export */ "MenuExecByNumberKeyStroke": () => (/* reexport safe */ _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_219__["default"]),
54265
- /* harmony export */ "MenuNavigationDownKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_220__["default"]),
54266
- /* harmony export */ "MenuNavigationUpKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_221__["default"]),
54267
- /* harmony export */ "SubCloseKeyStroke": () => (/* reexport safe */ _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_222__["default"]),
54268
- /* harmony export */ "menuNavigationKeyStrokes": () => (/* reexport safe */ _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_223__["default"]),
54269
- /* harmony export */ "ButtonAdapterMenu": () => (/* reexport safe */ _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_224__["default"]),
54270
- /* harmony export */ "FormFieldMenu": () => (/* reexport safe */ _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_225__["default"]),
54271
- /* harmony export */ "FormFieldMenuAdapter": () => (/* reexport safe */ _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_226__["default"]),
54272
- /* harmony export */ "MenuBox": () => (/* reexport safe */ _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_227__["default"]),
54273
- /* harmony export */ "MenuBoxLayout": () => (/* reexport safe */ _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_228__["default"]),
54274
- /* harmony export */ "MenuBar": () => (/* reexport safe */ _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_229__["default"]),
54275
- /* harmony export */ "MenuBarLayout": () => (/* reexport safe */ _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_230__["default"]),
54276
- /* harmony export */ "MenuBarLeftKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_231__["default"]),
54277
- /* harmony export */ "MenuBarRightKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_232__["default"]),
54278
- /* harmony export */ "MenuBarPopup": () => (/* reexport safe */ _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_233__["default"]),
54279
- /* harmony export */ "MenuBarBox": () => (/* reexport safe */ _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_234__["default"]),
54280
- /* harmony export */ "MenuBarBoxLayout": () => (/* reexport safe */ _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_235__["default"]),
54281
- /* harmony export */ "Calendar": () => (/* reexport safe */ _calendar_Calendar__WEBPACK_IMPORTED_MODULE_236__["default"]),
54282
- /* harmony export */ "CalendarAdapter": () => (/* reexport safe */ _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_237__["default"]),
54283
- /* harmony export */ "CalendarComponent": () => (/* reexport safe */ _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_238__["default"]),
54284
- /* harmony export */ "CalendarComponentAdapter": () => (/* reexport safe */ _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_239__["default"]),
54285
- /* harmony export */ "CalendarListComponent": () => (/* reexport safe */ _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_240__["default"]),
54286
- /* harmony export */ "CalendarLayout": () => (/* reexport safe */ _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_241__["default"]),
54287
- /* harmony export */ "CalendarModeMenu": () => (/* reexport safe */ _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_242__["default"]),
54288
- /* harmony export */ "CalendarModesMenu": () => (/* reexport safe */ _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_243__["default"]),
54289
- /* harmony export */ "DateRange": () => (/* reexport safe */ _calendar_DateRange__WEBPACK_IMPORTED_MODULE_244__["default"]),
54290
- /* harmony export */ "YearPanel": () => (/* reexport safe */ _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_245__["default"]),
54291
- /* harmony export */ "Lifecycle": () => (/* reexport safe */ _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_246__["default"]),
54292
- /* harmony export */ "Planner": () => (/* reexport safe */ _planner_Planner__WEBPACK_IMPORTED_MODULE_247__["default"]),
54293
- /* harmony export */ "PlannerAdapter": () => (/* reexport safe */ _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_248__["default"]),
54294
- /* harmony export */ "PlannerHeader": () => (/* reexport safe */ _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_249__["default"]),
54295
- /* harmony export */ "PlannerLayout": () => (/* reexport safe */ _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_250__["default"]),
54296
- /* harmony export */ "PlannerMenuItemsOrder": () => (/* reexport safe */ _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_251__["default"]),
54297
- /* harmony export */ "FileChooser": () => (/* reexport safe */ _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_252__["default"]),
54298
- /* harmony export */ "FileChooserAdapter": () => (/* reexport safe */ _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_253__["default"]),
54299
- /* harmony export */ "FileChooserController": () => (/* reexport safe */ _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_254__["default"]),
54300
- /* harmony export */ "FileInput": () => (/* reexport safe */ _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_255__["default"]),
54301
- /* harmony export */ "Route": () => (/* reexport safe */ _router_Route__WEBPACK_IMPORTED_MODULE_256__["default"]),
54302
- /* harmony export */ "router": () => (/* reexport safe */ _router_router__WEBPACK_IMPORTED_MODULE_257__["default"]),
54303
- /* harmony export */ "Slider": () => (/* reexport safe */ _slider_Slider__WEBPACK_IMPORTED_MODULE_258__["default"]),
54304
- /* harmony export */ "SliderAdapter": () => (/* reexport safe */ _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_259__["default"]),
54305
- /* harmony export */ "SliderLayout": () => (/* reexport safe */ _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_260__["default"]),
54306
- /* harmony export */ "Mode": () => (/* reexport safe */ _modeselector_Mode__WEBPACK_IMPORTED_MODULE_261__["default"]),
54307
- /* harmony export */ "ModeAdapter": () => (/* reexport safe */ _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_262__["default"]),
54308
- /* harmony export */ "ModeSelector": () => (/* reexport safe */ _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_263__["default"]),
54309
- /* harmony export */ "ModeSelectorLayout": () => (/* reexport safe */ _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_264__["default"]),
54310
- /* harmony export */ "Form": () => (/* reexport safe */ _form_Form__WEBPACK_IMPORTED_MODULE_265__["default"]),
54311
- /* harmony export */ "FormAdapter": () => (/* reexport safe */ _form_FormAdapter__WEBPACK_IMPORTED_MODULE_266__["default"]),
54312
- /* harmony export */ "FormGrid": () => (/* reexport safe */ _form_FormGrid__WEBPACK_IMPORTED_MODULE_267__["default"]),
54313
- /* harmony export */ "FormLayout": () => (/* reexport safe */ _form_FormLayout__WEBPACK_IMPORTED_MODULE_268__["default"]),
54314
- /* harmony export */ "FormMenuActionKeyStroke": () => (/* reexport safe */ _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_269__["default"]),
54315
- /* harmony export */ "FormMenu": () => (/* reexport safe */ _form_FormMenu__WEBPACK_IMPORTED_MODULE_270__["default"]),
54316
- /* harmony export */ "FormMenuAdapter": () => (/* reexport safe */ _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_271__["default"]),
54317
- /* harmony export */ "FormLifecycle": () => (/* reexport safe */ _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_272__["default"]),
54318
- /* harmony export */ "CancelMenu": () => (/* reexport safe */ _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_273__["default"]),
54319
- /* harmony export */ "CloseMenu": () => (/* reexport safe */ _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_274__["default"]),
54320
- /* harmony export */ "OkMenu": () => (/* reexport safe */ _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_275__["default"]),
54321
- /* harmony export */ "ResetMenu": () => (/* reexport safe */ _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_276__["default"]),
54322
- /* harmony export */ "SaveMenu": () => (/* reexport safe */ _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_277__["default"]),
54323
- /* harmony export */ "DialogLayout": () => (/* reexport safe */ _form_DialogLayout__WEBPACK_IMPORTED_MODULE_278__["default"]),
54324
- /* harmony export */ "ResponsiveManager": () => (/* reexport safe */ _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_279__["default"]),
54325
- /* harmony export */ "ResponsiveHandler": () => (/* reexport safe */ _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_280__["default"]),
54326
- /* harmony export */ "GroupBoxResponsiveHandler": () => (/* reexport safe */ _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__["default"]),
54327
- /* harmony export */ "DesktopResponsiveHandler": () => (/* reexport safe */ _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__["default"]),
54328
- /* harmony export */ "TileOverviewForm": () => (/* reexport safe */ _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_283__["default"]),
54329
- /* harmony export */ "TileOverviewFormAdapter": () => (/* reexport safe */ _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_284__["default"]),
54330
- /* harmony export */ "Table": () => (/* reexport safe */ _table_Table__WEBPACK_IMPORTED_MODULE_285__["default"]),
54331
- /* harmony export */ "TableAdapter": () => (/* reexport safe */ _table_TableAdapter__WEBPACK_IMPORTED_MODULE_286__["default"]),
54332
- /* harmony export */ "TableCompactHandler": () => (/* reexport safe */ _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_287__["default"]),
54333
- /* harmony export */ "TableRow": () => (/* reexport safe */ _table_TableRow__WEBPACK_IMPORTED_MODULE_288__["default"]),
54334
- /* harmony export */ "TableMatrix": () => (/* reexport safe */ _table_TableMatrix__WEBPACK_IMPORTED_MODULE_289__["default"]),
54335
- /* harmony export */ "TableFooter": () => (/* reexport safe */ _table_TableFooter__WEBPACK_IMPORTED_MODULE_290__["default"]),
54336
- /* harmony export */ "TableFooterLayout": () => (/* reexport safe */ _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_291__["default"]),
54337
- /* harmony export */ "TableInfoFilterTooltip": () => (/* reexport safe */ _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_292__["default"]),
54338
- /* harmony export */ "TableInfoLoadTooltip": () => (/* reexport safe */ _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_293__["default"]),
54339
- /* harmony export */ "TableInfoSelectionTooltip": () => (/* reexport safe */ _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_294__["default"]),
54340
- /* harmony export */ "TableHeader": () => (/* reexport safe */ _table_TableHeader__WEBPACK_IMPORTED_MODULE_295__["default"]),
54341
- /* harmony export */ "TableHeaderMenu": () => (/* reexport safe */ _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_296__["default"]),
54342
- /* harmony export */ "TableHeaderMenuLayout": () => (/* reexport safe */ _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_297__["default"]),
54343
- /* harmony export */ "TableHeaderMenuGroup": () => (/* reexport safe */ _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_298__["default"]),
54344
- /* harmony export */ "TableHeaderMenuButton": () => (/* reexport safe */ _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_299__["default"]),
54345
- /* harmony export */ "TableHeaderMenuButtonKeyStroke": () => (/* reexport safe */ _table_TableHeaderMenuButtonKeyStroke__WEBPACK_IMPORTED_MODULE_300__["default"]),
54422
+ /* harmony export */ "ActionExecKeyStroke": () => (/* reexport safe */ _action_ActionExecKeyStroke__WEBPACK_IMPORTED_MODULE_173__["default"]),
54423
+ /* harmony export */ "ActionKeyStroke": () => (/* reexport safe */ _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_174__["default"]),
54424
+ /* harmony export */ "Box": () => (/* reexport safe */ _box_Box__WEBPACK_IMPORTED_MODULE_175__["default"]),
54425
+ /* harmony export */ "Label": () => (/* reexport safe */ _label_Label__WEBPACK_IMPORTED_MODULE_176__["default"]),
54426
+ /* harmony export */ "LabelAdapter": () => (/* reexport safe */ _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_177__["default"]),
54427
+ /* harmony export */ "Popup": () => (/* reexport safe */ _popup_Popup__WEBPACK_IMPORTED_MODULE_178__["default"]),
54428
+ /* harmony export */ "PopupAdapter": () => (/* reexport safe */ _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_179__["default"]),
54429
+ /* harmony export */ "PopupLayout": () => (/* reexport safe */ _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_180__["default"]),
54430
+ /* harmony export */ "PopupManager": () => (/* reexport safe */ _popup_PopupManager__WEBPACK_IMPORTED_MODULE_181__["default"]),
54431
+ /* harmony export */ "PopupManagerAdapter": () => (/* reexport safe */ _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_182__["default"]),
54432
+ /* harmony export */ "TouchPopup": () => (/* reexport safe */ _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_183__["default"]),
54433
+ /* harmony export */ "TouchPopupLayout": () => (/* reexport safe */ _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_184__["default"]),
54434
+ /* harmony export */ "WidgetPopup": () => (/* reexport safe */ _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_185__["default"]),
54435
+ /* harmony export */ "WidgetPopupAdapter": () => (/* reexport safe */ _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_186__["default"]),
54436
+ /* harmony export */ "WidgetPopupLayout": () => (/* reexport safe */ _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_187__["default"]),
54437
+ /* harmony export */ "MobilePopup": () => (/* reexport safe */ _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_188__["default"]),
54438
+ /* harmony export */ "MobilePopupAdapter": () => (/* reexport safe */ _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_189__["default"]),
54439
+ /* harmony export */ "MobilePopupLayout": () => (/* reexport safe */ _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_190__["default"]),
54440
+ /* harmony export */ "DatePicker": () => (/* reexport safe */ _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_191__["default"]),
54441
+ /* harmony export */ "DatePickerPopup": () => (/* reexport safe */ _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_192__["default"]),
54442
+ /* harmony export */ "DatePickerPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_193__["default"]),
54443
+ /* harmony export */ "DatePickerTouchPopup": () => (/* reexport safe */ _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_194__["default"]),
54444
+ /* harmony export */ "DatePickerTouchPopupLayout": () => (/* reexport safe */ _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_195__["default"]),
54445
+ /* harmony export */ "Group": () => (/* reexport safe */ _group_Group__WEBPACK_IMPORTED_MODULE_196__["default"]),
54446
+ /* harmony export */ "GroupAdapter": () => (/* reexport safe */ _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_197__["default"]),
54447
+ /* harmony export */ "GroupLayout": () => (/* reexport safe */ _group_GroupLayout__WEBPACK_IMPORTED_MODULE_198__["default"]),
54448
+ /* harmony export */ "GroupToggleCollapseKeyStroke": () => (/* reexport safe */ _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_199__["default"]),
54449
+ /* harmony export */ "Icon": () => (/* reexport safe */ _image_Icon__WEBPACK_IMPORTED_MODULE_200__["default"]),
54450
+ /* harmony export */ "IconDesc": () => (/* reexport safe */ _image_IconDesc__WEBPACK_IMPORTED_MODULE_201__["default"]),
54451
+ /* harmony export */ "Image": () => (/* reexport safe */ _image_Image__WEBPACK_IMPORTED_MODULE_202__["default"]),
54452
+ /* harmony export */ "ImageLayout": () => (/* reexport safe */ _image_ImageLayout__WEBPACK_IMPORTED_MODULE_203__["default"]),
54453
+ /* harmony export */ "Notification": () => (/* reexport safe */ _notification_Notification__WEBPACK_IMPORTED_MODULE_204__["default"]),
54454
+ /* harmony export */ "NotificationAdapter": () => (/* reexport safe */ _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_205__["default"]),
54455
+ /* harmony export */ "menus": () => (/* reexport safe */ _menu_menus__WEBPACK_IMPORTED_MODULE_206__["default"]),
54456
+ /* harmony export */ "MenuDestinations": () => (/* reexport safe */ _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_207__["default"]),
54457
+ /* harmony export */ "Menu": () => (/* reexport safe */ _menu_Menu__WEBPACK_IMPORTED_MODULE_208__["default"]),
54458
+ /* harmony export */ "EllipsisMenu": () => (/* reexport safe */ _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_209__["default"]),
54459
+ /* harmony export */ "MenuAdapter": () => (/* reexport safe */ _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_210__["default"]),
54460
+ /* harmony export */ "MenuKeyStroke": () => (/* reexport safe */ _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_211__["default"]),
54461
+ /* harmony export */ "MenuExecKeyStroke": () => (/* reexport safe */ _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_212__["default"]),
54462
+ /* harmony export */ "MenuItemsOrder": () => (/* reexport safe */ _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_213__["default"]),
54463
+ /* harmony export */ "ComboMenu": () => (/* reexport safe */ _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_214__["default"]),
54464
+ /* harmony export */ "ComboMenuAdapter": () => (/* reexport safe */ _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_215__["default"]),
54465
+ /* harmony export */ "ContextMenuPopup": () => (/* reexport safe */ _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_216__["default"]),
54466
+ /* harmony export */ "ContextMenuPopupLayout": () => (/* reexport safe */ _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_217__["default"]),
54467
+ /* harmony export */ "MenuNavigationKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_218__["default"]),
54468
+ /* harmony export */ "MenuNavigationExecKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_219__["default"]),
54469
+ /* harmony export */ "MenuExecByNumberKeyStroke": () => (/* reexport safe */ _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_220__["default"]),
54470
+ /* harmony export */ "MenuNavigationDownKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_221__["default"]),
54471
+ /* harmony export */ "MenuNavigationUpKeyStroke": () => (/* reexport safe */ _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_222__["default"]),
54472
+ /* harmony export */ "SubCloseKeyStroke": () => (/* reexport safe */ _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_223__["default"]),
54473
+ /* harmony export */ "menuNavigationKeyStrokes": () => (/* reexport safe */ _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_224__["default"]),
54474
+ /* harmony export */ "ButtonAdapterMenu": () => (/* reexport safe */ _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_225__["default"]),
54475
+ /* harmony export */ "FormFieldMenu": () => (/* reexport safe */ _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_226__["default"]),
54476
+ /* harmony export */ "FormFieldMenuAdapter": () => (/* reexport safe */ _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_227__["default"]),
54477
+ /* harmony export */ "MenuBox": () => (/* reexport safe */ _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_228__["default"]),
54478
+ /* harmony export */ "MenuBoxLayout": () => (/* reexport safe */ _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_229__["default"]),
54479
+ /* harmony export */ "MenuBar": () => (/* reexport safe */ _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_230__["default"]),
54480
+ /* harmony export */ "MenuBarLayout": () => (/* reexport safe */ _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_231__["default"]),
54481
+ /* harmony export */ "MenuBarLeftKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_232__["default"]),
54482
+ /* harmony export */ "MenuBarRightKeyStroke": () => (/* reexport safe */ _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_233__["default"]),
54483
+ /* harmony export */ "MenuBarPopup": () => (/* reexport safe */ _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_234__["default"]),
54484
+ /* harmony export */ "MenuBarBox": () => (/* reexport safe */ _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_235__["default"]),
54485
+ /* harmony export */ "MenuBarBoxLayout": () => (/* reexport safe */ _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_236__["default"]),
54486
+ /* harmony export */ "Calendar": () => (/* reexport safe */ _calendar_Calendar__WEBPACK_IMPORTED_MODULE_237__["default"]),
54487
+ /* harmony export */ "CalendarAdapter": () => (/* reexport safe */ _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_238__["default"]),
54488
+ /* harmony export */ "CalendarComponent": () => (/* reexport safe */ _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_239__["default"]),
54489
+ /* harmony export */ "CalendarComponentAdapter": () => (/* reexport safe */ _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_240__["default"]),
54490
+ /* harmony export */ "CalendarListComponent": () => (/* reexport safe */ _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_241__["default"]),
54491
+ /* harmony export */ "CalendarLayout": () => (/* reexport safe */ _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_242__["default"]),
54492
+ /* harmony export */ "CalendarModeMenu": () => (/* reexport safe */ _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_243__["default"]),
54493
+ /* harmony export */ "CalendarModesMenu": () => (/* reexport safe */ _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_244__["default"]),
54494
+ /* harmony export */ "DateRange": () => (/* reexport safe */ _calendar_DateRange__WEBPACK_IMPORTED_MODULE_245__["default"]),
54495
+ /* harmony export */ "YearPanel": () => (/* reexport safe */ _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_246__["default"]),
54496
+ /* harmony export */ "Lifecycle": () => (/* reexport safe */ _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_247__["default"]),
54497
+ /* harmony export */ "Planner": () => (/* reexport safe */ _planner_Planner__WEBPACK_IMPORTED_MODULE_248__["default"]),
54498
+ /* harmony export */ "PlannerAdapter": () => (/* reexport safe */ _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_249__["default"]),
54499
+ /* harmony export */ "PlannerHeader": () => (/* reexport safe */ _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_250__["default"]),
54500
+ /* harmony export */ "PlannerLayout": () => (/* reexport safe */ _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_251__["default"]),
54501
+ /* harmony export */ "PlannerMenuItemsOrder": () => (/* reexport safe */ _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_252__["default"]),
54502
+ /* harmony export */ "FileChooser": () => (/* reexport safe */ _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_253__["default"]),
54503
+ /* harmony export */ "FileChooserAdapter": () => (/* reexport safe */ _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_254__["default"]),
54504
+ /* harmony export */ "FileChooserController": () => (/* reexport safe */ _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_255__["default"]),
54505
+ /* harmony export */ "FileInput": () => (/* reexport safe */ _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_256__["default"]),
54506
+ /* harmony export */ "Route": () => (/* reexport safe */ _router_Route__WEBPACK_IMPORTED_MODULE_257__["default"]),
54507
+ /* harmony export */ "router": () => (/* reexport safe */ _router_router__WEBPACK_IMPORTED_MODULE_258__["default"]),
54508
+ /* harmony export */ "Slider": () => (/* reexport safe */ _slider_Slider__WEBPACK_IMPORTED_MODULE_259__["default"]),
54509
+ /* harmony export */ "SliderAdapter": () => (/* reexport safe */ _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_260__["default"]),
54510
+ /* harmony export */ "SliderLayout": () => (/* reexport safe */ _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_261__["default"]),
54511
+ /* harmony export */ "Mode": () => (/* reexport safe */ _modeselector_Mode__WEBPACK_IMPORTED_MODULE_262__["default"]),
54512
+ /* harmony export */ "ModeAdapter": () => (/* reexport safe */ _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_263__["default"]),
54513
+ /* harmony export */ "ModeSelector": () => (/* reexport safe */ _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_264__["default"]),
54514
+ /* harmony export */ "ModeSelectorLayout": () => (/* reexport safe */ _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_265__["default"]),
54515
+ /* harmony export */ "Form": () => (/* reexport safe */ _form_Form__WEBPACK_IMPORTED_MODULE_266__["default"]),
54516
+ /* harmony export */ "FormAdapter": () => (/* reexport safe */ _form_FormAdapter__WEBPACK_IMPORTED_MODULE_267__["default"]),
54517
+ /* harmony export */ "FormGrid": () => (/* reexport safe */ _form_FormGrid__WEBPACK_IMPORTED_MODULE_268__["default"]),
54518
+ /* harmony export */ "FormLayout": () => (/* reexport safe */ _form_FormLayout__WEBPACK_IMPORTED_MODULE_269__["default"]),
54519
+ /* harmony export */ "FormMenuActionKeyStroke": () => (/* reexport safe */ _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_270__["default"]),
54520
+ /* harmony export */ "FormMenu": () => (/* reexport safe */ _form_FormMenu__WEBPACK_IMPORTED_MODULE_271__["default"]),
54521
+ /* harmony export */ "FormMenuAdapter": () => (/* reexport safe */ _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_272__["default"]),
54522
+ /* harmony export */ "FormLifecycle": () => (/* reexport safe */ _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_273__["default"]),
54523
+ /* harmony export */ "CancelMenu": () => (/* reexport safe */ _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_274__["default"]),
54524
+ /* harmony export */ "CloseMenu": () => (/* reexport safe */ _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_275__["default"]),
54525
+ /* harmony export */ "OkMenu": () => (/* reexport safe */ _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_276__["default"]),
54526
+ /* harmony export */ "ResetMenu": () => (/* reexport safe */ _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_277__["default"]),
54527
+ /* harmony export */ "SaveMenu": () => (/* reexport safe */ _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_278__["default"]),
54528
+ /* harmony export */ "DialogLayout": () => (/* reexport safe */ _form_DialogLayout__WEBPACK_IMPORTED_MODULE_279__["default"]),
54529
+ /* harmony export */ "ResponsiveManager": () => (/* reexport safe */ _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_280__["default"]),
54530
+ /* harmony export */ "ResponsiveHandler": () => (/* reexport safe */ _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__["default"]),
54531
+ /* harmony export */ "GroupBoxResponsiveHandler": () => (/* reexport safe */ _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__["default"]),
54532
+ /* harmony export */ "DesktopResponsiveHandler": () => (/* reexport safe */ _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_283__["default"]),
54533
+ /* harmony export */ "TileOverviewForm": () => (/* reexport safe */ _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_284__["default"]),
54534
+ /* harmony export */ "TileOverviewFormAdapter": () => (/* reexport safe */ _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_285__["default"]),
54535
+ /* harmony export */ "Table": () => (/* reexport safe */ _table_Table__WEBPACK_IMPORTED_MODULE_286__["default"]),
54536
+ /* harmony export */ "TableAdapter": () => (/* reexport safe */ _table_TableAdapter__WEBPACK_IMPORTED_MODULE_287__["default"]),
54537
+ /* harmony export */ "TableCompactHandler": () => (/* reexport safe */ _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_288__["default"]),
54538
+ /* harmony export */ "TableRow": () => (/* reexport safe */ _table_TableRow__WEBPACK_IMPORTED_MODULE_289__["default"]),
54539
+ /* harmony export */ "TableMatrix": () => (/* reexport safe */ _table_TableMatrix__WEBPACK_IMPORTED_MODULE_290__["default"]),
54540
+ /* harmony export */ "TableFooter": () => (/* reexport safe */ _table_TableFooter__WEBPACK_IMPORTED_MODULE_291__["default"]),
54541
+ /* harmony export */ "TableFooterLayout": () => (/* reexport safe */ _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_292__["default"]),
54542
+ /* harmony export */ "TableInfoFilterTooltip": () => (/* reexport safe */ _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_293__["default"]),
54543
+ /* harmony export */ "TableInfoLoadTooltip": () => (/* reexport safe */ _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_294__["default"]),
54544
+ /* harmony export */ "TableInfoSelectionTooltip": () => (/* reexport safe */ _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_295__["default"]),
54545
+ /* harmony export */ "TableHeader": () => (/* reexport safe */ _table_TableHeader__WEBPACK_IMPORTED_MODULE_296__["default"]),
54546
+ /* harmony export */ "TableHeaderMenu": () => (/* reexport safe */ _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_297__["default"]),
54547
+ /* harmony export */ "TableHeaderMenuLayout": () => (/* reexport safe */ _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_298__["default"]),
54548
+ /* harmony export */ "TableHeaderMenuGroup": () => (/* reexport safe */ _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_299__["default"]),
54549
+ /* harmony export */ "TableHeaderMenuButton": () => (/* reexport safe */ _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_300__["default"]),
54346
54550
  /* harmony export */ "TableLayout": () => (/* reexport safe */ _table_TableLayout__WEBPACK_IMPORTED_MODULE_301__["default"]),
54347
54551
  /* harmony export */ "TableSelectionHandler": () => (/* reexport safe */ _table_TableSelectionHandler__WEBPACK_IMPORTED_MODULE_302__["default"]),
54348
54552
  /* harmony export */ "TableTileGridMediator": () => (/* reexport safe */ _table_TableTileGridMediator__WEBPACK_IMPORTED_MODULE_303__["default"]),
@@ -54902,134 +55106,134 @@ __webpack_require__.r(__webpack_exports__);
54902
55106
  /* harmony import */ var _tooltip_WidgetTooltip__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./tooltip/WidgetTooltip */ "./src/tooltip/WidgetTooltip.js");
54903
55107
  /* harmony import */ var _action_Action__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./action/Action */ "./src/action/Action.js");
54904
55108
  /* harmony import */ var _action_ActionAdapter__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./action/ActionAdapter */ "./src/action/ActionAdapter.js");
54905
- /* harmony import */ var _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./action/ActionKeyStroke */ "./src/action/ActionKeyStroke.js");
54906
- /* harmony import */ var _box_Box__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./box/Box */ "./src/box/Box.js");
54907
- /* harmony import */ var _label_Label__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./label/Label */ "./src/label/Label.js");
54908
- /* harmony import */ var _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./label/LabelAdapter */ "./src/label/LabelAdapter.js");
54909
- /* harmony import */ var _popup_Popup__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./popup/Popup */ "./src/popup/Popup.js");
54910
- /* harmony import */ var _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./popup/PopupAdapter */ "./src/popup/PopupAdapter.js");
54911
- /* harmony import */ var _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./popup/PopupLayout */ "./src/popup/PopupLayout.js");
54912
- /* harmony import */ var _popup_PopupManager__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./popup/PopupManager */ "./src/popup/PopupManager.js");
54913
- /* harmony import */ var _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./popup/PopupManagerAdapter */ "./src/popup/PopupManagerAdapter.js");
54914
- /* harmony import */ var _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./popup/TouchPopup */ "./src/popup/TouchPopup.js");
54915
- /* harmony import */ var _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./popup/TouchPopupLayout */ "./src/popup/TouchPopupLayout.js");
54916
- /* harmony import */ var _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./popup/WidgetPopup */ "./src/popup/WidgetPopup.js");
54917
- /* harmony import */ var _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./popup/WidgetPopupAdapter */ "./src/popup/WidgetPopupAdapter.js");
54918
- /* harmony import */ var _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./popup/WidgetPopupLayout */ "./src/popup/WidgetPopupLayout.js");
54919
- /* harmony import */ var _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./popup/MobilePopup */ "./src/popup/MobilePopup.js");
54920
- /* harmony import */ var _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./popup/MobilePopupAdapter */ "./src/popup/MobilePopupAdapter.js");
54921
- /* harmony import */ var _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./popup/MobilePopupLayout */ "./src/popup/MobilePopupLayout.js");
54922
- /* harmony import */ var _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./datepicker/DatePicker */ "./src/datepicker/DatePicker.js");
54923
- /* harmony import */ var _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./datepicker/DatePickerPopup */ "./src/datepicker/DatePickerPopup.js");
54924
- /* harmony import */ var _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./datepicker/DatePickerPopupLayout */ "./src/datepicker/DatePickerPopupLayout.js");
54925
- /* harmony import */ var _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopup */ "./src/datepicker/DatePickerTouchPopup.js");
54926
- /* harmony import */ var _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopupLayout */ "./src/datepicker/DatePickerTouchPopupLayout.js");
54927
- /* harmony import */ var _group_Group__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./group/Group */ "./src/group/Group.js");
54928
- /* harmony import */ var _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./group/GroupAdapter */ "./src/group/GroupAdapter.js");
54929
- /* harmony import */ var _group_GroupLayout__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./group/GroupLayout */ "./src/group/GroupLayout.js");
54930
- /* harmony import */ var _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./group/keystrokes/GroupToggleCollapseKeyStroke */ "./src/group/keystrokes/GroupToggleCollapseKeyStroke.js");
54931
- /* harmony import */ var _image_Icon__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./image/Icon */ "./src/image/Icon.js");
54932
- /* harmony import */ var _image_IconDesc__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./image/IconDesc */ "./src/image/IconDesc.js");
54933
- /* harmony import */ var _image_Image__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./image/Image */ "./src/image/Image.js");
54934
- /* harmony import */ var _image_ImageLayout__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./image/ImageLayout */ "./src/image/ImageLayout.js");
54935
- /* harmony import */ var _notification_Notification__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./notification/Notification */ "./src/notification/Notification.js");
54936
- /* harmony import */ var _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./notification/NotificationAdapter */ "./src/notification/NotificationAdapter.js");
54937
- /* harmony import */ var _menu_menus__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./menu/menus */ "./src/menu/menus.js");
54938
- /* harmony import */ var _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./menu/MenuDestinations */ "./src/menu/MenuDestinations.js");
54939
- /* harmony import */ var _menu_Menu__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./menu/Menu */ "./src/menu/Menu.js");
54940
- /* harmony import */ var _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./menu/EllipsisMenu */ "./src/menu/EllipsisMenu.js");
54941
- /* harmony import */ var _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./menu/MenuAdapter */ "./src/menu/MenuAdapter.js");
54942
- /* harmony import */ var _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./menu/MenuKeyStroke */ "./src/menu/MenuKeyStroke.js");
54943
- /* harmony import */ var _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./menu/MenuExecKeyStroke */ "./src/menu/MenuExecKeyStroke.js");
54944
- /* harmony import */ var _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./menu/MenuItemsOrder */ "./src/menu/MenuItemsOrder.js");
54945
- /* harmony import */ var _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./menu/ComboMenu */ "./src/menu/ComboMenu.js");
54946
- /* harmony import */ var _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./menu/ComboMenuAdapter */ "./src/menu/ComboMenuAdapter.js");
54947
- /* harmony import */ var _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./menu/ContextMenuPopup */ "./src/menu/ContextMenuPopup.js");
54948
- /* harmony import */ var _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./menu/ContextMenuPopupLayout */ "./src/menu/ContextMenuPopupLayout.js");
54949
- /* harmony import */ var _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./menu/MenuNavigationKeyStroke */ "./src/menu/MenuNavigationKeyStroke.js");
54950
- /* harmony import */ var _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./menu/MenuNavigationExecKeyStroke */ "./src/menu/MenuNavigationExecKeyStroke.js");
54951
- /* harmony import */ var _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./menu/MenuExecByNumberKeyStroke */ "./src/menu/MenuExecByNumberKeyStroke.js");
54952
- /* harmony import */ var _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./menu/MenuNavigationDownKeyStroke */ "./src/menu/MenuNavigationDownKeyStroke.js");
54953
- /* harmony import */ var _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./menu/MenuNavigationUpKeyStroke */ "./src/menu/MenuNavigationUpKeyStroke.js");
54954
- /* harmony import */ var _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./menu/SubCloseKeyStroke */ "./src/menu/SubCloseKeyStroke.js");
54955
- /* harmony import */ var _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./menu/menuNavigationKeyStrokes */ "./src/menu/menuNavigationKeyStrokes.js");
54956
- /* harmony import */ var _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./menu/ButtonAdapterMenu */ "./src/menu/ButtonAdapterMenu.js");
54957
- /* harmony import */ var _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenu */ "./src/menu/form/field/FormFieldMenu.js");
54958
- /* harmony import */ var _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenuAdapter */ "./src/menu/form/field/FormFieldMenuAdapter.js");
54959
- /* harmony import */ var _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./menu/menubox/MenuBox */ "./src/menu/menubox/MenuBox.js");
54960
- /* harmony import */ var _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./menu/menubox/MenuBoxLayout */ "./src/menu/menubox/MenuBoxLayout.js");
54961
- /* harmony import */ var _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./menu/menubar/MenuBar */ "./src/menu/menubar/MenuBar.js");
54962
- /* harmony import */ var _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./menu/menubar/MenuBarLayout */ "./src/menu/menubar/MenuBarLayout.js");
54963
- /* harmony import */ var _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./menu/menubar/MenuBarLeftKeyStroke */ "./src/menu/menubar/MenuBarLeftKeyStroke.js");
54964
- /* harmony import */ var _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./menu/menubar/MenuBarRightKeyStroke */ "./src/menu/menubar/MenuBarRightKeyStroke.js");
54965
- /* harmony import */ var _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./menu/menubar/MenuBarPopup */ "./src/menu/menubar/MenuBarPopup.js");
54966
- /* harmony import */ var _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./menu/menubar/MenuBarBox */ "./src/menu/menubar/MenuBarBox.js");
54967
- /* harmony import */ var _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./menu/menubar/MenuBarBoxLayout */ "./src/menu/menubar/MenuBarBoxLayout.js");
54968
- /* harmony import */ var _calendar_Calendar__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./calendar/Calendar */ "./src/calendar/Calendar.js");
54969
- /* harmony import */ var _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./calendar/CalendarAdapter */ "./src/calendar/CalendarAdapter.js");
54970
- /* harmony import */ var _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./calendar/CalendarComponent */ "./src/calendar/CalendarComponent.js");
54971
- /* harmony import */ var _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./calendar/CalendarComponentAdapter */ "./src/calendar/CalendarComponentAdapter.js");
54972
- /* harmony import */ var _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./calendar/CalendarListComponent */ "./src/calendar/CalendarListComponent.js");
54973
- /* harmony import */ var _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./calendar/CalendarLayout */ "./src/calendar/CalendarLayout.js");
54974
- /* harmony import */ var _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./calendar/CalendarModeMenu */ "./src/calendar/CalendarModeMenu.js");
54975
- /* harmony import */ var _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./calendar/CalendarModesMenu */ "./src/calendar/CalendarModesMenu.js");
54976
- /* harmony import */ var _calendar_DateRange__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./calendar/DateRange */ "./src/calendar/DateRange.js");
54977
- /* harmony import */ var _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./calendar/YearPanel */ "./src/calendar/YearPanel.js");
54978
- /* harmony import */ var _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./lifecycle/Lifecycle */ "./src/lifecycle/Lifecycle.js");
54979
- /* harmony import */ var _planner_Planner__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./planner/Planner */ "./src/planner/Planner.js");
54980
- /* harmony import */ var _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./planner/PlannerAdapter */ "./src/planner/PlannerAdapter.js");
54981
- /* harmony import */ var _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./planner/PlannerHeader */ "./src/planner/PlannerHeader.js");
54982
- /* harmony import */ var _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./planner/PlannerLayout */ "./src/planner/PlannerLayout.js");
54983
- /* harmony import */ var _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./planner/PlannerMenuItemsOrder */ "./src/planner/PlannerMenuItemsOrder.js");
54984
- /* harmony import */ var _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./filechooser/FileChooser */ "./src/filechooser/FileChooser.js");
54985
- /* harmony import */ var _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./filechooser/FileChooserAdapter */ "./src/filechooser/FileChooserAdapter.js");
54986
- /* harmony import */ var _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./filechooser/FileChooserController */ "./src/filechooser/FileChooserController.js");
54987
- /* harmony import */ var _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./filechooser/FileInput */ "./src/filechooser/FileInput.js");
54988
- /* harmony import */ var _router_Route__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./router/Route */ "./src/router/Route.js");
54989
- /* harmony import */ var _router_router__WEBPACK_IMPORTED_MODULE_257__ = __webpack_require__(/*! ./router/router */ "./src/router/router.js");
54990
- /* harmony import */ var _slider_Slider__WEBPACK_IMPORTED_MODULE_258__ = __webpack_require__(/*! ./slider/Slider */ "./src/slider/Slider.js");
54991
- /* harmony import */ var _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_259__ = __webpack_require__(/*! ./slider/SliderAdapter */ "./src/slider/SliderAdapter.js");
54992
- /* harmony import */ var _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_260__ = __webpack_require__(/*! ./slider/SliderLayout */ "./src/slider/SliderLayout.js");
54993
- /* harmony import */ var _modeselector_Mode__WEBPACK_IMPORTED_MODULE_261__ = __webpack_require__(/*! ./modeselector/Mode */ "./src/modeselector/Mode.js");
54994
- /* harmony import */ var _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_262__ = __webpack_require__(/*! ./modeselector/ModeAdapter */ "./src/modeselector/ModeAdapter.js");
54995
- /* harmony import */ var _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_263__ = __webpack_require__(/*! ./modeselector/ModeSelector */ "./src/modeselector/ModeSelector.js");
54996
- /* harmony import */ var _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_264__ = __webpack_require__(/*! ./modeselector/ModeSelectorLayout */ "./src/modeselector/ModeSelectorLayout.js");
54997
- /* harmony import */ var _form_Form__WEBPACK_IMPORTED_MODULE_265__ = __webpack_require__(/*! ./form/Form */ "./src/form/Form.js");
54998
- /* harmony import */ var _form_FormAdapter__WEBPACK_IMPORTED_MODULE_266__ = __webpack_require__(/*! ./form/FormAdapter */ "./src/form/FormAdapter.js");
54999
- /* harmony import */ var _form_FormGrid__WEBPACK_IMPORTED_MODULE_267__ = __webpack_require__(/*! ./form/FormGrid */ "./src/form/FormGrid.js");
55000
- /* harmony import */ var _form_FormLayout__WEBPACK_IMPORTED_MODULE_268__ = __webpack_require__(/*! ./form/FormLayout */ "./src/form/FormLayout.js");
55001
- /* harmony import */ var _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_269__ = __webpack_require__(/*! ./form/FormMenuActionKeyStroke */ "./src/form/FormMenuActionKeyStroke.js");
55002
- /* harmony import */ var _form_FormMenu__WEBPACK_IMPORTED_MODULE_270__ = __webpack_require__(/*! ./form/FormMenu */ "./src/form/FormMenu.js");
55003
- /* harmony import */ var _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_271__ = __webpack_require__(/*! ./form/FormMenuAdapter */ "./src/form/FormMenuAdapter.js");
55004
- /* harmony import */ var _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_272__ = __webpack_require__(/*! ./form/lifecycle/FormLifecycle */ "./src/form/lifecycle/FormLifecycle.js");
55005
- /* harmony import */ var _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_273__ = __webpack_require__(/*! ./form/lifecycle/CancelMenu */ "./src/form/lifecycle/CancelMenu.js");
55006
- /* harmony import */ var _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_274__ = __webpack_require__(/*! ./form/lifecycle/CloseMenu */ "./src/form/lifecycle/CloseMenu.js");
55007
- /* harmony import */ var _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_275__ = __webpack_require__(/*! ./form/lifecycle/OkMenu */ "./src/form/lifecycle/OkMenu.js");
55008
- /* harmony import */ var _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_276__ = __webpack_require__(/*! ./form/lifecycle/ResetMenu */ "./src/form/lifecycle/ResetMenu.js");
55009
- /* harmony import */ var _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_277__ = __webpack_require__(/*! ./form/lifecycle/SaveMenu */ "./src/form/lifecycle/SaveMenu.js");
55010
- /* harmony import */ var _form_DialogLayout__WEBPACK_IMPORTED_MODULE_278__ = __webpack_require__(/*! ./form/DialogLayout */ "./src/form/DialogLayout.js");
55011
- /* harmony import */ var _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_279__ = __webpack_require__(/*! ./form/ResponsiveManager */ "./src/form/ResponsiveManager.js");
55012
- /* harmony import */ var _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_280__ = __webpack_require__(/*! ./form/ResponsiveHandler */ "./src/form/ResponsiveHandler.js");
55013
- /* harmony import */ var _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__ = __webpack_require__(/*! ./form/GroupBoxResponsiveHandler */ "./src/form/GroupBoxResponsiveHandler.js");
55014
- /* harmony import */ var _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__ = __webpack_require__(/*! ./form/DesktopResponsiveHandler */ "./src/form/DesktopResponsiveHandler.js");
55015
- /* harmony import */ var _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_283__ = __webpack_require__(/*! ./form/TileOverviewForm */ "./src/form/TileOverviewForm.js");
55016
- /* harmony import */ var _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_284__ = __webpack_require__(/*! ./form/TileOverviewFormAdapter */ "./src/form/TileOverviewFormAdapter.js");
55017
- /* harmony import */ var _table_Table__WEBPACK_IMPORTED_MODULE_285__ = __webpack_require__(/*! ./table/Table */ "./src/table/Table.js");
55018
- /* harmony import */ var _table_TableAdapter__WEBPACK_IMPORTED_MODULE_286__ = __webpack_require__(/*! ./table/TableAdapter */ "./src/table/TableAdapter.js");
55019
- /* harmony import */ var _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_287__ = __webpack_require__(/*! ./table/TableCompactHandler */ "./src/table/TableCompactHandler.js");
55020
- /* harmony import */ var _table_TableRow__WEBPACK_IMPORTED_MODULE_288__ = __webpack_require__(/*! ./table/TableRow */ "./src/table/TableRow.js");
55021
- /* harmony import */ var _table_TableMatrix__WEBPACK_IMPORTED_MODULE_289__ = __webpack_require__(/*! ./table/TableMatrix */ "./src/table/TableMatrix.js");
55022
- /* harmony import */ var _table_TableFooter__WEBPACK_IMPORTED_MODULE_290__ = __webpack_require__(/*! ./table/TableFooter */ "./src/table/TableFooter.js");
55023
- /* harmony import */ var _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_291__ = __webpack_require__(/*! ./table/TableFooterLayout */ "./src/table/TableFooterLayout.js");
55024
- /* harmony import */ var _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_292__ = __webpack_require__(/*! ./table/TableInfoFilterTooltip */ "./src/table/TableInfoFilterTooltip.js");
55025
- /* harmony import */ var _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_293__ = __webpack_require__(/*! ./table/TableInfoLoadTooltip */ "./src/table/TableInfoLoadTooltip.js");
55026
- /* harmony import */ var _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_294__ = __webpack_require__(/*! ./table/TableInfoSelectionTooltip */ "./src/table/TableInfoSelectionTooltip.js");
55027
- /* harmony import */ var _table_TableHeader__WEBPACK_IMPORTED_MODULE_295__ = __webpack_require__(/*! ./table/TableHeader */ "./src/table/TableHeader.js");
55028
- /* harmony import */ var _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_296__ = __webpack_require__(/*! ./table/TableHeaderMenu */ "./src/table/TableHeaderMenu.js");
55029
- /* harmony import */ var _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_297__ = __webpack_require__(/*! ./table/TableHeaderMenuLayout */ "./src/table/TableHeaderMenuLayout.js");
55030
- /* harmony import */ var _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_298__ = __webpack_require__(/*! ./table/TableHeaderMenuGroup */ "./src/table/TableHeaderMenuGroup.js");
55031
- /* harmony import */ var _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_299__ = __webpack_require__(/*! ./table/TableHeaderMenuButton */ "./src/table/TableHeaderMenuButton.js");
55032
- /* harmony import */ var _table_TableHeaderMenuButtonKeyStroke__WEBPACK_IMPORTED_MODULE_300__ = __webpack_require__(/*! ./table/TableHeaderMenuButtonKeyStroke */ "./src/table/TableHeaderMenuButtonKeyStroke.js");
55109
+ /* harmony import */ var _action_ActionExecKeyStroke__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./action/ActionExecKeyStroke */ "./src/action/ActionExecKeyStroke.js");
55110
+ /* harmony import */ var _action_ActionKeyStroke__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./action/ActionKeyStroke */ "./src/action/ActionKeyStroke.js");
55111
+ /* harmony import */ var _box_Box__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./box/Box */ "./src/box/Box.js");
55112
+ /* harmony import */ var _label_Label__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./label/Label */ "./src/label/Label.js");
55113
+ /* harmony import */ var _label_LabelAdapter__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./label/LabelAdapter */ "./src/label/LabelAdapter.js");
55114
+ /* harmony import */ var _popup_Popup__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./popup/Popup */ "./src/popup/Popup.js");
55115
+ /* harmony import */ var _popup_PopupAdapter__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./popup/PopupAdapter */ "./src/popup/PopupAdapter.js");
55116
+ /* harmony import */ var _popup_PopupLayout__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./popup/PopupLayout */ "./src/popup/PopupLayout.js");
55117
+ /* harmony import */ var _popup_PopupManager__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./popup/PopupManager */ "./src/popup/PopupManager.js");
55118
+ /* harmony import */ var _popup_PopupManagerAdapter__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./popup/PopupManagerAdapter */ "./src/popup/PopupManagerAdapter.js");
55119
+ /* harmony import */ var _popup_TouchPopup__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./popup/TouchPopup */ "./src/popup/TouchPopup.js");
55120
+ /* harmony import */ var _popup_TouchPopupLayout__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./popup/TouchPopupLayout */ "./src/popup/TouchPopupLayout.js");
55121
+ /* harmony import */ var _popup_WidgetPopup__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./popup/WidgetPopup */ "./src/popup/WidgetPopup.js");
55122
+ /* harmony import */ var _popup_WidgetPopupAdapter__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./popup/WidgetPopupAdapter */ "./src/popup/WidgetPopupAdapter.js");
55123
+ /* harmony import */ var _popup_WidgetPopupLayout__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./popup/WidgetPopupLayout */ "./src/popup/WidgetPopupLayout.js");
55124
+ /* harmony import */ var _popup_MobilePopup__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./popup/MobilePopup */ "./src/popup/MobilePopup.js");
55125
+ /* harmony import */ var _popup_MobilePopupAdapter__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./popup/MobilePopupAdapter */ "./src/popup/MobilePopupAdapter.js");
55126
+ /* harmony import */ var _popup_MobilePopupLayout__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./popup/MobilePopupLayout */ "./src/popup/MobilePopupLayout.js");
55127
+ /* harmony import */ var _datepicker_DatePicker__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./datepicker/DatePicker */ "./src/datepicker/DatePicker.js");
55128
+ /* harmony import */ var _datepicker_DatePickerPopup__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./datepicker/DatePickerPopup */ "./src/datepicker/DatePickerPopup.js");
55129
+ /* harmony import */ var _datepicker_DatePickerPopupLayout__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./datepicker/DatePickerPopupLayout */ "./src/datepicker/DatePickerPopupLayout.js");
55130
+ /* harmony import */ var _datepicker_DatePickerTouchPopup__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopup */ "./src/datepicker/DatePickerTouchPopup.js");
55131
+ /* harmony import */ var _datepicker_DatePickerTouchPopupLayout__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./datepicker/DatePickerTouchPopupLayout */ "./src/datepicker/DatePickerTouchPopupLayout.js");
55132
+ /* harmony import */ var _group_Group__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./group/Group */ "./src/group/Group.js");
55133
+ /* harmony import */ var _group_GroupAdapter__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./group/GroupAdapter */ "./src/group/GroupAdapter.js");
55134
+ /* harmony import */ var _group_GroupLayout__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./group/GroupLayout */ "./src/group/GroupLayout.js");
55135
+ /* harmony import */ var _group_keystrokes_GroupToggleCollapseKeyStroke__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./group/keystrokes/GroupToggleCollapseKeyStroke */ "./src/group/keystrokes/GroupToggleCollapseKeyStroke.js");
55136
+ /* harmony import */ var _image_Icon__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./image/Icon */ "./src/image/Icon.js");
55137
+ /* harmony import */ var _image_IconDesc__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./image/IconDesc */ "./src/image/IconDesc.js");
55138
+ /* harmony import */ var _image_Image__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./image/Image */ "./src/image/Image.js");
55139
+ /* harmony import */ var _image_ImageLayout__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./image/ImageLayout */ "./src/image/ImageLayout.js");
55140
+ /* harmony import */ var _notification_Notification__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./notification/Notification */ "./src/notification/Notification.js");
55141
+ /* harmony import */ var _notification_NotificationAdapter__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./notification/NotificationAdapter */ "./src/notification/NotificationAdapter.js");
55142
+ /* harmony import */ var _menu_menus__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./menu/menus */ "./src/menu/menus.js");
55143
+ /* harmony import */ var _menu_MenuDestinations__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./menu/MenuDestinations */ "./src/menu/MenuDestinations.js");
55144
+ /* harmony import */ var _menu_Menu__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./menu/Menu */ "./src/menu/Menu.js");
55145
+ /* harmony import */ var _menu_EllipsisMenu__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./menu/EllipsisMenu */ "./src/menu/EllipsisMenu.js");
55146
+ /* harmony import */ var _menu_MenuAdapter__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./menu/MenuAdapter */ "./src/menu/MenuAdapter.js");
55147
+ /* harmony import */ var _menu_MenuKeyStroke__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./menu/MenuKeyStroke */ "./src/menu/MenuKeyStroke.js");
55148
+ /* harmony import */ var _menu_MenuExecKeyStroke__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./menu/MenuExecKeyStroke */ "./src/menu/MenuExecKeyStroke.js");
55149
+ /* harmony import */ var _menu_MenuItemsOrder__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./menu/MenuItemsOrder */ "./src/menu/MenuItemsOrder.js");
55150
+ /* harmony import */ var _menu_ComboMenu__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./menu/ComboMenu */ "./src/menu/ComboMenu.js");
55151
+ /* harmony import */ var _menu_ComboMenuAdapter__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./menu/ComboMenuAdapter */ "./src/menu/ComboMenuAdapter.js");
55152
+ /* harmony import */ var _menu_ContextMenuPopup__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./menu/ContextMenuPopup */ "./src/menu/ContextMenuPopup.js");
55153
+ /* harmony import */ var _menu_ContextMenuPopupLayout__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./menu/ContextMenuPopupLayout */ "./src/menu/ContextMenuPopupLayout.js");
55154
+ /* harmony import */ var _menu_MenuNavigationKeyStroke__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./menu/MenuNavigationKeyStroke */ "./src/menu/MenuNavigationKeyStroke.js");
55155
+ /* harmony import */ var _menu_MenuNavigationExecKeyStroke__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./menu/MenuNavigationExecKeyStroke */ "./src/menu/MenuNavigationExecKeyStroke.js");
55156
+ /* harmony import */ var _menu_MenuExecByNumberKeyStroke__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./menu/MenuExecByNumberKeyStroke */ "./src/menu/MenuExecByNumberKeyStroke.js");
55157
+ /* harmony import */ var _menu_MenuNavigationDownKeyStroke__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./menu/MenuNavigationDownKeyStroke */ "./src/menu/MenuNavigationDownKeyStroke.js");
55158
+ /* harmony import */ var _menu_MenuNavigationUpKeyStroke__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./menu/MenuNavigationUpKeyStroke */ "./src/menu/MenuNavigationUpKeyStroke.js");
55159
+ /* harmony import */ var _menu_SubCloseKeyStroke__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./menu/SubCloseKeyStroke */ "./src/menu/SubCloseKeyStroke.js");
55160
+ /* harmony import */ var _menu_menuNavigationKeyStrokes__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./menu/menuNavigationKeyStrokes */ "./src/menu/menuNavigationKeyStrokes.js");
55161
+ /* harmony import */ var _menu_ButtonAdapterMenu__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./menu/ButtonAdapterMenu */ "./src/menu/ButtonAdapterMenu.js");
55162
+ /* harmony import */ var _menu_form_field_FormFieldMenu__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenu */ "./src/menu/form/field/FormFieldMenu.js");
55163
+ /* harmony import */ var _menu_form_field_FormFieldMenuAdapter__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./menu/form/field/FormFieldMenuAdapter */ "./src/menu/form/field/FormFieldMenuAdapter.js");
55164
+ /* harmony import */ var _menu_menubox_MenuBox__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./menu/menubox/MenuBox */ "./src/menu/menubox/MenuBox.js");
55165
+ /* harmony import */ var _menu_menubox_MenuBoxLayout__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./menu/menubox/MenuBoxLayout */ "./src/menu/menubox/MenuBoxLayout.js");
55166
+ /* harmony import */ var _menu_menubar_MenuBar__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./menu/menubar/MenuBar */ "./src/menu/menubar/MenuBar.js");
55167
+ /* harmony import */ var _menu_menubar_MenuBarLayout__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./menu/menubar/MenuBarLayout */ "./src/menu/menubar/MenuBarLayout.js");
55168
+ /* harmony import */ var _menu_menubar_MenuBarLeftKeyStroke__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./menu/menubar/MenuBarLeftKeyStroke */ "./src/menu/menubar/MenuBarLeftKeyStroke.js");
55169
+ /* harmony import */ var _menu_menubar_MenuBarRightKeyStroke__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./menu/menubar/MenuBarRightKeyStroke */ "./src/menu/menubar/MenuBarRightKeyStroke.js");
55170
+ /* harmony import */ var _menu_menubar_MenuBarPopup__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./menu/menubar/MenuBarPopup */ "./src/menu/menubar/MenuBarPopup.js");
55171
+ /* harmony import */ var _menu_menubar_MenuBarBox__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./menu/menubar/MenuBarBox */ "./src/menu/menubar/MenuBarBox.js");
55172
+ /* harmony import */ var _menu_menubar_MenuBarBoxLayout__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./menu/menubar/MenuBarBoxLayout */ "./src/menu/menubar/MenuBarBoxLayout.js");
55173
+ /* harmony import */ var _calendar_Calendar__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./calendar/Calendar */ "./src/calendar/Calendar.js");
55174
+ /* harmony import */ var _calendar_CalendarAdapter__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./calendar/CalendarAdapter */ "./src/calendar/CalendarAdapter.js");
55175
+ /* harmony import */ var _calendar_CalendarComponent__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./calendar/CalendarComponent */ "./src/calendar/CalendarComponent.js");
55176
+ /* harmony import */ var _calendar_CalendarComponentAdapter__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./calendar/CalendarComponentAdapter */ "./src/calendar/CalendarComponentAdapter.js");
55177
+ /* harmony import */ var _calendar_CalendarListComponent__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./calendar/CalendarListComponent */ "./src/calendar/CalendarListComponent.js");
55178
+ /* harmony import */ var _calendar_CalendarLayout__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./calendar/CalendarLayout */ "./src/calendar/CalendarLayout.js");
55179
+ /* harmony import */ var _calendar_CalendarModeMenu__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./calendar/CalendarModeMenu */ "./src/calendar/CalendarModeMenu.js");
55180
+ /* harmony import */ var _calendar_CalendarModesMenu__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./calendar/CalendarModesMenu */ "./src/calendar/CalendarModesMenu.js");
55181
+ /* harmony import */ var _calendar_DateRange__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./calendar/DateRange */ "./src/calendar/DateRange.js");
55182
+ /* harmony import */ var _calendar_YearPanel__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./calendar/YearPanel */ "./src/calendar/YearPanel.js");
55183
+ /* harmony import */ var _lifecycle_Lifecycle__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./lifecycle/Lifecycle */ "./src/lifecycle/Lifecycle.js");
55184
+ /* harmony import */ var _planner_Planner__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./planner/Planner */ "./src/planner/Planner.js");
55185
+ /* harmony import */ var _planner_PlannerAdapter__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./planner/PlannerAdapter */ "./src/planner/PlannerAdapter.js");
55186
+ /* harmony import */ var _planner_PlannerHeader__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./planner/PlannerHeader */ "./src/planner/PlannerHeader.js");
55187
+ /* harmony import */ var _planner_PlannerLayout__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./planner/PlannerLayout */ "./src/planner/PlannerLayout.js");
55188
+ /* harmony import */ var _planner_PlannerMenuItemsOrder__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./planner/PlannerMenuItemsOrder */ "./src/planner/PlannerMenuItemsOrder.js");
55189
+ /* harmony import */ var _filechooser_FileChooser__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./filechooser/FileChooser */ "./src/filechooser/FileChooser.js");
55190
+ /* harmony import */ var _filechooser_FileChooserAdapter__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./filechooser/FileChooserAdapter */ "./src/filechooser/FileChooserAdapter.js");
55191
+ /* harmony import */ var _filechooser_FileChooserController__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./filechooser/FileChooserController */ "./src/filechooser/FileChooserController.js");
55192
+ /* harmony import */ var _filechooser_FileInput__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./filechooser/FileInput */ "./src/filechooser/FileInput.js");
55193
+ /* harmony import */ var _router_Route__WEBPACK_IMPORTED_MODULE_257__ = __webpack_require__(/*! ./router/Route */ "./src/router/Route.js");
55194
+ /* harmony import */ var _router_router__WEBPACK_IMPORTED_MODULE_258__ = __webpack_require__(/*! ./router/router */ "./src/router/router.js");
55195
+ /* harmony import */ var _slider_Slider__WEBPACK_IMPORTED_MODULE_259__ = __webpack_require__(/*! ./slider/Slider */ "./src/slider/Slider.js");
55196
+ /* harmony import */ var _slider_SliderAdapter__WEBPACK_IMPORTED_MODULE_260__ = __webpack_require__(/*! ./slider/SliderAdapter */ "./src/slider/SliderAdapter.js");
55197
+ /* harmony import */ var _slider_SliderLayout__WEBPACK_IMPORTED_MODULE_261__ = __webpack_require__(/*! ./slider/SliderLayout */ "./src/slider/SliderLayout.js");
55198
+ /* harmony import */ var _modeselector_Mode__WEBPACK_IMPORTED_MODULE_262__ = __webpack_require__(/*! ./modeselector/Mode */ "./src/modeselector/Mode.js");
55199
+ /* harmony import */ var _modeselector_ModeAdapter__WEBPACK_IMPORTED_MODULE_263__ = __webpack_require__(/*! ./modeselector/ModeAdapter */ "./src/modeselector/ModeAdapter.js");
55200
+ /* harmony import */ var _modeselector_ModeSelector__WEBPACK_IMPORTED_MODULE_264__ = __webpack_require__(/*! ./modeselector/ModeSelector */ "./src/modeselector/ModeSelector.js");
55201
+ /* harmony import */ var _modeselector_ModeSelectorLayout__WEBPACK_IMPORTED_MODULE_265__ = __webpack_require__(/*! ./modeselector/ModeSelectorLayout */ "./src/modeselector/ModeSelectorLayout.js");
55202
+ /* harmony import */ var _form_Form__WEBPACK_IMPORTED_MODULE_266__ = __webpack_require__(/*! ./form/Form */ "./src/form/Form.js");
55203
+ /* harmony import */ var _form_FormAdapter__WEBPACK_IMPORTED_MODULE_267__ = __webpack_require__(/*! ./form/FormAdapter */ "./src/form/FormAdapter.js");
55204
+ /* harmony import */ var _form_FormGrid__WEBPACK_IMPORTED_MODULE_268__ = __webpack_require__(/*! ./form/FormGrid */ "./src/form/FormGrid.js");
55205
+ /* harmony import */ var _form_FormLayout__WEBPACK_IMPORTED_MODULE_269__ = __webpack_require__(/*! ./form/FormLayout */ "./src/form/FormLayout.js");
55206
+ /* harmony import */ var _form_FormMenuActionKeyStroke__WEBPACK_IMPORTED_MODULE_270__ = __webpack_require__(/*! ./form/FormMenuActionKeyStroke */ "./src/form/FormMenuActionKeyStroke.js");
55207
+ /* harmony import */ var _form_FormMenu__WEBPACK_IMPORTED_MODULE_271__ = __webpack_require__(/*! ./form/FormMenu */ "./src/form/FormMenu.js");
55208
+ /* harmony import */ var _form_FormMenuAdapter__WEBPACK_IMPORTED_MODULE_272__ = __webpack_require__(/*! ./form/FormMenuAdapter */ "./src/form/FormMenuAdapter.js");
55209
+ /* harmony import */ var _form_lifecycle_FormLifecycle__WEBPACK_IMPORTED_MODULE_273__ = __webpack_require__(/*! ./form/lifecycle/FormLifecycle */ "./src/form/lifecycle/FormLifecycle.js");
55210
+ /* harmony import */ var _form_lifecycle_CancelMenu__WEBPACK_IMPORTED_MODULE_274__ = __webpack_require__(/*! ./form/lifecycle/CancelMenu */ "./src/form/lifecycle/CancelMenu.js");
55211
+ /* harmony import */ var _form_lifecycle_CloseMenu__WEBPACK_IMPORTED_MODULE_275__ = __webpack_require__(/*! ./form/lifecycle/CloseMenu */ "./src/form/lifecycle/CloseMenu.js");
55212
+ /* harmony import */ var _form_lifecycle_OkMenu__WEBPACK_IMPORTED_MODULE_276__ = __webpack_require__(/*! ./form/lifecycle/OkMenu */ "./src/form/lifecycle/OkMenu.js");
55213
+ /* harmony import */ var _form_lifecycle_ResetMenu__WEBPACK_IMPORTED_MODULE_277__ = __webpack_require__(/*! ./form/lifecycle/ResetMenu */ "./src/form/lifecycle/ResetMenu.js");
55214
+ /* harmony import */ var _form_lifecycle_SaveMenu__WEBPACK_IMPORTED_MODULE_278__ = __webpack_require__(/*! ./form/lifecycle/SaveMenu */ "./src/form/lifecycle/SaveMenu.js");
55215
+ /* harmony import */ var _form_DialogLayout__WEBPACK_IMPORTED_MODULE_279__ = __webpack_require__(/*! ./form/DialogLayout */ "./src/form/DialogLayout.js");
55216
+ /* harmony import */ var _form_ResponsiveManager__WEBPACK_IMPORTED_MODULE_280__ = __webpack_require__(/*! ./form/ResponsiveManager */ "./src/form/ResponsiveManager.js");
55217
+ /* harmony import */ var _form_ResponsiveHandler__WEBPACK_IMPORTED_MODULE_281__ = __webpack_require__(/*! ./form/ResponsiveHandler */ "./src/form/ResponsiveHandler.js");
55218
+ /* harmony import */ var _form_GroupBoxResponsiveHandler__WEBPACK_IMPORTED_MODULE_282__ = __webpack_require__(/*! ./form/GroupBoxResponsiveHandler */ "./src/form/GroupBoxResponsiveHandler.js");
55219
+ /* harmony import */ var _form_DesktopResponsiveHandler__WEBPACK_IMPORTED_MODULE_283__ = __webpack_require__(/*! ./form/DesktopResponsiveHandler */ "./src/form/DesktopResponsiveHandler.js");
55220
+ /* harmony import */ var _form_TileOverviewForm__WEBPACK_IMPORTED_MODULE_284__ = __webpack_require__(/*! ./form/TileOverviewForm */ "./src/form/TileOverviewForm.js");
55221
+ /* harmony import */ var _form_TileOverviewFormAdapter__WEBPACK_IMPORTED_MODULE_285__ = __webpack_require__(/*! ./form/TileOverviewFormAdapter */ "./src/form/TileOverviewFormAdapter.js");
55222
+ /* harmony import */ var _table_Table__WEBPACK_IMPORTED_MODULE_286__ = __webpack_require__(/*! ./table/Table */ "./src/table/Table.js");
55223
+ /* harmony import */ var _table_TableAdapter__WEBPACK_IMPORTED_MODULE_287__ = __webpack_require__(/*! ./table/TableAdapter */ "./src/table/TableAdapter.js");
55224
+ /* harmony import */ var _table_TableCompactHandler__WEBPACK_IMPORTED_MODULE_288__ = __webpack_require__(/*! ./table/TableCompactHandler */ "./src/table/TableCompactHandler.js");
55225
+ /* harmony import */ var _table_TableRow__WEBPACK_IMPORTED_MODULE_289__ = __webpack_require__(/*! ./table/TableRow */ "./src/table/TableRow.js");
55226
+ /* harmony import */ var _table_TableMatrix__WEBPACK_IMPORTED_MODULE_290__ = __webpack_require__(/*! ./table/TableMatrix */ "./src/table/TableMatrix.js");
55227
+ /* harmony import */ var _table_TableFooter__WEBPACK_IMPORTED_MODULE_291__ = __webpack_require__(/*! ./table/TableFooter */ "./src/table/TableFooter.js");
55228
+ /* harmony import */ var _table_TableFooterLayout__WEBPACK_IMPORTED_MODULE_292__ = __webpack_require__(/*! ./table/TableFooterLayout */ "./src/table/TableFooterLayout.js");
55229
+ /* harmony import */ var _table_TableInfoFilterTooltip__WEBPACK_IMPORTED_MODULE_293__ = __webpack_require__(/*! ./table/TableInfoFilterTooltip */ "./src/table/TableInfoFilterTooltip.js");
55230
+ /* harmony import */ var _table_TableInfoLoadTooltip__WEBPACK_IMPORTED_MODULE_294__ = __webpack_require__(/*! ./table/TableInfoLoadTooltip */ "./src/table/TableInfoLoadTooltip.js");
55231
+ /* harmony import */ var _table_TableInfoSelectionTooltip__WEBPACK_IMPORTED_MODULE_295__ = __webpack_require__(/*! ./table/TableInfoSelectionTooltip */ "./src/table/TableInfoSelectionTooltip.js");
55232
+ /* harmony import */ var _table_TableHeader__WEBPACK_IMPORTED_MODULE_296__ = __webpack_require__(/*! ./table/TableHeader */ "./src/table/TableHeader.js");
55233
+ /* harmony import */ var _table_TableHeaderMenu__WEBPACK_IMPORTED_MODULE_297__ = __webpack_require__(/*! ./table/TableHeaderMenu */ "./src/table/TableHeaderMenu.js");
55234
+ /* harmony import */ var _table_TableHeaderMenuLayout__WEBPACK_IMPORTED_MODULE_298__ = __webpack_require__(/*! ./table/TableHeaderMenuLayout */ "./src/table/TableHeaderMenuLayout.js");
55235
+ /* harmony import */ var _table_TableHeaderMenuGroup__WEBPACK_IMPORTED_MODULE_299__ = __webpack_require__(/*! ./table/TableHeaderMenuGroup */ "./src/table/TableHeaderMenuGroup.js");
55236
+ /* harmony import */ var _table_TableHeaderMenuButton__WEBPACK_IMPORTED_MODULE_300__ = __webpack_require__(/*! ./table/TableHeaderMenuButton */ "./src/table/TableHeaderMenuButton.js");
55033
55237
  /* harmony import */ var _table_TableLayout__WEBPACK_IMPORTED_MODULE_301__ = __webpack_require__(/*! ./table/TableLayout */ "./src/table/TableLayout.js");
55034
55238
  /* harmony import */ var _table_TableSelectionHandler__WEBPACK_IMPORTED_MODULE_302__ = __webpack_require__(/*! ./table/TableSelectionHandler */ "./src/table/TableSelectionHandler.js");
55035
55239
  /* harmony import */ var _table_TableTileGridMediator__WEBPACK_IMPORTED_MODULE_303__ = __webpack_require__(/*! ./table/TableTileGridMediator */ "./src/table/TableTileGridMediator.js");
@@ -56205,7 +56409,7 @@ __webpack_require__.r(__webpack_exports__);
56205
56409
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
56206
56410
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../index */ "./src/index.js");
56207
56411
  /*
56208
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
56412
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
56209
56413
  * All rights reserved. This program and the accompanying materials
56210
56414
  * are made available under the terms of the Eclipse Public License v1.0
56211
56415
  * which accompanies this distribution, and is available at
@@ -57118,10 +57322,24 @@ const __origCleanData = (jquery__WEBPACK_IMPORTED_MODULE_0___default().cleanData
57118
57322
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.isDisplayNone) = function () {
57119
57323
  return this.css('display') === 'none';
57120
57324
  };
57325
+ /**
57326
+ * @param {boolean} tabbable true, to make the component tabbable. False, to make it neither tabbable nor focusable.
57327
+ * @returns {$}
57328
+ */
57329
+
57121
57330
 
57122
57331
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.setTabbable) = function (tabbable) {
57123
57332
  return this.attr('tabIndex', tabbable ? 0 : null);
57124
57333
  };
57334
+ /**
57335
+ * @param {boolean} tabbable true, to make the component tabbable. False, to make it not tabbable but focusable, so the user can focus it with the mouse but not with the keyboard.
57336
+ * @returns {$}
57337
+ */
57338
+
57339
+
57340
+ (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.setTabbableOrFocusable) = function (tabbable) {
57341
+ return this.attr('tabIndex', tabbable ? 0 : -1);
57342
+ };
57125
57343
 
57126
57344
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.isTabbable) = function () {
57127
57345
  return this.attr('tabIndex') >= 0;
@@ -57358,17 +57576,19 @@ const __origCleanData = (jquery__WEBPACK_IMPORTED_MODULE_0___default().cleanData
57358
57576
  return this;
57359
57577
  }
57360
57578
 
57361
- return this.on('animationend webkitAnimationEnd', event => {
57579
+ let oneHandler = event => {
57362
57580
  if (event.target !== this[0]) {
57363
57581
  // Ignore events that bubble up from child elements
57364
57582
  return;
57365
57583
  } // Unregister listener to implement "one" semantics
57366
57584
 
57367
57585
 
57368
- this.off(event); // Notify actual event handler
57586
+ this.off('animationend webkitAnimationEnd', oneHandler); // Notify actual event handler
57369
57587
 
57370
57588
  handler(event);
57371
- });
57589
+ };
57590
+
57591
+ return this.on('animationend webkitAnimationEnd', oneHandler);
57372
57592
  };
57373
57593
 
57374
57594
  (jquery__WEBPACK_IMPORTED_MODULE_0___default().fn.hasAnimationClass) = function () {
@@ -58511,6 +58731,7 @@ class CloseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
58511
58731
  render: !!$drawingArea,
58512
58732
  $drawingArea: $drawingArea
58513
58733
  };
58734
+ this.inheritAccessibility = false;
58514
58735
  }
58515
58736
 
58516
58737
  handle(event) {
@@ -58555,6 +58776,7 @@ class ContextMenuKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke
58555
58776
  this.ctrl = false;
58556
58777
  this.shift = false;
58557
58778
  this.stopPropagation = true;
58779
+ this.inheritAccessibility = false;
58558
58780
  }
58559
58781
  /**
58560
58782
  * @override KeyStroke.js
@@ -58693,6 +58915,7 @@ class FocusFilterFieldKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyS
58693
58915
 
58694
58916
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
58695
58917
  this.stopPropagation = true;
58918
+ this.inheritAccessibility = false;
58696
58919
  }
58697
58920
  /**
58698
58921
  * @override KeyStroke.js
@@ -58969,6 +59192,7 @@ class KeyStroke {
58969
59192
  this.which = []; // keys which this keystroke is bound to. Typically, this is a single key, but may be multiple keys if handling the same action (e.g. ENTER and SPACE on a button).
58970
59193
 
58971
59194
  this.ctrl = false;
59195
+ this.inheritAccessibility = true;
58972
59196
  this.alt = false;
58973
59197
  this.shift = false;
58974
59198
  this.preventDefault = true;
@@ -59094,11 +59318,20 @@ class KeyStroke {
59094
59318
  // Check visibility
59095
59319
  if (this.field.visible !== undefined && !this.field.visible) {
59096
59320
  return false;
59097
- } // Check enabled state
59321
+ } // Check enabled state (if inheritAccessibility is true)
59098
59322
 
59099
59323
 
59100
- if (this.field.enabled !== undefined && !this.field.enabled) {
59101
- return false;
59324
+ if (!this.inheritAccessibility) {
59325
+ return true;
59326
+ }
59327
+
59328
+ if (this.field.enabledComputed !== undefined) {
59329
+ return this.field.enabledComputed;
59330
+ }
59331
+
59332
+ if (this.field.enabled !== undefined) {
59333
+ // This should actually not happen because this.field should always be a hypothetical case if this.field is not a widget
59334
+ return this.field.enabled;
59102
59335
  }
59103
59336
  }
59104
59337
 
@@ -59944,17 +60177,22 @@ class TabItemKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
59944
60177
  this.renderingHints.offset = 16;
59945
60178
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
59946
60179
 
59947
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
59948
- return this.field.$tabContainer;
59949
- }.bind(this);
60180
+ this.renderingHints.render = () => {
60181
+ let tab = this.field.getTab();
60182
+ return tab && tab.rendered;
60183
+ };
60184
+
60185
+ this.renderingHints.$drawingArea = ($drawingArea, event) => this.field.getTab().$container;
60186
+
60187
+ this.inheritAccessibility = false;
59950
60188
  }
59951
60189
  /**
59952
- * @override KeyStroke.js
60190
+ * @override
59953
60191
  */
59954
60192
 
59955
60193
 
59956
60194
  handle(event) {
59957
- this.field.parent.setSelectedTab(this.field);
60195
+ this.field.select();
59958
60196
  }
59959
60197
 
59960
60198
  }
@@ -66124,9 +66362,15 @@ __webpack_require__.r(__webpack_exports__);
66124
66362
 
66125
66363
 
66126
66364
 
66127
- /* global log4javascript */
66128
-
66129
- const DEFAULT_LEVEL = 'trace';
66365
+ const Level = {
66366
+ TRACE: 'trace',
66367
+ DEBUG: 'debug',
66368
+ INFO: 'info',
66369
+ WARN: 'warn',
66370
+ ERROR: 'error',
66371
+ FATAL: 'fatal'
66372
+ };
66373
+ const DEFAULT_LEVEL = Level.TRACE;
66130
66374
  let initialized = false;
66131
66375
  let _appendersToAdd = [];
66132
66376
  let showStackTraces = true;
@@ -66195,22 +66439,22 @@ function parseLevel(level) {
66195
66439
  level = level.toLowerCase();
66196
66440
 
66197
66441
  switch (level) {
66198
- case 'trace':
66442
+ case Level.TRACE:
66199
66443
  return log4javascript.Level.TRACE;
66200
66444
 
66201
- case 'debug':
66445
+ case Level.DEBUG:
66202
66446
  return log4javascript.Level.DEBUG;
66203
66447
 
66204
- case 'info':
66448
+ case Level.INFO:
66205
66449
  return log4javascript.Level.INFO;
66206
66450
 
66207
- case 'warn':
66451
+ case Level.WARN:
66208
66452
  return log4javascript.Level.WARN;
66209
66453
 
66210
- case 'error':
66454
+ case Level.ERROR:
66211
66455
  return log4javascript.Level.ERROR;
66212
66456
 
66213
- case 'fatal':
66457
+ case Level.FATAL:
66214
66458
  return log4javascript.Level.FATAL;
66215
66459
  }
66216
66460
  }
@@ -66229,6 +66473,7 @@ function addAppender(factoryName, options) {
66229
66473
  }
66230
66474
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
66231
66475
  DEFAULT_LEVEL,
66476
+ Level,
66232
66477
  addAppender,
66233
66478
  bootstrap,
66234
66479
  initLog4Javascript,
@@ -66334,11 +66579,11 @@ __webpack_require__.r(__webpack_exports__);
66334
66579
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
66335
66580
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
66336
66581
  /*
66337
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
66582
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
66338
66583
  * All rights reserved. This program and the accompanying materials
66339
66584
  * are made available under the terms of the Eclipse Public License v1.0
66340
66585
  * which accompanies this distribution, and is available at
66341
- * http://www.eclipse.org/legal/epl-v10.html
66586
+ * https://www.eclipse.org/legal/epl-v10.html
66342
66587
  *
66343
66588
  * Contributors:
66344
66589
  * BSI Business Systems Integration AG - initial API and implementation
@@ -66383,7 +66628,7 @@ class LoginBox extends _index__WEBPACK_IMPORTED_MODULE_0__.Box {
66383
66628
  this.$form = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<form>').attr('action', this.authUrl).attr('method', 'post').submit(this._onLoginFormSubmit.bind(this)).appendTo(this.$content);
66384
66629
 
66385
66630
  if (this.messageKey) {
66386
- this.$message = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<div>').attr('id', 'message-box').html(_index__WEBPACK_IMPORTED_MODULE_0__.strings.nl2br(this.texts.get(this.messageKey))).appendTo(this.$form);
66631
+ this.$message = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<div>').attr('id', 'message-box').addClass('message-box').html(_index__WEBPACK_IMPORTED_MODULE_0__.strings.nl2br(this.texts.get(this.messageKey))).appendTo(this.$form);
66387
66632
  }
66388
66633
 
66389
66634
  this.$user = jquery__WEBPACK_IMPORTED_MODULE_1___default()('<input>').attr('type', 'text').attr('autocapitalize', 'off').attr('autocorrect', 'off').placeholder(this.texts.get('ui.User')).appendTo(this.$form);
@@ -70191,25 +70436,10 @@ __webpack_require__.r(__webpack_exports__);
70191
70436
  * BSI Business Systems Integration AG - initial API and implementation
70192
70437
  */
70193
70438
 
70194
- class MenuExecKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
70439
+ class MenuExecKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.ActionExecKeyStroke {
70195
70440
  constructor(menu) {
70196
- super();
70197
- this.field = menu;
70198
- this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.SPACE, _index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER];
70199
- this.stopPropagation = true;
70441
+ super(menu);
70200
70442
  this.renderingHints.offset = 16;
70201
-
70202
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
70203
- return this.field.$container;
70204
- }.bind(this);
70205
- }
70206
- /**
70207
- * @override KeyStroke.js
70208
- */
70209
-
70210
-
70211
- handle(event) {
70212
- this.field.doAction();
70213
70443
  }
70214
70444
 
70215
70445
  }
@@ -70470,6 +70700,7 @@ class MenuNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStr
70470
70700
  constructor(popup) {
70471
70701
  super();
70472
70702
  this.field = popup;
70703
+ this.inheritAccessibility = false;
70473
70704
  }
70474
70705
 
70475
70706
  _accept(event) {
@@ -71793,6 +72024,7 @@ __webpack_require__.r(__webpack_exports__);
71793
72024
  */
71794
72025
 
71795
72026
  class MenuBarLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
72027
+ // noinspection DuplicatedCode
71796
72028
  constructor(menuBar) {
71797
72029
  super();
71798
72030
  this.field = menuBar;
@@ -71800,6 +72032,7 @@ class MenuBarLeftKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke
71800
72032
  this.renderingHints.render = false;
71801
72033
  this.stopPropagation = true;
71802
72034
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
72035
+ this.inheritAccessibility = false;
71803
72036
  }
71804
72037
 
71805
72038
  handle(event) {
@@ -71913,6 +72146,7 @@ __webpack_require__.r(__webpack_exports__);
71913
72146
  */
71914
72147
 
71915
72148
  class MenuBarRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
72149
+ // noinspection DuplicatedCode
71916
72150
  constructor(menuBar) {
71917
72151
  super();
71918
72152
  this.field = menuBar;
@@ -71920,6 +72154,7 @@ class MenuBarRightKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStrok
71920
72154
  this.renderingHints.render = false;
71921
72155
  this.stopPropagation = true;
71922
72156
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
72157
+ this.inheritAccessibility = false;
71923
72158
  }
71924
72159
 
71925
72160
  handle(event) {
@@ -73811,7 +74046,9 @@ class ModeSelector extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
73811
74046
 
73812
74047
  if (this.selectedMode && this.selectedMode.$container) {
73813
74048
  selectedModePosX = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.position(this.selectedMode.$container).x;
73814
- selectedModeWidth = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.size(this.selectedMode.$container).width;
74049
+ selectedModeWidth = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.size(this.selectedMode.$container, {
74050
+ exact: true
74051
+ }).width;
73815
74052
  }
73816
74053
 
73817
74054
  this.$slider.cssLeft(selectedModePosX);
@@ -75909,6 +76146,10 @@ class Planner extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
75909
76146
  this._rerenderActivities();
75910
76147
 
75911
76148
  this._renderSelectedActivity();
76149
+
76150
+ this.validateLayoutTree(); // Layouting is required for adjusting the scroll position
76151
+
76152
+ this._reconcileScrollPos();
75912
76153
  }
75913
76154
  }
75914
76155
 
@@ -76748,7 +76989,7 @@ __webpack_require__.r(__webpack_exports__);
76748
76989
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
76749
76990
 
76750
76991
  /*
76751
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
76992
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
76752
76993
  * All rights reserved. This program and the accompanying materials
76753
76994
  * are made available under the terms of the Eclipse Public License v1.0
76754
76995
  * which accompanies this distribution, and is available at
@@ -76880,20 +77121,18 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
76880
77121
 
76881
77122
  _openWithoutParent() {
76882
77123
  // resolve parent for entry-point (don't change the actual property)
76883
- let parent = this.parent;
76884
-
76885
- if (parent.destroyed) {
77124
+ if (this.parent.destroyed) {
76886
77125
  return;
76887
77126
  }
76888
77127
 
76889
- if (parent.rendered || parent.rendering) {
76890
- this.open(parent.entryPoint());
77128
+ if (this.parent.rendered || this.parent.rendering) {
77129
+ this.open(this._getDefaultOpen$Parent());
76891
77130
  return;
76892
77131
  } // This is important for popups rendered in another (native) browser window. The DOM in the popup window
76893
77132
  // is rendered later, so we must wait until that window is rendered and layouted. See popup-window.html.
76894
77133
 
76895
77134
 
76896
- parent.one('render', () => {
77135
+ this.parent.one('render', () => {
76897
77136
  this.session.layoutValidator.schedulePostValidateFunction(() => {
76898
77137
  if (this.destroyed || this.rendered) {
76899
77138
  return;
@@ -76903,6 +77142,15 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
76903
77142
  });
76904
77143
  });
76905
77144
  }
77145
+ /**
77146
+ * Only called if parent.rendered or parent.rendering
77147
+ * @return {$}
77148
+ */
77149
+
77150
+
77151
+ _getDefaultOpen$Parent() {
77152
+ return this.parent.entryPoint();
77153
+ }
76906
77154
 
76907
77155
  open($parent) {
76908
77156
  if (!$parent) {
@@ -77180,6 +77428,16 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
77180
77428
  return cssClass;
77181
77429
  }
77182
77430
 
77431
+ _animateRemovalWhileRemovingParent() {
77432
+ if (!this.$anchor) {
77433
+ // Allow remove animations for popups without an anchor
77434
+ return true;
77435
+ } // If parent is the anchor, prevent remove animation to ensure popup will be removed together with the anchor
77436
+
77437
+
77438
+ return _index__WEBPACK_IMPORTED_MODULE_0__.widgets.get(this.$anchor) !== this.parent;
77439
+ }
77440
+
77183
77441
  _isRemovalPrevented() {
77184
77442
  // If removal of a parent is pending due to an animation then don't return true to make sure popups are closed before the parent animation starts.
77185
77443
  // However, if the popup itself is removed by an animation, removal should be prevented to ensure remove() won't run multiple times.
@@ -77829,7 +78087,7 @@ class Popup extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
77829
78087
  }
77830
78088
 
77831
78089
  _handleGlassPanes() {
77832
- let parentCoveredByGlassPane = this.session.focusManager.isElementCovertByGlassPane(this.parent.$container); // if a popup is covered by a glass pane the glass pane's need to be rerendered to ensure a glass pane is also painted over the popup
78090
+ let parentCoveredByGlassPane = this.session.focusManager.isElementCovertByGlassPane(this.parent.$container); // if a popup is covered by a glass pane the glass pane's need to be re-rendered to ensure a glass pane is also painted over the popup
77833
78091
 
77834
78092
  if (parentCoveredByGlassPane) {
77835
78093
  this.session.focusManager.rerenderGlassPanes();
@@ -77970,7 +78228,7 @@ __webpack_require__.r(__webpack_exports__);
77970
78228
  /* harmony export */ });
77971
78229
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
77972
78230
  /*
77973
- * Copyright (c) 2014-2020 BSI Business Systems Integration AG.
78231
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
77974
78232
  * All rights reserved. This program and the accompanying materials
77975
78233
  * are made available under the terms of the Eclipse Public License v1.0
77976
78234
  * which accompanies this distribution, and is available at
@@ -78110,9 +78368,6 @@ class PopupLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
78110
78368
 
78111
78369
 
78112
78370
  _calcMaxSize() {
78113
- // Position the popup at the desired location before doing any calculations to consider the preferred bounds
78114
- this._position(false);
78115
-
78116
78371
  let maxWidth,
78117
78372
  maxHeight,
78118
78373
  htmlComp = this.popup.htmlComp,
@@ -78131,7 +78386,7 @@ class PopupLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
78131
78386
  windowSize = this._calcMaxSize(),
78132
78387
  Alignment = _index__WEBPACK_IMPORTED_MODULE_0__.Popup.Alignment,
78133
78388
  horizontalAlignment = this.popup.horizontalAlignment,
78134
- verticalAlignment = this.popup.verticalAlignment; // Decide whether the prefSize can be used or the popup needs to be shrinked so that it fits into the viewport
78389
+ verticalAlignment = this.popup.verticalAlignment; // Decide whether the prefSize can be used or the popup needs to be shrunken so that it fits into the viewport
78135
78390
  // The decision is based on the preferred opening direction
78136
78391
  // Example: The popup would like to be opened leftedge and bottom
78137
78392
  // If there is enough space on the right and on the bottom -> pref size is used
@@ -78198,9 +78453,6 @@ class PopupLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
78198
78453
 
78199
78454
 
78200
78455
  _calcMaxSizeAroundAnchor() {
78201
- // Position the popup at the desired location before doing any calculations because positioning adds CSS classes which might change margins
78202
- this._position(false);
78203
-
78204
78456
  let maxWidthLeft,
78205
78457
  maxWidthRight,
78206
78458
  maxHeightDown,
@@ -80784,7 +81036,7 @@ __webpack_require__.r(__webpack_exports__);
80784
81036
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
80785
81037
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
80786
81038
  /*
80787
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
81039
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
80788
81040
  * All rights reserved. This program and the accompanying materials
80789
81041
  * are made available under the terms of the Eclipse Public License v1.0
80790
81042
  * which accompanies this distribution, and is available at
@@ -80954,7 +81206,19 @@ function installScrollShadow($container, session, options) {
80954
81206
 
80955
81207
  _installIntersectionObserver();
80956
81208
 
80957
- intersectionObserver.observe($container[0]);
81209
+ intersectionObserver.observe($container[0]); // this is required in addition to the intersection observer because the observer events are handled asynchronously later after all the setTimeout calls.
81210
+ // Then the shadow might stay visible too long which has an impact on layout updates.
81211
+
81212
+ let containerElement = $container[0];
81213
+
81214
+ let visibleListener = e => {
81215
+ if (e.target === containerElement) {
81216
+ _onScrollableVisibleChange(containerElement, e.type === 'show');
81217
+ }
81218
+ };
81219
+
81220
+ $container.data('scroll-shadow-visible-listener', visibleListener);
81221
+ $container.on('hide show', visibleListener);
80958
81222
  }
80959
81223
  function uninstallScrollShadow($container, session) {
80960
81224
  let $shadow = $container.data('scroll-shadow');
@@ -80977,6 +81241,12 @@ function uninstallScrollShadow($container, session) {
80977
81241
  intersectionObserver.unobserve($container[0]);
80978
81242
  }
80979
81243
 
81244
+ let visibleListener = $container.data('scroll-shadow-visible-listener');
81245
+
81246
+ if (visibleListener) {
81247
+ $container.off('hide show', visibleListener);
81248
+ }
81249
+
80980
81250
  let $scrollables = _$scrollables[session];
80981
81251
 
80982
81252
  if (!$scrollables || !$scrollables.some($scrollable => $scrollable.data('scroll-shadow'))) {
@@ -81052,7 +81322,7 @@ function updateScrollShadow($container) {
81052
81322
  $shadow.toggleClass('right', !atRight && style.indexOf('right') > -1);
81053
81323
  _index__WEBPACK_IMPORTED_MODULE_0__.graphics.setBounds($shadow, _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($container, {
81054
81324
  exact: true
81055
- }));
81325
+ }).subtract(insets($shadow)));
81056
81326
  _index__WEBPACK_IMPORTED_MODULE_0__.graphics.setMargins($shadow, _index__WEBPACK_IMPORTED_MODULE_0__.graphics.margins($container));
81057
81327
  $shadow.css('border-radius', $container.css('border-radius'));
81058
81328
  let customizer = $container.data('scroll-shadow-customizer');
@@ -81068,6 +81338,10 @@ function updateScrollShadow($container) {
81068
81338
  function atEnd(scrollPos, scrollSize, offsetSize) {
81069
81339
  return scrollPos + 1 >= scrollSize - offsetSize;
81070
81340
  }
81341
+
81342
+ function insets($shadow) {
81343
+ return new _index__WEBPACK_IMPORTED_MODULE_0__.Insets($shadow.cssPxValue('--scroll-shadow-inset-top'), $shadow.cssPxValue('--scroll-shadow-inset-right'), $shadow.cssPxValue('--scroll-shadow-inset-bottom'), $shadow.cssPxValue('--scroll-shadow-inset-left'));
81344
+ }
81071
81345
  }
81072
81346
  /**
81073
81347
  * Installs a dom mutation observer that tracks all scrollables in order to move the scroll shadow along with the scrollable.
@@ -81559,7 +81833,7 @@ function scrollToBottom($scrollable, options) {
81559
81833
  /**
81560
81834
  * @param location object with x and y properties
81561
81835
  * @param $scrollables one or more scrollables to check against
81562
- * @eturns {boolean} true if the location is visible in the current viewport of all the $scrollables, or if $scrollables is null
81836
+ * @returns {boolean} true if the location is visible in the current viewport of all the $scrollables, or if $scrollables is null
81563
81837
  */
81564
81838
 
81565
81839
  function isLocationInView(location, $scrollables) {
@@ -84604,15 +84878,18 @@ class Session {
84604
84878
  this._sendRequest(request);
84605
84879
  }
84606
84880
  /**
84607
- * Sends a request containing the error message for logging purpose.
84608
- * The request is sent immediately (does not await pending requests)
84881
+ * Sends a request containing the log message for logging purpose.
84882
+ * The request is sent immediately (does not await pending requests).
84883
+ * @param {string} message the log message
84884
+ * @param {logging.Level} [level] the log level used to log the message. Default is {@link logging.Level.ERROR}.
84609
84885
  */
84610
84886
 
84611
84887
 
84612
- sendLogRequest(message) {
84888
+ sendLogRequest(message, level) {
84613
84889
  let request = this._newRequest({
84614
84890
  log: true,
84615
- message: message
84891
+ message: message,
84892
+ level: _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(level, _index__WEBPACK_IMPORTED_MODULE_0__.logging.Level.ERROR)
84616
84893
  });
84617
84894
 
84618
84895
  if (this.currentEvent) {
@@ -87700,6 +87977,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
87700
87977
  this.contextColumn = null;
87701
87978
  this.checkable = false;
87702
87979
  this.checkableStyle = Table.CheckableStyle.CHECKBOX;
87980
+ this.cellEditorPopup = null;
87703
87981
  this.compact = false;
87704
87982
  this.compactHandler = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('TableCompactHandler', {
87705
87983
  table: this
@@ -87781,6 +88059,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
87781
88059
  this._popupOpenHandler = this._onDesktopPopupOpen.bind(this);
87782
88060
  this._rerenderViewPortAfterAttach = false;
87783
88061
  this._renderViewPortAfterAttach = false;
88062
+ this._postAttachActions = [];
87784
88063
  this._desktopPropertyChangeHandler = this._onDesktopPropertyChange.bind(this);
87785
88064
 
87786
88065
  this._addWidgetProperties(['tableControls', 'menus', 'keyStrokes', 'staticMenus', 'tileTableHeader', 'tableTileGridMediator']);
@@ -88111,8 +88390,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88111
88390
  }
88112
88391
 
88113
88392
  _removeData() {
88114
- this._destroyCellEditorPopup();
88115
-
88116
88393
  this._removeAggregateRows();
88117
88394
 
88118
88395
  this._uninstallImageListeners();
@@ -88207,7 +88484,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88207
88484
  }
88208
88485
 
88209
88486
  let oldRowHeight = row.height;
88210
- row.height = $row.outerHeight(true);
88487
+ row.height = this._measureRowHeight($row);
88211
88488
 
88212
88489
  if (oldRowHeight !== row.height) {
88213
88490
  this.invalidateLayoutTree();
@@ -88297,13 +88574,13 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88297
88574
  return;
88298
88575
  }
88299
88576
 
88577
+ let row = $row.data('row'); // read row before the $row potentially could be replaced by the column specific logic on mouse up
88578
+
88300
88579
  if (mouseButton === 1) {
88301
88580
  column.onMouseUp(event, $row);
88302
88581
  $appLink = this._find$AppLink(event);
88303
88582
  }
88304
88583
 
88305
- let row = $row.data('row');
88306
-
88307
88584
  if ($appLink) {
88308
88585
  this._triggerAppLinkAction(column, row, $appLink.data('ref'), $appLink);
88309
88586
  } else {
@@ -89266,11 +89543,13 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89266
89543
 
89267
89544
  _updateRowHeight() {
89268
89545
  let $emptyRow = this.$data.appendDiv('table-row');
89269
- let $emptyAggrRow = this.$data.appendDiv('table-aggregate-row');
89546
+
89547
+ let $emptyAggrRow = this._build$AggregateRow().appendTo(this.$data);
89548
+
89270
89549
  $emptyRow.appendDiv('table-cell').html('&nbsp;');
89271
- $emptyAggrRow.appendDiv('table-cell').html('&nbsp;');
89272
- this.rowHeight = $emptyRow.outerHeight(true);
89273
- this.aggregateRowHeight = $emptyAggrRow.outerHeight(true);
89550
+ $emptyAggrRow.appendDiv('table-cell table-aggregate-cell').appendSpan('text').html('&nbsp;');
89551
+ this.rowHeight = this._measureRowHeight($emptyRow);
89552
+ this.aggregateRowHeight = this._measureRowHeight($emptyAggrRow);
89274
89553
  $emptyRow.remove();
89275
89554
  $emptyAggrRow.remove();
89276
89555
  }
@@ -89284,7 +89563,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89284
89563
  if (!row.$row) {
89285
89564
  row.height = null;
89286
89565
  } else {
89287
- row.height = row.$row.outerHeight(true);
89566
+ row.height = this._measureRowHeight(row.$row);
89288
89567
  }
89289
89568
  });
89290
89569
 
@@ -89292,7 +89571,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89292
89571
  if (!aggregateRow.$row) {
89293
89572
  aggregateRow.height = null;
89294
89573
  } else {
89295
- aggregateRow.height = aggregateRow.$row.outerHeight(true);
89574
+ aggregateRow.height = this._measureRowHeight(aggregateRow.$row);
89296
89575
  }
89297
89576
  });
89298
89577
  }
@@ -89646,7 +89925,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89646
89925
 
89647
89926
  this._destroyTooltipsForRow(row);
89648
89927
 
89649
- this._removeCellEditorForRow(row); // Do not remove rows which are removed using an animation
89928
+ this._destroyCellEditorForRow(row); // Do not remove rows which are removed using an animation
89650
89929
 
89651
89930
 
89652
89931
  if (!$row.hasClass('hiding')) {
@@ -89727,7 +90006,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89727
90006
 
89728
90007
 
89729
90008
  _installRow(row) {
89730
- row.height = row.$row.outerHeight(true);
90009
+ row.height = this._measureRowHeight(row.$row);
89731
90010
 
89732
90011
  if (row.hasError) {
89733
90012
  this._showCellErrorForRow(row);
@@ -89869,8 +90148,26 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89869
90148
  });
89870
90149
  }
89871
90150
  /**
89872
- * This functions starts the cell editor for the given row and column. Prepare must wait until
89873
- * a pending completeCellEdit operation is resolved.
90151
+ * Starts cell editing for the cell at the given column and row, but only if editing is allowed.
90152
+ * @see prepareCellEdit
90153
+ */
90154
+
90155
+
90156
+ focusCell(column, row) {
90157
+ let cell = this.cell(column, row);
90158
+
90159
+ if (this.enabledComputed && row.enabled && cell.editable) {
90160
+ this.prepareCellEdit(column, row);
90161
+ }
90162
+ }
90163
+ /**
90164
+ * Creates a cell editor for the cell at the given column and row, ensures the row is selected and passes the editor
90165
+ * to {@link #startCellEdit} which starts the editing by rendering the editor in a {@link CellEditorPopup}.<br>
90166
+ * If the completion of a previous cell edit is still in progress, the preparation is delayed until the completion is finished.
90167
+ *
90168
+ * @param {boolean} [openFieldPopupOnCellEdit] true to instruct the editor to open its control popup when the editor is rendered.
90169
+ * This only has an effect if the editor has a popup (e.g. SmartField or DateField).
90170
+ * @returns Promise the promise will be resolved when the preparation has been finished.
89874
90171
  */
89875
90172
 
89876
90173
 
@@ -89884,10 +90181,10 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
89884
90181
  return promise.then(this.prepareCellEditInternal.bind(this, column, row, openFieldPopupOnCellEdit));
89885
90182
  }
89886
90183
  /**
89887
- * @param openFieldPopupOnCellEdit when this parameter is set to true, the CellEditorPopup sets an
90184
+ * @param {boolean} [openFieldPopupOnCellEdit] when this parameter is set to true, the CellEditorPopup sets an
89888
90185
  * additional property 'cellEditor' on the editor-field. The field instance may use this property
89889
90186
  * to decide whether or not it should open a popup immediately after it is rendered. This is used
89890
- * for Smart- and DateFields.
90187
+ * for Smart- and DateFields. Default is false.
89891
90188
  */
89892
90189
 
89893
90190
 
@@ -90235,11 +90532,11 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90235
90532
  return;
90236
90533
  }
90237
90534
 
90238
- let $aggregateRow = this._buildAggregateRowDiv(aggregateRow);
90535
+ let $aggregateRow = this._build$AggregateRow(aggregateRow);
90239
90536
 
90240
90537
  $aggregateRow[insertFunc](refRow.$row).width(this.rowWidth);
90241
90538
  this.visibleColumns().map(column => jquery__WEBPACK_IMPORTED_MODULE_1___default()(column.buildCellForAggregateRow(aggregateRow)).appendTo($aggregateRow)).forEach($c => this._resizeAggregateCell($c));
90242
- aggregateRow.height = $aggregateRow.outerHeight(true);
90539
+ aggregateRow.height = this._measureRowHeight($aggregateRow);
90243
90540
  aggregateRow.$row = $aggregateRow;
90244
90541
 
90245
90542
  if (animate) {
@@ -90248,7 +90545,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90248
90545
  }, this);
90249
90546
  }
90250
90547
 
90251
- _buildAggregateRowDiv(aggregateRow) {
90548
+ _build$AggregateRow(aggregateRow) {
90252
90549
  let onTop = this.groupingStyle === Table.GroupingStyle.TOP;
90253
90550
  let $aggregateRow = this.$container.makeDiv('table-aggregate-row').data('aggregateRow', aggregateRow);
90254
90551
  $aggregateRow.toggleClass('grouping-style-top', onTop);
@@ -90888,7 +91185,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90888
91185
 
90889
91186
  this._destroyTooltipsForRow(row);
90890
91187
 
90891
- this._removeCellEditorForRow(row);
91188
+ this._destroyCellEditorForRow(row);
90892
91189
 
90893
91190
  this._installRow(row);
90894
91191
 
@@ -90967,19 +91264,30 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90967
91264
  }
90968
91265
  }
90969
91266
 
90970
- _removeCellEditorForRow(row) {
91267
+ _destroyCellEditorForRow(row) {
90971
91268
  if (this.cellEditorPopup && this.cellEditorPopup.rendered && this.cellEditorPopup.row.id === row.id) {
90972
- this.cellEditorPopup.remove();
91269
+ this.cellEditorPopup.destroy();
90973
91270
  }
90974
91271
  }
90975
91272
 
90976
91273
  startCellEdit(column, row, field) {
90977
- if (!this._isDataRendered() || !this.isAttachedAndRendered()) {
91274
+ if (field.destroyed) {
91275
+ // May happen if the action was postponed and the field destroyed in the meantime using endCellEdit.
91276
+ return;
91277
+ }
91278
+
91279
+ if (!this._isDataRendered()) {
90978
91280
  this._postRenderActions.push(this.startCellEdit.bind(this, column, row, field));
90979
91281
 
90980
91282
  return;
90981
91283
  }
90982
91284
 
91285
+ if (!this.$container.isAttached()) {
91286
+ this._postAttachActions.push(this.startCellEdit.bind(this, column, row, field));
91287
+
91288
+ return;
91289
+ }
91290
+
90983
91291
  this.trigger('startCellEdit', {
90984
91292
  column: column,
90985
91293
  row: row,
@@ -90999,12 +91307,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
90999
91307
 
91000
91308
 
91001
91309
  endCellEdit(field, saveEditorValue) {
91002
- if (!this._isDataRendered() || !this.isAttachedAndRendered()) {
91003
- this._postRenderActions.push(this.endCellEdit.bind(this, field, saveEditorValue));
91004
-
91005
- return;
91006
- }
91007
-
91008
91310
  if (!this.cellEditorPopup) {
91009
91311
  // the cellEditorPopup could already be removed by scrolling (out of view range) or be removed by update rows
91010
91312
  field.destroy();
@@ -92783,7 +93085,11 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
92783
93085
  this.$container.toggleClass('table-row-check', this.checkableStyle === Table.CheckableStyle.TABLE_ROW);
92784
93086
 
92785
93087
  if (this._isDataRendered()) {
93088
+ this._updateRowWidth();
93089
+
92786
93090
  this._redraw();
93091
+
93092
+ this.invalidateLayoutTree();
92787
93093
  }
92788
93094
  }
92789
93095
  /**
@@ -92986,7 +93292,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
92986
93292
  this.$data.setEnabled(enabled);
92987
93293
  }
92988
93294
 
92989
- this.$container.setTabbable(enabled);
93295
+ this.$container.setTabbableOrFocusable(enabled);
92990
93296
  }
92991
93297
  /**
92992
93298
  * @override Widget.js
@@ -93143,8 +93449,12 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93143
93449
  }
93144
93450
 
93145
93451
  _heightForRow(row) {
93146
- let height = 0,
93147
- aggregateRow = row.aggregateRowAfter;
93452
+ let height = 0;
93453
+ let aggregateRow = row.aggregateRowBefore;
93454
+
93455
+ if (this.groupingStyle === Table.GroupingStyle.BOTTOM) {
93456
+ aggregateRow = row.aggregateRowAfter;
93457
+ }
93148
93458
 
93149
93459
  if (row.height) {
93150
93460
  height = row.height;
@@ -93163,6 +93473,13 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93163
93473
 
93164
93474
  return height;
93165
93475
  }
93476
+
93477
+ _measureRowHeight($row) {
93478
+ return _index__WEBPACK_IMPORTED_MODULE_0__.graphics.size($row, {
93479
+ includeMargin: true,
93480
+ exact: true
93481
+ }).height;
93482
+ }
93166
93483
  /**
93167
93484
  * Returns a range of size this.viewRangeSize. Start of range is rowIndex - viewRangeSize / 4.
93168
93485
  * -> 1/4 of the rows are before the viewport 2/4 in the viewport 1/4 after the viewport,
@@ -93520,20 +93837,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93520
93837
  }
93521
93838
  }
93522
93839
 
93523
- focusCell(column, row) {
93524
- if (!this._isDataRendered() || !this.isAttachedAndRendered()) {
93525
- this._postRenderActions.push(this.focusCell.bind(this, column, row));
93526
-
93527
- return;
93528
- }
93529
-
93530
- let cell = this.cell(column, row);
93531
-
93532
- if (this.enabledComputed && row.enabled && cell.editable) {
93533
- this.prepareCellEdit(column, row, false);
93534
- }
93535
- }
93536
-
93537
93840
  _attach() {
93538
93841
  this.$parent.append(this.$container);
93539
93842
 
@@ -93564,6 +93867,10 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93564
93867
  this._rerenderViewportAfterAttach();
93565
93868
 
93566
93869
  this._renderViewportAfterAttach();
93870
+
93871
+ let actions = this._postAttachActions;
93872
+ this._postAttachActions = [];
93873
+ actions.forEach(action => action());
93567
93874
  }
93568
93875
 
93569
93876
  _rerenderViewportAfterAttach() {
@@ -93594,12 +93901,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93594
93901
 
93595
93902
  super._detach();
93596
93903
  }
93597
-
93598
- _onDetach() {
93599
- super._onDetach();
93600
-
93601
- this._destroyCellEditorPopup();
93602
- }
93603
93904
  /**
93604
93905
  * @param {function} [callback] function to be called right after the popup is destroyed
93605
93906
  */
@@ -93633,7 +93934,6 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93633
93934
  if (promise.state() === 'resolved') {
93634
93935
  // Do it immediately if promise has already been resolved.
93635
93936
  // This makes sure updateRow does not immediately reopen the editor after closing.
93636
- // At least for Scout JS, for Scout Classic it prevents flickering (endCellEdit comes after updateRows, but updateRows does not know whether the editor is closing so it will reopen it)
93637
93937
  destroyEditor();
93638
93938
  } else {
93639
93939
  promise.then(destroyEditor);
@@ -93673,7 +93973,7 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
93673
93973
  _onDesktopPopupOpen(event) {
93674
93974
  let popup = event.popup;
93675
93975
 
93676
- if (!this.enabledComputed) {
93976
+ if (!this.isFocusable(false)) {
93677
93977
  return;
93678
93978
  } // Set table style to focused if a context menu or a menu bar popup opens, so that it looks as it still has the focus
93679
93979
 
@@ -94017,29 +94317,21 @@ class TableAdapter extends _index__WEBPACK_IMPORTED_MODULE_0__.ModelAdapter {
94017
94317
  _onWidgetCompleteCellEdit(event) {
94018
94318
  event.preventDefault();
94019
94319
 
94020
- this._sendCompleteCellEdit(event.field);
94320
+ this._sendCompleteCellEdit();
94021
94321
  }
94022
94322
 
94023
- _sendCompleteCellEdit(field) {
94024
- let data = {
94025
- fieldId: field.id
94026
- };
94027
-
94028
- this._send('completeCellEdit', data);
94323
+ _sendCompleteCellEdit() {
94324
+ this._send('completeCellEdit');
94029
94325
  }
94030
94326
 
94031
94327
  _onWidgetCancelCellEdit(event) {
94032
94328
  event.preventDefault();
94033
94329
 
94034
- this._sendCancelCellEdit(event.field);
94330
+ this._sendCancelCellEdit();
94035
94331
  }
94036
94332
 
94037
- _sendCancelCellEdit(field) {
94038
- let data = {
94039
- fieldId: field.id
94040
- };
94041
-
94042
- this._send('cancelCellEdit', data);
94333
+ _sendCancelCellEdit() {
94334
+ this._send('cancelCellEdit');
94043
94335
  }
94044
94336
 
94045
94337
  _onWidgetRowsChecked(event) {
@@ -94355,6 +94647,11 @@ class TableAdapter extends _index__WEBPACK_IMPORTED_MODULE_0__.ModelAdapter {
94355
94647
 
94356
94648
  _onEndCellEdit(fieldId) {
94357
94649
  let field = this.session.getModelAdapter(fieldId);
94650
+
94651
+ if (!field) {
94652
+ throw new Error('Field adapter could not be resolved. Id: ' + fieldId);
94653
+ }
94654
+
94358
94655
  this.widget.endCellEdit(field.widget);
94359
94656
  }
94360
94657
 
@@ -96396,7 +96693,8 @@ class TableHeader extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
96396
96693
 
96397
96694
  if (column.sortActive || column.grouped || filtered) {
96398
96695
  if (column.minWidth < _index__WEBPACK_IMPORTED_MODULE_0__.Column.DEFAULT_MIN_WIDTH) {
96399
- column.prefMinWidth = column.minWidth;
96696
+ column.__minWidthWithoutState = column.minWidth;
96697
+ column.__widthWithoutState = column.width;
96400
96698
  column.minWidth = _index__WEBPACK_IMPORTED_MODULE_0__.Column.DEFAULT_MIN_WIDTH;
96401
96699
  }
96402
96700
 
@@ -96404,14 +96702,16 @@ class TableHeader extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
96404
96702
  this.table.resizeColumn(column, column.minWidth);
96405
96703
  }
96406
96704
  } else {
96407
- // Reset to preferred min width if no state is visible
96408
- if (column.prefMinWidth !== null) {
96409
- column.minWidth = column.prefMinWidth;
96410
- column.prefMinWidth = null; // Resize to old min width, assuming user has not manually changed the size because column is still as width as default_min_width
96705
+ // Reset to previous min width if no state is visible
96706
+ if (!_index__WEBPACK_IMPORTED_MODULE_0__.objects.isNullOrUndefined(column.__minWidthWithoutState)) {
96707
+ column.minWidth = column.__minWidthWithoutState; // Resize to previous min width, assuming user has not manually changed the size because column is still as width as default_min_width
96411
96708
 
96412
96709
  if (column.width === _index__WEBPACK_IMPORTED_MODULE_0__.Column.DEFAULT_MIN_WIDTH) {
96413
- this.table.resizeColumn(column, column.minWidth);
96710
+ this.table.resizeColumn(column, column.__widthWithoutState);
96414
96711
  }
96712
+
96713
+ column.__minWidthWithoutState = null;
96714
+ column.__widthWithoutState = null;
96415
96715
  }
96416
96716
  }
96417
96717
  }
@@ -96995,7 +97295,10 @@ class TableHeaderMenu extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
96995
97295
  this.filterTable.off('rowsChecked', this._filterTableRowsCheckedHandler);
96996
97296
  }
96997
97297
 
96998
- this.tableHeader.$container.off('scroll', this._tableHeaderScrollHandler);
97298
+ if (this.tableHeader.rendered) {
97299
+ this.tableHeader.$container.off('scroll', this._tableHeaderScrollHandler);
97300
+ }
97301
+
96999
97302
  this.$headerItem.select(false);
97000
97303
  this.table.off('columnMoved', this._onColumnMovedHandler);
97001
97304
  this.table.off('filterAdded', this._tableFilterHandler);
@@ -97746,7 +98049,7 @@ class TableHeaderMenuButton extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
97746
98049
  _initKeyStrokeContext() {
97747
98050
  super._initKeyStrokeContext();
97748
98051
 
97749
- this.keyStrokeContext.registerKeyStroke([new _index__WEBPACK_IMPORTED_MODULE_0__.TableHeaderMenuButtonKeyStroke(this)]);
98052
+ this.keyStrokeContext.registerKeyStroke([new _index__WEBPACK_IMPORTED_MODULE_0__.ActionExecKeyStroke(this)]);
97750
98053
  }
97751
98054
 
97752
98055
  _render() {
@@ -97792,45 +98095,6 @@ class TableHeaderMenuButton extends _index__WEBPACK_IMPORTED_MODULE_0__.Action {
97792
98095
 
97793
98096
  /***/ }),
97794
98097
 
97795
- /***/ "./src/table/TableHeaderMenuButtonKeyStroke.js":
97796
- /*!*****************************************************!*\
97797
- !*** ./src/table/TableHeaderMenuButtonKeyStroke.js ***!
97798
- \*****************************************************/
97799
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97800
-
97801
- __webpack_require__.r(__webpack_exports__);
97802
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
97803
- /* harmony export */ "default": () => (/* binding */ TableHeaderMenuButtonKeyStroke)
97804
- /* harmony export */ });
97805
- /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
97806
- /*
97807
- * Copyright (c) 2014-2017 BSI Business Systems Integration AG.
97808
- * All rights reserved. This program and the accompanying materials
97809
- * are made available under the terms of the Eclipse Public License v1.0
97810
- * which accompanies this distribution, and is available at
97811
- * http://www.eclipse.org/legal/epl-v10.html
97812
- *
97813
- * Contributors:
97814
- * BSI Business Systems Integration AG - initial API and implementation
97815
- */
97816
-
97817
- class TableHeaderMenuButtonKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
97818
- constructor(field) {
97819
- super();
97820
- this.field = field;
97821
- this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER, _index__WEBPACK_IMPORTED_MODULE_0__.keys.SPACE];
97822
- this.renderingHints.render = true;
97823
- this.stopPropagation = true;
97824
- }
97825
-
97826
- handle(event) {
97827
- this.field.doAction();
97828
- }
97829
-
97830
- }
97831
-
97832
- /***/ }),
97833
-
97834
98098
  /***/ "./src/table/TableHeaderMenuGroup.js":
97835
98099
  /*!*******************************************!*\
97836
98100
  !*** ./src/table/TableHeaderMenuGroup.js ***!
@@ -98429,7 +98693,13 @@ class TableLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
98429
98693
  } // Always render viewport (not only when viewRangeSize changes), because view range depends on scroll position and data height
98430
98694
 
98431
98695
 
98432
- this.table._renderViewport(); // Make sure tooltips and editor popup are at correct position after layouting (e.g after window resizing)
98696
+ this.table._renderViewport(); // Render scroll top again to make sure the data is really at the correct position after rendering viewport.
98697
+ // Somehow table.$data[0].scrollTop changes during _renderViewport sometimes (e.g. when there are aggregate rows)
98698
+
98699
+
98700
+ if (!htmlContainer.layouted) {
98701
+ this.table._renderScrollTop();
98702
+ } // Make sure tooltips and editor popup are at correct position after layouting (e.g after window resizing)
98433
98703
 
98434
98704
 
98435
98705
  this.table.tooltips.forEach(tooltip => {
@@ -101340,7 +101610,7 @@ __webpack_require__.r(__webpack_exports__);
101340
101610
  /* harmony export */ });
101341
101611
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../index */ "./src/index.js");
101342
101612
  /*
101343
- * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
101613
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
101344
101614
  * All rights reserved. This program and the accompanying materials
101345
101615
  * are made available under the terms of the Eclipse Public License v1.0
101346
101616
  * which accompanies this distribution, and is available at
@@ -101361,7 +101631,7 @@ class BooleanColumn extends _index__WEBPACK_IMPORTED_MODULE_0__.Column {
101361
101631
  this.comparator = _index__WEBPACK_IMPORTED_MODULE_0__.comparators.NUMERIC;
101362
101632
  this.filterType = 'ColumnUserFilter';
101363
101633
  this.horizontalAlignment = 0;
101364
- this.minWidth = _index__WEBPACK_IMPORTED_MODULE_0__.Column.NARROW_MIN_WIDTH;
101634
+ this.minWidth = _index__WEBPACK_IMPORTED_MODULE_0__.Column.SMALL_MIN_WIDTH;
101365
101635
  this.triStateEnabled = false;
101366
101636
  this.textBased = false;
101367
101637
  }
@@ -101544,7 +101814,7 @@ __webpack_require__.r(__webpack_exports__);
101544
101814
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
101545
101815
 
101546
101816
  /*
101547
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
101817
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
101548
101818
  * All rights reserved. This program and the accompanying materials
101549
101819
  * are made available under the terms of the Eclipse Public License v1.0
101550
101820
  * which accompanies this distribution, and is available at
@@ -101588,7 +101858,6 @@ class Column {
101588
101858
  this.width = 60;
101589
101859
  this.initialWidth = undefined; // the width the column initially has
101590
101860
 
101591
- this.prefMinWidth = null;
101592
101861
  this.minWidth = Column.DEFAULT_MIN_WIDTH; // the minimal width the column can have
101593
101862
 
101594
101863
  this.showSeparator = true;
@@ -101615,7 +101884,6 @@ class Column {
101615
101884
  this.$separator = null;
101616
101885
  }
101617
101886
 
101618
- // for columns without text (icon, check box)
101619
101887
  init(model) {
101620
101888
  this.session = model.session; // Copy all properties from model to this
101621
101889
 
@@ -101979,15 +102247,19 @@ class Column {
101979
102247
  cell.field = field; // Override field alignment with the cell's alignment
101980
102248
 
101981
102249
  cell.field.gridData.horizontalAlignment = cell.horizontalAlignment;
101982
- popup = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('CellEditorPopup', {
102250
+ popup = this._createEditorPopup(row, cell);
102251
+ popup.$anchor = $cell;
102252
+ popup.open(this.table.$data);
102253
+ return popup;
102254
+ }
102255
+
102256
+ _createEditorPopup(row, cell) {
102257
+ return _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('CellEditorPopup', {
101983
102258
  parent: this.table,
101984
102259
  column: this,
101985
102260
  row: row,
101986
102261
  cell: cell
101987
102262
  });
101988
- popup.$anchor = $cell;
101989
- popup.open(this.table.$data);
101990
- return popup;
101991
102263
  }
101992
102264
  /**
101993
102265
  * @returns {Cell} the cell object for this column from the given row.
@@ -102684,7 +102956,9 @@ class Column {
102684
102956
 
102685
102957
  _defineProperty(Column, "DEFAULT_MIN_WIDTH", 60);
102686
102958
 
102687
- _defineProperty(Column, "NARROW_MIN_WIDTH", 32);
102959
+ _defineProperty(Column, "SMALL_MIN_WIDTH", 38);
102960
+
102961
+ _defineProperty(Column, "NARROW_MIN_WIDTH", 34);
102688
102962
 
102689
102963
  /***/ }),
102690
102964
 
@@ -105582,7 +105856,7 @@ __webpack_require__.r(__webpack_exports__);
105582
105856
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
105583
105857
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
105584
105858
  /*
105585
- * Copyright (c) 2014-2018 BSI Business Systems Integration AG.
105859
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
105586
105860
  * All rights reserved. This program and the accompanying materials
105587
105861
  * are made available under the terms of the Eclipse Public License v1.0
105588
105862
  * which accompanies this distribution, and is available at
@@ -105644,6 +105918,14 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105644
105918
  this.position();
105645
105919
  this.pack();
105646
105920
  }
105921
+ /**
105922
+ * @override
105923
+ */
105924
+
105925
+
105926
+ _getDefaultOpen$Parent() {
105927
+ return this.table.$data;
105928
+ }
105647
105929
 
105648
105930
  _render() {
105649
105931
  super._render(); // determine CSS class for first and last column, required for additional margins/padding in cell-editor
@@ -105668,14 +105950,11 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105668
105950
  field.render();
105669
105951
  field.prepareForCellEdit({
105670
105952
  cssClass: cssClass
105671
- });
105672
-
105673
- this._alignWithSelection(); // Make sure cell content is not visible while the editor is open (especially necessary for transparent editors like checkboxes)
105674
-
105953
+ }); // Make sure cell content is not visible while the editor is open (especially necessary for transparent editors like checkboxes)
105675
105954
 
105676
105955
  this.$anchor.css('visibility', 'hidden');
105677
105956
 
105678
- this._rowOrderChangedFunc = function (event) {
105957
+ this._rowOrderChangedFunc = event => {
105679
105958
  if (event.animating) {
105680
105959
  // row is only set while animating
105681
105960
  if (event.row === this.row) {
@@ -105684,7 +105963,7 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105684
105963
  } else {
105685
105964
  this.position();
105686
105965
  }
105687
- }.bind(this);
105966
+ };
105688
105967
 
105689
105968
  this.table.on('rowOrderChanged', this._rowOrderChangedFunc); // Set table style to focused, so that it looks as it still has the focus.
105690
105969
  // This prevents flickering if the cell editor gets opened, especially when tabbing to the next cell editor.
@@ -105754,14 +106033,15 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105754
106033
  }
105755
106034
 
105756
106035
  position() {
105757
- let cellBounds,
105758
- rowBounds,
105759
- $tableData = this.table.$data,
106036
+ let $tableData = this.table.$data,
105760
106037
  $row = this.row.$row,
105761
106038
  $cell = this.$anchor,
105762
106039
  insetsLeft = $tableData.cssPaddingLeft() + $row.cssMarginLeft() + $row.cssBorderLeftWidth();
105763
- cellBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($cell);
105764
- rowBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($row);
106040
+
106041
+ this._alignWithSelection();
106042
+
106043
+ let cellBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($cell);
106044
+ let rowBounds = _index__WEBPACK_IMPORTED_MODULE_0__.graphics.bounds($row);
105765
106045
  this.setLocation(new _index__WEBPACK_IMPORTED_MODULE_0__.Point(insetsLeft + cellBounds.x, $tableData.scrollTop() + rowBounds.y));
105766
106046
  }
105767
106047
  /**
@@ -105791,7 +106071,8 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105791
106071
  }
105792
106072
 
105793
106073
  this._pendingCompleteCellEdit.then(() => {
105794
- this._pendingCompleteCellEdit = null;
106074
+ // Ensure complete will never be called more than once
106075
+ this._pendingCompleteCellEdit = jquery__WEBPACK_IMPORTED_MODULE_1___default().resolvedPromise();
105795
106076
  });
105796
106077
 
105797
106078
  return this._pendingCompleteCellEdit;
@@ -105832,12 +106113,7 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105832
106113
  }
105833
106114
 
105834
106115
  _onKeyStroke(event) {
105835
- if (!this.session.keyStrokeManager.invokeAcceptInputOnActiveValueField(event.keyStroke, event.keyStrokeContext)) {
105836
- return;
105837
- }
105838
-
105839
- if (this.$container.isOrHas(event.keyStrokeContext.$getScopeTarget())) {
105840
- // Don't interfere with key strokes of the popup or children of the popup (otherwise pressing enter would close both the popup and the form at once)
106116
+ if (!this._invokeCompleteEditBeforeKeyStroke(event)) {
105841
106117
  return;
105842
106118
  } // Make sure completeEdit is called immediately after calling acceptInput.
105843
106119
  // Otherwise the key stroke will be executed before completing the edit which prevents the input from being saved
@@ -105847,6 +106123,19 @@ class CellEditorPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.Popup {
105847
106123
  this.completeEdit(false);
105848
106124
  }
105849
106125
 
106126
+ _invokeCompleteEditBeforeKeyStroke(event) {
106127
+ if (!this.session.keyStrokeManager.invokeAcceptInputOnActiveValueField(event.keyStroke, event.keyStrokeContext)) {
106128
+ return false;
106129
+ }
106130
+
106131
+ if (this.$container.isOrHas(event.keyStrokeContext.$getScopeTarget())) {
106132
+ // Don't interfere with key strokes of the popup or children of the popup (otherwise pressing enter would close both the popup and the form at once)
106133
+ return false;
106134
+ }
106135
+
106136
+ return true;
106137
+ }
106138
+
105850
106139
  waitForCompleteCellEdit() {
105851
106140
  if (this._pendingCompleteCellEdit) {
105852
106141
  return this._pendingCompleteCellEdit.promise();
@@ -106018,6 +106307,7 @@ class AbstractTableNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0
106018
106307
  this.shift = !table.multiSelect ? false : undefined;
106019
106308
  this.stopPropagation = true;
106020
106309
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
106310
+ this.inheritAccessibility = false;
106021
106311
  }
106022
106312
 
106023
106313
  _accept(event) {
@@ -106301,6 +106591,7 @@ class TableCopyKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke {
106301
106591
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.C];
106302
106592
  this.ctrl = true;
106303
106593
  this.renderingHints.render = false;
106594
+ this.inheritAccessibility = false;
106304
106595
  }
106305
106596
 
106306
106597
  handle(event) {
@@ -106340,13 +106631,13 @@ class TableNavigationCollapseKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0
106340
106631
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.SUBTRACT, _index__WEBPACK_IMPORTED_MODULE_0__.keys.LEFT];
106341
106632
  this.renderingHints.text = '-';
106342
106633
 
106343
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106634
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106344
106635
  let row = this.field.selectedRows[0];
106345
106636
 
106346
106637
  if (row) {
106347
106638
  return row.$row;
106348
106639
  }
106349
- }.bind(this);
106640
+ };
106350
106641
  }
106351
106642
 
106352
106643
  _accept(event) {
@@ -106531,13 +106822,13 @@ class TableNavigationEndKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ab
106531
106822
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.END];
106532
106823
  this.renderingHints.text = 'End';
106533
106824
 
106534
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106825
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106535
106826
  let viewport = this._viewportInfo();
106536
106827
 
106537
106828
  if (viewport.lastRow) {
106538
106829
  return viewport.lastRow.$row;
106539
106830
  }
106540
- }.bind(this);
106831
+ };
106541
106832
  }
106542
106833
 
106543
106834
  handle(event) {
@@ -106608,13 +106899,13 @@ class TableNavigationExpandKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
106608
106899
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ADD, _index__WEBPACK_IMPORTED_MODULE_0__.keys.RIGHT];
106609
106900
  this.renderingHints.text = '+';
106610
106901
 
106611
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106902
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106612
106903
  let row = this.field.selectedRows[0];
106613
106904
 
106614
106905
  if (row) {
106615
106906
  return row.$row;
106616
106907
  }
106617
- }.bind(this);
106908
+ };
106618
106909
  }
106619
106910
 
106620
106911
  _accept(event) {
@@ -106690,13 +106981,13 @@ class TableNavigationHomeKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.A
106690
106981
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.HOME];
106691
106982
  this.renderingHints.text = 'Home';
106692
106983
 
106693
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
106984
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106694
106985
  let viewport = this._viewportInfo();
106695
106986
 
106696
106987
  if (viewport.firstRow) {
106697
106988
  return viewport.firstRow.$row;
106698
106989
  }
106699
- }.bind(this);
106990
+ };
106700
106991
  }
106701
106992
 
106702
106993
  handle(event) {
@@ -106766,13 +107057,13 @@ class TableNavigationPageDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0
106766
107057
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.PAGE_DOWN];
106767
107058
  this.renderingHints.text = 'PgDn';
106768
107059
 
106769
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107060
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106770
107061
  let viewport = this._viewportInfo();
106771
107062
 
106772
107063
  if (viewport.lastRow) {
106773
107064
  return viewport.lastRow.$row;
106774
107065
  }
106775
- }.bind(this);
107066
+ };
106776
107067
  }
106777
107068
 
106778
107069
  handle(event) {
@@ -106866,13 +107157,13 @@ class TableNavigationPageUpKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
106866
107157
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.PAGE_UP];
106867
107158
  this.renderingHints.text = 'PgUp';
106868
107159
 
106869
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107160
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106870
107161
  let viewport = this._viewportInfo();
106871
107162
 
106872
107163
  if (viewport.firstRow) {
106873
107164
  return viewport.firstRow.$row;
106874
107165
  }
106875
- }.bind(this);
107166
+ };
106876
107167
  }
106877
107168
 
106878
107169
  handle(event) {
@@ -106965,13 +107256,13 @@ class TableNavigationUpKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abs
106965
107256
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.UP];
106966
107257
  this.renderingHints.text = '↑';
106967
107258
 
106968
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107259
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
106969
107260
  let row = this.firstRowBeforeSelection();
106970
107261
 
106971
107262
  if (row) {
106972
107263
  return row.$row;
106973
107264
  }
106974
- }.bind(this);
107265
+ };
106975
107266
  }
106976
107267
 
106977
107268
  handle(event) {
@@ -107072,9 +107363,9 @@ class TableRefreshKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStrok
107072
107363
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.F5];
107073
107364
  this.renderingHints.offset = 14;
107074
107365
 
107075
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107366
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
107076
107367
  return this.field.footer ? this.field.footer._$infoLoad.find('.table-info-button') : null;
107077
- }.bind(this);
107368
+ };
107078
107369
  }
107079
107370
 
107080
107371
  _accept(event) {
@@ -107121,9 +107412,11 @@ class TableSelectAllKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStr
107121
107412
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.A];
107122
107413
  this.renderingHints.offset = 14;
107123
107414
 
107124
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107415
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
107125
107416
  return this.field.footer ? this.field.footer._$infoSelection.find('.table-info-button') : null;
107126
- }.bind(this);
107417
+ };
107418
+
107419
+ this.inheritAccessibility = false;
107127
107420
  }
107128
107421
 
107129
107422
  handle(event) {
@@ -107166,7 +107459,7 @@ class TableStartCellEditKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ke
107166
107459
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ENTER];
107167
107460
  this.stopPropagation = true;
107168
107461
 
107169
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
107462
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
107170
107463
  let editPosition = event._editPosition,
107171
107464
  columnIndex = this.field.visibleColumns().indexOf(editPosition.column);
107172
107465
 
@@ -107176,7 +107469,7 @@ class TableStartCellEditKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ke
107176
107469
  }
107177
107470
 
107178
107471
  return this.field.$cell(columnIndex, editPosition.row.$row);
107179
- }.bind(this);
107472
+ };
107180
107473
  }
107181
107474
 
107182
107475
  _accept(event) {
@@ -111672,7 +111965,11 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
111672
111965
  }
111673
111966
 
111674
111967
  _updateTabbable() {
111675
- this.$container.setTabbable(this.enabled && (this.textFilterEnabled || this.selectable));
111968
+ if (!this.textFilterEnabled && !this.selectable) {
111969
+ this.$container.setTabbable(false);
111970
+ } else {
111971
+ this.$container.setTabbableOrFocusable(this.enabledComputed);
111972
+ }
111676
111973
  }
111677
111974
 
111678
111975
  insertTile(tile) {
@@ -111895,7 +112192,7 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
111895
112192
  }
111896
112193
 
111897
112194
  _onAnimatedTileRemove(tile) {
111898
- if (!tile.rendered || !tile.animateRemoval) {
112195
+ if (!tile.removalPending) {
111899
112196
  return;
111900
112197
  }
111901
112198
 
@@ -112316,18 +112613,12 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
112316
112613
 
112317
112614
  if ($scrollables.length === 0) {
112318
112615
  return;
112319
- }
112616
+ } // Make sure the tile grid has the focus when focusing a tile
112320
112617
 
112321
- let oldScrollTopArr = $scrollables.map((i, $elem) => {
112322
- return $elem.scrollTop();
112323
- }).toArray(); // Make sure the tile grid has the focus when focusing a tile
112324
112618
 
112325
- if (this.focus()) {
112326
- // Restore old scroll to prevent scrolling by the browser due to the focus() call
112327
- oldScrollTopArr.forEach((val, idx) => {
112328
- $scrollables[idx].scrollTop(val);
112329
- }, this);
112330
- }
112619
+ this.focus({
112620
+ preventScroll: true
112621
+ });
112331
112622
  }
112332
112623
 
112333
112624
  setSelectable(selectable) {
@@ -113007,7 +113298,7 @@ class TileGrid extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
113007
113298
  }
113008
113299
 
113009
113300
  _removeTileByFilter(tile) {
113010
- // In virtual mode, filtered tiles are not rendered. In normal mode, the filter animation is triggerd by _renderVisible of the tile.
113301
+ // In virtual mode, filtered tiles are not rendered. In normal mode, the filter animation is triggered by _renderVisible of the tile.
113011
113302
  // Since the tile is removed immediately, the invisible animation would not start, so we use the remove animation instead.
113012
113303
  // But because the delete animation is a different one to the filter animation, the removeClass needs to be swapped
113013
113304
  // Remove class first to make sure animation won't be finished before the animationend listener is attached in Widget._removeAnimated (which may happen because a setTimeout is used there)
@@ -113343,7 +113634,7 @@ __webpack_require__.r(__webpack_exports__);
113343
113634
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
113344
113635
 
113345
113636
  /*
113346
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
113637
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
113347
113638
  * All rights reserved. This program and the accompanying materials
113348
113639
  * are made available under the terms of the Eclipse Public License v1.0
113349
113640
  * which accompanies this distribution, and is available at
@@ -113508,7 +113799,7 @@ class TileGridLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.LogicalGridLayo
113508
113799
 
113509
113800
  _layoutCellBounds(containerSize, containerInsets) {
113510
113801
  // Since the tiles are positioned absolutely it is necessary to add the height of the filler to the top insets
113511
- if (this.widget.virtual) {
113802
+ if (this.widget.virtual && this.widget.$fillBefore) {
113512
113803
  containerInsets.top += this.widget.$fillBefore.outerHeight(true);
113513
113804
  }
113514
113805
 
@@ -114635,7 +114926,7 @@ __webpack_require__.r(__webpack_exports__);
114635
114926
  /* harmony export */ });
114636
114927
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../index */ "./src/index.js");
114637
114928
  /*
114638
- * Copyright (c) 2010-2021 BSI Business Systems Integration AG.
114929
+ * Copyright (c) 2010-2022 BSI Business Systems Integration AG.
114639
114930
  * All rights reserved. This program and the accompanying materials
114640
114931
  * are made available under the terms of the Eclipse Public License v1.0
114641
114932
  * which accompanies this distribution, and is available at
@@ -115018,7 +115309,24 @@ class TileAccordion extends _index__WEBPACK_IMPORTED_MODULE_0__.Accordion {
115018
115309
 
115019
115310
  _filter() {
115020
115311
  this.groups.forEach(group => {
115021
- group.body.filter();
115312
+ group.body.filter(); // If the layout has not been invalidated as part of the filtering above, it even though must be validated here.
115313
+ // This is because groups above might have fewer visible Tiles now which makes room for this group.
115314
+ // The revalidateLayout() with scrolling=true here ensures TileGrid._renderViewPort() is called to ensure these Tiles become visible as there is space available now.
115315
+ // It is executed as postValidateFunction because the groups above must have completed their layouting so that
115316
+ // TileGrid._renderViewPort() knows that there is more space available now.
115317
+
115318
+ if (group.body.htmlComp && group.body.htmlComp.valid && !group.body._accordionLayoutHandler
115319
+ /* skip if already registered */
115320
+ ) {
115321
+ group.body._accordionLayoutHandler = () => {
115322
+ group.body.scrolling = true;
115323
+ group.body.revalidateLayout();
115324
+ group.body.scrolling = false;
115325
+ group.body._accordionLayoutHandler = null;
115326
+ };
115327
+
115328
+ this.session.layoutValidator.schedulePostValidateFunction(group.body._accordionLayoutHandler);
115329
+ }
115022
115330
  });
115023
115331
  }
115024
115332
  /**
@@ -116264,13 +116572,15 @@ class TileGridSelectKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.KeyStr
116264
116572
  this.field = tileGrid;
116265
116573
  this.shift = !tileGrid.multiSelect ? false : undefined;
116266
116574
 
116267
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
116575
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
116268
116576
  let result = this._computeNewSelection();
116269
116577
 
116270
116578
  if (result && result.focusedTile) {
116271
116579
  return result.focusedTile.$container;
116272
116580
  }
116273
- }.bind(this);
116581
+ };
116582
+
116583
+ this.inheritAccessibility = false;
116274
116584
  }
116275
116585
  /**
116276
116586
  * Selection handler should be used for every interaction with the tileGrid.
@@ -117008,6 +117318,16 @@ class TimePickerTouchPopup extends _index__WEBPACK_IMPORTED_MODULE_0__.TouchPopu
117008
117318
 
117009
117319
  this._touchField._triggerAcceptInput();
117010
117320
  }
117321
+ /**
117322
+ * @override
117323
+ */
117324
+
117325
+
117326
+ _acceptInput() {
117327
+ this._field.acceptTime();
117328
+
117329
+ this.close();
117330
+ }
117011
117331
 
117012
117332
  }
117013
117333
 
@@ -118136,7 +118456,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
118136
118456
  * All rights reserved. This program and the accompanying materials
118137
118457
  * are made available under the terms of the Eclipse Public License v1.0
118138
118458
  * which accompanies this distribution, and is available at
118139
- * http://www.eclipse.org/legal/epl-v10.html
118459
+ * https://www.eclipse.org/legal/epl-v10.html
118140
118460
  *
118141
118461
  * Contributors:
118142
118462
  * BSI Business Systems Integration AG - initial API and implementation
@@ -119157,7 +119477,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119157
119477
 
119158
119478
  let enabled = this.enabledComputed;
119159
119479
  this.$data.setEnabled(enabled);
119160
- this.$container.setTabbable(enabled);
119480
+ this.$container.setTabbableOrFocusable(enabled);
119161
119481
  }
119162
119482
  /**
119163
119483
  * @override Widget.js
@@ -120861,7 +121181,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120861
121181
 
120862
121182
  nodes = _index__WEBPACK_IMPORTED_MODULE_0__.arrays.ensure(nodes);
120863
121183
  nodes.forEach(function (node) {
120864
- if (!node.enabled && opts.checkOnlyEnabled || node.checked === opts.checked) {
121184
+ if (!node.enabled && opts.checkOnlyEnabled || node.checked === opts.checked || !node.filterAccepted) {
120865
121185
  if (opts.checkChildren) {
120866
121186
  this.checkNodes(node.childNodes, opts);
120867
121187
  }
@@ -121688,7 +122008,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121688
122008
  _onDesktopPopupOpen(event) {
121689
122009
  let popup = event.popup;
121690
122010
 
121691
- if (!this.enabledComputed) {
122011
+ if (!this.isFocusable(false)) {
121692
122012
  return;
121693
122013
  } // Set tree style to focused if a context menu or a menu bar popup opens, so that it looks as it still has the focus
121694
122014
 
@@ -122711,6 +123031,7 @@ class AbstractTreeNavigationKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0_
122711
123031
  this.shift = _index__WEBPACK_IMPORTED_MODULE_0__.keyStrokeModifier.isShift(modifierBitMask);
122712
123032
  this.alt = _index__WEBPACK_IMPORTED_MODULE_0__.keyStrokeModifier.isAlt(modifierBitMask);
122713
123033
  this.keyStrokeMode = _index__WEBPACK_IMPORTED_MODULE_0__.KeyStroke.Mode.DOWN;
123034
+ this.inheritAccessibility = false;
122714
123035
  }
122715
123036
 
122716
123037
  _accept(event) {
@@ -122944,11 +123265,11 @@ class TreeCollapseAllKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abstr
122944
123265
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.HOME];
122945
123266
  this.renderingHints.hAlign = _index__WEBPACK_IMPORTED_MODULE_0__.HAlign.RIGHT;
122946
123267
 
122947
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123268
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
122948
123269
  if (this.field.visibleNodesFlat.length > 0) {
122949
123270
  return this.field.visibleNodesFlat[0].$node;
122950
123271
  }
122951
- }.bind(this);
123272
+ };
122952
123273
  }
122953
123274
 
122954
123275
  handle(event) {
@@ -123051,7 +123372,7 @@ class TreeExpandOrDrillDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
123051
123372
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.ADD];
123052
123373
  this.renderingHints.text = '+';
123053
123374
 
123054
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123375
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123055
123376
  let currentNode = event._treeCurrentNode;
123056
123377
 
123057
123378
  if (this.isNodeExpandable(currentNode)) {
@@ -123059,7 +123380,7 @@ class TreeExpandOrDrillDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__
123059
123380
  } else if (currentNode.childNodes.length > 0) {
123060
123381
  return currentNode.childNodes[0].$node;
123061
123382
  }
123062
- }.bind(this);
123383
+ };
123063
123384
  }
123064
123385
 
123065
123386
  _accept(event) {
@@ -123125,13 +123446,13 @@ class TreeNavigationDownKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Ab
123125
123446
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.DOWN];
123126
123447
  this.renderingHints.text = '↓';
123127
123448
 
123128
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123449
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123129
123450
  let newSelectedNode = this._computeNewSelection(event._treeCurrentNode);
123130
123451
 
123131
123452
  if (newSelectedNode) {
123132
123453
  return newSelectedNode.$node;
123133
123454
  }
123134
- }.bind(this);
123455
+ };
123135
123456
  }
123136
123457
 
123137
123458
  _computeNewSelection(currentNode) {
@@ -123179,13 +123500,13 @@ class TreeNavigationEndKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abs
123179
123500
  super(tree, modifierBitMask);
123180
123501
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.END];
123181
123502
 
123182
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123503
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123183
123504
  let newSelectedNode = this._computeNewSelection(event._treeCurrentNode);
123184
123505
 
123185
123506
  if (newSelectedNode) {
123186
123507
  return newSelectedNode.$node;
123187
123508
  }
123188
- }.bind(this);
123509
+ };
123189
123510
  }
123190
123511
 
123191
123512
  handle(event) {
@@ -123238,13 +123559,13 @@ class TreeNavigationUpKeyStroke extends _index__WEBPACK_IMPORTED_MODULE_0__.Abst
123238
123559
  this.which = [_index__WEBPACK_IMPORTED_MODULE_0__.keys.UP];
123239
123560
  this.renderingHints.text = '↑';
123240
123561
 
123241
- this.renderingHints.$drawingArea = function ($drawingArea, event) {
123562
+ this.renderingHints.$drawingArea = ($drawingArea, event) => {
123242
123563
  let newSelectedNode = this._computeNewSelection(event._treeCurrentNode);
123243
123564
 
123244
123565
  if (newSelectedNode) {
123245
123566
  return newSelectedNode.$node;
123246
123567
  }
123247
- }.bind(this);
123568
+ };
123248
123569
  }
123249
123570
 
123250
123571
  _computeNewSelection(currentNode) {
@@ -123853,7 +124174,7 @@ class Device {
123853
124174
  }
123854
124175
  /**
123855
124176
  * This method returns false for all browsers that are known to be unsupported, all others (e.g. unknown engines) are allowed by default.
123856
- * The supported browser versions are mainly determined by the features needed by Scout (e.g. class syntax, Array.flatMap, IntersectionObserver, Custom CSS Properties, CSS flex-box).
124177
+ * The supported browser versions are mainly determined by the features needed by Scout (e.g. class syntax, Array.flatMap, IntersectionObserver, Custom CSS Properties, CSS flex-box, queueMicrotask).
123857
124178
  */
123858
124179
 
123859
124180
 
@@ -123861,7 +124182,7 @@ class Device {
123861
124182
  browser = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(browser, this.browser);
123862
124183
  version = _index__WEBPACK_IMPORTED_MODULE_0__.scout.nvl(version, this.browserVersion);
123863
124184
  let browsers = Device.Browser;
123864
- return browser === browsers.CHROME && version >= 69 || browser === browsers.FIREFOX && version >= 62 || browser === browsers.SAFARI && version >= 12;
124185
+ return browser === browsers.CHROME && version >= 71 || browser === browsers.FIREFOX && version >= 69 || browser === browsers.SAFARI && version >= 12.1;
123865
124186
  }
123866
124187
  /**
123867
124188
  * Can not detect type until DOM is ready because we must create a DIV to measure the scrollbars.
@@ -126123,6 +126444,8 @@ __webpack_require__.r(__webpack_exports__);
126123
126444
  /* harmony export */ "$remove": () => (/* binding */ $remove),
126124
126445
  /* harmony export */ "randomElement": () => (/* binding */ randomElement),
126125
126446
  /* harmony export */ "toMap": () => (/* binding */ toMap),
126447
+ /* harmony export */ "nullIfEmpty": () => (/* binding */ nullIfEmpty),
126448
+ /* harmony export */ "clear": () => (/* binding */ clear),
126126
126449
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
126127
126450
  /* harmony export */ });
126128
126451
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
@@ -126348,6 +126671,12 @@ function containsAll(haystack, needles) {
126348
126671
  return haystack.indexOf(element) >= 0;
126349
126672
  });
126350
126673
  }
126674
+ /**
126675
+ * @template T
126676
+ * @param {T[]} arr
126677
+ * @return {T}
126678
+ */
126679
+
126351
126680
  function first(arr) {
126352
126681
  if (Array.isArray(arr)) {
126353
126682
  return arr[0];
@@ -126355,6 +126684,12 @@ function first(arr) {
126355
126684
 
126356
126685
  return arr;
126357
126686
  }
126687
+ /**
126688
+ * @template T
126689
+ * @param {T[]} arr
126690
+ * @return {T}
126691
+ */
126692
+
126358
126693
  function last(arr) {
126359
126694
  if (Array.isArray(arr)) {
126360
126695
  return arr[arr.length - 1];
@@ -126427,9 +126762,9 @@ function union(array1, array2) {
126427
126762
  }
126428
126763
  });
126429
126764
  return result;
126430
- } // noinspection DuplicatedCode
126431
-
126765
+ }
126432
126766
  function equalsIgnoreOrder(arr, arr2) {
126767
+ // noinspection DuplicatedCode
126433
126768
  if (arr === arr2) {
126434
126769
  return true;
126435
126770
  }
@@ -126447,9 +126782,9 @@ function equalsIgnoreOrder(arr, arr2) {
126447
126782
  }
126448
126783
 
126449
126784
  return containsAll(arr, arr2);
126450
- } // noinspection DuplicatedCode
126451
-
126785
+ }
126452
126786
  function equals(arr, arr2) {
126787
+ // noinspection DuplicatedCode
126453
126788
  if (arr === arr2) {
126454
126789
  return true;
126455
126790
  }
@@ -126777,9 +127112,41 @@ function toMap(array) {
126777
127112
  return map;
126778
127113
  }, {}));
126779
127114
  }
127115
+ /**
127116
+ * If the argument is an empty array, null is returned. Otherwise, the argument is returned unchanged.
127117
+ *
127118
+ * @template T
127119
+ * @param {T[]} array
127120
+ * @return {T[]|null}
127121
+ */
127122
+
127123
+ function nullIfEmpty(array) {
127124
+ return empty(array) ? null : array;
127125
+ }
127126
+ /**
127127
+ * Clears the content of an array <i>in-place</i>. All elements are removed from the array and the
127128
+ * length will be set to 0. If the given argument is not an array, nothing happens.
127129
+ *
127130
+ * This is a more readable version of `array.splice(0, a.length)`.
127131
+ *
127132
+ * The return value is an array of all deleted elements (never null).
127133
+ *
127134
+ * @template T
127135
+ * @param {T[]} array
127136
+ * @return {T[]}
127137
+ */
127138
+
127139
+ function clear(array) {
127140
+ if (Array.isArray(array)) {
127141
+ return array.splice(0, array.length);
127142
+ }
127143
+
127144
+ return [];
127145
+ }
126780
127146
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
126781
127147
  $indexOf,
126782
127148
  $remove,
127149
+ clear,
126783
127150
  contains,
126784
127151
  containsAll,
126785
127152
  containsAny,
@@ -126815,6 +127182,7 @@ function toMap(array) {
126815
127182
  max,
126816
127183
  min,
126817
127184
  move,
127185
+ nullIfEmpty,
126818
127186
  pushAll,
126819
127187
  pushIfDefined,
126820
127188
  pushSet,
@@ -131161,12 +131529,16 @@ function resolveConstProperty(object, config) {
131161
131529
  /**
131162
131530
  * @param {object} obj
131163
131531
  * @returns {Boolean|undefined}
131164
- * - true if the obj is empty
131532
+ * - true if the obj is empty, null or undefined
131165
131533
  * - false if the obj is not empty
131166
131534
  * - nothing if the obj is not an object
131167
131535
  */
131168
131536
 
131169
131537
  function isEmpty(obj) {
131538
+ if (isNullOrUndefined(obj)) {
131539
+ return true;
131540
+ }
131541
+
131170
131542
  if (!isPlainObject(obj)) {
131171
131543
  return;
131172
131544
  }
@@ -134044,7 +134416,9 @@ class Widget {
134044
134416
 
134045
134417
 
134046
134418
  _removeAnimated() {
134047
- if (!_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsCssAnimation() || !this.$container || this.$container.isDisplayNone()) {
134419
+ let animateRemovalWhileRemovingParent = this._animateRemovalWhileRemovingParent();
134420
+
134421
+ if (this.parent.removing && !animateRemovalWhileRemovingParent || !_index__WEBPACK_IMPORTED_MODULE_0__.Device.get().supportsCssAnimation() || !this.$container || this.$container.isDisplayNone()) {
134048
134422
  // Cannot remove animated, remove regularly
134049
134423
  this._removeInternal();
134050
134424
 
@@ -134066,7 +134440,7 @@ class Widget {
134066
134440
  throw new Error('Missing animate removal class. Cannot remove animated.');
134067
134441
  }
134068
134442
 
134069
- if (!this.$container.isVisible() || !this.$container.isEveryParentVisible()) {
134443
+ if (!this.$container.isVisible() || !this.$container.isEveryParentVisible() || !this.$container.isAttached()) {
134070
134444
  // If element is not visible, animationEnd would never fire -> remove it immediately
134071
134445
  this._removeInternal();
134072
134446
 
@@ -134080,7 +134454,14 @@ class Widget {
134080
134454
  }); // If the parent is being removed while the animation is running, the animationEnd event will never fire
134081
134455
  // -> Make sure remove is called nevertheless. Important: remove it before the parent is removed to maintain the regular remove order
134082
134456
 
134083
- this.parent.one('removing', this._parentRemovingWhileAnimatingHandler);
134457
+ if (!animateRemovalWhileRemovingParent) {
134458
+ this.parent.one('removing', this._parentRemovingWhileAnimatingHandler);
134459
+ }
134460
+ }
134461
+
134462
+ _animateRemovalWhileRemovingParent() {
134463
+ // By default, remove animation is prevented when parent is being removed
134464
+ return false;
134084
134465
  }
134085
134466
 
134086
134467
  _onParentRemovingWhileAnimating() {
@@ -135764,17 +136145,20 @@ class Widget {
135764
136145
  * Tries to set the focus on the widget.
135765
136146
  * <p>
135766
136147
  * By default the focus is set on the container but this may vary from widget to widget.
136148
+ *
136149
+ * @param {object} [options]
136150
+ * @param {boolean} [options.preventScroll] prevents scrolling to new focused element (defaults to false)
135767
136151
  * @returns {boolean} true if the element could be focused, false if not
135768
136152
  */
135769
136153
 
135770
136154
 
135771
- focus() {
136155
+ focus(options) {
135772
136156
  if (!this.rendered) {
135773
- this.session.layoutValidator.schedulePostValidateFunction(this.focus.bind(this));
136157
+ this.session.layoutValidator.schedulePostValidateFunction(this.focus.bind(this, options));
135774
136158
  return false;
135775
136159
  }
135776
136160
 
135777
- return this.session.focusManager.requestFocus(this.getFocusableElement());
136161
+ return this.session.focusManager.requestFocus(this.getFocusableElement(), null, options);
135778
136162
  }
135779
136163
  /**
135780
136164
  * Calls {@link focus()} and prevents the default behavior of the event if the focusing was successful.