@sheinx/base 3.5.0-beta.4 → 3.5.0-beta.6

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 (139) hide show
  1. package/cjs/absolute-list/absolute-context.d.ts.map +1 -1
  2. package/cjs/absolute-list/absolute-context.js +1 -0
  3. package/cjs/avatar/avatar.d.ts +5 -0
  4. package/cjs/avatar/avatar.d.ts.map +1 -0
  5. package/cjs/avatar/avatar.js +140 -0
  6. package/cjs/avatar/avatar.type.d.ts +101 -0
  7. package/cjs/avatar/avatar.type.d.ts.map +1 -0
  8. package/cjs/avatar/avatar.type.js +5 -0
  9. package/cjs/avatar/context.d.ts +5 -0
  10. package/cjs/avatar/context.d.ts.map +1 -0
  11. package/cjs/avatar/context.js +8 -0
  12. package/cjs/avatar/group.d.ts +5 -0
  13. package/cjs/avatar/group.d.ts.map +1 -0
  14. package/cjs/avatar/group.js +82 -0
  15. package/cjs/avatar/index.d.ts +5 -0
  16. package/cjs/avatar/index.d.ts.map +1 -0
  17. package/cjs/avatar/index.js +27 -0
  18. package/cjs/card/card.js +4 -2
  19. package/cjs/card-group/item.d.ts.map +1 -1
  20. package/cjs/card-group/item.js +20 -2
  21. package/cjs/card-group/lazyload.d.ts +1 -0
  22. package/cjs/card-group/lazyload.d.ts.map +1 -1
  23. package/cjs/card-group/lazyload.js +1 -1
  24. package/cjs/cascader/node.d.ts.map +1 -1
  25. package/cjs/cascader/node.js +3 -2
  26. package/cjs/form/form.d.ts.map +1 -1
  27. package/cjs/form/form.js +7 -1
  28. package/cjs/form/form.type.d.ts +1 -0
  29. package/cjs/form/form.type.d.ts.map +1 -1
  30. package/cjs/index.d.ts +1 -0
  31. package/cjs/index.d.ts.map +1 -1
  32. package/cjs/index.js +12 -0
  33. package/cjs/link/link.type.d.ts +10 -0
  34. package/cjs/link/link.type.d.ts.map +1 -1
  35. package/cjs/modal/modal.type.d.ts +2 -1
  36. package/cjs/modal/modal.type.d.ts.map +1 -1
  37. package/cjs/pagination/pagination-size-list.d.ts.map +1 -1
  38. package/cjs/pagination/pagination-size-list.js +8 -1
  39. package/cjs/pagination/pagination-size-list.type.d.ts +1 -1
  40. package/cjs/pagination/pagination-size-list.type.d.ts.map +1 -1
  41. package/cjs/pagination/pagination.d.ts.map +1 -1
  42. package/cjs/pagination/pagination.js +3 -1
  43. package/cjs/pagination/pagination.type.d.ts +15 -0
  44. package/cjs/pagination/pagination.type.d.ts.map +1 -1
  45. package/cjs/radio/radio-group.d.ts.map +1 -1
  46. package/cjs/radio/radio-group.js +6 -6
  47. package/cjs/select/result.d.ts.map +1 -1
  48. package/cjs/select/result.js +9 -4
  49. package/cjs/spin/base.js +2 -1
  50. package/cjs/spin/spin.js +2 -1
  51. package/cjs/spin/spin.type.d.ts +2 -2
  52. package/cjs/spin/spin.type.d.ts.map +1 -1
  53. package/cjs/spin/spins.js +13 -13
  54. package/cjs/table/colgroup.d.ts +1 -0
  55. package/cjs/table/colgroup.d.ts.map +1 -1
  56. package/cjs/table/colgroup.js +9 -3
  57. package/cjs/table/table.d.ts.map +1 -1
  58. package/cjs/table/table.js +6 -6
  59. package/cjs/table/table.type.d.ts +13 -3
  60. package/cjs/table/table.type.d.ts.map +1 -1
  61. package/cjs/table/tbody.d.ts.map +1 -1
  62. package/cjs/table/tbody.js +3 -1
  63. package/cjs/table/tbody.type.d.ts +1 -1
  64. package/cjs/table/tbody.type.d.ts.map +1 -1
  65. package/cjs/table/thead.d.ts.map +1 -1
  66. package/cjs/table/thead.js +26 -3
  67. package/cjs/table/tr.d.ts +1 -1
  68. package/cjs/table/tr.d.ts.map +1 -1
  69. package/cjs/table/tr.js +96 -12
  70. package/esm/absolute-list/absolute-context.d.ts.map +1 -1
  71. package/esm/absolute-list/absolute-context.js +1 -0
  72. package/esm/avatar/avatar.d.ts +5 -0
  73. package/esm/avatar/avatar.d.ts.map +1 -0
  74. package/esm/avatar/avatar.js +131 -0
  75. package/esm/avatar/avatar.type.d.ts +101 -0
  76. package/esm/avatar/avatar.type.d.ts.map +1 -0
  77. package/esm/avatar/avatar.type.js +1 -0
  78. package/esm/avatar/context.d.ts +5 -0
  79. package/esm/avatar/context.d.ts.map +1 -0
  80. package/esm/avatar/context.js +2 -0
  81. package/esm/avatar/group.d.ts +5 -0
  82. package/esm/avatar/group.d.ts.map +1 -0
  83. package/esm/avatar/group.js +74 -0
  84. package/esm/avatar/index.d.ts +5 -0
  85. package/esm/avatar/index.d.ts.map +1 -0
  86. package/esm/avatar/index.js +3 -0
  87. package/esm/card/card.js +4 -2
  88. package/esm/card-group/item.d.ts.map +1 -1
  89. package/esm/card-group/item.js +21 -2
  90. package/esm/card-group/lazyload.d.ts +1 -0
  91. package/esm/card-group/lazyload.d.ts.map +1 -1
  92. package/esm/card-group/lazyload.js +1 -1
  93. package/esm/cascader/node.d.ts.map +1 -1
  94. package/esm/cascader/node.js +3 -2
  95. package/esm/form/form.d.ts.map +1 -1
  96. package/esm/form/form.js +8 -2
  97. package/esm/form/form.type.d.ts +1 -0
  98. package/esm/form/form.type.d.ts.map +1 -1
  99. package/esm/index.d.ts +1 -0
  100. package/esm/index.d.ts.map +1 -1
  101. package/esm/index.js +1 -0
  102. package/esm/link/link.type.d.ts +10 -0
  103. package/esm/link/link.type.d.ts.map +1 -1
  104. package/esm/modal/modal.type.d.ts +2 -1
  105. package/esm/modal/modal.type.d.ts.map +1 -1
  106. package/esm/pagination/pagination-size-list.d.ts.map +1 -1
  107. package/esm/pagination/pagination-size-list.js +8 -1
  108. package/esm/pagination/pagination-size-list.type.d.ts +1 -1
  109. package/esm/pagination/pagination-size-list.type.d.ts.map +1 -1
  110. package/esm/pagination/pagination.d.ts.map +1 -1
  111. package/esm/pagination/pagination.js +3 -1
  112. package/esm/pagination/pagination.type.d.ts +15 -0
  113. package/esm/pagination/pagination.type.d.ts.map +1 -1
  114. package/esm/radio/radio-group.d.ts.map +1 -1
  115. package/esm/radio/radio-group.js +6 -6
  116. package/esm/select/result.d.ts.map +1 -1
  117. package/esm/select/result.js +9 -4
  118. package/esm/spin/base.js +2 -1
  119. package/esm/spin/spin.js +2 -1
  120. package/esm/spin/spin.type.d.ts +2 -2
  121. package/esm/spin/spin.type.d.ts.map +1 -1
  122. package/esm/spin/spins.js +13 -13
  123. package/esm/table/colgroup.d.ts +1 -0
  124. package/esm/table/colgroup.d.ts.map +1 -1
  125. package/esm/table/colgroup.js +9 -3
  126. package/esm/table/table.d.ts.map +1 -1
  127. package/esm/table/table.js +6 -6
  128. package/esm/table/table.type.d.ts +13 -3
  129. package/esm/table/table.type.d.ts.map +1 -1
  130. package/esm/table/tbody.d.ts.map +1 -1
  131. package/esm/table/tbody.js +3 -1
  132. package/esm/table/tbody.type.d.ts +1 -1
  133. package/esm/table/tbody.type.d.ts.map +1 -1
  134. package/esm/table/thead.d.ts.map +1 -1
  135. package/esm/table/thead.js +27 -4
  136. package/esm/table/tr.d.ts +1 -1
  137. package/esm/table/tr.d.ts.map +1 -1
  138. package/esm/table/tr.js +97 -13
  139. package/package.json +2 -2
package/esm/table/tr.js CHANGED
@@ -1,13 +1,23 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
13
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
14
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
15
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import React, { useEffect, useRef } from 'react';
16
+ import React, { useEffect, useRef, useState } from 'react';
8
17
  import { usePersistFn, util } from '@sheinx/hooks';
9
18
  import { addResizeObserver } from '@sheinx/hooks';
10
19
  import classNames from 'classnames';
20
+ import Spin from "../spin";
11
21
  import Icons from "../icons";
12
22
  import Checkbox from "../checkbox";
13
23
  import Radio from "../radio";
@@ -17,8 +27,9 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
17
27
  import { Fragment as _Fragment } from "react/jsx-runtime";
18
28
  var toNum = util.toNum;
19
29
  var Tr = function Tr(props) {
20
- var _props$jssStyle, _props$jssStyle$table, _props$rowClassName;
21
- var treeFunc = props.treeFunc;
30
+ var _props$jssStyle, _props$jssStyle$table, _jssStyle$input, _jssStyle$select, _jssStyle$datePicker, _jssStyle$treeSelect, _jssStyle$switch, _jssStyle$checkbox, _jssStyle$radio, _jssStyle$cascader, _props$rowClassName;
31
+ var treeFunc = props.treeFunc,
32
+ jssStyle = props.jssStyle;
22
33
  var tableClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$table = _props$jssStyle.table) === null || _props$jssStyle$table === void 0 ? void 0 : _props$jssStyle$table.call(_props$jssStyle);
23
34
  var trRef = useRef(null);
24
35
  var expandRef = useRef(null);
@@ -85,35 +96,94 @@ var Tr = function Tr(props) {
85
96
  cancelObserver();
86
97
  };
87
98
  }, []);
99
+ var _useState = useState(false),
100
+ _useState2 = _slicedToArray(_useState, 2),
101
+ isExpandLoading = _useState2[0],
102
+ setIsExpandLoading = _useState2[1];
103
+ var innerExpandClick = usePersistFn( /*#__PURE__*/function () {
104
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(showLoader) {
105
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
106
+ while (1) switch (_context.prev = _context.next) {
107
+ case 0:
108
+ if (!(showLoader && props.loader)) {
109
+ _context.next = 11;
110
+ break;
111
+ }
112
+ setIsExpandLoading(true);
113
+ _context.prev = 2;
114
+ _context.next = 5;
115
+ return props.loader(props.rawData, props.rowIndex);
116
+ case 5:
117
+ treeFunc.handleTreeExpand(props.rawData, props.rowIndex);
118
+ case 6:
119
+ _context.prev = 6;
120
+ setIsExpandLoading(false);
121
+ return _context.finish(6);
122
+ case 9:
123
+ _context.next = 12;
124
+ break;
125
+ case 11:
126
+ treeFunc.handleTreeExpand(props.rawData, props.rowIndex);
127
+ case 12:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }, _callee, null, [[2,, 6, 9]]);
132
+ }));
133
+ return function (_x) {
134
+ return _ref.apply(this, arguments);
135
+ };
136
+ }());
88
137
  var renderTreeExpand = function renderTreeExpand(content) {
89
138
  var treeIndent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 22;
90
139
  var level = props.treeExpandLevel.get(props.originKey) || 0;
91
140
  var className = tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.expandWrapper;
92
141
  var children = props.rawData[props.treeColumnsName];
142
+ var showLoader = children === undefined && typeof props.loader === 'function';
93
143
  var isExpanded = props.treeFunc.isTreeExpanded(props.rawData, props.rowIndex);
94
144
  var dirName = isRtl ? 'Right' : 'Left';
95
- if (!children || children.length === 0 && !props.treeEmptyExpand) {
145
+ var shouldRenderPlain = !children && !props.loader || (children === null || children === void 0 ? void 0 : children.length) === 0 && !props.treeEmptyExpand && !props.loader;
146
+ if (shouldRenderPlain) {
96
147
  return /*#__PURE__*/_jsx("span", {
97
148
  className: className,
98
149
  style: _defineProperty(_defineProperty({}, "margin".concat(dirName), level * treeIndent), "padding".concat(dirName), props.isEmptyTree ? 0 : 22),
99
150
  children: content
100
151
  });
101
152
  }
102
- return /*#__PURE__*/_jsxs("span", {
103
- className: className,
104
- style: {
105
- marginLeft: level * treeIndent
106
- },
107
- children: [/*#__PURE__*/_jsx("div", {
153
+ var $expandIcon;
154
+ if (typeof props.treeExpandIcon === 'function') {
155
+ $expandIcon = props.treeExpandIcon(props.rawData, props.rowIndex, isExpanded);
156
+ } else if (showLoader) {
157
+ $expandIcon = Icons.table.Collapse;
158
+ } else if ((children === null || children === void 0 ? void 0 : children.length) > 0 || props.treeEmptyExpand) {
159
+ $expandIcon = isExpanded ? Icons.table.Expand : Icons.table.Collapse;
160
+ }
161
+ if (isExpandLoading) {
162
+ $expandIcon = /*#__PURE__*/_jsx(Spin, {
163
+ size: 12,
164
+ jssStyle: props.jssStyle
165
+ });
166
+ }
167
+ var $expandIconWrapper;
168
+ if ($expandIcon !== null) {
169
+ $expandIconWrapper = /*#__PURE__*/_jsx("div", {
108
170
  className: classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.iconWrapper),
109
171
  children: /*#__PURE__*/_jsx("span", {
172
+ "data-role": "tree-expand-icon",
110
173
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.expandIcon,
111
174
  onClick: function onClick() {
112
- treeFunc.handleTreeExpand(props.rawData, props.rowIndex);
175
+ return innerExpandClick(showLoader);
113
176
  },
114
- children: isExpanded ? Icons.table.Expand : Icons.table.Collapse
177
+ children: $expandIcon
115
178
  })
116
- }), content]
179
+ });
180
+ }
181
+ return /*#__PURE__*/_jsxs("span", {
182
+ className: className,
183
+ style: {
184
+ marginLeft: level * treeIndent
185
+ },
186
+ children: [$expandIconWrapper, content]
117
187
  });
118
188
  };
119
189
  var renderContent = function renderContent(col, data) {
@@ -127,6 +197,7 @@ var Tr = function Tr(props) {
127
197
  className: classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.iconWrapper, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.expandIconWrapper),
128
198
  onClick: clickEvent,
129
199
  children: /*#__PURE__*/_jsx("span", {
200
+ "data-role": "expand-icon",
130
201
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.expandIcon,
131
202
  children: props.expanded ? Icons.table.Expand : Icons.table.Collapse
132
203
  })
@@ -209,6 +280,7 @@ var Tr = function Tr(props) {
209
280
  className: classNames(col.className, col.type === 'checkbox' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellCheckbox), col.fixed === 'left' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLeft), col.fixed === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedRight), col.align === 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignCenter), col.align === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignRight), (col.lastFixed || col.firstFixed || last.lastFixed) && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLast), lastRowIndex === i && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellIgnoreBorder), data[i].rowSpan > 1 && props.isCellHover(props.rowIndex, data[i].rowSpan) && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellHover)),
210
281
  style: getTdStyle(col, data[i].colSpan),
211
282
  dir: config.direction,
283
+ "data-role": col.type === 'checkbox' ? 'checkbox' : undefined,
212
284
  onClick: props.onCellClick ? function () {
213
285
  return handleCellClick(data[i].data, i);
214
286
  } : undefined,
@@ -245,6 +317,17 @@ var Tr = function Tr(props) {
245
317
  }
246
318
  }
247
319
  };
320
+ var preventClasses = [jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$treeSelect = jssStyle.treeSelect) === null || _jssStyle$treeSelect === void 0 ? void 0 : _jssStyle$treeSelect.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$switch = jssStyle.switch) === null || _jssStyle$switch === void 0 ? void 0 : _jssStyle$switch.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$checkbox = jssStyle.checkbox) === null || _jssStyle$checkbox === void 0 ? void 0 : _jssStyle$checkbox.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle).wrapper];
321
+ var isNotExpandableElement = function isNotExpandableElement(el) {
322
+ var tagName = el.tagName;
323
+ if (tagName === 'TD' || tagName === 'TR') return false;
324
+ if (tagName === 'A' || tagName === 'BUTTON' || tagName === 'INPUT') return true;
325
+ if (preventClasses.find(function (c) {
326
+ return el.classList.contains(c);
327
+ })) return true;
328
+ if (!el.parentElement) return true;
329
+ return isNotExpandableElement(el.parentElement);
330
+ };
248
331
  var handleRowClick = usePersistFn(function (e) {
249
332
  var target = e.target;
250
333
  var _props$rowClickAttr = props.rowClickAttr,
@@ -265,6 +348,7 @@ var Tr = function Tr(props) {
265
348
  }
266
349
  }
267
350
  }
351
+ if (isNotExpandableElement(target)) return;
268
352
  if (props.rowClickExpand) {
269
353
  props.handleExpandClick(props.expandCol, props.rawData, props.rowIndex);
270
354
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.5.0-beta.4",
3
+ "version": "3.5.0-beta.6",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.5.0-beta.4",
13
+ "@sheinx/hooks": "3.5.0-beta.6",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.3-alpha.0"