@douyinfe/semi-ui 2.11.2 → 2.12.0-beta.1

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 (63) hide show
  1. package/button/Button.tsx +1 -1
  2. package/dist/css/semi.css +33 -0
  3. package/dist/css/semi.min.css +1 -1
  4. package/dist/umd/semi-ui.js +2338 -323
  5. package/dist/umd/semi-ui.js.map +1 -1
  6. package/dist/umd/semi-ui.min.js +1 -1
  7. package/dist/umd/semi-ui.min.js.map +1 -1
  8. package/form/_story/FormSubmit/index.tsx +45 -0
  9. package/form/_story/form.stories.js +2 -1
  10. package/lib/cjs/button/Button.d.ts +1 -1
  11. package/lib/cjs/modal/Modal.js +3 -2
  12. package/lib/cjs/modal/ModalContent.d.ts +2 -0
  13. package/lib/cjs/modal/ModalContent.js +17 -9
  14. package/lib/cjs/progress/index.js +1 -1
  15. package/lib/cjs/select/index.js +1 -1
  16. package/lib/cjs/slider/index.js +9 -5
  17. package/lib/cjs/tabs/TabBar.d.ts +1 -0
  18. package/lib/cjs/tabs/TabBar.js +8 -1
  19. package/lib/cjs/tabs/TabPane.js +2 -1
  20. package/lib/cjs/tabs/index.js +2 -1
  21. package/lib/cjs/tabs/interface.d.ts +1 -0
  22. package/lib/cjs/tag/index.d.ts +2 -0
  23. package/lib/cjs/tag/index.js +60 -11
  24. package/lib/cjs/tag/interface.d.ts +1 -0
  25. package/lib/cjs/tagInput/index.js +3 -2
  26. package/lib/cjs/tooltip/TooltipStyledTransition.js +5 -2
  27. package/lib/cjs/treeSelect/index.js +3 -3
  28. package/lib/es/button/Button.d.ts +1 -1
  29. package/lib/es/modal/Modal.js +3 -2
  30. package/lib/es/modal/ModalContent.d.ts +2 -0
  31. package/lib/es/modal/ModalContent.js +16 -9
  32. package/lib/es/progress/index.js +1 -1
  33. package/lib/es/select/index.js +1 -1
  34. package/lib/es/slider/index.js +9 -5
  35. package/lib/es/tabs/TabBar.d.ts +1 -0
  36. package/lib/es/tabs/TabBar.js +8 -1
  37. package/lib/es/tabs/TabPane.js +2 -1
  38. package/lib/es/tabs/index.js +2 -1
  39. package/lib/es/tabs/interface.d.ts +1 -0
  40. package/lib/es/tag/index.d.ts +2 -0
  41. package/lib/es/tag/index.js +56 -9
  42. package/lib/es/tag/interface.d.ts +1 -0
  43. package/lib/es/tagInput/index.js +3 -2
  44. package/lib/es/tooltip/TooltipStyledTransition.js +5 -2
  45. package/lib/es/treeSelect/index.js +2 -2
  46. package/modal/Modal.tsx +2 -1
  47. package/modal/ModalContent.tsx +14 -8
  48. package/package.json +9 -9
  49. package/progress/index.tsx +1 -1
  50. package/select/index.tsx +1 -2
  51. package/slider/index.tsx +5 -3
  52. package/table/_story/v2/index.js +2 -1
  53. package/table/_story/v2/radioRowSelection.tsx +107 -0
  54. package/tabs/TabBar.tsx +7 -0
  55. package/tabs/TabPane.tsx +1 -0
  56. package/tabs/index.tsx +2 -1
  57. package/tabs/interface.ts +1 -0
  58. package/tag/index.tsx +32 -2
  59. package/tag/interface.ts +1 -0
  60. package/tagInput/index.tsx +1 -0
  61. package/tooltip/TooltipStyledTransition.tsx +2 -1
  62. package/tooltip/_story/tooltip.stories.js +90 -0
  63. package/treeSelect/index.tsx +1 -1
@@ -1801,6 +1801,30 @@ module.exports = createFind;
1801
1801
 
1802
1802
 
1803
1803
 
1804
+ /***/ }),
1805
+
1806
+ /***/ "1hU5":
1807
+ /***/ (function(module, exports, __webpack_require__) {
1808
+
1809
+ var $ = __webpack_require__("n9AK");
1810
+ var FREEZING = __webpack_require__("byqU");
1811
+ var fails = __webpack_require__("XU0c");
1812
+ var isObject = __webpack_require__("H3h0");
1813
+ var onFreeze = __webpack_require__("N8Lc").onFreeze;
1814
+
1815
+ // eslint-disable-next-line es-x/no-object-freeze -- safe
1816
+ var $freeze = Object.freeze;
1817
+ var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });
1818
+
1819
+ // `Object.freeze` method
1820
+ // https://tc39.es/ecma262/#sec-object.freeze
1821
+ $({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
1822
+ freeze: function freeze(it) {
1823
+ return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;
1824
+ }
1825
+ });
1826
+
1827
+
1804
1828
  /***/ }),
1805
1829
 
1806
1830
  /***/ "1l5A":
@@ -22401,6 +22425,19 @@ function baseClone(value, bitmask, customizer, key, object, stack) {
22401
22425
  module.exports = baseClone;
22402
22426
 
22403
22427
 
22428
+ /***/ }),
22429
+
22430
+ /***/ "kq48":
22431
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
22432
+
22433
+ "use strict";
22434
+ /* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
22435
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
22436
+
22437
+ /* harmony default export */ __webpack_exports__["a"] = (freeGlobal);
22438
+
22439
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("fRV1")))
22440
+
22404
22441
  /***/ }),
22405
22442
 
22406
22443
  /***/ "krtk":
@@ -24510,6 +24547,13 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
24510
24547
  });
24511
24548
 
24512
24549
 
24550
+ /***/ }),
24551
+
24552
+ /***/ "p7I/":
24553
+ /***/ (function(module, exports, __webpack_require__) {
24554
+
24555
+ module.exports = __webpack_require__("xXiX");
24556
+
24513
24557
  /***/ }),
24514
24558
 
24515
24559
  /***/ "pDLF":
@@ -25812,8 +25856,8 @@ var lodash_each = __webpack_require__("h4um");
25812
25856
  var each_default = /*#__PURE__*/__webpack_require__.n(lodash_each);
25813
25857
 
25814
25858
  // EXTERNAL MODULE: /home/runner/work/semi-design/semi-design/node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js
25815
- var includes = __webpack_require__("DeC2");
25816
- var includes_default = /*#__PURE__*/__webpack_require__.n(includes);
25859
+ var instance_includes = __webpack_require__("DeC2");
25860
+ var includes_default = /*#__PURE__*/__webpack_require__.n(instance_includes);
25817
25861
 
25818
25862
  // EXTERNAL MODULE: ../semi-foundation/utils/warning.ts
25819
25863
  var warning = __webpack_require__("MYbw");
@@ -29038,12 +29082,15 @@ const TooltipTransition = function () {
29038
29082
  const {
29039
29083
  children
29040
29084
  } = props;
29041
- const motion = getMotionObjFromProps(props);
29085
+ const motion = getMotionObjFromProps(props); // add fillMode forward to fix issue 715, tooltip close will flashing under react 18
29086
+
29042
29087
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(StyledTransition_StyledTransition, assign_default()({}, props, {
29043
29088
  enter: enterCls,
29044
29089
  leave: leaveCls,
29045
29090
  duration: '100ms'
29046
- }, motion), typeof children === 'function' ? _ref => {
29091
+ }, motion, {
29092
+ fillMode: 'forward'
29093
+ }), typeof children === 'function' ? _ref => {
29047
29094
  let {
29048
29095
  animateCls,
29049
29096
  animateEvents,
@@ -49325,6 +49372,11 @@ const tag_constants_strings = {
49325
49372
  AVATAR_SHAPE: ['square', 'circle']
49326
49373
  };
49327
49374
 
49375
+ // CONCATENATED MODULE: ../semi-foundation/utils/a11y.ts
49376
+ function handlePrevent(event) {
49377
+ event.stopPropagation();
49378
+ event.preventDefault();
49379
+ }
49328
49380
  // EXTERNAL MODULE: ../semi-foundation/tag/tag.scss
49329
49381
  var tag_tag = __webpack_require__("ktkQ");
49330
49382
 
@@ -49335,6 +49387,7 @@ var tag_tag = __webpack_require__("ktkQ");
49335
49387
 
49336
49388
 
49337
49389
 
49390
+
49338
49391
  var tag_rest = undefined && undefined.__rest || function (s, e) {
49339
49392
  var t = {};
49340
49393
 
@@ -49345,6 +49398,8 @@ var tag_rest = undefined && undefined.__rest || function (s, e) {
49345
49398
  }
49346
49399
  return t;
49347
49400
  };
49401
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
49402
+
49348
49403
  /* eslint-disable no-unused-vars */
49349
49404
 
49350
49405
  /* eslint-disable max-len */
@@ -49358,6 +49413,7 @@ var tag_rest = undefined && undefined.__rest || function (s, e) {
49358
49413
 
49359
49414
 
49360
49415
 
49416
+
49361
49417
  const tag_prefixCls = tag_constants_cssClasses.PREFIX;
49362
49418
  const tagColors = tag_constants_strings.TAG_COLOR;
49363
49419
  const tagSize = tag_constants_strings.TAG_SIZE;
@@ -49365,13 +49421,14 @@ const tagType = tag_constants_strings.TAG_TYPE;
49365
49421
  const avatarShapeSet = tag_constants_strings.AVATAR_SHAPE;
49366
49422
  class tag_Tag extends external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"] {
49367
49423
  constructor(props) {
49368
- var _context;
49424
+ var _context, _context2;
49369
49425
 
49370
49426
  super(props);
49371
49427
  this.state = {
49372
49428
  visible: true
49373
49429
  };
49374
49430
  this.close = bind_default()(_context = this.close).call(_context, this);
49431
+ this.handleKeyDown = bind_default()(_context2 = this.handleKeyDown).call(_context2, this);
49375
49432
  } // any other way to achieve this?
49376
49433
 
49377
49434
 
@@ -49408,6 +49465,33 @@ class tag_Tag extends external_root_React_commonjs2_react_commonjs_react_amd_rea
49408
49465
  this.setVisible(false);
49409
49466
  }
49410
49467
 
49468
+ handleKeyDown(event) {
49469
+ const {
49470
+ closable,
49471
+ onClick
49472
+ } = this.props;
49473
+
49474
+ switch (event.key) {
49475
+ case "Backspace":
49476
+ case "Delete":
49477
+ closable && this.close(event, this.props.children);
49478
+ handlePrevent(event);
49479
+ break;
49480
+
49481
+ case "Enter":
49482
+ onClick(event);
49483
+ handlePrevent(event);
49484
+ break;
49485
+
49486
+ case 'Escape':
49487
+ event.target.blur();
49488
+ break;
49489
+
49490
+ default:
49491
+ break;
49492
+ }
49493
+ }
49494
+
49411
49495
  renderAvatar() {
49412
49496
  const {
49413
49497
  avatarShape,
@@ -49421,7 +49505,7 @@ class tag_Tag extends external_root_React_commonjs2_react_commonjs_react_amd_rea
49421
49505
  }
49422
49506
 
49423
49507
  render() {
49424
- var _context2, _context3, _context4, _context5;
49508
+ var _context3, _context4, _context5, _context6, _context7;
49425
49509
 
49426
49510
  const _a = this.props,
49427
49511
  {
@@ -49431,37 +49515,51 @@ class tag_Tag extends external_root_React_commonjs2_react_commonjs_react_amd_rea
49431
49515
  closable,
49432
49516
  visible,
49433
49517
  onClose,
49518
+ onClick,
49434
49519
  className,
49435
49520
  type,
49436
49521
  avatarSrc,
49437
49522
  avatarShape
49438
49523
  } = _a,
49439
- attr = tag_rest(_a, ["children", "size", "color", "closable", "visible", "onClose", "className", "type", "avatarSrc", "avatarShape"]);
49524
+ attr = tag_rest(_a, ["children", "size", "color", "closable", "visible", "onClose", "onClick", "className", "type", "avatarSrc", "avatarShape"]);
49440
49525
 
49441
49526
  const {
49442
49527
  visible: isVisible
49443
49528
  } = this.state;
49529
+ const clickable = onClick !== tag_Tag.defaultProps.onClick || closable;
49530
+ const a11yProps = {
49531
+ role: 'button',
49532
+ tabIndex: 0,
49533
+ onKeyDown: this.handleKeyDown
49534
+ };
49444
49535
 
49445
49536
  const baseProps = assign_default()(assign_default()({}, attr), {
49537
+ onClick,
49446
49538
  className: classnames_default()(tag_prefixCls, {
49447
49539
  ["".concat(tag_prefixCls, "-default")]: size === 'default',
49448
49540
  ["".concat(tag_prefixCls, "-small")]: size === 'small',
49449
49541
  ["".concat(tag_prefixCls, "-large")]: size === 'large',
49450
- [concat_default()(_context2 = "".concat(tag_prefixCls, "-")).call(_context2, type)]: type,
49451
- [concat_default()(_context3 = concat_default()(_context4 = "".concat(tag_prefixCls, "-")).call(_context4, color, "-")).call(_context3, type)]: color && type,
49542
+ [concat_default()(_context3 = "".concat(tag_prefixCls, "-")).call(_context3, type)]: type,
49543
+ [concat_default()(_context4 = concat_default()(_context5 = "".concat(tag_prefixCls, "-")).call(_context5, color, "-")).call(_context4, type)]: color && type,
49452
49544
  ["".concat(tag_prefixCls, "-closable")]: closable,
49453
49545
  ["".concat(tag_prefixCls, "-invisible")]: !isVisible,
49454
- [concat_default()(_context5 = "".concat(tag_prefixCls, "-avatar-")).call(_context5, avatarShape)]: avatarSrc
49546
+ [concat_default()(_context6 = "".concat(tag_prefixCls, "-avatar-")).call(_context6, avatarShape)]: avatarSrc
49455
49547
  }, className)
49456
49548
  });
49457
49549
 
49458
- const closeIcon = closable ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
49550
+ const wrapProps = clickable ? assign_default()(assign_default()({}, baseProps), a11yProps) : baseProps;
49551
+ const closeIcon = closable ?
49552
+ /*#__PURE__*/
49553
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events
49554
+ external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
49459
49555
  className: "".concat(tag_prefixCls, "-close"),
49460
49556
  onClick: e => this.close(e, children)
49461
49557
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconClose, {
49462
49558
  size: "small"
49463
49559
  })) : null;
49464
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", assign_default()({}, baseProps), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
49560
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", assign_default()({
49561
+ "aria-label": this.props['aria-label'] || isString_default()(children) ? concat_default()(_context7 = "".concat(closable ? 'Closable ' : '', "Tag: ")).call(_context7, children) : ''
49562
+ }, wrapProps), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
49465
49563
  className: "".concat(tag_prefixCls, "-content")
49466
49564
  }, avatarSrc ? this.renderAvatar() : null, children, closeIcon));
49467
49565
  }
@@ -49491,7 +49589,8 @@ tag_Tag.propTypes = {
49491
49589
  style: prop_types_default.a.object,
49492
49590
  className: prop_types_default.a.string,
49493
49591
  avatarSrc: prop_types_default.a.string,
49494
- avatarShape: prop_types_default.a.oneOf(avatarShapeSet)
49592
+ avatarShape: prop_types_default.a.oneOf(avatarShapeSet),
49593
+ 'aria-label': prop_types_default.a.string
49495
49594
  };
49496
49595
  // CONCATENATED MODULE: ../semi-foundation/tagInput/constants.ts
49497
49596
 
@@ -50053,7 +50152,7 @@ class tagInput_TagInput extends baseComponent_BaseComponent {
50053
50152
  if (isFunction_default()(renderTagItem)) {
50054
50153
  item = renderTagItem(value, index);
50055
50154
  } else {
50056
- var _context2;
50155
+ var _context2, _context3;
50057
50156
 
50058
50157
  item = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(tag_Tag, {
50059
50158
  className: tagCls,
@@ -50065,7 +50164,8 @@ class tagInput_TagInput extends baseComponent_BaseComponent {
50065
50164
  },
50066
50165
  closable: !disabled,
50067
50166
  key: concat_default()(_context2 = "".concat(index)).call(_context2, value),
50068
- visible: true
50167
+ visible: true,
50168
+ "aria-label": concat_default()(_context3 = "".concat(!disabled ? 'Closable ' : '', "Tag: ")).call(_context3, value)
50069
50169
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(paragraph_Paragraph, {
50070
50170
  className: typoCls,
50071
50171
  ellipsis: {
@@ -65303,337 +65403,2102 @@ class modalContentFoundation_ModalContentFoundation extends foundation {
65303
65403
  }
65304
65404
 
65305
65405
  }
65306
- // CONCATENATED MODULE: ./modal/ModalContent.tsx
65406
+ // EXTERNAL MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_freeGlobal.js
65407
+ var _freeGlobal = __webpack_require__("kq48");
65307
65408
 
65409
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_root.js
65308
65410
 
65309
65411
 
65412
+ /** Detect free variable `self`. */
65413
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
65310
65414
 
65415
+ /** Used as a reference to the global object. */
65416
+ var _root_root = _freeGlobal["a" /* default */] || freeSelf || Function('return this')();
65311
65417
 
65418
+ /* harmony default export */ var _root = (_root_root);
65312
65419
 
65420
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_Symbol.js
65313
65421
 
65314
65422
 
65423
+ /** Built-in value references. */
65424
+ var _Symbol_Symbol = _root.Symbol;
65315
65425
 
65426
+ /* harmony default export */ var _Symbol = (_Symbol_Symbol);
65316
65427
 
65317
- var ModalContent_rest = undefined && undefined.__rest || function (s, e) {
65318
- var t = {};
65428
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_getRawTag.js
65319
65429
 
65320
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && index_of_default()(e).call(e, p) < 0) t[p] = s[p];
65321
65430
 
65322
- if (s != null && typeof get_own_property_symbols_default.a === "function") for (var i = 0, p = get_own_property_symbols_default()(s); i < p.length; i++) {
65323
- if (index_of_default()(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
65324
- }
65325
- return t;
65326
- };
65327
- /* eslint-disable eqeqeq */
65431
+ /** Used for built-in method references. */
65432
+ var objectProto = Object.prototype;
65328
65433
 
65434
+ /** Used to check objects for own properties. */
65435
+ var _getRawTag_hasOwnProperty = objectProto.hasOwnProperty;
65329
65436
 
65437
+ /**
65438
+ * Used to resolve the
65439
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
65440
+ * of values.
65441
+ */
65442
+ var nativeObjectToString = objectProto.toString;
65330
65443
 
65444
+ /** Built-in value references. */
65445
+ var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;
65331
65446
 
65447
+ /**
65448
+ * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
65449
+ *
65450
+ * @private
65451
+ * @param {*} value The value to query.
65452
+ * @returns {string} Returns the raw `toStringTag`.
65453
+ */
65454
+ function getRawTag(value) {
65455
+ var isOwn = _getRawTag_hasOwnProperty.call(value, symToStringTag),
65456
+ tag = value[symToStringTag];
65332
65457
 
65458
+ try {
65459
+ value[symToStringTag] = undefined;
65460
+ var unmasked = true;
65461
+ } catch (e) {}
65333
65462
 
65463
+ var result = nativeObjectToString.call(value);
65464
+ if (unmasked) {
65465
+ if (isOwn) {
65466
+ value[symToStringTag] = tag;
65467
+ } else {
65468
+ delete value[symToStringTag];
65469
+ }
65470
+ }
65471
+ return result;
65472
+ }
65334
65473
 
65474
+ /* harmony default export */ var _getRawTag = (getRawTag);
65335
65475
 
65476
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_objectToString.js
65477
+ /** Used for built-in method references. */
65478
+ var _objectToString_objectProto = Object.prototype;
65336
65479
 
65337
- // eslint-disable-next-line max-len
65480
+ /**
65481
+ * Used to resolve the
65482
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
65483
+ * of values.
65484
+ */
65485
+ var _objectToString_nativeObjectToString = _objectToString_objectProto.toString;
65338
65486
 
65487
+ /**
65488
+ * Converts `value` to a string using `Object.prototype.toString`.
65489
+ *
65490
+ * @private
65491
+ * @param {*} value The value to convert.
65492
+ * @returns {string} Returns the converted string.
65493
+ */
65494
+ function objectToString(value) {
65495
+ return _objectToString_nativeObjectToString.call(value);
65496
+ }
65339
65497
 
65498
+ /* harmony default export */ var _objectToString = (objectToString);
65340
65499
 
65500
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseGetTag.js
65341
65501
 
65342
- let uuid = 0;
65343
- class ModalContent_ModalContent extends baseComponent_BaseComponent {
65344
- constructor(props) {
65345
- super(props);
65346
65502
 
65347
- this.onKeyDown = e => {
65348
- this.foundation.handleKeyDown(e);
65349
- }; // Record when clicking the modal box
65350
65503
 
65351
65504
 
65352
- this.onDialogMouseDown = () => {
65353
- this.foundation.handleDialogMouseDown();
65354
- }; // Cancel recording when clicking the modal box at the end
65505
+ /** `Object#toString` result references. */
65506
+ var nullTag = '[object Null]',
65507
+ undefinedTag = '[object Undefined]';
65355
65508
 
65509
+ /** Built-in value references. */
65510
+ var _baseGetTag_symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;
65356
65511
 
65357
- this.onMaskMouseUp = () => {
65358
- this.foundation.handleMaskMouseUp();
65359
- }; // onMaskClick will judge dialogMouseDown before onMaskMouseUp updates dialogMouseDown
65512
+ /**
65513
+ * The base implementation of `getTag` without fallbacks for buggy environments.
65514
+ *
65515
+ * @private
65516
+ * @param {*} value The value to query.
65517
+ * @returns {string} Returns the `toStringTag`.
65518
+ */
65519
+ function baseGetTag(value) {
65520
+ if (value == null) {
65521
+ return value === undefined ? undefinedTag : nullTag;
65522
+ }
65523
+ return (_baseGetTag_symToStringTag && _baseGetTag_symToStringTag in Object(value))
65524
+ ? _getRawTag(value)
65525
+ : _objectToString(value);
65526
+ }
65360
65527
 
65528
+ /* harmony default export */ var _baseGetTag = (baseGetTag);
65361
65529
 
65362
- this.onMaskClick = e => {
65363
- this.foundation.handleMaskClick(e);
65364
- };
65530
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/isObject.js
65531
+ /**
65532
+ * Checks if `value` is the
65533
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
65534
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
65535
+ *
65536
+ * @static
65537
+ * @memberOf _
65538
+ * @since 0.1.0
65539
+ * @category Lang
65540
+ * @param {*} value The value to check.
65541
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
65542
+ * @example
65543
+ *
65544
+ * _.isObject({});
65545
+ * // => true
65546
+ *
65547
+ * _.isObject([1, 2, 3]);
65548
+ * // => true
65549
+ *
65550
+ * _.isObject(_.noop);
65551
+ * // => true
65552
+ *
65553
+ * _.isObject(null);
65554
+ * // => false
65555
+ */
65556
+ function isObject_isObject(value) {
65557
+ var type = typeof value;
65558
+ return value != null && (type == 'object' || type == 'function');
65559
+ }
65365
65560
 
65366
- this.close = e => {
65367
- this.foundation.close(e);
65368
- };
65561
+ /* harmony default export */ var lodash_es_isObject = (isObject_isObject);
65369
65562
 
65370
- this.getMaskElement = () => {
65371
- const props = ModalContent_rest(this.props, []);
65563
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/isFunction.js
65372
65564
 
65373
- const {
65374
- mask,
65375
- maskClassName
65376
- } = props;
65377
65565
 
65378
- if (mask) {
65379
- const className = classnames_default()("".concat(modal_constants_cssClasses.DIALOG, "-mask"), {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
65380
- });
65381
- return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65382
- key: "mask",
65383
- className: classnames_default()(className, maskClassName),
65384
- style: props.maskStyle
65385
- });
65386
- }
65387
65566
 
65388
- return null;
65389
- };
65567
+ /** `Object#toString` result references. */
65568
+ var asyncTag = '[object AsyncFunction]',
65569
+ funcTag = '[object Function]',
65570
+ genTag = '[object GeneratorFunction]',
65571
+ proxyTag = '[object Proxy]';
65390
65572
 
65391
- this.renderCloseBtn = () => {
65392
- const {
65393
- closable,
65394
- closeIcon
65395
- } = this.props;
65396
- let closer;
65573
+ /**
65574
+ * Checks if `value` is classified as a `Function` object.
65575
+ *
65576
+ * @static
65577
+ * @memberOf _
65578
+ * @since 0.1.0
65579
+ * @category Lang
65580
+ * @param {*} value The value to check.
65581
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
65582
+ * @example
65583
+ *
65584
+ * _.isFunction(_);
65585
+ * // => true
65586
+ *
65587
+ * _.isFunction(/abc/);
65588
+ * // => false
65589
+ */
65590
+ function isFunction_isFunction(value) {
65591
+ if (!lodash_es_isObject(value)) {
65592
+ return false;
65593
+ }
65594
+ // The use of `Object#toString` avoids issues with the `typeof` operator
65595
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
65596
+ var tag = _baseGetTag(value);
65597
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
65598
+ }
65397
65599
 
65398
- if (closable) {
65399
- const iconType = closeIcon || /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconClose, null);
65400
- closer = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(iconButton_0, {
65401
- "aria-label": "close",
65402
- className: "".concat(modal_constants_cssClasses.DIALOG, "-close"),
65403
- key: "close-btn",
65404
- onClick: this.close,
65405
- type: "tertiary",
65406
- icon: iconType,
65407
- theme: "borderless",
65408
- size: "small"
65409
- });
65410
- }
65600
+ /* harmony default export */ var lodash_es_isFunction = (isFunction_isFunction);
65411
65601
 
65412
- return closer;
65413
- };
65602
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_coreJsData.js
65414
65603
 
65415
- this.renderIcon = () => {
65416
- const {
65417
- icon
65418
- } = this.props;
65419
- return icon ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
65420
- className: "".concat(modal_constants_cssClasses.DIALOG, "-icon-wrapper")
65421
- }, icon) : null;
65422
- };
65423
65604
 
65424
- this.renderHeader = () => {
65425
- if ('header' in this.props) {
65426
- return this.props.header;
65427
- }
65605
+ /** Used to detect overreaching core-js shims. */
65606
+ var coreJsData = _root['__core-js_shared__'];
65428
65607
 
65429
- const {
65430
- title
65431
- } = this.props;
65432
- const closer = this.renderCloseBtn();
65433
- const icon = this.renderIcon();
65434
- return title === null || title === undefined ? null : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65435
- className: "".concat(modal_constants_cssClasses.DIALOG, "-header")
65436
- }, icon, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(typography_0.Title, {
65437
- heading: 5,
65438
- className: "".concat(modal_constants_cssClasses.DIALOG, "-title"),
65439
- id: "".concat(modal_constants_cssClasses.DIALOG, "-title")
65440
- }, title), closer);
65441
- };
65608
+ /* harmony default export */ var _coreJsData = (coreJsData);
65442
65609
 
65443
- this.renderBody = () => {
65444
- const {
65445
- bodyStyle,
65446
- children,
65447
- title
65448
- } = this.props;
65449
- const bodyCls = classnames_default()("".concat(modal_constants_cssClasses.DIALOG, "-body"), {
65450
- ["".concat(modal_constants_cssClasses.DIALOG, "-withIcon")]: this.props.icon
65451
- });
65452
- const closer = this.renderCloseBtn();
65453
- const icon = this.renderIcon();
65454
- const hasHeader = title !== null && title !== undefined || 'header' in this.props;
65455
- return hasHeader ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65456
- className: bodyCls,
65457
- id: "".concat(modal_constants_cssClasses.DIALOG, "-body"),
65458
- style: bodyStyle
65459
- }, children) : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65460
- className: "".concat(modal_constants_cssClasses.DIALOG, "-body-wrapper")
65461
- }, icon, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65462
- className: bodyCls,
65463
- style: bodyStyle
65464
- }, children), closer);
65465
- };
65610
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_isMasked.js
65466
65611
 
65467
- this.getDialogElement = () => {
65468
- var _context;
65469
65612
 
65470
- const props = ModalContent_rest(this.props, []);
65613
+ /** Used to detect methods masquerading as native. */
65614
+ var maskSrcKey = (function() {
65615
+ var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || '');
65616
+ return uid ? ('Symbol(src)_1.' + uid) : '';
65617
+ }());
65471
65618
 
65472
- const style = {};
65473
- const digCls = classnames_default()("".concat(modal_constants_cssClasses.DIALOG), {
65474
- ["".concat(modal_constants_cssClasses.DIALOG, "-centered")]: props.centered,
65475
- [concat_default()(_context = "".concat(modal_constants_cssClasses.DIALOG, "-")).call(_context, props.size)]: props.size
65476
- });
65619
+ /**
65620
+ * Checks if `func` has its source masked.
65621
+ *
65622
+ * @private
65623
+ * @param {Function} func The function to check.
65624
+ * @returns {boolean} Returns `true` if `func` is masked, else `false`.
65625
+ */
65626
+ function isMasked(func) {
65627
+ return !!maskSrcKey && (maskSrcKey in func);
65628
+ }
65477
65629
 
65478
- if (props.width) {
65479
- style.width = props.width;
65480
- }
65630
+ /* harmony default export */ var _isMasked = (isMasked);
65481
65631
 
65482
- if (props.height) {
65483
- style.height = props.height;
65484
- }
65632
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_toSource.js
65633
+ /** Used for built-in method references. */
65634
+ var funcProto = Function.prototype;
65485
65635
 
65486
- if (props.isFullScreen) {
65487
- style.width = '100%';
65488
- style.height = '100%';
65489
- style.margin = 'unset';
65490
- }
65636
+ /** Used to resolve the decompiled source of functions. */
65637
+ var funcToString = funcProto.toString;
65491
65638
 
65492
- const body = this.renderBody();
65493
- const header = this.renderHeader();
65494
- const footer = props.footer ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65495
- className: "".concat(modal_constants_cssClasses.DIALOG, "-footer")
65496
- }, props.footer) : null;
65497
- const dialogElement =
65498
- /*#__PURE__*/
65499
- // eslint-disable-next-line jsx-a11y/no-static-element-interactions
65500
- external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65501
- key: "dialog-element",
65502
- className: digCls,
65503
- onMouseDown: this.onDialogMouseDown,
65504
- style: assign_default()(assign_default()({}, props.style), style),
65505
- id: this.dialogId
65506
- }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65507
- role: "dialog",
65508
- ref: this.modalDialogRef,
65509
- "aria-modal": "true",
65510
- "aria-labelledby": "".concat(modal_constants_cssClasses.DIALOG, "-title"),
65511
- "aria-describedby": "".concat(modal_constants_cssClasses.DIALOG, "-body"),
65512
- onAnimationEnd: props.onAnimationEnd,
65513
- className: classnames_default()(["".concat(modal_constants_cssClasses.DIALOG, "-content"), props.contentClassName, {
65514
- ["".concat(modal_constants_cssClasses.DIALOG, "-content-fullScreen")]: props.isFullScreen
65515
- }])
65516
- }, header, body, footer)); // return props.visible ? dialogElement : null;
65639
+ /**
65640
+ * Converts `func` to its source code.
65641
+ *
65642
+ * @private
65643
+ * @param {Function} func The function to convert.
65644
+ * @returns {string} Returns the source code.
65645
+ */
65646
+ function toSource(func) {
65647
+ if (func != null) {
65648
+ try {
65649
+ return funcToString.call(func);
65650
+ } catch (e) {}
65651
+ try {
65652
+ return (func + '');
65653
+ } catch (e) {}
65654
+ }
65655
+ return '';
65656
+ }
65517
65657
 
65518
- return dialogElement;
65519
- };
65658
+ /* harmony default export */ var _toSource = (toSource);
65520
65659
 
65521
- this.state = {
65522
- dialogMouseDown: false,
65523
- prevFocusElement: Object(_utils["b" /* getActiveElement */])()
65524
- };
65525
- this.foundation = new modalContentFoundation_ModalContentFoundation(this.adapter);
65526
- this.dialogId = "dialog-".concat(uuid++);
65527
- this.modalDialogRef = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createRef();
65528
- }
65660
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseIsNative.js
65529
65661
 
65530
- get adapter() {
65531
- return assign_default()(assign_default()({}, super.adapter), {
65532
- notifyClose: e => {
65533
- this.props.onClose(e);
65534
- },
65535
- notifyDialogMouseDown: () => {
65536
- this.setState({
65537
- dialogMouseDown: true
65538
- });
65539
- },
65540
- notifyDialogMouseUp: () => {
65541
- if (this.state.dialogMouseDown) {
65542
- // Not setting setTimeout triggers close when modal external mouseUp
65543
- this.timeoutId = set_timeout_default()(() => {
65544
- this.setState({
65545
- dialogMouseDown: false
65546
- });
65547
- }, 0);
65548
- }
65549
- },
65550
- addKeyDownEventListener: () => {
65551
- if (this.props.closeOnEsc) {
65552
- var _context2;
65553
65662
 
65554
- document.addEventListener('keydown', bind_default()(_context2 = this.foundation.handleKeyDown).call(_context2, this.foundation));
65555
- }
65556
- },
65557
- removeKeyDownEventListener: () => {
65558
- if (this.props.closeOnEsc) {
65559
- var _context3;
65560
65663
 
65561
- document.removeEventListener('keydown', bind_default()(_context3 = this.foundation.handleKeyDown).call(_context3, this.foundation));
65562
- }
65563
- },
65564
- getMouseState: () => this.state.dialogMouseDown,
65565
- modalDialogFocus: () => {
65566
- let activeElementInDialog;
65567
65664
 
65568
- if (this.modalDialogRef) {
65569
- const activeElement = Object(_utils["b" /* getActiveElement */])();
65570
- activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
65571
- }
65572
65665
 
65573
- if (!activeElementInDialog) {
65574
- this.modalDialogRef && this.modalDialogRef.current.focus();
65575
- }
65576
- },
65577
- modalDialogBlur: () => {
65578
- this.modalDialogRef && this.modalDialogRef.current.blur();
65579
- },
65580
- prevFocusElementReFocus: () => {
65581
- const {
65582
- prevFocusElement
65583
- } = this.state;
65666
+ /**
65667
+ * Used to match `RegExp`
65668
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
65669
+ */
65670
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
65584
65671
 
65585
- const focus = get_default()(prevFocusElement, 'focus');
65672
+ /** Used to detect host constructors (Safari). */
65673
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
65586
65674
 
65587
- isFunction_default()(focus) && prevFocusElement.focus();
65588
- }
65589
- });
65590
- }
65675
+ /** Used for built-in method references. */
65676
+ var _baseIsNative_funcProto = Function.prototype,
65677
+ _baseIsNative_objectProto = Object.prototype;
65591
65678
 
65592
- componentDidMount() {
65593
- this.foundation.handleKeyDownEventListenerMount();
65594
- this.foundation.modalDialogFocus();
65595
- }
65679
+ /** Used to resolve the decompiled source of functions. */
65680
+ var _baseIsNative_funcToString = _baseIsNative_funcProto.toString;
65596
65681
 
65597
- componentWillUnmount() {
65598
- clearTimeout(this.timeoutId);
65599
- this.foundation.destroy();
65600
- }
65682
+ /** Used to check objects for own properties. */
65683
+ var _baseIsNative_hasOwnProperty = _baseIsNative_objectProto.hasOwnProperty;
65601
65684
 
65602
- render() {
65603
- const {
65604
- maskClosable,
65605
- className,
65606
- getPopupContainer,
65607
- maskFixed,
65608
- getContainerContext
65609
- } = this.props;
65610
- const {
65611
- direction
65612
- } = this.context;
65613
- const classList = classnames_default()(className, {
65614
- ["".concat(modal_constants_cssClasses.DIALOG, "-popup")]: getPopupContainer && !maskFixed,
65615
- ["".concat(modal_constants_cssClasses.DIALOG, "-fixed")]: maskFixed,
65616
- ["".concat(modal_constants_cssClasses.DIALOG, "-rtl")]: direction === 'rtl'
65617
- });
65618
- const containerContext = getContainerContext();
65619
- const elem = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65620
- className: classList
65621
- }, this.getMaskElement(), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
65622
- role: "none",
65623
- tabIndex: -1,
65624
- className: "".concat(modal_constants_cssClasses.DIALOG, "-wrap"),
65625
- onClick: maskClosable ? this.onMaskClick : null,
65626
- onMouseUp: maskClosable ? this.onMaskMouseUp : null
65627
- }, this.getDialogElement())); // @ts-ignore Unreachable branch
65628
- // eslint-disable-next-line max-len
65685
+ /** Used to detect if a method is native. */
65686
+ var reIsNative = RegExp('^' +
65687
+ _baseIsNative_funcToString.call(_baseIsNative_hasOwnProperty).replace(reRegExpChar, '\\$&')
65688
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
65689
+ );
65629
65690
 
65630
- return containerContext && containerContext.Provider ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(containerContext.Provider, {
65631
- value: containerContext.value
65632
- }, elem) : elem;
65691
+ /**
65692
+ * The base implementation of `_.isNative` without bad shim checks.
65693
+ *
65694
+ * @private
65695
+ * @param {*} value The value to check.
65696
+ * @returns {boolean} Returns `true` if `value` is a native function,
65697
+ * else `false`.
65698
+ */
65699
+ function baseIsNative(value) {
65700
+ if (!lodash_es_isObject(value) || _isMasked(value)) {
65701
+ return false;
65633
65702
  }
65634
-
65703
+ var pattern = lodash_es_isFunction(value) ? reIsNative : reIsHostCtor;
65704
+ return pattern.test(_toSource(value));
65635
65705
  }
65636
- ModalContent_ModalContent.contextType = configProvider_context;
65706
+
65707
+ /* harmony default export */ var _baseIsNative = (baseIsNative);
65708
+
65709
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_getValue.js
65710
+ /**
65711
+ * Gets the value at `key` of `object`.
65712
+ *
65713
+ * @private
65714
+ * @param {Object} [object] The object to query.
65715
+ * @param {string} key The key of the property to get.
65716
+ * @returns {*} Returns the property value.
65717
+ */
65718
+ function getValue(object, key) {
65719
+ return object == null ? undefined : object[key];
65720
+ }
65721
+
65722
+ /* harmony default export */ var _getValue = (getValue);
65723
+
65724
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_getNative.js
65725
+
65726
+
65727
+
65728
+ /**
65729
+ * Gets the native function at `key` of `object`.
65730
+ *
65731
+ * @private
65732
+ * @param {Object} object The object to query.
65733
+ * @param {string} key The key of the method to get.
65734
+ * @returns {*} Returns the function if it's native, else `undefined`.
65735
+ */
65736
+ function getNative(object, key) {
65737
+ var value = _getValue(object, key);
65738
+ return _baseIsNative(value) ? value : undefined;
65739
+ }
65740
+
65741
+ /* harmony default export */ var _getNative = (getNative);
65742
+
65743
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_nativeCreate.js
65744
+
65745
+
65746
+ /* Built-in method references that are verified to be native. */
65747
+ var nativeCreate = _getNative(Object, 'create');
65748
+
65749
+ /* harmony default export */ var _nativeCreate = (nativeCreate);
65750
+
65751
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_hashClear.js
65752
+
65753
+
65754
+ /**
65755
+ * Removes all key-value entries from the hash.
65756
+ *
65757
+ * @private
65758
+ * @name clear
65759
+ * @memberOf Hash
65760
+ */
65761
+ function hashClear() {
65762
+ this.__data__ = _nativeCreate ? _nativeCreate(null) : {};
65763
+ this.size = 0;
65764
+ }
65765
+
65766
+ /* harmony default export */ var _hashClear = (hashClear);
65767
+
65768
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_hashDelete.js
65769
+ /**
65770
+ * Removes `key` and its value from the hash.
65771
+ *
65772
+ * @private
65773
+ * @name delete
65774
+ * @memberOf Hash
65775
+ * @param {Object} hash The hash to modify.
65776
+ * @param {string} key The key of the value to remove.
65777
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
65778
+ */
65779
+ function hashDelete(key) {
65780
+ var result = this.has(key) && delete this.__data__[key];
65781
+ this.size -= result ? 1 : 0;
65782
+ return result;
65783
+ }
65784
+
65785
+ /* harmony default export */ var _hashDelete = (hashDelete);
65786
+
65787
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_hashGet.js
65788
+
65789
+
65790
+ /** Used to stand-in for `undefined` hash values. */
65791
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
65792
+
65793
+ /** Used for built-in method references. */
65794
+ var _hashGet_objectProto = Object.prototype;
65795
+
65796
+ /** Used to check objects for own properties. */
65797
+ var _hashGet_hasOwnProperty = _hashGet_objectProto.hasOwnProperty;
65798
+
65799
+ /**
65800
+ * Gets the hash value for `key`.
65801
+ *
65802
+ * @private
65803
+ * @name get
65804
+ * @memberOf Hash
65805
+ * @param {string} key The key of the value to get.
65806
+ * @returns {*} Returns the entry value.
65807
+ */
65808
+ function hashGet(key) {
65809
+ var data = this.__data__;
65810
+ if (_nativeCreate) {
65811
+ var result = data[key];
65812
+ return result === HASH_UNDEFINED ? undefined : result;
65813
+ }
65814
+ return _hashGet_hasOwnProperty.call(data, key) ? data[key] : undefined;
65815
+ }
65816
+
65817
+ /* harmony default export */ var _hashGet = (hashGet);
65818
+
65819
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_hashHas.js
65820
+
65821
+
65822
+ /** Used for built-in method references. */
65823
+ var _hashHas_objectProto = Object.prototype;
65824
+
65825
+ /** Used to check objects for own properties. */
65826
+ var _hashHas_hasOwnProperty = _hashHas_objectProto.hasOwnProperty;
65827
+
65828
+ /**
65829
+ * Checks if a hash value for `key` exists.
65830
+ *
65831
+ * @private
65832
+ * @name has
65833
+ * @memberOf Hash
65834
+ * @param {string} key The key of the entry to check.
65835
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
65836
+ */
65837
+ function hashHas(key) {
65838
+ var data = this.__data__;
65839
+ return _nativeCreate ? (data[key] !== undefined) : _hashHas_hasOwnProperty.call(data, key);
65840
+ }
65841
+
65842
+ /* harmony default export */ var _hashHas = (hashHas);
65843
+
65844
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_hashSet.js
65845
+
65846
+
65847
+ /** Used to stand-in for `undefined` hash values. */
65848
+ var _hashSet_HASH_UNDEFINED = '__lodash_hash_undefined__';
65849
+
65850
+ /**
65851
+ * Sets the hash `key` to `value`.
65852
+ *
65853
+ * @private
65854
+ * @name set
65855
+ * @memberOf Hash
65856
+ * @param {string} key The key of the value to set.
65857
+ * @param {*} value The value to set.
65858
+ * @returns {Object} Returns the hash instance.
65859
+ */
65860
+ function hashSet(key, value) {
65861
+ var data = this.__data__;
65862
+ this.size += this.has(key) ? 0 : 1;
65863
+ data[key] = (_nativeCreate && value === undefined) ? _hashSet_HASH_UNDEFINED : value;
65864
+ return this;
65865
+ }
65866
+
65867
+ /* harmony default export */ var _hashSet = (hashSet);
65868
+
65869
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_Hash.js
65870
+
65871
+
65872
+
65873
+
65874
+
65875
+
65876
+ /**
65877
+ * Creates a hash object.
65878
+ *
65879
+ * @private
65880
+ * @constructor
65881
+ * @param {Array} [entries] The key-value pairs to cache.
65882
+ */
65883
+ function Hash(entries) {
65884
+ var index = -1,
65885
+ length = entries == null ? 0 : entries.length;
65886
+
65887
+ this.clear();
65888
+ while (++index < length) {
65889
+ var entry = entries[index];
65890
+ this.set(entry[0], entry[1]);
65891
+ }
65892
+ }
65893
+
65894
+ // Add methods to `Hash`.
65895
+ Hash.prototype.clear = _hashClear;
65896
+ Hash.prototype['delete'] = _hashDelete;
65897
+ Hash.prototype.get = _hashGet;
65898
+ Hash.prototype.has = _hashHas;
65899
+ Hash.prototype.set = _hashSet;
65900
+
65901
+ /* harmony default export */ var _Hash = (Hash);
65902
+
65903
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_listCacheClear.js
65904
+ /**
65905
+ * Removes all key-value entries from the list cache.
65906
+ *
65907
+ * @private
65908
+ * @name clear
65909
+ * @memberOf ListCache
65910
+ */
65911
+ function listCacheClear() {
65912
+ this.__data__ = [];
65913
+ this.size = 0;
65914
+ }
65915
+
65916
+ /* harmony default export */ var _listCacheClear = (listCacheClear);
65917
+
65918
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/eq.js
65919
+ /**
65920
+ * Performs a
65921
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
65922
+ * comparison between two values to determine if they are equivalent.
65923
+ *
65924
+ * @static
65925
+ * @memberOf _
65926
+ * @since 4.0.0
65927
+ * @category Lang
65928
+ * @param {*} value The value to compare.
65929
+ * @param {*} other The other value to compare.
65930
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
65931
+ * @example
65932
+ *
65933
+ * var object = { 'a': 1 };
65934
+ * var other = { 'a': 1 };
65935
+ *
65936
+ * _.eq(object, object);
65937
+ * // => true
65938
+ *
65939
+ * _.eq(object, other);
65940
+ * // => false
65941
+ *
65942
+ * _.eq('a', 'a');
65943
+ * // => true
65944
+ *
65945
+ * _.eq('a', Object('a'));
65946
+ * // => false
65947
+ *
65948
+ * _.eq(NaN, NaN);
65949
+ * // => true
65950
+ */
65951
+ function eq(value, other) {
65952
+ return value === other || (value !== value && other !== other);
65953
+ }
65954
+
65955
+ /* harmony default export */ var lodash_es_eq = (eq);
65956
+
65957
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_assocIndexOf.js
65958
+
65959
+
65960
+ /**
65961
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
65962
+ *
65963
+ * @private
65964
+ * @param {Array} array The array to inspect.
65965
+ * @param {*} key The key to search for.
65966
+ * @returns {number} Returns the index of the matched value, else `-1`.
65967
+ */
65968
+ function assocIndexOf(array, key) {
65969
+ var length = array.length;
65970
+ while (length--) {
65971
+ if (lodash_es_eq(array[length][0], key)) {
65972
+ return length;
65973
+ }
65974
+ }
65975
+ return -1;
65976
+ }
65977
+
65978
+ /* harmony default export */ var _assocIndexOf = (assocIndexOf);
65979
+
65980
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_listCacheDelete.js
65981
+
65982
+
65983
+ /** Used for built-in method references. */
65984
+ var arrayProto = Array.prototype;
65985
+
65986
+ /** Built-in value references. */
65987
+ var _listCacheDelete_splice = arrayProto.splice;
65988
+
65989
+ /**
65990
+ * Removes `key` and its value from the list cache.
65991
+ *
65992
+ * @private
65993
+ * @name delete
65994
+ * @memberOf ListCache
65995
+ * @param {string} key The key of the value to remove.
65996
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
65997
+ */
65998
+ function listCacheDelete(key) {
65999
+ var data = this.__data__,
66000
+ index = _assocIndexOf(data, key);
66001
+
66002
+ if (index < 0) {
66003
+ return false;
66004
+ }
66005
+ var lastIndex = data.length - 1;
66006
+ if (index == lastIndex) {
66007
+ data.pop();
66008
+ } else {
66009
+ _listCacheDelete_splice.call(data, index, 1);
66010
+ }
66011
+ --this.size;
66012
+ return true;
66013
+ }
66014
+
66015
+ /* harmony default export */ var _listCacheDelete = (listCacheDelete);
66016
+
66017
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_listCacheGet.js
66018
+
66019
+
66020
+ /**
66021
+ * Gets the list cache value for `key`.
66022
+ *
66023
+ * @private
66024
+ * @name get
66025
+ * @memberOf ListCache
66026
+ * @param {string} key The key of the value to get.
66027
+ * @returns {*} Returns the entry value.
66028
+ */
66029
+ function listCacheGet(key) {
66030
+ var data = this.__data__,
66031
+ index = _assocIndexOf(data, key);
66032
+
66033
+ return index < 0 ? undefined : data[index][1];
66034
+ }
66035
+
66036
+ /* harmony default export */ var _listCacheGet = (listCacheGet);
66037
+
66038
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_listCacheHas.js
66039
+
66040
+
66041
+ /**
66042
+ * Checks if a list cache value for `key` exists.
66043
+ *
66044
+ * @private
66045
+ * @name has
66046
+ * @memberOf ListCache
66047
+ * @param {string} key The key of the entry to check.
66048
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
66049
+ */
66050
+ function listCacheHas(key) {
66051
+ return _assocIndexOf(this.__data__, key) > -1;
66052
+ }
66053
+
66054
+ /* harmony default export */ var _listCacheHas = (listCacheHas);
66055
+
66056
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_listCacheSet.js
66057
+
66058
+
66059
+ /**
66060
+ * Sets the list cache `key` to `value`.
66061
+ *
66062
+ * @private
66063
+ * @name set
66064
+ * @memberOf ListCache
66065
+ * @param {string} key The key of the value to set.
66066
+ * @param {*} value The value to set.
66067
+ * @returns {Object} Returns the list cache instance.
66068
+ */
66069
+ function listCacheSet(key, value) {
66070
+ var data = this.__data__,
66071
+ index = _assocIndexOf(data, key);
66072
+
66073
+ if (index < 0) {
66074
+ ++this.size;
66075
+ data.push([key, value]);
66076
+ } else {
66077
+ data[index][1] = value;
66078
+ }
66079
+ return this;
66080
+ }
66081
+
66082
+ /* harmony default export */ var _listCacheSet = (listCacheSet);
66083
+
66084
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_ListCache.js
66085
+
66086
+
66087
+
66088
+
66089
+
66090
+
66091
+ /**
66092
+ * Creates an list cache object.
66093
+ *
66094
+ * @private
66095
+ * @constructor
66096
+ * @param {Array} [entries] The key-value pairs to cache.
66097
+ */
66098
+ function ListCache(entries) {
66099
+ var index = -1,
66100
+ length = entries == null ? 0 : entries.length;
66101
+
66102
+ this.clear();
66103
+ while (++index < length) {
66104
+ var entry = entries[index];
66105
+ this.set(entry[0], entry[1]);
66106
+ }
66107
+ }
66108
+
66109
+ // Add methods to `ListCache`.
66110
+ ListCache.prototype.clear = _listCacheClear;
66111
+ ListCache.prototype['delete'] = _listCacheDelete;
66112
+ ListCache.prototype.get = _listCacheGet;
66113
+ ListCache.prototype.has = _listCacheHas;
66114
+ ListCache.prototype.set = _listCacheSet;
66115
+
66116
+ /* harmony default export */ var _ListCache = (ListCache);
66117
+
66118
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_Map.js
66119
+
66120
+
66121
+
66122
+ /* Built-in method references that are verified to be native. */
66123
+ var Map = _getNative(_root, 'Map');
66124
+
66125
+ /* harmony default export */ var _Map = (Map);
66126
+
66127
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_mapCacheClear.js
66128
+
66129
+
66130
+
66131
+
66132
+ /**
66133
+ * Removes all key-value entries from the map.
66134
+ *
66135
+ * @private
66136
+ * @name clear
66137
+ * @memberOf MapCache
66138
+ */
66139
+ function mapCacheClear() {
66140
+ this.size = 0;
66141
+ this.__data__ = {
66142
+ 'hash': new _Hash,
66143
+ 'map': new (_Map || _ListCache),
66144
+ 'string': new _Hash
66145
+ };
66146
+ }
66147
+
66148
+ /* harmony default export */ var _mapCacheClear = (mapCacheClear);
66149
+
66150
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_isKeyable.js
66151
+ /**
66152
+ * Checks if `value` is suitable for use as unique object key.
66153
+ *
66154
+ * @private
66155
+ * @param {*} value The value to check.
66156
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
66157
+ */
66158
+ function isKeyable(value) {
66159
+ var type = typeof value;
66160
+ return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
66161
+ ? (value !== '__proto__')
66162
+ : (value === null);
66163
+ }
66164
+
66165
+ /* harmony default export */ var _isKeyable = (isKeyable);
66166
+
66167
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_getMapData.js
66168
+
66169
+
66170
+ /**
66171
+ * Gets the data for `map`.
66172
+ *
66173
+ * @private
66174
+ * @param {Object} map The map to query.
66175
+ * @param {string} key The reference key.
66176
+ * @returns {*} Returns the map data.
66177
+ */
66178
+ function getMapData(map, key) {
66179
+ var data = map.__data__;
66180
+ return _isKeyable(key)
66181
+ ? data[typeof key == 'string' ? 'string' : 'hash']
66182
+ : data.map;
66183
+ }
66184
+
66185
+ /* harmony default export */ var _getMapData = (getMapData);
66186
+
66187
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_mapCacheDelete.js
66188
+
66189
+
66190
+ /**
66191
+ * Removes `key` and its value from the map.
66192
+ *
66193
+ * @private
66194
+ * @name delete
66195
+ * @memberOf MapCache
66196
+ * @param {string} key The key of the value to remove.
66197
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
66198
+ */
66199
+ function mapCacheDelete(key) {
66200
+ var result = _getMapData(this, key)['delete'](key);
66201
+ this.size -= result ? 1 : 0;
66202
+ return result;
66203
+ }
66204
+
66205
+ /* harmony default export */ var _mapCacheDelete = (mapCacheDelete);
66206
+
66207
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_mapCacheGet.js
66208
+
66209
+
66210
+ /**
66211
+ * Gets the map value for `key`.
66212
+ *
66213
+ * @private
66214
+ * @name get
66215
+ * @memberOf MapCache
66216
+ * @param {string} key The key of the value to get.
66217
+ * @returns {*} Returns the entry value.
66218
+ */
66219
+ function mapCacheGet(key) {
66220
+ return _getMapData(this, key).get(key);
66221
+ }
66222
+
66223
+ /* harmony default export */ var _mapCacheGet = (mapCacheGet);
66224
+
66225
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_mapCacheHas.js
66226
+
66227
+
66228
+ /**
66229
+ * Checks if a map value for `key` exists.
66230
+ *
66231
+ * @private
66232
+ * @name has
66233
+ * @memberOf MapCache
66234
+ * @param {string} key The key of the entry to check.
66235
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
66236
+ */
66237
+ function mapCacheHas(key) {
66238
+ return _getMapData(this, key).has(key);
66239
+ }
66240
+
66241
+ /* harmony default export */ var _mapCacheHas = (mapCacheHas);
66242
+
66243
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_mapCacheSet.js
66244
+
66245
+
66246
+ /**
66247
+ * Sets the map `key` to `value`.
66248
+ *
66249
+ * @private
66250
+ * @name set
66251
+ * @memberOf MapCache
66252
+ * @param {string} key The key of the value to set.
66253
+ * @param {*} value The value to set.
66254
+ * @returns {Object} Returns the map cache instance.
66255
+ */
66256
+ function mapCacheSet(key, value) {
66257
+ var data = _getMapData(this, key),
66258
+ size = data.size;
66259
+
66260
+ data.set(key, value);
66261
+ this.size += data.size == size ? 0 : 1;
66262
+ return this;
66263
+ }
66264
+
66265
+ /* harmony default export */ var _mapCacheSet = (mapCacheSet);
66266
+
66267
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_MapCache.js
66268
+
66269
+
66270
+
66271
+
66272
+
66273
+
66274
+ /**
66275
+ * Creates a map cache object to store key-value pairs.
66276
+ *
66277
+ * @private
66278
+ * @constructor
66279
+ * @param {Array} [entries] The key-value pairs to cache.
66280
+ */
66281
+ function MapCache(entries) {
66282
+ var index = -1,
66283
+ length = entries == null ? 0 : entries.length;
66284
+
66285
+ this.clear();
66286
+ while (++index < length) {
66287
+ var entry = entries[index];
66288
+ this.set(entry[0], entry[1]);
66289
+ }
66290
+ }
66291
+
66292
+ // Add methods to `MapCache`.
66293
+ MapCache.prototype.clear = _mapCacheClear;
66294
+ MapCache.prototype['delete'] = _mapCacheDelete;
66295
+ MapCache.prototype.get = _mapCacheGet;
66296
+ MapCache.prototype.has = _mapCacheHas;
66297
+ MapCache.prototype.set = _mapCacheSet;
66298
+
66299
+ /* harmony default export */ var _MapCache = (MapCache);
66300
+
66301
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_setCacheAdd.js
66302
+ /** Used to stand-in for `undefined` hash values. */
66303
+ var _setCacheAdd_HASH_UNDEFINED = '__lodash_hash_undefined__';
66304
+
66305
+ /**
66306
+ * Adds `value` to the array cache.
66307
+ *
66308
+ * @private
66309
+ * @name add
66310
+ * @memberOf SetCache
66311
+ * @alias push
66312
+ * @param {*} value The value to cache.
66313
+ * @returns {Object} Returns the cache instance.
66314
+ */
66315
+ function setCacheAdd(value) {
66316
+ this.__data__.set(value, _setCacheAdd_HASH_UNDEFINED);
66317
+ return this;
66318
+ }
66319
+
66320
+ /* harmony default export */ var _setCacheAdd = (setCacheAdd);
66321
+
66322
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_setCacheHas.js
66323
+ /**
66324
+ * Checks if `value` is in the array cache.
66325
+ *
66326
+ * @private
66327
+ * @name has
66328
+ * @memberOf SetCache
66329
+ * @param {*} value The value to search for.
66330
+ * @returns {number} Returns `true` if `value` is found, else `false`.
66331
+ */
66332
+ function setCacheHas(value) {
66333
+ return this.__data__.has(value);
66334
+ }
66335
+
66336
+ /* harmony default export */ var _setCacheHas = (setCacheHas);
66337
+
66338
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_SetCache.js
66339
+
66340
+
66341
+
66342
+
66343
+ /**
66344
+ *
66345
+ * Creates an array cache object to store unique values.
66346
+ *
66347
+ * @private
66348
+ * @constructor
66349
+ * @param {Array} [values] The values to cache.
66350
+ */
66351
+ function SetCache(values) {
66352
+ var index = -1,
66353
+ length = values == null ? 0 : values.length;
66354
+
66355
+ this.__data__ = new _MapCache;
66356
+ while (++index < length) {
66357
+ this.add(values[index]);
66358
+ }
66359
+ }
66360
+
66361
+ // Add methods to `SetCache`.
66362
+ SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd;
66363
+ SetCache.prototype.has = _setCacheHas;
66364
+
66365
+ /* harmony default export */ var _SetCache = (SetCache);
66366
+
66367
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseFindIndex.js
66368
+ /**
66369
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
66370
+ * support for iteratee shorthands.
66371
+ *
66372
+ * @private
66373
+ * @param {Array} array The array to inspect.
66374
+ * @param {Function} predicate The function invoked per iteration.
66375
+ * @param {number} fromIndex The index to search from.
66376
+ * @param {boolean} [fromRight] Specify iterating from right to left.
66377
+ * @returns {number} Returns the index of the matched value, else `-1`.
66378
+ */
66379
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
66380
+ var length = array.length,
66381
+ index = fromIndex + (fromRight ? 1 : -1);
66382
+
66383
+ while ((fromRight ? index-- : ++index < length)) {
66384
+ if (predicate(array[index], index, array)) {
66385
+ return index;
66386
+ }
66387
+ }
66388
+ return -1;
66389
+ }
66390
+
66391
+ /* harmony default export */ var _baseFindIndex = (baseFindIndex);
66392
+
66393
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseIsNaN.js
66394
+ /**
66395
+ * The base implementation of `_.isNaN` without support for number objects.
66396
+ *
66397
+ * @private
66398
+ * @param {*} value The value to check.
66399
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
66400
+ */
66401
+ function baseIsNaN(value) {
66402
+ return value !== value;
66403
+ }
66404
+
66405
+ /* harmony default export */ var _baseIsNaN = (baseIsNaN);
66406
+
66407
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_strictIndexOf.js
66408
+ /**
66409
+ * A specialized version of `_.indexOf` which performs strict equality
66410
+ * comparisons of values, i.e. `===`.
66411
+ *
66412
+ * @private
66413
+ * @param {Array} array The array to inspect.
66414
+ * @param {*} value The value to search for.
66415
+ * @param {number} fromIndex The index to search from.
66416
+ * @returns {number} Returns the index of the matched value, else `-1`.
66417
+ */
66418
+ function strictIndexOf(array, value, fromIndex) {
66419
+ var index = fromIndex - 1,
66420
+ length = array.length;
66421
+
66422
+ while (++index < length) {
66423
+ if (array[index] === value) {
66424
+ return index;
66425
+ }
66426
+ }
66427
+ return -1;
66428
+ }
66429
+
66430
+ /* harmony default export */ var _strictIndexOf = (strictIndexOf);
66431
+
66432
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseIndexOf.js
66433
+
66434
+
66435
+
66436
+
66437
+ /**
66438
+ * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
66439
+ *
66440
+ * @private
66441
+ * @param {Array} array The array to inspect.
66442
+ * @param {*} value The value to search for.
66443
+ * @param {number} fromIndex The index to search from.
66444
+ * @returns {number} Returns the index of the matched value, else `-1`.
66445
+ */
66446
+ function baseIndexOf(array, value, fromIndex) {
66447
+ return value === value
66448
+ ? _strictIndexOf(array, value, fromIndex)
66449
+ : _baseFindIndex(array, _baseIsNaN, fromIndex);
66450
+ }
66451
+
66452
+ /* harmony default export */ var _baseIndexOf = (baseIndexOf);
66453
+
66454
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_arrayIncludes.js
66455
+
66456
+
66457
+ /**
66458
+ * A specialized version of `_.includes` for arrays without support for
66459
+ * specifying an index to search from.
66460
+ *
66461
+ * @private
66462
+ * @param {Array} [array] The array to inspect.
66463
+ * @param {*} target The value to search for.
66464
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
66465
+ */
66466
+ function arrayIncludes(array, value) {
66467
+ var length = array == null ? 0 : array.length;
66468
+ return !!length && _baseIndexOf(array, value, 0) > -1;
66469
+ }
66470
+
66471
+ /* harmony default export */ var _arrayIncludes = (arrayIncludes);
66472
+
66473
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_arrayIncludesWith.js
66474
+ /**
66475
+ * This function is like `arrayIncludes` except that it accepts a comparator.
66476
+ *
66477
+ * @private
66478
+ * @param {Array} [array] The array to inspect.
66479
+ * @param {*} target The value to search for.
66480
+ * @param {Function} comparator The comparator invoked per element.
66481
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
66482
+ */
66483
+ function arrayIncludesWith(array, value, comparator) {
66484
+ var index = -1,
66485
+ length = array == null ? 0 : array.length;
66486
+
66487
+ while (++index < length) {
66488
+ if (comparator(value, array[index])) {
66489
+ return true;
66490
+ }
66491
+ }
66492
+ return false;
66493
+ }
66494
+
66495
+ /* harmony default export */ var _arrayIncludesWith = (arrayIncludesWith);
66496
+
66497
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_arrayMap.js
66498
+ /**
66499
+ * A specialized version of `_.map` for arrays without support for iteratee
66500
+ * shorthands.
66501
+ *
66502
+ * @private
66503
+ * @param {Array} [array] The array to iterate over.
66504
+ * @param {Function} iteratee The function invoked per iteration.
66505
+ * @returns {Array} Returns the new mapped array.
66506
+ */
66507
+ function arrayMap(array, iteratee) {
66508
+ var index = -1,
66509
+ length = array == null ? 0 : array.length,
66510
+ result = Array(length);
66511
+
66512
+ while (++index < length) {
66513
+ result[index] = iteratee(array[index], index, array);
66514
+ }
66515
+ return result;
66516
+ }
66517
+
66518
+ /* harmony default export */ var _arrayMap = (arrayMap);
66519
+
66520
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseUnary.js
66521
+ /**
66522
+ * The base implementation of `_.unary` without support for storing metadata.
66523
+ *
66524
+ * @private
66525
+ * @param {Function} func The function to cap arguments for.
66526
+ * @returns {Function} Returns the new capped function.
66527
+ */
66528
+ function baseUnary(func) {
66529
+ return function(value) {
66530
+ return func(value);
66531
+ };
66532
+ }
66533
+
66534
+ /* harmony default export */ var _baseUnary = (baseUnary);
66535
+
66536
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_cacheHas.js
66537
+ /**
66538
+ * Checks if a `cache` value for `key` exists.
66539
+ *
66540
+ * @private
66541
+ * @param {Object} cache The cache to query.
66542
+ * @param {string} key The key of the entry to check.
66543
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
66544
+ */
66545
+ function cacheHas(cache, key) {
66546
+ return cache.has(key);
66547
+ }
66548
+
66549
+ /* harmony default export */ var _cacheHas = (cacheHas);
66550
+
66551
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseDifference.js
66552
+
66553
+
66554
+
66555
+
66556
+
66557
+
66558
+
66559
+ /** Used as the size to enable large array optimizations. */
66560
+ var LARGE_ARRAY_SIZE = 200;
66561
+
66562
+ /**
66563
+ * The base implementation of methods like `_.difference` without support
66564
+ * for excluding multiple arrays or iteratee shorthands.
66565
+ *
66566
+ * @private
66567
+ * @param {Array} array The array to inspect.
66568
+ * @param {Array} values The values to exclude.
66569
+ * @param {Function} [iteratee] The iteratee invoked per element.
66570
+ * @param {Function} [comparator] The comparator invoked per element.
66571
+ * @returns {Array} Returns the new array of filtered values.
66572
+ */
66573
+ function baseDifference(array, values, iteratee, comparator) {
66574
+ var index = -1,
66575
+ includes = _arrayIncludes,
66576
+ isCommon = true,
66577
+ length = array.length,
66578
+ result = [],
66579
+ valuesLength = values.length;
66580
+
66581
+ if (!length) {
66582
+ return result;
66583
+ }
66584
+ if (iteratee) {
66585
+ values = _arrayMap(values, _baseUnary(iteratee));
66586
+ }
66587
+ if (comparator) {
66588
+ includes = _arrayIncludesWith;
66589
+ isCommon = false;
66590
+ }
66591
+ else if (values.length >= LARGE_ARRAY_SIZE) {
66592
+ includes = _cacheHas;
66593
+ isCommon = false;
66594
+ values = new _SetCache(values);
66595
+ }
66596
+ outer:
66597
+ while (++index < length) {
66598
+ var value = array[index],
66599
+ computed = iteratee == null ? value : iteratee(value);
66600
+
66601
+ value = (comparator || value !== 0) ? value : 0;
66602
+ if (isCommon && computed === computed) {
66603
+ var valuesIndex = valuesLength;
66604
+ while (valuesIndex--) {
66605
+ if (values[valuesIndex] === computed) {
66606
+ continue outer;
66607
+ }
66608
+ }
66609
+ result.push(value);
66610
+ }
66611
+ else if (!includes(values, computed, comparator)) {
66612
+ result.push(value);
66613
+ }
66614
+ }
66615
+ return result;
66616
+ }
66617
+
66618
+ /* harmony default export */ var _baseDifference = (baseDifference);
66619
+
66620
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/identity.js
66621
+ /**
66622
+ * This method returns the first argument it receives.
66623
+ *
66624
+ * @static
66625
+ * @since 0.1.0
66626
+ * @memberOf _
66627
+ * @category Util
66628
+ * @param {*} value Any value.
66629
+ * @returns {*} Returns `value`.
66630
+ * @example
66631
+ *
66632
+ * var object = { 'a': 1 };
66633
+ *
66634
+ * console.log(_.identity(object) === object);
66635
+ * // => true
66636
+ */
66637
+ function identity(value) {
66638
+ return value;
66639
+ }
66640
+
66641
+ /* harmony default export */ var lodash_es_identity = (identity);
66642
+
66643
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_apply.js
66644
+ /**
66645
+ * A faster alternative to `Function#apply`, this function invokes `func`
66646
+ * with the `this` binding of `thisArg` and the arguments of `args`.
66647
+ *
66648
+ * @private
66649
+ * @param {Function} func The function to invoke.
66650
+ * @param {*} thisArg The `this` binding of `func`.
66651
+ * @param {Array} args The arguments to invoke `func` with.
66652
+ * @returns {*} Returns the result of `func`.
66653
+ */
66654
+ function apply(func, thisArg, args) {
66655
+ switch (args.length) {
66656
+ case 0: return func.call(thisArg);
66657
+ case 1: return func.call(thisArg, args[0]);
66658
+ case 2: return func.call(thisArg, args[0], args[1]);
66659
+ case 3: return func.call(thisArg, args[0], args[1], args[2]);
66660
+ }
66661
+ return func.apply(thisArg, args);
66662
+ }
66663
+
66664
+ /* harmony default export */ var _apply = (apply);
66665
+
66666
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_overRest.js
66667
+
66668
+
66669
+ /* Built-in method references for those with the same name as other `lodash` methods. */
66670
+ var nativeMax = Math.max;
66671
+
66672
+ /**
66673
+ * A specialized version of `baseRest` which transforms the rest array.
66674
+ *
66675
+ * @private
66676
+ * @param {Function} func The function to apply a rest parameter to.
66677
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
66678
+ * @param {Function} transform The rest array transform.
66679
+ * @returns {Function} Returns the new function.
66680
+ */
66681
+ function overRest(func, start, transform) {
66682
+ start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
66683
+ return function() {
66684
+ var args = arguments,
66685
+ index = -1,
66686
+ length = nativeMax(args.length - start, 0),
66687
+ array = Array(length);
66688
+
66689
+ while (++index < length) {
66690
+ array[index] = args[start + index];
66691
+ }
66692
+ index = -1;
66693
+ var otherArgs = Array(start + 1);
66694
+ while (++index < start) {
66695
+ otherArgs[index] = args[index];
66696
+ }
66697
+ otherArgs[start] = transform(array);
66698
+ return _apply(func, this, otherArgs);
66699
+ };
66700
+ }
66701
+
66702
+ /* harmony default export */ var _overRest = (overRest);
66703
+
66704
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/constant.js
66705
+ /**
66706
+ * Creates a function that returns `value`.
66707
+ *
66708
+ * @static
66709
+ * @memberOf _
66710
+ * @since 2.4.0
66711
+ * @category Util
66712
+ * @param {*} value The value to return from the new function.
66713
+ * @returns {Function} Returns the new constant function.
66714
+ * @example
66715
+ *
66716
+ * var objects = _.times(2, _.constant({ 'a': 1 }));
66717
+ *
66718
+ * console.log(objects);
66719
+ * // => [{ 'a': 1 }, { 'a': 1 }]
66720
+ *
66721
+ * console.log(objects[0] === objects[1]);
66722
+ * // => true
66723
+ */
66724
+ function constant(value) {
66725
+ return function() {
66726
+ return value;
66727
+ };
66728
+ }
66729
+
66730
+ /* harmony default export */ var lodash_es_constant = (constant);
66731
+
66732
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_defineProperty.js
66733
+
66734
+
66735
+ var defineProperty = (function() {
66736
+ try {
66737
+ var func = _getNative(Object, 'defineProperty');
66738
+ func({}, '', {});
66739
+ return func;
66740
+ } catch (e) {}
66741
+ }());
66742
+
66743
+ /* harmony default export */ var _defineProperty = (defineProperty);
66744
+
66745
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseSetToString.js
66746
+
66747
+
66748
+
66749
+
66750
+ /**
66751
+ * The base implementation of `setToString` without support for hot loop shorting.
66752
+ *
66753
+ * @private
66754
+ * @param {Function} func The function to modify.
66755
+ * @param {Function} string The `toString` result.
66756
+ * @returns {Function} Returns `func`.
66757
+ */
66758
+ var baseSetToString = !_defineProperty ? lodash_es_identity : function(func, string) {
66759
+ return _defineProperty(func, 'toString', {
66760
+ 'configurable': true,
66761
+ 'enumerable': false,
66762
+ 'value': lodash_es_constant(string),
66763
+ 'writable': true
66764
+ });
66765
+ };
66766
+
66767
+ /* harmony default export */ var _baseSetToString = (baseSetToString);
66768
+
66769
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_shortOut.js
66770
+ /** Used to detect hot functions by number of calls within a span of milliseconds. */
66771
+ var HOT_COUNT = 800,
66772
+ HOT_SPAN = 16;
66773
+
66774
+ /* Built-in method references for those with the same name as other `lodash` methods. */
66775
+ var nativeNow = Date.now;
66776
+
66777
+ /**
66778
+ * Creates a function that'll short out and invoke `identity` instead
66779
+ * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
66780
+ * milliseconds.
66781
+ *
66782
+ * @private
66783
+ * @param {Function} func The function to restrict.
66784
+ * @returns {Function} Returns the new shortable function.
66785
+ */
66786
+ function shortOut(func) {
66787
+ var count = 0,
66788
+ lastCalled = 0;
66789
+
66790
+ return function() {
66791
+ var stamp = nativeNow(),
66792
+ remaining = HOT_SPAN - (stamp - lastCalled);
66793
+
66794
+ lastCalled = stamp;
66795
+ if (remaining > 0) {
66796
+ if (++count >= HOT_COUNT) {
66797
+ return arguments[0];
66798
+ }
66799
+ } else {
66800
+ count = 0;
66801
+ }
66802
+ return func.apply(undefined, arguments);
66803
+ };
66804
+ }
66805
+
66806
+ /* harmony default export */ var _shortOut = (shortOut);
66807
+
66808
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_setToString.js
66809
+
66810
+
66811
+
66812
+ /**
66813
+ * Sets the `toString` method of `func` to return `string`.
66814
+ *
66815
+ * @private
66816
+ * @param {Function} func The function to modify.
66817
+ * @param {Function} string The `toString` result.
66818
+ * @returns {Function} Returns `func`.
66819
+ */
66820
+ var setToString = _shortOut(_baseSetToString);
66821
+
66822
+ /* harmony default export */ var _setToString = (setToString);
66823
+
66824
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/_baseRest.js
66825
+
66826
+
66827
+
66828
+
66829
+ /**
66830
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
66831
+ *
66832
+ * @private
66833
+ * @param {Function} func The function to apply a rest parameter to.
66834
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
66835
+ * @returns {Function} Returns the new function.
66836
+ */
66837
+ function baseRest(func, start) {
66838
+ return _setToString(_overRest(func, start, lodash_es_identity), func + '');
66839
+ }
66840
+
66841
+ /* harmony default export */ var _baseRest = (baseRest);
66842
+
66843
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/isLength.js
66844
+ /** Used as references for various `Number` constants. */
66845
+ var MAX_SAFE_INTEGER = 9007199254740991;
66846
+
66847
+ /**
66848
+ * Checks if `value` is a valid array-like length.
66849
+ *
66850
+ * **Note:** This method is loosely based on
66851
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
66852
+ *
66853
+ * @static
66854
+ * @memberOf _
66855
+ * @since 4.0.0
66856
+ * @category Lang
66857
+ * @param {*} value The value to check.
66858
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
66859
+ * @example
66860
+ *
66861
+ * _.isLength(3);
66862
+ * // => true
66863
+ *
66864
+ * _.isLength(Number.MIN_VALUE);
66865
+ * // => false
66866
+ *
66867
+ * _.isLength(Infinity);
66868
+ * // => false
66869
+ *
66870
+ * _.isLength('3');
66871
+ * // => false
66872
+ */
66873
+ function isLength(value) {
66874
+ return typeof value == 'number' &&
66875
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
66876
+ }
66877
+
66878
+ /* harmony default export */ var lodash_es_isLength = (isLength);
66879
+
66880
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/isArrayLike.js
66881
+
66882
+
66883
+
66884
+ /**
66885
+ * Checks if `value` is array-like. A value is considered array-like if it's
66886
+ * not a function and has a `value.length` that's an integer greater than or
66887
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
66888
+ *
66889
+ * @static
66890
+ * @memberOf _
66891
+ * @since 4.0.0
66892
+ * @category Lang
66893
+ * @param {*} value The value to check.
66894
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
66895
+ * @example
66896
+ *
66897
+ * _.isArrayLike([1, 2, 3]);
66898
+ * // => true
66899
+ *
66900
+ * _.isArrayLike(document.body.children);
66901
+ * // => true
66902
+ *
66903
+ * _.isArrayLike('abc');
66904
+ * // => true
66905
+ *
66906
+ * _.isArrayLike(_.noop);
66907
+ * // => false
66908
+ */
66909
+ function isArrayLike(value) {
66910
+ return value != null && lodash_es_isLength(value.length) && !lodash_es_isFunction(value);
66911
+ }
66912
+
66913
+ /* harmony default export */ var lodash_es_isArrayLike = (isArrayLike);
66914
+
66915
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/isObjectLike.js
66916
+ /**
66917
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
66918
+ * and has a `typeof` result of "object".
66919
+ *
66920
+ * @static
66921
+ * @memberOf _
66922
+ * @since 4.0.0
66923
+ * @category Lang
66924
+ * @param {*} value The value to check.
66925
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
66926
+ * @example
66927
+ *
66928
+ * _.isObjectLike({});
66929
+ * // => true
66930
+ *
66931
+ * _.isObjectLike([1, 2, 3]);
66932
+ * // => true
66933
+ *
66934
+ * _.isObjectLike(_.noop);
66935
+ * // => false
66936
+ *
66937
+ * _.isObjectLike(null);
66938
+ * // => false
66939
+ */
66940
+ function isObjectLike(value) {
66941
+ return value != null && typeof value == 'object';
66942
+ }
66943
+
66944
+ /* harmony default export */ var lodash_es_isObjectLike = (isObjectLike);
66945
+
66946
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/isArrayLikeObject.js
66947
+
66948
+
66949
+
66950
+ /**
66951
+ * This method is like `_.isArrayLike` except that it also checks if `value`
66952
+ * is an object.
66953
+ *
66954
+ * @static
66955
+ * @memberOf _
66956
+ * @since 4.0.0
66957
+ * @category Lang
66958
+ * @param {*} value The value to check.
66959
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
66960
+ * else `false`.
66961
+ * @example
66962
+ *
66963
+ * _.isArrayLikeObject([1, 2, 3]);
66964
+ * // => true
66965
+ *
66966
+ * _.isArrayLikeObject(document.body.children);
66967
+ * // => true
66968
+ *
66969
+ * _.isArrayLikeObject('abc');
66970
+ * // => false
66971
+ *
66972
+ * _.isArrayLikeObject(_.noop);
66973
+ * // => false
66974
+ */
66975
+ function isArrayLikeObject(value) {
66976
+ return lodash_es_isObjectLike(value) && lodash_es_isArrayLike(value);
66977
+ }
66978
+
66979
+ /* harmony default export */ var lodash_es_isArrayLikeObject = (isArrayLikeObject);
66980
+
66981
+ // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/lodash-es/without.js
66982
+
66983
+
66984
+
66985
+
66986
+ /**
66987
+ * Creates an array excluding all given values using
66988
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
66989
+ * for equality comparisons.
66990
+ *
66991
+ * **Note:** Unlike `_.pull`, this method returns a new array.
66992
+ *
66993
+ * @static
66994
+ * @memberOf _
66995
+ * @since 0.1.0
66996
+ * @category Array
66997
+ * @param {Array} array The array to inspect.
66998
+ * @param {...*} [values] The values to exclude.
66999
+ * @returns {Array} Returns the new array of filtered values.
67000
+ * @see _.difference, _.xor
67001
+ * @example
67002
+ *
67003
+ * _.without([2, 1, 2, 3], 1, 2);
67004
+ * // => [3]
67005
+ */
67006
+ var without = _baseRest(function(array, values) {
67007
+ return lodash_es_isArrayLikeObject(array)
67008
+ ? _baseDifference(array, values)
67009
+ : [];
67010
+ });
67011
+
67012
+ /* harmony default export */ var lodash_es_without = (without);
67013
+
67014
+ // EXTERNAL MODULE: /home/runner/work/semi-design/semi-design/node_modules/@babel/runtime-corejs3/core-js-stable/object/freeze.js
67015
+ var freeze = __webpack_require__("p7I/");
67016
+ var freeze_default = /*#__PURE__*/__webpack_require__.n(freeze);
67017
+
67018
+ // CONCATENATED MODULE: ../semi-foundation/utils/FocusHandle.ts
67019
+
67020
+
67021
+
67022
+
67023
+
67024
+
67025
+ /*
67026
+ * Usage:
67027
+ * // Eg1: Pass a dom as the tab tarp container.
67028
+ * const handle = new FocusTrapHandle(container, { enable: true });
67029
+ *
67030
+ * // Eg2: The focus redirect listener will be triggered when user pressed tab whiling last focusable dom is focusing in trap dom, return false to cancel redirect and use the browser normal tab focus index.
67031
+ * handle.addFocusRedirectListener((e)=>{
67032
+ * return true; // return false to prevent redirect on target DOM;
67033
+ * });
67034
+ *
67035
+ * // Eg3: Set it to false in order to disable tab tarp at any moment;
67036
+ * handle.enable = true;
67037
+ *
67038
+ * // Eg4: Destroy instance when component is unmounting for saving resource;
67039
+ * handle.destroy();
67040
+ *
67041
+ * */
67042
+ class FocusHandle_FocusTrapHandle {
67043
+ constructor(container, options) {
67044
+ var _a;
67045
+
67046
+ this.addFocusRedirectListener = listener => {
67047
+ this.focusRedirectListenerList.push(listener);
67048
+ return () => this.removeFocusRedirectListener(listener);
67049
+ };
67050
+
67051
+ this.removeFocusRedirectListener = listener => {
67052
+ this.focusRedirectListenerList = lodash_es_without(this.focusRedirectListenerList, listener);
67053
+ };
67054
+
67055
+ this.destroy = () => {
67056
+ var _a;
67057
+
67058
+ (_a = this.container) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', this.onKeyPress);
67059
+ }; // ---- private func ----
67060
+
67061
+
67062
+ this.shouldFocusRedirect = element => {
67063
+ if (!this.enable) {
67064
+ return false;
67065
+ }
67066
+
67067
+ for (const listener of this.focusRedirectListenerList) {
67068
+ const should = listener(element);
67069
+
67070
+ if (!should) {
67071
+ return false;
67072
+ }
67073
+ }
67074
+
67075
+ return true;
67076
+ };
67077
+
67078
+ this.focusElement = (element, event) => {
67079
+ element === null || element === void 0 ? void 0 : element.focus();
67080
+ event.preventDefault(); // prevent browser default tab move behavior
67081
+ };
67082
+
67083
+ this.onKeyPress = event => {
67084
+ if (event && event.key === 'Tab') {
67085
+ const focusableElements = FocusHandle_FocusTrapHandle.getFocusableElements(this.container);
67086
+ const focusableNum = focusableElements.length;
67087
+
67088
+ if (focusableNum) {
67089
+ // Shift + Tab will move focus backward
67090
+ if (event.shiftKey) {
67091
+ this.handleContainerShiftTabKeyDown(focusableElements, event);
67092
+ } else {
67093
+ this.handleContainerTabKeyDown(focusableElements, event);
67094
+ }
67095
+ }
67096
+ }
67097
+ };
67098
+
67099
+ this.handleContainerTabKeyDown = (focusableElements, event) => {
67100
+ const activeElement = FocusHandle_FocusTrapHandle.getActiveElement();
67101
+ const isLastCurrentFocus = focusableElements[focusableElements.length - 1] === activeElement;
67102
+ const redirectForcingElement = focusableElements[0];
67103
+
67104
+ if (isLastCurrentFocus && this.shouldFocusRedirect(redirectForcingElement)) {
67105
+ this.focusElement(redirectForcingElement, event);
67106
+ }
67107
+ };
67108
+
67109
+ this.handleContainerShiftTabKeyDown = (focusableElements, event) => {
67110
+ const activeElement = FocusHandle_FocusTrapHandle.getActiveElement();
67111
+ const isFirstCurrentFocus = focusableElements[0] === activeElement;
67112
+ const redirectForcingElement = focusableElements[focusableElements.length - 1];
67113
+
67114
+ if (isFirstCurrentFocus && this.shouldFocusRedirect(redirectForcingElement)) {
67115
+ this.focusElement(redirectForcingElement, event);
67116
+ }
67117
+ };
67118
+
67119
+ freeze_default()(options); // prevent user to change options after init;
67120
+
67121
+
67122
+ this.container = container;
67123
+ this.options = options;
67124
+ this.enable = (_a = options === null || options === void 0 ? void 0 : options.enable) !== null && _a !== void 0 ? _a : true;
67125
+
67126
+ this.focusRedirectListenerList = (() => {
67127
+ if (options === null || options === void 0 ? void 0 : options.onFocusRedirectListener) {
67128
+ return is_array_default()(options.onFocusRedirectListener) ? [...options.onFocusRedirectListener] : [options.onFocusRedirectListener];
67129
+ } else {
67130
+ return [];
67131
+ }
67132
+ })();
67133
+
67134
+ this.container.addEventListener('keydown', this.onKeyPress);
67135
+ }
67136
+
67137
+ get enable() {
67138
+ return this._enable;
67139
+ }
67140
+
67141
+ set enable(value) {
67142
+ this._enable = value;
67143
+ } // ---- static func ----
67144
+
67145
+
67146
+ static getFocusableElements(node) {
67147
+ if (!Object(isElement["a" /* default */])(node)) {
67148
+ return [];
67149
+ }
67150
+
67151
+ const focusableSelectorsList = ["input:not([disabled]):not([tabindex='-1'])", "textarea:not([disabled]):not([tabindex='-1'])", "button:not([disabled]):not([tabindex='-1'])", "a[href]:not([tabindex='-1'])", "select:not([disabled]):not([tabindex='-1'])", "area[href]:not([tabindex='-1'])", "iframe:not([tabindex='-1'])", "object:not([tabindex='-1'])", "*[tabindex]:not([tabindex='-1'])", "*[contenteditable]:not([tabindex='-1'])"];
67152
+ const focusableSelectorsStr = focusableSelectorsList.join(','); // we are not filtered elements which are invisible
67153
+
67154
+ return from_default()(node.querySelectorAll(focusableSelectorsStr));
67155
+ }
67156
+
67157
+ static getActiveElement() {
67158
+ return document ? document.activeElement : null;
67159
+ }
67160
+
67161
+ }
67162
+
67163
+ /* harmony default export */ var FocusHandle = (FocusHandle_FocusTrapHandle);
67164
+ // CONCATENATED MODULE: ./modal/ModalContent.tsx
67165
+
67166
+
67167
+
67168
+
67169
+
67170
+
67171
+
67172
+
67173
+
67174
+
67175
+ var ModalContent_rest = undefined && undefined.__rest || function (s, e) {
67176
+ var t = {};
67177
+
67178
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && index_of_default()(e).call(e, p) < 0) t[p] = s[p];
67179
+
67180
+ if (s != null && typeof get_own_property_symbols_default.a === "function") for (var i = 0, p = get_own_property_symbols_default()(s); i < p.length; i++) {
67181
+ if (index_of_default()(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
67182
+ }
67183
+ return t;
67184
+ };
67185
+ /* eslint-disable eqeqeq */
67186
+
67187
+
67188
+
67189
+
67190
+
67191
+
67192
+
67193
+
67194
+
67195
+ // eslint-disable-next-line max-len
67196
+
67197
+
67198
+
67199
+
67200
+ let uuid = 0;
67201
+ class ModalContent_ModalContent extends baseComponent_BaseComponent {
67202
+ constructor(props) {
67203
+ super(props);
67204
+
67205
+ this.onKeyDown = e => {
67206
+ this.foundation.handleKeyDown(e);
67207
+ }; // Record when clicking the modal box
67208
+
67209
+
67210
+ this.onDialogMouseDown = () => {
67211
+ this.foundation.handleDialogMouseDown();
67212
+ }; // Cancel recording when clicking the modal box at the end
67213
+
67214
+
67215
+ this.onMaskMouseUp = () => {
67216
+ this.foundation.handleMaskMouseUp();
67217
+ }; // onMaskClick will judge dialogMouseDown before onMaskMouseUp updates dialogMouseDown
67218
+
67219
+
67220
+ this.onMaskClick = e => {
67221
+ this.foundation.handleMaskClick(e);
67222
+ };
67223
+
67224
+ this.close = e => {
67225
+ this.foundation.close(e);
67226
+ };
67227
+
67228
+ this.getMaskElement = () => {
67229
+ const props = ModalContent_rest(this.props, []);
67230
+
67231
+ const {
67232
+ mask,
67233
+ maskClassName
67234
+ } = props;
67235
+
67236
+ if (mask) {
67237
+ const className = classnames_default()("".concat(modal_constants_cssClasses.DIALOG, "-mask"), {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
67238
+ });
67239
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67240
+ key: "mask",
67241
+ className: classnames_default()(className, maskClassName),
67242
+ style: props.maskStyle
67243
+ });
67244
+ }
67245
+
67246
+ return null;
67247
+ };
67248
+
67249
+ this.renderCloseBtn = () => {
67250
+ const {
67251
+ closable,
67252
+ closeIcon
67253
+ } = this.props;
67254
+ let closer;
67255
+
67256
+ if (closable) {
67257
+ const iconType = closeIcon || /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(IconClose, null);
67258
+ closer = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(iconButton_0, {
67259
+ "aria-label": "close",
67260
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-close"),
67261
+ key: "close-btn",
67262
+ onClick: this.close,
67263
+ type: "tertiary",
67264
+ icon: iconType,
67265
+ theme: "borderless",
67266
+ size: "small"
67267
+ });
67268
+ }
67269
+
67270
+ return closer;
67271
+ };
67272
+
67273
+ this.renderIcon = () => {
67274
+ const {
67275
+ icon
67276
+ } = this.props;
67277
+ return icon ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
67278
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-icon-wrapper")
67279
+ }, icon) : null;
67280
+ };
67281
+
67282
+ this.renderHeader = () => {
67283
+ if ('header' in this.props) {
67284
+ return this.props.header;
67285
+ }
67286
+
67287
+ const {
67288
+ title
67289
+ } = this.props;
67290
+ const closer = this.renderCloseBtn();
67291
+ const icon = this.renderIcon();
67292
+ return title === null || title === undefined ? null : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67293
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-header")
67294
+ }, icon, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(typography_0.Title, {
67295
+ heading: 5,
67296
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-title"),
67297
+ id: "".concat(modal_constants_cssClasses.DIALOG, "-title")
67298
+ }, title), closer);
67299
+ };
67300
+
67301
+ this.renderBody = () => {
67302
+ const {
67303
+ bodyStyle,
67304
+ children,
67305
+ title
67306
+ } = this.props;
67307
+ const bodyCls = classnames_default()("".concat(modal_constants_cssClasses.DIALOG, "-body"), {
67308
+ ["".concat(modal_constants_cssClasses.DIALOG, "-withIcon")]: this.props.icon
67309
+ });
67310
+ const closer = this.renderCloseBtn();
67311
+ const icon = this.renderIcon();
67312
+ const hasHeader = title !== null && title !== undefined || 'header' in this.props;
67313
+ return hasHeader ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67314
+ className: bodyCls,
67315
+ id: "".concat(modal_constants_cssClasses.DIALOG, "-body"),
67316
+ style: bodyStyle
67317
+ }, children) : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67318
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-body-wrapper")
67319
+ }, icon, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67320
+ className: bodyCls,
67321
+ style: bodyStyle
67322
+ }, children), closer);
67323
+ };
67324
+
67325
+ this.getDialogElement = () => {
67326
+ var _context;
67327
+
67328
+ const props = ModalContent_rest(this.props, []);
67329
+
67330
+ const style = {};
67331
+ const digCls = classnames_default()("".concat(modal_constants_cssClasses.DIALOG), {
67332
+ ["".concat(modal_constants_cssClasses.DIALOG, "-centered")]: props.centered,
67333
+ [concat_default()(_context = "".concat(modal_constants_cssClasses.DIALOG, "-")).call(_context, props.size)]: props.size
67334
+ });
67335
+
67336
+ if (props.width) {
67337
+ style.width = props.width;
67338
+ }
67339
+
67340
+ if (props.height) {
67341
+ style.height = props.height;
67342
+ }
67343
+
67344
+ if (props.isFullScreen) {
67345
+ style.width = '100%';
67346
+ style.height = '100%';
67347
+ style.margin = 'unset';
67348
+ }
67349
+
67350
+ const body = this.renderBody();
67351
+ const header = this.renderHeader();
67352
+ const footer = props.footer ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67353
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-footer")
67354
+ }, props.footer) : null;
67355
+ const dialogElement =
67356
+ /*#__PURE__*/
67357
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
67358
+ external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67359
+ key: "dialog-element",
67360
+ className: digCls,
67361
+ onMouseDown: this.onDialogMouseDown,
67362
+ style: assign_default()(assign_default()({}, props.style), style),
67363
+ id: this.dialogId
67364
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67365
+ role: "dialog",
67366
+ ref: this.modalDialogRef,
67367
+ tabIndex: -1,
67368
+ "aria-modal": "true",
67369
+ "aria-labelledby": "".concat(modal_constants_cssClasses.DIALOG, "-title"),
67370
+ "aria-describedby": "".concat(modal_constants_cssClasses.DIALOG, "-body"),
67371
+ onAnimationEnd: props.onAnimationEnd,
67372
+ className: classnames_default()(["".concat(modal_constants_cssClasses.DIALOG, "-content"), props.contentClassName, {
67373
+ ["".concat(modal_constants_cssClasses.DIALOG, "-content-fullScreen")]: props.isFullScreen
67374
+ }])
67375
+ }, header, body, footer)); // return props.visible ? dialogElement : null;
67376
+
67377
+ return dialogElement;
67378
+ };
67379
+
67380
+ this.state = {
67381
+ dialogMouseDown: false,
67382
+ prevFocusElement: FocusHandle.getActiveElement()
67383
+ };
67384
+ this.foundation = new modalContentFoundation_ModalContentFoundation(this.adapter);
67385
+ this.dialogId = "dialog-".concat(uuid++);
67386
+ this.modalDialogRef = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createRef();
67387
+ }
67388
+
67389
+ get adapter() {
67390
+ return assign_default()(assign_default()({}, super.adapter), {
67391
+ notifyClose: e => {
67392
+ this.props.onClose(e);
67393
+ },
67394
+ notifyDialogMouseDown: () => {
67395
+ this.setState({
67396
+ dialogMouseDown: true
67397
+ });
67398
+ },
67399
+ notifyDialogMouseUp: () => {
67400
+ if (this.state.dialogMouseDown) {
67401
+ // Not setting setTimeout triggers close when modal external mouseUp
67402
+ this.timeoutId = set_timeout_default()(() => {
67403
+ this.setState({
67404
+ dialogMouseDown: false
67405
+ });
67406
+ }, 0);
67407
+ }
67408
+ },
67409
+ addKeyDownEventListener: () => {
67410
+ if (this.props.closeOnEsc) {
67411
+ var _context2;
67412
+
67413
+ document.addEventListener('keydown', bind_default()(_context2 = this.foundation.handleKeyDown).call(_context2, this.foundation));
67414
+ }
67415
+ },
67416
+ removeKeyDownEventListener: () => {
67417
+ if (this.props.closeOnEsc) {
67418
+ var _context3;
67419
+
67420
+ document.removeEventListener('keydown', bind_default()(_context3 = this.foundation.handleKeyDown).call(_context3, this.foundation));
67421
+ }
67422
+ },
67423
+ getMouseState: () => this.state.dialogMouseDown,
67424
+ modalDialogFocus: () => {
67425
+ var _a, _b, _c;
67426
+
67427
+ let activeElementInDialog;
67428
+
67429
+ if (this.modalDialogRef) {
67430
+ const activeElement = FocusHandle.getActiveElement();
67431
+ activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
67432
+ (_a = this.focusTrapHandle) === null || _a === void 0 ? void 0 : _a.destroy();
67433
+ this.focusTrapHandle = new FocusHandle(this.modalDialogRef.current);
67434
+ }
67435
+
67436
+ if (!activeElementInDialog) {
67437
+ (_c = (_b = this.modalDialogRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.focus();
67438
+ }
67439
+ },
67440
+ modalDialogBlur: () => {
67441
+ var _a, _b;
67442
+
67443
+ (_a = this.modalDialogRef) === null || _a === void 0 ? void 0 : _a.current.blur();
67444
+ (_b = this.focusTrapHandle) === null || _b === void 0 ? void 0 : _b.destroy();
67445
+ },
67446
+ prevFocusElementReFocus: () => {
67447
+ const {
67448
+ prevFocusElement
67449
+ } = this.state;
67450
+
67451
+ const focus = get_default()(prevFocusElement, 'focus');
67452
+
67453
+ isFunction_default()(focus) && prevFocusElement.focus();
67454
+ }
67455
+ });
67456
+ }
67457
+
67458
+ componentDidMount() {
67459
+ this.foundation.handleKeyDownEventListenerMount();
67460
+ this.foundation.modalDialogFocus();
67461
+ }
67462
+
67463
+ componentWillUnmount() {
67464
+ clearTimeout(this.timeoutId);
67465
+ this.foundation.destroy();
67466
+ }
67467
+
67468
+ render() {
67469
+ const {
67470
+ maskClosable,
67471
+ className,
67472
+ getPopupContainer,
67473
+ maskFixed,
67474
+ getContainerContext
67475
+ } = this.props;
67476
+ const {
67477
+ direction
67478
+ } = this.context;
67479
+ const classList = classnames_default()(className, {
67480
+ ["".concat(modal_constants_cssClasses.DIALOG, "-popup")]: getPopupContainer && !maskFixed,
67481
+ ["".concat(modal_constants_cssClasses.DIALOG, "-fixed")]: maskFixed,
67482
+ ["".concat(modal_constants_cssClasses.DIALOG, "-rtl")]: direction === 'rtl'
67483
+ });
67484
+ const containerContext = getContainerContext();
67485
+ const elem = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67486
+ className: classList
67487
+ }, this.getMaskElement(), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
67488
+ role: "none",
67489
+ tabIndex: -1,
67490
+ className: "".concat(modal_constants_cssClasses.DIALOG, "-wrap"),
67491
+ onClick: maskClosable ? this.onMaskClick : null,
67492
+ onMouseUp: maskClosable ? this.onMaskMouseUp : null
67493
+ }, this.getDialogElement())); // eslint-disable-next-line max-len
67494
+
67495
+ return containerContext && containerContext.Provider ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(containerContext.Provider, {
67496
+ value: containerContext.value
67497
+ }, elem) : elem;
67498
+ }
67499
+
67500
+ }
67501
+ ModalContent_ModalContent.contextType = configProvider_context;
65637
67502
  ModalContent_ModalContent.propTypes = {
65638
67503
  close: prop_types_default.a.func,
65639
67504
  getContainerContext: prop_types_default.a.func,
@@ -66063,7 +67928,8 @@ class Modal_Modal extends baseComponent_BaseComponent {
66063
67928
  "aria-label": "cancel",
66064
67929
  onClick: this.handleCancel,
66065
67930
  loading: cancelLoading,
66066
- type: "tertiary"
67931
+ type: "tertiary",
67932
+ autoFocus: true
66067
67933
  }, this.props.cancelButtonProps), cancelText || locale.cancel);
66068
67934
  }
66069
67935
  };
@@ -66346,7 +68212,7 @@ Modal_Modal.defaultProps = {
66346
68212
  onOk: noop_default.a,
66347
68213
  afterClose: noop_default.a,
66348
68214
  maskFixed: false,
66349
- closeOnEsc: false,
68215
+ closeOnEsc: true,
66350
68216
  size: 'small',
66351
68217
  keepDOM: false,
66352
68218
  lazyRender: true,
@@ -69196,7 +71062,11 @@ class foundation_InputNumberFoundation extends foundation {
69196
71062
  }
69197
71063
 
69198
71064
  handleUpClick(event) {
69199
- if (!this._isMouseButtonLeft(event)) {
71065
+ const {
71066
+ readonly
71067
+ } = this.getProps();
71068
+
71069
+ if (!this._isMouseButtonLeft(event) || readonly) {
69200
71070
  return;
69201
71071
  }
69202
71072
 
@@ -69219,7 +71089,11 @@ class foundation_InputNumberFoundation extends foundation {
69219
71089
  }
69220
71090
 
69221
71091
  handleDownClick(event) {
69222
- if (!this._isMouseButtonLeft(event)) {
71092
+ const {
71093
+ readonly
71094
+ } = this.getProps();
71095
+
71096
+ if (!this._isMouseButtonLeft(event) || readonly) {
69223
71097
  return;
69224
71098
  }
69225
71099
 
@@ -78318,7 +80192,7 @@ class select_Select extends baseComponent_BaseComponent {
78318
80192
  role: "listbox",
78319
80193
  "aria-multiselectable": multiple,
78320
80194
  onScroll: e => this.foundation.handleListScroll(e)
78321
- }, innerTopSlot, !loading ? listContent : this.renderLoading(), isEmpty && !loading ? this.renderEmpty() : null, innerBottomSlot), outerBottomSlot);
80195
+ }, innerTopSlot, loading ? this.renderLoading() : isEmpty ? this.renderEmpty() : listContent, innerBottomSlot), outerBottomSlot);
78322
80196
  }
78323
80197
 
78324
80198
  renderSingleSelection(selections, filterable) {
@@ -79809,7 +81683,7 @@ class progress_Progress extends external_root_React_commonjs2_react_commonjs_rea
79809
81683
  const perc = this.calcPercent(percent);
79810
81684
  const percNumber = this.calcPercent(percentNumber);
79811
81685
  const innerStyle = {
79812
- backgroundColor: stroke
81686
+ background: stroke
79813
81687
  };
79814
81688
 
79815
81689
  if (direction === progress_constants_strings.DEFAULT_DIRECTION) {
@@ -83001,7 +84875,7 @@ class slider_Slider extends baseComponent_BaseComponent {
83001
84875
  external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
83002
84876
  className: slider_constants_cssClasses.TRACK,
83003
84877
  style: trackStyle,
83004
- onClick: e => this.foundation.handleWrapClick(e)
84878
+ onClick: this.foundation.handleWrapClick
83005
84879
  })
83006
84880
  );
83007
84881
  };
@@ -83029,7 +84903,7 @@ class slider_Slider extends baseComponent_BaseComponent {
83029
84903
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
83030
84904
  external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
83031
84905
  key: mark,
83032
- onClick: e => this.foundation.handleWrapClick(e),
84906
+ onClick: this.foundation.handleWrapClick,
83033
84907
  className: markClass,
83034
84908
  style: {
83035
84909
  [stylePos]: "calc(".concat(markPercent * 100, "% - 2px)")
@@ -83057,12 +84931,16 @@ class slider_Slider extends baseComponent_BaseComponent {
83057
84931
 
83058
84932
  const activeResult = this.foundation.isMarkActive(Number(mark));
83059
84933
  const markPercent = (Number(mark) - min) / (max - min);
83060
- return activeResult ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
84934
+ return activeResult ?
84935
+ /*#__PURE__*/
84936
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
84937
+ external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
83061
84938
  key: mark,
83062
84939
  className: classnames_default()(concat_default()(_context3 = "".concat(slider_prefixCls, "-mark")).call(_context3, vertical && verticalReverse ? '-reverse' : '')),
83063
84940
  style: {
83064
84941
  [stylePos]: "".concat(markPercent * 100, "%")
83065
- }
84942
+ },
84943
+ onClick: this.foundation.handleWrapClick
83066
84944
  }, marks[mark]) : null;
83067
84945
  })) : null;
83068
84946
  return labelContent;
@@ -83342,7 +85220,7 @@ class slider_Slider extends baseComponent_BaseComponent {
83342
85220
  onMouseLeave: () => this.foundation.handleWrapperLeave()
83343
85221
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
83344
85222
  className: "".concat(slider_prefixCls, "-rail"),
83345
- onClick: e => this.foundation.handleWrapClick(e),
85223
+ onClick: this.foundation.handleWrapClick,
83346
85224
  style: this.props.railStyle
83347
85225
  }), this.renderTrack(), this.renderStepDot(), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", null, this.renderHandle()), this.renderLabel(), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
83348
85226
  className: boundaryClass
@@ -92016,10 +93894,61 @@ const tabs_constants_strings = {
92016
93894
 
92017
93895
 
92018
93896
 
93897
+
93898
+
93899
+
93900
+
92019
93901
  class foundation_TabsFoundation extends foundation {
92020
93902
  constructor(adapter) {
92021
93903
  super(assign_default()({}, adapter));
92022
93904
  this.destroy = noop_default.a;
93905
+
93906
+ this.handlePrevent = event => {
93907
+ event.stopPropagation();
93908
+ event.preventDefault();
93909
+ };
93910
+
93911
+ this.handleKeyDown = (event, itemKey, closable) => {
93912
+ var _context;
93913
+
93914
+ const tabs = filter_default()(_context = [...event.target.parentNode.childNodes]).call(_context, item => {
93915
+ var _context2;
93916
+
93917
+ return includes_default()(_context2 = get_default()(item, 'attributes.data-tabkey.value', '')).call(_context2, 'semiTab') && item.ariaDisabled !== "true";
93918
+ });
93919
+
93920
+ switch (event.key) {
93921
+ case "ArrowLeft":
93922
+ case "ArrowRight":
93923
+ case "ArrowUp":
93924
+ case "ArrowDown":
93925
+ this.determineOrientation(event, tabs);
93926
+ break;
93927
+
93928
+ case "Backspace":
93929
+ case "Delete":
93930
+ this.handleDeleteKeyDown(event, tabs, itemKey, closable);
93931
+ break;
93932
+
93933
+ case "Enter":
93934
+ case " ":
93935
+ this.handleTabClick(itemKey, event);
93936
+ this.handlePrevent(event);
93937
+ break;
93938
+
93939
+ case "Home":
93940
+ tabs[0].focus(); // focus first tab
93941
+
93942
+ this.handlePrevent(event);
93943
+ break;
93944
+
93945
+ case "End":
93946
+ tabs[tabs.length - 1].focus(); // focus last tab
93947
+
93948
+ this.handlePrevent(event);
93949
+ break;
93950
+ }
93951
+ };
92023
93952
  }
92024
93953
 
92025
93954
  init() {
@@ -92089,11 +94018,67 @@ class foundation_TabsFoundation extends foundation {
92089
94018
  this._adapter.notifyTabDelete(tabKey);
92090
94019
  }
92091
94020
 
94021
+ determineOrientation(event, tabs) {
94022
+ const {
94023
+ tabPosition
94024
+ } = this.getProps();
94025
+ const isVertical = tabPosition === 'left';
94026
+
94027
+ if (isVertical) {
94028
+ if (event.key === "ArrowUp" || event.key === "ArrowDown") {
94029
+ this.switchTabOnArrowPress(event, tabs);
94030
+ this.handlePrevent(event);
94031
+ }
94032
+ } else {
94033
+ if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
94034
+ this.switchTabOnArrowPress(event, tabs);
94035
+ this.handlePrevent(event);
94036
+ }
94037
+ }
94038
+ }
94039
+
94040
+ handleDeleteKeyDown(event, tabs, itemKey, closable) {
94041
+ if (closable) {
94042
+ this.handleTabDelete(itemKey);
94043
+
94044
+ const index = index_of_default()(tabs).call(tabs, event.target); // Move focus to next element after deletion
94045
+ // If the element is the last removable tab, focus to its previous tab
94046
+
94047
+
94048
+ if (tabs.length !== 1) {
94049
+ tabs[index + 1 >= tabs.length ? index - 1 : index + 1].focus();
94050
+ }
94051
+ }
94052
+ }
94053
+
94054
+ switchTabOnArrowPress(event, tabs) {
94055
+ const index = index_of_default()(tabs).call(tabs, event.target);
94056
+
94057
+ const direction = {
94058
+ "ArrowLeft": -1,
94059
+ "ArrowUp": -1,
94060
+ "ArrowRight": 1,
94061
+ "ArrowDown": 1
94062
+ };
94063
+
94064
+ if (direction[event.key]) {
94065
+ if (index !== undefined) {
94066
+ if (tabs[index + direction[event.key]]) {
94067
+ tabs[index + direction[event.key]].focus();
94068
+ } else if (event.key === "ArrowLeft" || event.key === "ArrowUp") {
94069
+ tabs[tabs.length - 1].focus(); // focus last tab
94070
+ } else if (event.key === "ArrowRight" || event.key == "ArrowDown") {
94071
+ tabs[0].focus(); // focus first tab
94072
+ }
94073
+ }
94074
+ }
94075
+ }
94076
+
92092
94077
  }
92093
94078
 
92094
94079
  /* harmony default export */ var tabs_foundation = (foundation_TabsFoundation);
92095
94080
  // EXTERNAL MODULE: ../semi-foundation/tabs/tabs.scss
92096
- var tabs = __webpack_require__("X9hi");
94081
+ var tabs_tabs = __webpack_require__("X9hi");
92097
94082
 
92098
94083
  // CONCATENATED MODULE: ./tabs/TabBar.tsx
92099
94084
 
@@ -92147,6 +94132,10 @@ class TabBar_TabBar extends external_root_React_commonjs2_react_commonjs_react_a
92147
94132
  }
92148
94133
  };
92149
94134
 
94135
+ this.handleKeyDown = (event, itemKey, closable) => {
94136
+ this.props.handleKeyDown(event, itemKey, closable);
94137
+ };
94138
+
92150
94139
  this.renderTabItem = panel => {
92151
94140
  const {
92152
94141
  size,
@@ -92180,9 +94169,12 @@ class TabBar_TabBar extends external_root_React_commonjs2_react_commonjs_react_a
92180
94169
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", assign_default()({
92181
94170
  role: "tab",
92182
94171
  id: "semiTab".concat(key),
94172
+ "data-tabkey": "semiTab".concat(key),
92183
94173
  "aria-controls": "semiTabPanel".concat(key),
92184
94174
  "aria-disabled": panel.disabled ? 'true' : 'false',
92185
- "aria-selected": isSelected ? 'true' : 'false'
94175
+ "aria-selected": isSelected ? 'true' : 'false',
94176
+ tabIndex: isSelected ? 0 : -1,
94177
+ onKeyDown: e => this.handleKeyDown(e, key, panel.closable)
92186
94178
  }, events, {
92187
94179
  className: className,
92188
94180
  key: this._getItemKey(key)
@@ -92625,7 +94617,8 @@ class TabPane_TabPane extends external_root_React_commonjs2_react_commonjs_react
92625
94617
  "aria-labelledby": "semiTab".concat(itemKey),
92626
94618
  className: classNames,
92627
94619
  style: style,
92628
- "aria-hidden": active ? 'false' : 'true'
94620
+ "aria-hidden": active ? 'false' : 'true',
94621
+ tabIndex: 0
92629
94622
  }, getDataAttr(restProps)), motion ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(tabs_TabPaneTransition, {
92630
94623
  direction: this.getDirection(this.context.activeKey, itemKey, this.context.panes),
92631
94624
  motion: motion,
@@ -92968,7 +94961,8 @@ class tabs_Tabs extends baseComponent_BaseComponent {
92968
94961
  tabBarExtraContent,
92969
94962
  tabPosition,
92970
94963
  type,
92971
- deleteTabItem: this.deleteTabItem
94964
+ deleteTabItem: this.deleteTabItem,
94965
+ handleKeyDown: this.foundation.handleKeyDown
92972
94966
  };
92973
94967
  const tabBar = renderTabBar ? renderTabBar(tabBarProps, tabs_TabBar) : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(tabs_TabBar, assign_default()({}, tabBarProps));
92974
94968
  const content = keepDOM ? children : this.getActiveItem();
@@ -98881,7 +100875,7 @@ class treeSelect_TreeSelect extends baseComponent_BaseComponent {
98881
100875
 
98882
100876
  if (checkRelation === 'related') {
98883
100877
  renderKeys = normalizeKeyList([...checkedKeys], keyEntities, leafOnly);
98884
- } else if (checkRelation === 'unRelated') {
100878
+ } else if (checkRelation === 'unRelated' && keys_default()(keyEntities).length > 0) {
98885
100879
  renderKeys = [...realCheckedKeys];
98886
100880
  }
98887
100881
 
@@ -100035,13 +102029,13 @@ var core_js_stable_url = __webpack_require__("QjT4");
100035
102029
  var url_default = /*#__PURE__*/__webpack_require__.n(core_js_stable_url);
100036
102030
 
100037
102031
  // CONCATENATED MODULE: ../semi-foundation/utils/isObject.ts
100038
- function isObject_isObject(obj) {
102032
+ function utils_isObject_isObject(obj) {
100039
102033
  return obj !== null && typeof obj === 'object';
100040
102034
  }
100041
102035
  // CONCATENATED MODULE: ../semi-foundation/utils/isPromise.ts
100042
102036
 
100043
102037
  function isPromise(value) {
100044
- return isObject_isObject(value) && typeof value.then === 'function';
102038
+ return utils_isObject_isObject(value) && typeof value.then === 'function';
100045
102039
  }
100046
102040
  // CONCATENATED MODULE: ../semi-foundation/upload/constants.ts
100047
102041
 
@@ -102568,7 +104562,7 @@ function _slicedToArray(arr, i) {
102568
104562
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
102569
104563
  }
102570
104564
  // CONCATENATED MODULE: /home/runner/work/semi-design/semi-design/node_modules/@babel/runtime/helpers/esm/defineProperty.js
102571
- function _defineProperty(obj, key, value) {
104565
+ function defineProperty_defineProperty(obj, key, value) {
102572
104566
  if (key in obj) {
102573
104567
  Object.defineProperty(obj, key, {
102574
104568
  value: value,
@@ -102596,7 +104590,7 @@ function _objectSpread(target) {
102596
104590
  }
102597
104591
 
102598
104592
  ownKeys.forEach(function (key) {
102599
- _defineProperty(target, key, source[key]);
104593
+ defineProperty_defineProperty(target, key, source[key]);
102600
104594
  });
102601
104595
  }
102602
104596
 
@@ -102725,7 +104719,7 @@ var react_sortable_hoc_esm_Manager = function () {
102725
104719
  function Manager() {
102726
104720
  _classCallCheck(this, Manager);
102727
104721
 
102728
- _defineProperty(this, "refs", {});
104722
+ defineProperty_defineProperty(this, "refs", {});
102729
104723
  }
102730
104724
 
102731
104725
  _createClass(Manager, [{
@@ -103072,7 +105066,7 @@ function sortableHandle(WrappedComponent) {
103072
105066
 
103073
105067
  _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithSortableHandle)).call.apply(_getPrototypeOf2, [this].concat(args)));
103074
105068
 
103075
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "wrappedInstance", Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["createRef"])());
105069
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "wrappedInstance", Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["createRef"])());
103076
105070
 
103077
105071
  return _this;
103078
105072
  }
@@ -103100,7 +105094,7 @@ function sortableHandle(WrappedComponent) {
103100
105094
  }]);
103101
105095
 
103102
105096
  return WithSortableHandle;
103103
- }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]), _defineProperty(_class, "displayName", provideDisplayName('sortableHandle', WrappedComponent)), _temp;
105097
+ }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]), defineProperty_defineProperty(_class, "displayName", provideDisplayName('sortableHandle', WrappedComponent)), _temp;
103104
105098
  }
103105
105099
  function isSortableHandle(node) {
103106
105100
  return node.sortableHandle != null;
@@ -103312,9 +105306,9 @@ function sortableContainer(WrappedComponent) {
103312
105306
 
103313
105307
  _this = _possibleConstructorReturn(this, _getPrototypeOf(WithSortableContainer).call(this, props));
103314
105308
 
103315
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "state", {});
105309
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "state", {});
103316
105310
 
103317
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleStart", function (event) {
105311
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleStart", function (event) {
103318
105312
  var _this$props = _this.props,
103319
105313
  distance = _this$props.distance,
103320
105314
  shouldCancelStart = _this$props.shouldCancelStart;
@@ -103365,11 +105359,11 @@ function sortableContainer(WrappedComponent) {
103365
105359
  }
103366
105360
  });
103367
105361
 
103368
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "nodeIsChild", function (node) {
105362
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "nodeIsChild", function (node) {
103369
105363
  return node.sortableInfo.manager === _this.manager;
103370
105364
  });
103371
105365
 
103372
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleMove", function (event) {
105366
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleMove", function (event) {
103373
105367
  var _this$props2 = _this.props,
103374
105368
  distance = _this$props2.distance,
103375
105369
  pressThreshold = _this$props2.pressThreshold;
@@ -103392,13 +105386,13 @@ function sortableContainer(WrappedComponent) {
103392
105386
  }
103393
105387
  });
103394
105388
 
103395
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleEnd", function () {
105389
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleEnd", function () {
103396
105390
  _this.touched = false;
103397
105391
 
103398
105392
  _this.cancel();
103399
105393
  });
103400
105394
 
103401
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "cancel", function () {
105395
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "cancel", function () {
103402
105396
  var distance = _this.props.distance;
103403
105397
  var sorting = _this.state.sorting;
103404
105398
 
@@ -103411,7 +105405,7 @@ function sortableContainer(WrappedComponent) {
103411
105405
  }
103412
105406
  });
103413
105407
 
103414
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handlePress", function (event) {
105408
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handlePress", function (event) {
103415
105409
  try {
103416
105410
  var active = _this.manager.getActive();
103417
105411
 
@@ -103616,7 +105610,7 @@ function sortableContainer(WrappedComponent) {
103616
105610
  }
103617
105611
  });
103618
105612
 
103619
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleSortMove", function (event) {
105613
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleSortMove", function (event) {
103620
105614
  var onSortMove = _this.props.onSortMove;
103621
105615
 
103622
105616
  if (typeof event.preventDefault === 'function' && event.cancelable) {
@@ -103634,7 +105628,7 @@ function sortableContainer(WrappedComponent) {
103634
105628
  }
103635
105629
  });
103636
105630
 
103637
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleSortEnd", function (event) {
105631
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleSortEnd", function (event) {
103638
105632
  var _this$props4 = _this.props,
103639
105633
  hideSortableGhost = _this$props4.hideSortableGhost,
103640
105634
  onSortEnd = _this$props4.onSortEnd;
@@ -103703,7 +105697,7 @@ function sortableContainer(WrappedComponent) {
103703
105697
  _this.touched = false;
103704
105698
  });
103705
105699
 
103706
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "autoscroll", function () {
105700
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "autoscroll", function () {
103707
105701
  var disableAutoscroll = _this.props.disableAutoscroll;
103708
105702
  var isKeySorting = _this.manager.isKeySorting;
103709
105703
 
@@ -103745,14 +105739,14 @@ function sortableContainer(WrappedComponent) {
103745
105739
  });
103746
105740
  });
103747
105741
 
103748
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onAutoScroll", function (offset) {
105742
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onAutoScroll", function (offset) {
103749
105743
  _this.translate.x += offset.left;
103750
105744
  _this.translate.y += offset.top;
103751
105745
 
103752
105746
  _this.animateNodes();
103753
105747
  });
103754
105748
 
103755
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleKeyDown", function (event) {
105749
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleKeyDown", function (event) {
103756
105750
  var keyCode = event.keyCode;
103757
105751
  var _this$props5 = _this.props,
103758
105752
  shouldCancelStart = _this$props5.shouldCancelStart,
@@ -103783,7 +105777,7 @@ function sortableContainer(WrappedComponent) {
103783
105777
  }
103784
105778
  });
103785
105779
 
103786
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "keyLift", function (event) {
105780
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "keyLift", function (event) {
103787
105781
  var target = event.target;
103788
105782
  var node = closest(target, function (el) {
103789
105783
  return el.sortableInfo != null;
@@ -103801,7 +105795,7 @@ function sortableContainer(WrappedComponent) {
103801
105795
  _this.handlePress(event);
103802
105796
  });
103803
105797
 
103804
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "keyMove", function (shift) {
105798
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "keyMove", function (shift) {
103805
105799
  var nodes = _this.manager.getOrderedRefs();
103806
105800
 
103807
105801
  var lastIndex = nodes[nodes.length - 1].node.sortableInfo.index;
@@ -103843,7 +105837,7 @@ function sortableContainer(WrappedComponent) {
103843
105837
  });
103844
105838
  });
103845
105839
 
103846
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "keyDrop", function (event) {
105840
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "keyDrop", function (event) {
103847
105841
  _this.handleSortEnd(event);
103848
105842
 
103849
105843
  if (_this.initialFocusedNode) {
@@ -103851,13 +105845,13 @@ function sortableContainer(WrappedComponent) {
103851
105845
  }
103852
105846
  });
103853
105847
 
103854
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleKeyEnd", function (event) {
105848
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "handleKeyEnd", function (event) {
103855
105849
  if (_this.manager.active) {
103856
105850
  _this.keyDrop(event);
103857
105851
  }
103858
105852
  });
103859
105853
 
103860
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "isValidSortingTarget", function (event) {
105854
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "isValidSortingTarget", function (event) {
103861
105855
  var useDragHandle = _this.props.useDragHandle;
103862
105856
  var target = event.target;
103863
105857
  var node = closest(target, function (el) {
@@ -104194,7 +106188,7 @@ function sortableContainer(WrappedComponent) {
104194
106188
  }]);
104195
106189
 
104196
106190
  return WithSortableContainer;
104197
- }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]), _defineProperty(_class, "displayName", provideDisplayName('sortableList', WrappedComponent)), _defineProperty(_class, "defaultProps", react_sortable_hoc_esm_defaultProps), _defineProperty(_class, "propTypes", propTypes), _temp;
106191
+ }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]), defineProperty_defineProperty(_class, "displayName", provideDisplayName('sortableList', WrappedComponent)), defineProperty_defineProperty(_class, "defaultProps", react_sortable_hoc_esm_defaultProps), defineProperty_defineProperty(_class, "propTypes", propTypes), _temp;
104198
106192
  }
104199
106193
 
104200
106194
  var propTypes$1 = {
@@ -104225,7 +106219,7 @@ function sortableElement(WrappedComponent) {
104225
106219
 
104226
106220
  _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithSortableElement)).call.apply(_getPrototypeOf2, [this].concat(args)));
104227
106221
 
104228
- _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "wrappedInstance", Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["createRef"])());
106222
+ defineProperty_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "wrappedInstance", Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["createRef"])());
104229
106223
 
104230
106224
  return _this;
104231
106225
  }
@@ -104301,7 +106295,7 @@ function sortableElement(WrappedComponent) {
104301
106295
  }]);
104302
106296
 
104303
106297
  return WithSortableElement;
104304
- }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]), _defineProperty(_class, "displayName", provideDisplayName('sortableElement', WrappedComponent)), _defineProperty(_class, "contextType", SortableContext), _defineProperty(_class, "propTypes", propTypes$1), _defineProperty(_class, "defaultProps", {
106298
+ }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]), defineProperty_defineProperty(_class, "displayName", provideDisplayName('sortableElement', WrappedComponent)), defineProperty_defineProperty(_class, "contextType", SortableContext), defineProperty_defineProperty(_class, "propTypes", propTypes$1), defineProperty_defineProperty(_class, "defaultProps", {
104305
106299
  collection: 0
104306
106300
  }), _temp;
104307
106301
  }
@@ -111828,6 +113822,16 @@ function getUTCWeek(dirtyDate, options) {
111828
113822
 
111829
113823
  module.exports = exports.default;
111830
113824
 
113825
+ /***/ }),
113826
+
113827
+ /***/ "xXiX":
113828
+ /***/ (function(module, exports, __webpack_require__) {
113829
+
113830
+ var parent = __webpack_require__("yIrs");
113831
+
113832
+ module.exports = parent;
113833
+
113834
+
111831
113835
  /***/ }),
111832
113836
 
111833
113837
  /***/ "xdyI":
@@ -112082,6 +114086,17 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
112082
114086
  });
112083
114087
 
112084
114088
 
114089
+ /***/ }),
114090
+
114091
+ /***/ "yIrs":
114092
+ /***/ (function(module, exports, __webpack_require__) {
114093
+
114094
+ __webpack_require__("1hU5");
114095
+ var path = __webpack_require__("j0PW");
114096
+
114097
+ module.exports = path.Object.freeze;
114098
+
114099
+
112085
114100
  /***/ }),
112086
114101
 
112087
114102
  /***/ "yULr":