@kdcloudjs/table 1.2.2-canary.19 → 1.2.2-canary.20

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 (69) hide show
  1. package/LICENSE +568 -568
  2. package/README.md +111 -111
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.js +760 -530
  5. package/dist/@kdcloudjs/table.js.map +1 -1
  6. package/dist/kd-ui-complete.less +777 -777
  7. package/es/_utils/usePopper.d.ts +1 -1
  8. package/es/style/color/colors.less +1 -1
  9. package/es/style/core/index.less +1 -1
  10. package/es/style/core/motion/other.less +27 -27
  11. package/es/style/core/motion/slide.less +53 -53
  12. package/es/style/core/motion.less +1 -1
  13. package/es/style/core/reset.less +185 -185
  14. package/es/style/index.less +1 -1
  15. package/es/style/mixins/index.less +18 -18
  16. package/es/style/mixins/overlay.less +21 -21
  17. package/es/style/mixins/reset.less +12 -12
  18. package/es/style/themes/default.less +445 -445
  19. package/es/table/base/colgroup.d.ts +2 -2
  20. package/es/table/base/empty.d.ts +1 -1
  21. package/es/table/base/globalStyleComponent.d.ts +2 -2
  22. package/es/table/base/header.d.ts +2 -2
  23. package/es/table/base/html-table.d.ts +2 -2
  24. package/es/table/base/loading.d.ts +1 -1
  25. package/es/table/base/table.d.ts +1 -1
  26. package/es/table/common-views.d.ts +4 -4
  27. package/es/table/internals.d.ts +1 -2
  28. package/es/table/pipeline/features/colGroupExtendable.js +17 -4
  29. package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +2 -2
  30. package/es/table/pipeline/features/filter/DefaultFilterIcon.d.ts +2 -2
  31. package/es/table/pipeline/features/filter/Filter.d.ts +1 -1
  32. package/es/table/pipeline/features/filter/FilterPanel.d.ts +2 -2
  33. package/es/table/pivot/cross-table/cross-table.d.ts +1 -1
  34. package/es/table/pivot/cross-tree-table/cross-tree-table.d.ts +1 -1
  35. package/es/table/style/index.less +1 -1
  36. package/lib/_utils/usePopper.d.ts +1 -1
  37. package/lib/style/color/colors.less +1 -1
  38. package/lib/style/components.less +1 -1
  39. package/lib/style/core/index.less +1 -1
  40. package/lib/style/core/motion/other.less +27 -27
  41. package/lib/style/core/motion/slide.less +53 -53
  42. package/lib/style/core/motion.less +1 -1
  43. package/lib/style/core/reset.less +185 -185
  44. package/lib/style/index.less +1 -1
  45. package/lib/style/mixins/index.less +18 -18
  46. package/lib/style/mixins/overlay.less +21 -21
  47. package/lib/style/mixins/reset.less +12 -12
  48. package/lib/style/themes/default.less +445 -445
  49. package/lib/table/base/colgroup.d.ts +2 -2
  50. package/lib/table/base/empty.d.ts +1 -1
  51. package/lib/table/base/globalStyleComponent.d.ts +2 -2
  52. package/lib/table/base/header.d.ts +2 -2
  53. package/lib/table/base/html-table.d.ts +2 -2
  54. package/lib/table/base/loading.d.ts +1 -1
  55. package/lib/table/base/table.d.ts +1 -1
  56. package/lib/table/common-views.d.ts +4 -4
  57. package/lib/table/internals.d.ts +1 -2
  58. package/lib/table/pipeline/features/colGroupExtendable.js +17 -4
  59. package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +2 -2
  60. package/lib/table/pipeline/features/filter/DefaultFilterIcon.d.ts +2 -2
  61. package/lib/table/pipeline/features/filter/Filter.d.ts +1 -1
  62. package/lib/table/pipeline/features/filter/FilterPanel.d.ts +2 -2
  63. package/lib/table/pivot/cross-table/cross-table.d.ts +1 -1
  64. package/lib/table/pivot/cross-tree-table/cross-tree-table.d.ts +1 -1
  65. package/lib/table/style/index.less +1 -1
  66. package/package.json +219 -219
  67. package/dist/@kdcloudjs/table.min.css +0 -9
  68. package/dist/@kdcloudjs/table.min.js +0 -209
  69. package/dist/@kdcloudjs/table.min.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack://KDTable/webpack/universalModuleDefinition","webpack://KDTable/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://KDTable/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://KDTable/./node_modules/classnames/index.js","webpack://KDTable/./node_modules/core-js/modules/es.object.to-string.js","webpack://KDTable/./node_modules/core-js/modules/es.symbol.js","webpack://KDTable/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://KDTable/./node_modules/core-js/modules/es.array.filter.js","webpack://KDTable/./node_modules/core-js/modules/es.object.keys.js","webpack://KDTable/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://KDTable/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://KDTable/./node_modules/core-js/internals/fails.js","webpack://KDTable/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","webpack://KDTable/./node_modules/core-js/internals/function-uncurry-this.js","webpack://KDTable/./node_modules/core-js/modules/es.array.slice.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/extends.js","webpack://KDTable/./node_modules/core-js/modules/es.array.iterator.js","webpack://KDTable/./node_modules/core-js/internals/export.js","webpack://KDTable/./node_modules/core-js/modules/es.string.iterator.js","webpack://KDTable/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://KDTable/./node_modules/core-js/internals/well-known-symbol.js","webpack://KDTable/./node_modules/core-js/modules/es.symbol.description.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/createClass.js","webpack://KDTable/./node_modules/core-js/internals/global-this.js","webpack://KDTable/./node_modules/core-js/modules/es.function.name.js","webpack://KDTable/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://KDTable/./node_modules/core-js/modules/es.regexp.exec.js","webpack://KDTable/./node_modules/core-js/modules/es.array.concat.js","webpack://KDTable/./node_modules/core-js/modules/es.array.from.js","webpack://KDTable/./node_modules/core-js/internals/is-object.js","webpack://KDTable/./node_modules/core-js/internals/is-callable.js","webpack://KDTable/./node_modules/core-js/internals/has-own-property.js","webpack://KDTable/./node_modules/core-js/internals/descriptors.js","webpack://KDTable/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://KDTable/./node_modules/core-js/modules/es.array.map.js","webpack://KDTable/./node_modules/core-js/internals/function-call.js","webpack://KDTable/./node_modules/core-js/internals/an-object.js","webpack://KDTable/./node_modules/core-js/internals/object-define-property.js","webpack://KDTable/./node_modules/core-js/internals/to-string.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/typeof.js","webpack://KDTable/./node_modules/core-js/internals/to-object.js","webpack://KDTable/./node_modules/core-js/modules/es.set.js","webpack://KDTable/./node_modules/core-js/internals/length-of-array-like.js","webpack://KDTable/./node_modules/core-js/internals/define-built-in.js","webpack://KDTable/./node_modules/core-js/internals/to-indexed-object.js","webpack://KDTable/./node_modules/core-js/internals/classof-raw.js","webpack://KDTable/./node_modules/core-js/internals/get-built-in.js","webpack://KDTable/./node_modules/core-js/modules/es.map.js","webpack://KDTable/./node_modules/core-js/internals/require-object-coercible.js","webpack://KDTable/./node_modules/core-js/internals/object-create.js","webpack://KDTable/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://KDTable/./node_modules/core-js/internals/internal-state.js","webpack://KDTable/./node_modules/core-js/modules/es.array.find-index.js","webpack://KDTable/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://KDTable/./node_modules/core-js/internals/add-to-unscopables.js","webpack://KDTable/./node_modules/core-js/internals/shared.js","webpack://KDTable/./node_modules/core-js/internals/is-pure.js","webpack://KDTable/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://KDTable/./node_modules/core-js/internals/a-callable.js","webpack://KDTable/./node_modules/core-js/internals/try-to-string.js","webpack://KDTable/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://KDTable/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://KDTable/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://KDTable/./node_modules/core-js/internals/is-array.js","webpack://KDTable/./node_modules/core-js/internals/array-iteration.js","webpack://KDTable/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","webpack://KDTable/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/toArray.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://KDTable/./node_modules/core-js/internals/function-bind-native.js","webpack://KDTable/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://KDTable/./node_modules/core-js/internals/uid.js","webpack://KDTable/./node_modules/core-js/internals/is-symbol.js","webpack://KDTable/./node_modules/core-js/internals/get-method.js","webpack://KDTable/./node_modules/core-js/internals/hidden-keys.js","webpack://KDTable/./node_modules/core-js/internals/iterators.js","webpack://KDTable/./node_modules/core-js/internals/create-property-descriptor.js","webpack://KDTable/./node_modules/core-js/internals/set-to-string-tag.js","webpack://KDTable/./node_modules/core-js/internals/create-property.js","webpack://KDTable/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://KDTable/./node_modules/core-js/internals/array-slice.js","webpack://KDTable/./node_modules/core-js/internals/function-bind-context.js","webpack://KDTable/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://KDTable/./node_modules/core-js/modules/es.array.flat.js","webpack://KDTable/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://KDTable/./node_modules/core-js/internals/environment-v8-version.js","webpack://KDTable/./node_modules/core-js/internals/environment-user-agent.js","webpack://KDTable/./node_modules/core-js/internals/to-absolute-index.js","webpack://KDTable/./node_modules/core-js/internals/shared-key.js","webpack://KDTable/./node_modules/core-js/internals/function-name.js","webpack://KDTable/./node_modules/core-js/internals/is-forced.js","webpack://KDTable/./node_modules/core-js/internals/is-constructor.js","webpack://KDTable/./node_modules/core-js/internals/classof.js","webpack://KDTable/./node_modules/core-js/internals/regexp-get-flags.js","webpack://KDTable/./node_modules/core-js/internals/array-species-create.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/inherits.js","webpack://KDTable/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://KDTable/./node_modules/react-is/index.js","webpack://KDTable/(webpack)/buildin/global.js","webpack://KDTable/./node_modules/core-js/internals/shared-store.js","webpack://KDTable/./node_modules/core-js/internals/define-global-property.js","webpack://KDTable/./node_modules/core-js/internals/document-create-element.js","webpack://KDTable/./node_modules/core-js/internals/to-property-key.js","webpack://KDTable/./node_modules/core-js/internals/object-keys.js","webpack://KDTable/./node_modules/core-js/internals/to-length.js","webpack://KDTable/./node_modules/core-js/internals/enum-bug-keys.js","webpack://KDTable/./node_modules/core-js/internals/iterator-define.js","webpack://KDTable/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://KDTable/./node_modules/core-js/internals/create-iter-result-object.js","webpack://KDTable/./node_modules/core-js/internals/to-string-tag-support.js","webpack://KDTable/./node_modules/core-js/internals/regexp-exec.js","webpack://KDTable/./node_modules/core-js/modules/es.string.match.js","webpack://KDTable/./node_modules/core-js/internals/function-apply.js","webpack://KDTable/./node_modules/lodash/_baseGetTag.js","webpack://KDTable/./node_modules/lodash/_root.js","webpack://KDTable/./node_modules/lodash/isObject.js","webpack://KDTable/./node_modules/lodash/isArrayLike.js","webpack://KDTable/./node_modules/lodash/isObjectLike.js","webpack://KDTable/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://KDTable/./node_modules/core-js/internals/get-iterator-method.js","webpack://KDTable/./node_modules/core-js/internals/inherit-if-required.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://KDTable/./node_modules/core-js/modules/es.array.includes.js","webpack://KDTable/./node_modules/core-js/modules/es.array.splice.js","webpack://KDTable/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://KDTable/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://KDTable/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://KDTable/./node_modules/core-js/internals/indexed-object.js","webpack://KDTable/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://KDTable/./node_modules/core-js/internals/object-define-properties.js","webpack://KDTable/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://KDTable/./node_modules/core-js/internals/ie8-dom-define.js","webpack://KDTable/./node_modules/core-js/internals/to-primitive.js","webpack://KDTable/./node_modules/core-js/internals/object-keys-internal.js","webpack://KDTable/./node_modules/core-js/internals/array-includes.js","webpack://KDTable/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://KDTable/./node_modules/core-js/internals/make-built-in.js","webpack://KDTable/./node_modules/core-js/internals/inspect-source.js","webpack://KDTable/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://KDTable/./node_modules/core-js/internals/own-keys.js","webpack://KDTable/./node_modules/core-js/internals/iterators-core.js","webpack://KDTable/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://KDTable/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://KDTable/./node_modules/core-js/internals/regexp-flags.js","webpack://KDTable/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://KDTable/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://KDTable/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://KDTable/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://KDTable/./node_modules/core-js/internals/advance-string-index.js","webpack://KDTable/./node_modules/core-js/internals/string-multibyte.js","webpack://KDTable/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://KDTable/./node_modules/core-js/modules/es.string.replace.js","webpack://KDTable/./node_modules/core-js/internals/dom-iterables.js","webpack://KDTable/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://KDTable/./node_modules/core-js/internals/array-method-is-strict.js","webpack://KDTable/./node_modules/lodash/_assignValue.js","webpack://KDTable/./node_modules/lodash/_baseAssignValue.js","webpack://KDTable/./node_modules/lodash/_defineProperty.js","webpack://KDTable/./node_modules/lodash/isFunction.js","webpack://KDTable/./node_modules/lodash/_Symbol.js","webpack://KDTable/./node_modules/lodash/_freeGlobal.js","webpack://KDTable/./node_modules/lodash/eq.js","webpack://KDTable/./node_modules/lodash/identity.js","webpack://KDTable/./node_modules/lodash/isLength.js","webpack://KDTable/./node_modules/lodash/_isIndex.js","webpack://KDTable/./node_modules/lodash/_isPrototype.js","webpack://KDTable/(webpack)/buildin/module.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://KDTable/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://KDTable/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://KDTable/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://KDTable/./node_modules/core-js/internals/path.js","webpack://KDTable/./node_modules/core-js/internals/symbol-registry-detection.js","webpack://KDTable/./node_modules/core-js/internals/iterator-close.js","webpack://KDTable/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://KDTable/./node_modules/core-js/internals/get-iterator.js","webpack://KDTable/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://KDTable/./node_modules/core-js/internals/is-regexp.js","webpack://KDTable/./node_modules/core-js/internals/set-species.js","webpack://KDTable/./node_modules/core-js/modules/es.reflect.construct.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://KDTable/./node_modules/core-js/modules/es.number.constructor.js","webpack://KDTable/./node_modules/core-js/internals/collection.js","webpack://KDTable/./node_modules/core-js/internals/internal-metadata.js","webpack://KDTable/./node_modules/core-js/internals/iterate.js","webpack://KDTable/./node_modules/core-js/internals/an-instance.js","webpack://KDTable/./node_modules/core-js/internals/collection-strong.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://KDTable/./node_modules/core-js/modules/es.string.includes.js","webpack://KDTable/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://KDTable/./node_modules/core-js/modules/es.array.find.js","webpack://KDTable/./node_modules/lodash/assign.js","webpack://KDTable/./node_modules/shallowequal/index.js","webpack://KDTable/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://KDTable/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://KDTable/./index.js","webpack://KDTable/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://KDTable/./node_modules/core-js/internals/math-trunc.js","webpack://KDTable/./node_modules/core-js/internals/html.js","webpack://KDTable/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://KDTable/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://KDTable/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://KDTable/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://KDTable/./node_modules/core-js/internals/a-possible-prototype.js","webpack://KDTable/./node_modules/core-js/internals/is-possible-prototype.js","webpack://KDTable/./node_modules/core-js/internals/object-to-string.js","webpack://KDTable/./node_modules/core-js/internals/regexp-flags-detection.js","webpack://KDTable/./node_modules/core-js/internals/get-substitution.js","webpack://KDTable/./node_modules/core-js/internals/array-for-each.js","webpack://KDTable/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://KDTable/./node_modules/core-js/internals/array-species-constructor.js","webpack://KDTable/./components sync ^\\.\\/[^_][\\w-]+\\/style\\/index\\.tsx","webpack://KDTable/./components/table/style/index.tsx","webpack://KDTable/./node_modules/lodash/_getNative.js","webpack://KDTable/./node_modules/lodash/_baseIsNative.js","webpack://KDTable/./node_modules/lodash/_getRawTag.js","webpack://KDTable/./node_modules/lodash/_objectToString.js","webpack://KDTable/./node_modules/lodash/_isMasked.js","webpack://KDTable/./node_modules/lodash/_coreJsData.js","webpack://KDTable/./node_modules/lodash/_toSource.js","webpack://KDTable/./node_modules/lodash/_getValue.js","webpack://KDTable/./node_modules/lodash/_copyObject.js","webpack://KDTable/./node_modules/lodash/_createAssigner.js","webpack://KDTable/./node_modules/lodash/_baseRest.js","webpack://KDTable/./node_modules/lodash/_overRest.js","webpack://KDTable/./node_modules/lodash/_apply.js","webpack://KDTable/./node_modules/lodash/_setToString.js","webpack://KDTable/./node_modules/lodash/_baseSetToString.js","webpack://KDTable/./node_modules/lodash/constant.js","webpack://KDTable/./node_modules/lodash/_shortOut.js","webpack://KDTable/./node_modules/lodash/_isIterateeCall.js","webpack://KDTable/./node_modules/lodash/keys.js","webpack://KDTable/./node_modules/lodash/_arrayLikeKeys.js","webpack://KDTable/./node_modules/lodash/_baseTimes.js","webpack://KDTable/./node_modules/lodash/isArguments.js","webpack://KDTable/./node_modules/lodash/_baseIsArguments.js","webpack://KDTable/./node_modules/lodash/isArray.js","webpack://KDTable/./node_modules/lodash/isBuffer.js","webpack://KDTable/./node_modules/lodash/stubFalse.js","webpack://KDTable/./node_modules/lodash/isTypedArray.js","webpack://KDTable/./node_modules/lodash/_baseIsTypedArray.js","webpack://KDTable/./node_modules/lodash/_baseUnary.js","webpack://KDTable/./node_modules/lodash/_nodeUtil.js","webpack://KDTable/./node_modules/lodash/_baseKeys.js","webpack://KDTable/./node_modules/lodash/_nativeKeys.js","webpack://KDTable/./node_modules/lodash/_overArg.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://KDTable/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://KDTable/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://KDTable/./node_modules/core-js/modules/es.symbol.for.js","webpack://KDTable/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://KDTable/./node_modules/core-js/modules/es.json.stringify.js","webpack://KDTable/./node_modules/core-js/internals/is-raw-json.js","webpack://KDTable/./node_modules/core-js/internals/parse-json-string.js","webpack://KDTable/./node_modules/core-js/internals/native-raw-json.js","webpack://KDTable/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://KDTable/./node_modules/core-js/internals/array-from.js","webpack://KDTable/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://KDTable/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://KDTable/./node_modules/core-js/internals/proxy-accessor.js","webpack://KDTable/./node_modules/core-js/internals/function-bind.js","webpack://KDTable/./node_modules/core-js/internals/a-constructor.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://KDTable/./node_modules/core-js/internals/flatten-into-array.js","webpack://KDTable/./node_modules/core-js/internals/this-number-value.js","webpack://KDTable/./node_modules/core-js/internals/string-trim.js","webpack://KDTable/./node_modules/core-js/internals/whitespaces.js","webpack://KDTable/./node_modules/core-js/modules/es.array.fill.js","webpack://KDTable/./node_modules/core-js/internals/array-fill.js","webpack://KDTable/./node_modules/core-js/modules/es.object.is.js","webpack://KDTable/./node_modules/core-js/internals/same-value.js","webpack://KDTable/./node_modules/core-js/modules/es.set.constructor.js","webpack://KDTable/./node_modules/core-js/internals/object-is-extensible.js","webpack://KDTable/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://KDTable/./node_modules/core-js/internals/freezing.js","webpack://KDTable/./node_modules/core-js/internals/define-built-ins.js","webpack://KDTable/./node_modules/process/browser.js","webpack://KDTable/./node_modules/react-is/cjs/react-is.production.min.js","webpack://KDTable/./node_modules/core-js/modules/es.map.constructor.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://KDTable/./node_modules/core-js/internals/not-a-regexp.js","webpack://KDTable/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://KDTable/./node_modules/core-js/internals/array-set-length.js","webpack://KDTable/./node_modules/core-js/modules/es.array.sort.js","webpack://KDTable/./node_modules/core-js/internals/array-sort.js","webpack://KDTable/./node_modules/core-js/internals/environment-ff-version.js","webpack://KDTable/./node_modules/core-js/internals/environment-is-ie-or-edge.js","webpack://KDTable/./node_modules/core-js/internals/environment-webkit-version.js","webpack://KDTable/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://KDTable/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://KDTable/./components/locale/zh-CN.tsx","webpack://KDTable/./components/locale/locale.tsx","webpack://KDTable/./components/config-provider/defaultConfig.tsx","webpack://KDTable/./components/config-provider/ConfigContext.tsx","webpack://KDTable/./components/locale/index.ts","webpack://KDTable/./components/config-provider/index.tsx","webpack://KDTable/./components/config-provider/configProvider.tsx","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isArray.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isObject.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Subscription.js","webpack://KDTable/./node_modules/tslib/tslib.es6.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/config.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Observer.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Subscriber.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/identity.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/pipe.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Observable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Subject.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/BehaviorSubject.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isScheduler.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/OuterSubscriber.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/InnerSubscriber.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/symbol/iterator.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isArrayLike.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isPromise.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/subscribeTo.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/fromArray.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/combineLatest.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/isIterable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/from.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/util/noop.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/Action.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Scheduler.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/async.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/debounceTime.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/skip.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/mapTo.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/queue.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/empty.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/of.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/throwError.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/Notification.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/observeOn.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/ReplaySubject.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/shareReplay.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/map.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/innerSubscribe.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/mergeMap.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/mergeAll.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/concat.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/concatAll.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/startWith.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/pairwise.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/filter.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/tap.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/switchMap.js","webpack://KDTable/./components/table/utils/console.ts","webpack://KDTable/./components/table/utils/isLeafNode.ts","webpack://KDTable/./components/table/utils/collectNodes.ts","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/fromEvent.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/throttle.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/throttleTime.js","webpack://KDTable/./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js","webpack://KDTable/./components/table/utils/mergeCellProps.ts","webpack://KDTable/./components/table/utils/browserType.tsx","webpack://KDTable/./components/table/utils/uiDegrade.ts","webpack://KDTable/./components/table/base/styles.ts","webpack://KDTable/./components/table/utils/element.ts","webpack://KDTable/./components/table/base/utils.tsx","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/defer.js","webpack://KDTable/./components/table/base/calculations.tsx","webpack://KDTable/./components/table/base/colgroup.tsx","webpack://KDTable/./components/table/base/empty.tsx","webpack://KDTable/./components/table/utils/getTreeDepth.ts","webpack://KDTable/./components/table/base/header.tsx","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://KDTable/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://KDTable/./components/table/base/helpers/getRichVisibleRectsStream.ts","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://KDTable/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://KDTable/./node_modules/rxjs/_esm5/internal/observable/merge.js","webpack://KDTable/./components/table/base/helpers/rowHeightManager.ts","webpack://KDTable/./components/table/base/helpers/TableDOMUtils.tsx","webpack://KDTable/./components/table/base/helpers/FastScrollManager.ts","webpack://KDTable/./components/table/internals.ts","webpack://KDTable/./components/table/base/helpers/SpanManager.ts","webpack://KDTable/./components/table/base/html-table.tsx","webpack://KDTable/./components/table/base/loading.tsx","webpack://KDTable/./components/table/base/globalStyleComponent.tsx","webpack://KDTable/./components/table/base/renderTemplates.tsx","webpack://KDTable/./components/table/base/BlankComponent.tsx","webpack://KDTable/./components/table/base/table.tsx","webpack://KDTable/./components/table/utils/groupBy.ts","webpack://KDTable/./components/table/utils/isGroupColumn.ts","webpack://KDTable/./components/table/utils/applyTransforms.ts","webpack://KDTable/./components/table/utils/others.ts","webpack://KDTable/./components/table/utils/buildTree.tsx","webpack://KDTable/./components/table/utils/exportTableAsExcel.ts","webpack://KDTable/./components/table/utils/layeredSort.ts","webpack://KDTable/./components/table/utils/proto.ts","webpack://KDTable/./components/table/utils/makeRecursiveMapper.ts","webpack://KDTable/./components/table/utils/smartCompare.ts","webpack://KDTable/./components/table/utils/traverseColumn.ts","webpack://KDTable/./components/table/utils/copyToClipboard.ts","webpack://KDTable/./components/table/utils/layeredFilter.ts","webpack://KDTable/./components/table/utils/selectColumn.ts","webpack://KDTable/./components/table/transforms/warnTransformsDeprecated.tsx","webpack://KDTable/./components/table/transforms/autoRowSpan.ts","webpack://KDTable/./components/table/transforms/autoWidth.tsx","webpack://KDTable/./components/table/transforms/buildTree.ts","webpack://KDTable/./components/table/transforms/columnHover.tsx","webpack://KDTable/./components/table/transforms/columnRangeHover.ts","webpack://KDTable/./node_modules/rxjs/_esm5/internal/operators/takeUntil.js","webpack://KDTable/./components/table/transforms/columnResize.tsx","webpack://KDTable/./components/table/transforms/flatten.ts","webpack://KDTable/./components/table/transforms/orderField.ts","webpack://KDTable/./components/table/transforms/sort.tsx","webpack://KDTable/./components/table/common-views.tsx","webpack://KDTable/./components/table/transforms/tips.tsx","webpack://KDTable/./components/table/pipeline/features/treeMode.tsx","webpack://KDTable/./components/table/transforms/treeMode.tsx","webpack://KDTable/./components/table/transforms/visible.ts","webpack://KDTable/./components/table/pipeline/features/autoRowSpan.tsx","webpack://KDTable/./components/table/pipeline/features/buildTree.tsx","webpack://KDTable/./components/table/pipeline/features/columnHover.tsx","webpack://KDTable/./components/table/pipeline/features/columnRangeHover.tsx","webpack://KDTable/./components/table/pipeline/features/multiSelect.tsx","webpack://KDTable/./components/table/pipeline/features/rowDetail.tsx","webpack://KDTable/./components/table/pipeline/features/rowGrouping.tsx","webpack://KDTable/./components/table/pipeline/features/singleSelect.tsx","webpack://KDTable/./components/table/pipeline/features/sort.tsx","webpack://KDTable/./components/table/pipeline/features/tips.tsx","webpack://KDTable/./components/table/utils/tree-data-helpers/StrictTreeDataHelper.ts","webpack://KDTable/./components/table/utils/tree-data-helpers/TreeDataHelper.ts","webpack://KDTable/./components/table/pipeline/features/treeSelect.tsx","webpack://KDTable/./components/table/pipeline/features/utils/touchEventUtils.tsx","webpack://KDTable/./components/table/pipeline/features/columnResizeWidth.tsx","webpack://KDTable/./components/table/pipeline/features/autoFill.tsx","webpack://KDTable/./components/table/pipeline/features/columnDrag.tsx","webpack://KDTable/./components/table/pipeline/features/contextMenu.tsx","webpack://KDTable/./components/table/pipeline/features/filter/DefaultFilterIcon.tsx","webpack://KDTable/./components/table/utils/keyCode.ts","webpack://KDTable/./components/table/pipeline/features/filter/FilterPanel.tsx","webpack://KDTable/./components/table/pipeline/features/filter/util.tsx","webpack://KDTable/./components/table/pipeline/features/filter/DefaultFilterContent.tsx","webpack://KDTable/./components/table/pipeline/features/filter/Filter.tsx","webpack://KDTable/./components/table/pipeline/features/columnFilter.tsx","webpack://KDTable/./components/table/pipeline/features/rangeSelection.tsx","webpack://KDTable/./components/table/pipeline/features/mergeCellHover.tsx","webpack://KDTable/./components/table/pipeline/features/footerDataSource.ts","webpack://KDTable/./components/table/pipeline/features/colGroupExtendable.tsx","webpack://KDTable/./components/table/pipeline/const.ts","webpack://KDTable/./components/table/pipeline/features/rowDrag.tsx","webpack://KDTable/./components/table/pipeline/features/featureApi/RowDragApi.ts","webpack://KDTable/./components/table/pipeline/pipeline.ts","webpack://KDTable/./components/table/pipeline/features/featureApi/utils.ts","webpack://KDTable/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__70__","toPropertyKey","e","r","t","Object","defineProperty","value","enumerable","configurable","writable","__esModule","hasOwn","classNames","classes","i","arguments","length","arg","appendClass","Array","isArray","apply","toString","prototype","includes","key","call","newClass","hasOwnProperty","default","TO_STRING_TAG_SUPPORT","defineBuiltIn","unsafe","handlePrototype","CollectionPrototype","forEach","createNonEnumerableProperty","error","COLLECTION_NAME","globalThis","DOMIterables","DOMTokenListPrototype","$","$filter","filter","target","proto","forced","callbackfn","this","undefined","toObject","nativeKeys","stat","keys","it","fails","toIndexedObject","nativeGetOwnPropertyDescriptor","f","DESCRIPTORS","sham","getOwnPropertyDescriptor","ownKeys","getOwnPropertyDescriptorModule","createProperty","getOwnPropertyDescriptors","object","descriptor","O","result","index","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","exec","y","assign","n","v","o","push","g","S","freeze","w","E","b","displayName","name","_","styledComponentId","N","process","env","REACT_APP_SC_ATTR","SC_ATTR","C","I","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","P","D","Error","join","V","T","has","get","x","k","set","q","document","head","createElement","s","childNodes","nodeType","hasAttribute","nextSibling","setAttribute","Y","insertBefore","K","String","fromCharCode","indexOfGroup","groupSizes","insertRules","Uint32Array","a","c","tag","insertRule","clearGroup","deleteRule","getGroup","getRule","j","Map","z","M","G","RegExp","L","split","registerName","H","sheet","cssRules","cssText","createTextNode","nodes","element","removeChild","textContent","W","rules","splice","U","J","isServer","useCSSOMInjection","X","registerId","reconstructWithOptions","options","gs","names","allocateGSInstance","getTag","hasNameForId","add","Set","clearNames","clear","clearRules","clearTag","u","size","Z","server","querySelectorAll","getAttribute","trim","match","parseInt","parentNode","appendChild","styleSheets","ownerNode","Q","Math","abs","replace","ee","charCodeAt","te","ne","re","oe","generateAndInjectStyles","componentId","baseStyle","isStatic","hash","staticRulesId","_e","baseHash","m","l","d","h","p","se","ie","ae","indexOf","plugins","use","concat","lastIndexOf","reduce","ce","createContext","le","Consumer","de","he","pe","fe","me","stylisPlugins","disableCSSOMInjection","prefix","disableVendorPrefixes","Provider","children","getName","ye","ve","ge","Se","we","toLowerCase","inject","id","Ee","test","be","isReactComponent","isCss","startsWith","Ne","Ae","Oe","theme","Re","De","je","Te","xe","ke","Ve","ze","Me","Fe","Ye","attrs","parentComponentId","shouldForwardProp","A","componentStyle","defaultProps","foldedComponentIds","$as","as","style","className","ref","forwardRef","withComponent","_foldedDefaultProps","qe","withConfig","createStyles","removeStyles","renderStyles","He","$e","JSON","stringify","current","memo","collectStyles","sealed","instance","interleaveWithNodeStream","_emitSheetCSS","getStyleTags","getStyleElement","dangerouslySetInnerHTML","__html","nonce","seal","arrayWithHoles","iterableToArrayLimit","nonIterableRest","slice","defineProperties","raw","NATIVE_BIND","FunctionPrototype","Function","uncurryThisWithBind","bind","fn","isConstructor","isObject","toAbsoluteIndex","lengthOfArrayLike","wellKnownSymbol","arrayMethodHasSpeciesSupport","nativeSlice","HAS_SPECIES_SUPPORT","SPECIES","$Array","max","start","end","Constructor","fin","constructor","_extends","addToUnscopables","Iterators","InternalStateModule","defineIterator","createIterResultObject","IS_PURE","ARRAY_ITERATOR","setInternalState","getInternalState","getterFor","values","iterated","kind","type","state","Arguments","defineGlobalProperty","copyConstructorProperties","isForced","source","sourceProperty","TARGET","GLOBAL","global","STATIC","targetProperty","dontCallGetSet","charAt","STRING_ITERATOR","string","point","ITERATOR","ArrayValues","setToStringTag","METHOD_NAME","ArrayIteratorMethods","shared","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","EmptyStringDescriptionStore","thisSymbolValue","symbolDescriptiveString","regexp","stringSlice","uncurryThis","isCallable","isPrototypeOf","defineBuiltInAccessor","NativeSymbol","SymbolPrototype","description","SymbolWrapper","valueOf","symbol","desc","TypeError","_defineProperties","check","self","FUNCTION_NAME_EXISTS","EXISTS","functionToString","nameRE","regExpExec","PROPER_FUNCTION_NAME","PROPER","anObject","$toString","getRegExpFlags","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","flags","INCORRECT_NAME","R","doesNotExceedSafeInteger","arraySpeciesCreate","V8_VERSION","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","array","arity","len","spreadable","from","iterable","documentAll","all","argument","$map","map","$String","$TypeError","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","classof","_typeof","iterator","requireObjectCoercible","$Object","toLength","obj","definePropertyModule","makeBuiltIn","simple","nonConfigurable","nonWritable","IndexedObject","namespace","method","isNullOrUndefined","EmptyConstructor","NullProtoObjectViaActiveX","activeXDocument","write","scriptTag","close","temp","parentWindow","definePropertiesModule","enumBugKeys","hiddenKeys","html","documentCreateElement","sharedKey","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","content","NullProtoObject","ActiveXObject","domain","iframe","JS","display","src","iframeDocument","contentWindow","open","F","create","Properties","store","STATE","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","WeakMap","metadata","facade","enforce","TYPE","$findIndex","findIndex","FIND_INDEX","SKIPS_HOLES","createPropertyDescriptor","UNSCOPABLES","ArrayPrototype","getOwnPropertySymbols","tryToString","trunc","number","propertyIsEnumerableModule","internalObjectKeys","getOwnPropertyNames","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","that","specificCreate","boundFunction","some","every","find","filterReject","objectWithoutPropertiesLoose","propertyIsEnumerable","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","postfix","random","getBuiltIn","$Symbol","aCallable","func","bitmap","TO_STRING_TAG","TAG","foo","getter","setter","flattenIntoArray","toIntegerOrInfinity","flat","depthArg","sourceLen","version","userAgent","Deno","versions","v8","navigator","min","integer","getDescriptor","feature","detection","data","normalize","POLYFILL","NATIVE","replacement","noop","isConstructorModern","construct","isConstructorLegacy","INCORRECT_TO_STRING","constructorRegExp","inspectSource","called","classofRaw","CORRECT_ARGUMENTS","callee","regExpFlagsDetection","regExpFlagsGetterImplementation","correct","arraySpeciesConstructor","originalArray","assertThisInitialized","MapShim","class_1","__entries__","getIndex","entry","delete","entries","callback","ctx","_i","_a","arr","isBrowser","global$1","requestAnimationFrame$1","requestAnimationFrame","setTimeout","Date","now","trailingTimeout","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","addObserver","observer","observers_","connected_","connect_","removeObserver","observers","disconnect_","refresh","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","addEventListener","onTransitionEnd_","mutationsObserver_","observe","attributes","childList","characterData","subtree","mutationEventsAdded_","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","resolvePending","leadingCall","trailingCall","proxy","timeoutCallback","timeStamp","lastCallTime","delay","defineConfigurable","props","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","position","getHTMLElementContentRect","paddings","horizPad","vertPad","width","height","vertScrollbar","clientWidth","clientHeight","positions_1","getComputedStyle","left","right","top","bottom","boxSizing","round","documentElement","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","ResizeObservation","isActive","rect","contentRect_","broadcastWidth","broadcastHeight","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","contentRect","ResizeObserverSPI","Element","observations","observations_","controller_","unobserve","clearActive","_this","observation","activeObservations_","callbackCtx_","callback_","controller","callbackCtx","ResizeObserver","SHARED","mode","copyright","license","toPrimitive","isSymbol","returnThis","FunctionName","createIteratorConstructor","IteratorsCore","CONFIGURABLE_FUNCTION_NAME","IteratorPrototype","BUGGY_SAFARI_ITERATORS","VALUES","ENTRIES","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","methods","KEY","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","done","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re2","re1","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","str","groups","sticky","charsAdded","strCopy","multiline","input","fixRegExpWellKnownSymbolLogic","getMethod","advanceStringIndex","stringIndexOf","MATCH","nativeMatch","maybeCallNative","matcher","rx","res","fullUnicode","matchStr","Reflect","getRawTag","objectToString","symToStringTag","toStringTag","freeGlobal","freeSelf","isFunction","isLength","dummy","Wrapper","NewTarget","NewTargetPrototype","arrayLikeToArray","$includes","el","setArrayLength","deletePropertyOrThrow","deleteCount","insertCount","actualDeleteCount","to","actualStart","argumentsLength","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","memoize","cache","reactPropsRegex","isPropValid","prop","objectKeys","ordinaryToPrimitive","TO_PRIMITIVE","pref","exoticToPrim","IS_INCLUDES","fromIndex","$propertyIsEnumerable","NASHORN_BUG","1","enforceInternalState","CONFIGURABLE_LENGTH","TEMPLATE","exceptions","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","arrayIterator","PrototypeOfArrayIteratorPrototype","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","hasIndices","ignoreCase","dotAll","unicode","unicodeSets","$RegExp","MISSED_STICKY","regexpExec","SHAM","nativeRegExpMethod","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeMethod","arg2","forceStringMethod","$exec","CONVERT_TO_STRING","pos","first","second","codeAt","getSubstitution","REPLACE","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","baseAssignValue","eq","objValue","getNative","baseGetTag","other","reIsUint","objectProto","Ctor","webpackPolyfill","deprecate","paths","$getOwnPropertyNames","arraySlice","windowNames","path","wrappedWellKnownSymbolModule","keyFor","innerResult","innerError","getIteratorMethod","usingIterator","iteratorMethod","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","isRegExp","CONSTRUCTOR_NAME","aConstructor","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","args","newTarget","$args","NumberWrapper","NativeNumber","primValue","toNumber","NumberPrototype","thisNumberValue","inheritIfRequired","NUMBER","PureNumberNamespace","third","radix","maxCode","digits","code","NaN","wrap","Number","InternalMetadataModule","iterate","anInstance","checkCorrectnessOfIteration","wrapper","common","fixMethod","uncurriedNativeMethod","NativePrototype","IS_WEAK","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","ADDER","NativeConstructor","exported","getConstructor","enable","$instance","AS_ENTRIES","setStrong","setMetadata","METADATA","objectID","weakData","getOwnPropertyNamesExternalModule","isExtensible","FREEZING","REQUIRED","meta","fastKey","getWeakData","onFreeze","Result","stopped","isArrayIteratorMethod","getIterator","iteratorClose","ResultPrototype","unboundFunction","stop","condition","callFn","INTERRUPTED","step","IS_RECORD","IS_ITERATOR","iterFn","Prototype","defineBuiltIns","setSpecies","internalStateGetterFor","getEntry","last","previous","removed","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","notARegExp","correctIsRegExpLogic","searchString","$find","FIND","assignValue","copyObject","createAssigner","isArrayLike","isPrototype","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","ia","substring","ja","ka","aa","ba","la","ma","na","ea","oa","B","ca","da","fa","ha","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","req","mod","toUpperCase","val","ceil","floor","ENUMERABLE_NEXT","isPossiblePrototype","FLAGS_GETTER_IS_CORRECT","INDICES_SUPPORT","calls","expected","pairs","chr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","tailPos","symbols","ch","capture","$forEach","STRICT_METHOD","webpackContext","webpackContextResolve","__webpack_require__","resolve","baseIsNative","getValue","isMasked","toSource","reIsHostCtor","funcProto","funcToString","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","customizer","isNew","newValue","baseRest","isIterateeCall","assigner","sources","guard","identity","overRest","setToString","nativeMax","transform","otherArgs","thisArg","baseSetToString","constant","nativeNow","count","lastCalled","stamp","remaining","isIndex","arrayLikeKeys","baseKeys","baseTimes","isArguments","isBuffer","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","baseIsArguments","isObjectLike","stubFalse","freeExports","freeModule","Buffer","nativeIsBuffer","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","typedArrayTags","freeProcess","types","binding","fallbackDefineProperty","ObjectPrototypeDescriptor","nativeDefineProperty","AllSymbols","nativeObjectCreate","ObjectPrototypeSymbols","HIDDEN","setSymbolDescriptor","$defineProperties","properties","$getOwnPropertySymbols","nativePropertyIsEnumerable","nativeGetOwnPropertyNames","IS_OBJECT_PROTOTYPE","getOwnPropertyNamesExternal","defineWellKnownSymbol","defineSymbolToPrimitive","RangeError","QObject","USE_SETTER","findChild","useSetter","useSimple","hint","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","fixIllFormedJSON","offset","lowSurrogates","hiSurrogates","numberToString","isRawJSON","parseJSONString","NATIVE_RAW_JSON","$stringify","surrogates","MARK","MARK_LENGTH","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithProperSymbolsConversion","$replacer","getReplacerFunction","rawLength","keysLength","text","space","replacerFunction","rawStrings","json","rawJSON","$SyntaxError","SyntaxError","$parseInt","at","codePoints","IS_4_HEX_DIGITS","IS_C0_CONTROL_CODE","unterminated","twoChars","fourHexDigits","unsafeInt","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","proxyAccessor","NativeRegExp","IS_NCG","CORRECT_NEW","BASE_FORCED","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","rawFlags","handled","named","brackets","ncg","groupid","groupname","Source","$Function","factories","partArgs","argsLength","list","ReferenceError","_setPrototypeOf","original","depth","mapper","elementLen","targetIndex","sourceIndex","mapFn","ltrim","rtrim","whitespaces","fill","endPos","is","init","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","buffer","ArrayBuffer","preventExtensions","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","clearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","runClearTimeout","marker","Item","nextTick","title","browser","argv","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","cwd","chdir","dir","umask","for","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","error1","error2","SILENT_ON_NON_WRITABLE_LENGTH_SET","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","comparefn","itemsLength","items","arrayLength","middle","llength","rlength","lindex","rindex","firefox","UA","webkit","MAX_SAFE_INTEGER","locale","contain","notContain","equal","notEqual","isNull","notIsNull","resetFilter","confirmFilter","getLangMsg","componentName","labelName","params","_step","msg","localData","localeCacher","getLocalData","variables","matchArr","stringVar","eleVar","_iterator","_createForOfIteratorHelper","varName","err","item","reg","msgArr","elements","React","cloneElement","_createClass","LocaleCache","localesData","_classCallCheck","_defineProperty","zhCNData","localeData","newLocaleData","console","getCompLangMsg","compLangMsgParams","customGetLangMsg","localeDate","labels","labelParams","componentNameAndLabel","componentLangMsg","label","defaultConfig","getPrefixCls","configPrefixCls","suffixCls","customizePrefixCls","prefixCls","ConfigContext","ConfigProvider","localeConfig","getLang","getCompLang","providerValue","setLocalesData","UnsubscriptionError","UnsubscriptionErrorImpl","errors","message","Subscription","unsubscribe","closed","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","empty","remove","flattenUnsubscriptionErrors","sub","teardown","tmp","subscription","EMPTY","subscriptions","subscriptionIndex","errs","extendStatics","__extends","__","_enable_super_gross_mode_that_will_cause_bad_things","Promise","stack","hostReportError","useDeprecatedSynchronousErrorHandling","complete","rxSubscriber","_super","Subscriber","destinationOrNext","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","subscriber","_next","_error","_complete","_unsubscribeAndRecycle","SafeSubscriber","_parentSubscriber","observerOrNext","context","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","parent","observable","pipeFromArray","fns","Observable","subscribe","_isScalar","_subscribe","lift","operator","sink","nextOrObserver","_trySubscribe","closed_1","warn","promiseCtor","getPromiseCtor","reject","pipe","operations","toPromise","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","SubjectSubscription","subject","subscriberIndex","SubjectSubscriber","Subject","hasError","thrownError","copy","asObservable","AnonymousSubject","BehaviorSubject","_value","isScheduler","schedule","OuterSubscriber","notifyNext","outerValue","innerValue","outerIndex","innerIndex","innerSub","notifyError","notifyComplete","InnerSubscriber","subscribeToArray","subscribeToPromise","promise","then","getSymbolIterator","subscribeToIterable","return","subscribeToObservable","obs","isPromise","subscribeTo","scheduleArray","scheduler","fromArray","NONE","CombineLatestOperator","resultSelector","CombineLatestSubscriber","active","observables","toRespond","outerSubscriber","innerSubscriber","unused","_outerValue","oldVal","_tryResultSelector","scheduled","scheduleIterable","AsyncAction","work","pending","recycleAsyncId","requestAsyncId","setInterval","flush","clearInterval","execute","_execute","errored","errorValue","actions","Action","Scheduler","SchedulerAction","AsyncScheduler","delegate","action","shift","asyncScheduler","DebounceTimeOperator","dueTime","DebounceTimeSubscriber","debouncedSubscription","lastValue","hasValue","clearDebounce","dispatchNext","debouncedNext","SkipOperator","total","SkipSubscriber","mapTo","MapToOperator","MapToSubscriber","QueueAction","QueueScheduler","of","pop","dispatch","Notification","do","accept","toObservable","createNext","undefinedValueNotification","createError","createComplete","completeNotification","ObserveOnSubscriber","notification","scheduleMessage","ObserveOnMessage","ReplaySubject","bufferSize","windowTime","POSITIVE_INFINITY","_events","_infiniteTimeWindow","_bufferSize","_windowTime","nextInfiniteTimeWindow","nextTimeWindow","ReplayEvent","_getNow","_trimBufferThenGetEvents","eventsCount","spliceCount","time","shareReplay","configOrBufferSize","config","refCount","_c","useRefCount","isComplete","project","MapOperator","MapSubscriber","distinctUntilChanged","keySelector","DistinctUntilChangedOperator","DistinctUntilChangedSubscriber","hasKey","SimpleInnerSubscriber","SimpleOuterSubscriber","innerSubscribe","mergeMap","concurrent","ii","MergeMapOperator","MergeMapSubscriber","hasCompleted","_tryNext","_innerSub","ish","innerSubscription","mergeAll","startWith","PairwiseOperator","PairwiseSubscriber","hasPrev","pair","predicate","FilterOperator","FilterSubscriber","tap","DoOperator","TapSubscriber","_tapNext","_tapError","_tapComplete","switchMap","SwitchMapOperator","SwitchMapSubscriber","log","_console","_len","_key","_console2","_len2","_key2","_console3","_len3","_key3","table","_console4","_len4","_key4","isLeafNode","node","collectNodes","dfs","fromEvent","eventName","setupSubscription","sourceObj","handler","isEventTarget","source_1","isJQueryStyleEventEmitter","source_2","isNodeStyleEventEmitter","source_3","defaultThrottleConfig","leading","trailing","ThrottleTimeOperator","duration","ThrottleTimeSubscriber","_hasTrailingValue","_trailingValue","throttled","clearThrottle","getUrls","urls","settings","mimeType","onBeforeSend","onSuccess","onError","onComplete","urlArray","urlQueue","isValidCss","isString","isHTML","xhr","urlIndex","responseText","returnVal","parser","url","xdr","href","atob","host","location","protocol","XDomainRequest","onprogress","ontimeout","onload","onerror","send","XMLHttpRequest","overrideMimeType","onreadystatechange","readyState","status","getCssData","regex","cssComments","cssImports","rootElement","include","exclude","skipDisabled","useCSSOM","sourceNodes","elm","selector","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","cssArray","handleComplete","skipIndices","reverse","skipIndex","handleSuccess","cssIndex","sourceUrl","resolveImports","baseUrl","callbackFn","__errorData","__errorRules","importData","parseImportData","absoluteUrls","responseImportData","rule","absoluteRules","responseArray","importText","resolvedCssText","errorData","ignoreRules","getFullUrl$1","oldUrl","newUrl","linkHref","linkRel","isLink","nodeName","isSkip","disabled","isStyle","decodeURIComponent","_cssText","base","implementation","createHTMLDocument","body","baseURI","querySelector","balancedMatch","balanced","maybeMatch","pre","post","begs","beg","ai","bi","parseCss","css","preserveStatic","removeComments","whitespace","comments","cmnts","comment","hasCommaInQuotes","_selector","selectorItems","declarations","decls","at_rule","comment_regexp","property","at_keyframes","vendor","frame","frames","vals","keyframes","media","supports","selectors","decl","core","balancedMatch$1","hasVarDecl","hasVarFunc","sel","stylesheet","parseVars","cssData","parseHost","onWarning","reVarDeclSelectors","stringifyCss","tree","delim","cb","renderMethods","charset","declaration","visit","import","keyframe","page","buf","txt","range","VAR_PROP_IDENTIFIER","VAR_FUNC_IDENTIFIER","transformCss","preserveVars","walkCss","resolvedValue","resolveValue","__recursiveFallback","valueData","resolveFunc","fallback","unresolvedFallback","newVal","isNativeSupport","CSS","counters","job","defaults","shadowDOM","onlyLegacy","silent","updateDOM","updateURLs","watch","onFinally","cssKeyframes","cssMediaQueries","cssUrls","cssVarDeclRules","cssVarDecls","cssVarFunc","cssVars","variableStore","dom","user","cssVarsIsRunning","cssVarsObserver","cssVarsSrcNodeCount","debounceTimer","isShadowDOMReady","hasVarChange","targetElm","msgPrefix","handleError","sourceNode","handleWarning","handleFinally","hasChanged","getTimeStamp","__benchmark","mutations","mutation","isEnabledMutation","isHrefMutation","isSkipNode","isSrcNode","isValid","isDisabled","attributeName","resetCssNodes","isStyleElm","isOutNode","addedNodes","hasAttr","isStyleWithVars","removedNodes","isElm","dataGroup","orphanNode","attributeFilter","cssVarsDebounced","srcNodes","varObj","reLeadingHyphens","srcNode","hasStyleCache","__cssVars","hasStyleChanged","outNode","varValue","getPropertyValue","setProperty","shadowRoot","nodeArray","responseUrl","responseURL","getFullUrl","statusText","isStyleImport","cssUrl","currentVars","nodeCSS","cssTree","outCssArray","outNodeArray","hasKeyframesWithVars","hasCSSVarFunc","outCssNoSpaces","outCss","removeAttribute","elms","fixKeyframes","animationNameProp","allNodes","keyframeNodes","nameMarker","offsetHeight","nodeStyle","parse","evt","isDisabledAttr","isDisabledSheet","performance","getTime","resetDOMVariableStore","mergeCellProps","extra","_Object$keys","cx","handler1","handler2","reset","isStickyUIDegradeFlag","browserData","ua","browserType","isEdge","isNewEdge","isIE","isFireFox","isChrome","isSafari","isStickyUIDegrade","Classes","artTableWrapper","artTableBordered","artTable","tableHeaderMain","tableHeader","tableBody","virtual","tableFooter","tableFooterMain","tableRow","tableHeaderRow","tableCell","tableExtendCell","tableHeaderCell","tableHeaderCellContent","tableHeaderCellResize","virtualBlank","stickyScroll","stickyScrollItem","horizontalScrollContainer","verticalScrollPlaceholder","horizontalStickyScrollContainer","horizontalScrollLeftSpacer","horizontalScrollRightSpacer","lockShadowMask","lockShadow","leftLockShadow","rightLockShadow","emptyWrapper","loadingWrapper","loadingContentWrapper","loadingIndicatorWrapper","loadingIndicator","tableHeaderCellLine","tableFilterTrigger","tableSortIcon","tableExtendIcon","button","buttonPrimary","filterIcon","rangeSelection","tableCellRangeSingleCell","tableCellRangeSelected","tableCellRangeTop","tableCellRangeLeft","tableCellRangeBottom","tableCellRangeRight","fixedLeft","fixedRight","rowDetailContainer","rowDetailItem","emptyColCell","even","odd","lockLeft","lockRight","rowSpan","leaf","expanded","collapsed","popup","popupHeader","popupBody","rowDragging","rowDragStart","rowDragEnd","rowDragEndParent","rowDragEndToTop","rowDragEndToBottom","rowDragEndInto","rowDragElement","rowDragElementIcon","rowDragElementLabel","rowDragLine","rowDragNoData","treeTableRowDragLine","iconNotAllowed","iconMove","rowDragCell","MenuClasses","menu","menuList","menuOption","menuOptionActive","menuOptionDisable","menuOptionText","GlobalStyle","createGlobalStyle","_taggedTemplateLiteral","swapRTLDirection","direction","outerBorderStyleMixin","defaultCSSVariables","variableConst","acc","notBorderedStyleMixin","borderedStyleMixin","StyledArtTableWrapper","styled","div","_ref","ButtonCSS","getEventPath","event","deepPath","composedPath","createEventPath","pointer","parentElement","isElementInEventPath","ele","getTargetEleInEventPath","isTargetCb","calculatePointerRelative","popupParent","parentRect","getBoundingClientRect","documentRect","clientX","clientY","calculatePopupRelative","trigger","triggerRect","offsetX","offsetY","keepWithinBounds","isPerfect","_ref2","docElement","docRect","popupRect","parentAvailableWidth","parentAvailableHeight","isBody","scrollTop","maxX","isPerfectX","maxY","isPerfectY","STYLED_REF_PROP","styledComponents","OVERSCAN_SIZE","sum","observableFactory","passive","scrollBarSize$","throttledWindowResize$","addResizeObserver","resizeObserver","hide","getScrollbarSizeImpl","scrollDiv","scrollbarWidth","overflow","offsetWidth","scrollbarHeight","syncScrollLeft","bypassSet","_step2","_iterator2","_loop","listener","scrollLeft","scrollWidth","scrollHeight","publishScrollLeft","origin","elem","shallowEqual","composeRowPropsGetter","getRowProps","pendingRowProps","row","rowIndex","getTableScrollFooterDOM","domHelper","cssPolifill","conditionCSSVariables","enableCSSVariables","bordered","directionKey","isRTL","resolveVirtualEnabled","virtualEnum","defaultValue","columnHiddenDeprecatedWarned","processColumns","defaultColumnWidth","column","nextChildren","_objectSpread","hidden","getLeftNestedLockCount","nestedCount","isLock","col","lock","calculateRenderInfo","useVirtual","nested","_table$state","maxRenderWidth","_table$props","useVirtualProp","dataSourceProp","dataSource","leftNestedLockCount","fullFlat","horizontalRenderRange","horizontal","full","center","vertical","header","leftNested","rightNestedLockCount","centerNested","rightNested","shouldEnableHozVirtual","shouldEnableVerVirtual","leftIndex","leftBlank","rightIndex","rightBlank","centerCount","centerRenderWidth","overscannedOffsetX","minCenterRenderWidth","rightBlankCount","verticalRenderRange","getVerticalRenderRange","visibleColumnDescriptors","_toConsumableArray","colIndex","blankSide","fullFlatCount","leftFlatCount","rightFlatCount","stickyLeftMap","stickyLeft","stickyRightMap","stickyRight","leftLockTotalWidth","rightLockTotalWidth","visible","hasLockColumn","Colgroup","descriptors","DefaultEmptyContent","alt","EmptyHtmlTable","emptyCellHeight","_ref$EmptyContent","EmptyContent","show","isLoading","data-rowindex","colSpan","getTreeDepth","maxDepth","isHeaderMerge","filterNestedCenter","hoz","cols","startColIndex","leafCount","filtered","dfsRes","calculateLeveledAndFlat","inputNested","rowCount","leveled","suppressLeveled","_indexedCol$col","indexedCol","wrapped","isLeaf","mergeHeader","attachColIndex","colIndexOffset","calculateHeaderRenderInfo","leftPart","centerPart","rightPart","TableHeader","info","theaderPosition","_rowCount","stickyRightOffset","headerRenderInfo","thead","wrappedCols","level","_wrappedCols","isPlacehoder","headerCells","headerCellProps","positionStyle","justifyContent","_col$headerCellProps","stickyRightIndex","align","textAlign","verticalAlign","_col$verticalAlign","data-code","_col$title","visibility","colgroup","getNodeName","getWindow","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getDocumentElement","getParentNode","assignedSlot","getUAString","uaData","userAgentData","brands","brand","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","perspective","willChange","isWindow","isHtmlOrBody","accumulateScrollOffset","scrollOffsetKey","win","pageXOffset","pageYOffset","getRelativeLayoutRect","innerWidth","innerHeight","deltaX","deltaY","offsetTop","offsetLeft","clientTop","clientLeft","findCommonOffsetAncestor","scrollParent","fromResizeEvent","getScrollParent","_getComputedStyle","overflowY","overflowX","getRichVisibleRectsStream","structureMayChange$","virtualDebugLabel","op","commonOffsetAncestor","structure","targetRect","scrollParentRect","clipRect","rects","makeRowHeightManager","initRowCount","estimatedRowHeight","getRenderRange","maxRenderHeight","totalSize","prevSize","getEnd","topIndex","topBlank","getEstimatedTotalSize","getStart","overscanUpwards","overscanSize","overscanCount","endOffset","startInfo","bottomIndex","bottomBlank","updateRow","TableDOMHelper","stickyScrollSelector","nodeList","currentTarget","dataset","rowindex","contains","curCell","curRow","curRowSpan","rows","_getParentNode2","tableElement","stickyScrolls","allLeftLockShadow","allRightLockShadow","FastScrollManager","callbacks","lastScrollTime","scrollVelocity","lastOffsetY","velocityThreshold","distanceMultiplier","fastScrollEndDelayHigh","fastScrollEndDelayNormal","highVelocityThreshold","currentScrollTop","totalScrollHeight","sizeAndOffset","currentState","dataLength","currentTime","deltaTime","isNearBottom","isFastScrolling","endFastScrolling","isSignificantChange","isHighVelocity","startFastScrolling","resetFastScrollEndTimer","currentVerticalRange","getCurrentRenderRange","onFastScrollStart","waitTime","fastScrollEndTimer","onFastScrollEnd","safeGetValue","record","internals","safeRenderHeader","_column$title","safeGetRowKey","primaryKey","safeGetCellProps","getCellProps","safeRender","SpanManager","HtmlTable","tbodyHtmlTag","verInfo","verticalRenderInfo","hozInfo","horizontalRenderInfo","tbodyPosition","spanManager","rowProps","stripUpwards","rowClass","visibleColumnDescriptor","isDetailRow","rowDescriptors","data-role","colSpanLimit","cellProps","cellContent","testSkip","_column$getCellProps","_column$getCellProps2","getSpanRect","spanRect","hasSpan","limit","_column$verticalAlign","DefaultLoadingIcon","margin","viewBox","preserveAspectRatio","cy","stroke","strokeLinecap","dur","keyTimes","repeatCount","DefaultLoadingContentWrapper","Loading","_ref2$LoadingContentW","LoadingContentWrapper","_ref2$LoadingIcon","LoadingIcon","GlobalStyleComponent","_PureComponent","_inherits","PureComponent","TEMPLATES","RowDetail","detailRef","useRef","renderDetail","useEffect","itemRect","targetRow","targetRowLeft","targetRowRight","getRowTop","getTableHeaderRenderTemplate","stickyTop","hasHeader","fixedRightTableStyle","_info$verticalRenderR","commonProps","tabIndex","footerDataSource","_props$footerDataSour","stickyBottom","_getRowProps","Infinity","ReactDom","createPortal","TopBlankComponent","heightFromProps","_useState","setHeight","useState","_useState2","_slicedToArray","useImperativeHandle","updateHeight","newHeight","BottomBlankComponent","_useState3","_useState4","TopBlank","prevProps","nextProps","BottomBlank","propsDotEmptyContentDeprecatedWarned","BaseTable","_React$Component","createRef","getRowNodeListByEvent","emptyContent","renderBody","_this$props","tableBodyClassName","virtualStyle","components","_this$props2","getTableRenderTemplate","onMouseEnter","handleRowMouseEnter","onMouseLeave","handleRowMouseLeave","topBlankRef","bottomBlankRef","hasScroll","hasScrollY","needRenderLock","fastScrollCallbacks","renderData","setState","previousRenderData","scrollData","rowHeightManager","fastScrollManager","innerTableWidth","_this$domHelper","_lastHasScrollY","getTableBodyHtmlTable","artTableWidth","artTableHeight","stickyScrollHeight","stickyScrollHeightProp","getScrollBarWidth","_this$props$setTableW","_this$props3","setTableWidth","lockTotalWidth","_this$lastInfo","lastInfo","_this$props4","renderHeader","nextOffsetX","syncHorizontalScroll","_x","updateOffsetX","shouldShowLeftByScroll","shouldShowRighByScroll","getLeftLockShadow","getRightLockShadow","_this$props5","_this$state","isLowPerformance","getIsFastScrolling","_this$props6","_this$props6$footerDa","renderFooter","leftLockShadowWidth","rightLockShadownWidth","_this$props7","hasStickyScroll","isScroll","stickyScrollContainerStyle","getStickyScrollContainerStyle","_this$props8","stickyHeight","maxHeight","minHeight","_this$props9","useOuterBorder","isStickyHead","isStickyHeader","isStickyFooter","getTableProps","_prefixCls","artTableWrapperClassName","artTableWrapperProps","artTableWrapperRef","tableProps","renderTableHeader","renderTableBody","renderTableFooter","renderLockShadows","renderStickyScroll","rootSubscription","resizeSubject","updateDOMHelper","props$","initSubscriptions","didMountOrUpdate","_this$props0","cssVariables","_this$props$setTableW2","_this$props1","_this$props$setTableD","_this$props10","setTableDomHelper","_this$props$setRowHei","_this$props11","setRowHeightManager","prevState","_this$props13","_this$props12","_this2","syncHorizontalScrollFromTableBody","updateStickyScroll","adjustNeedRenderLock","updateRowHeightManager","updateScrollLeftWhenLayoutChanged","prevHasFooter","currentHasFooter","_this3","_this$domHelper2","richVisibleRects$","_this3$props$setTable","_this3$props","_ref3","_ref4","_ref5","getLoadingIndicator","marginTop","_this3$lastInfo$useVi","_ref7","handleScrollEvent","_this3$bottomBlankRef","currentRange","_this3$topBlankRef$cu","_ref8","scrollDirection","blockSize","_this3$props$scrollLo","scrollLoad","topBlockStartIndex","bottomBlockStartIndex","startIndexs","startIndex","_this3$props$scrollLo2","_this$resizeObserver","cleanup","virtualTop","getVirtualTop","virtualTopHeight","_virtualTop$clientHei","maxTrRowIndex","maxTrBottom","zeroHeightRowCount","getTableRows","tr","isNaN","forceUpdate","_this$lastInfo2","nextNeedRenderLock","Component","groupBy","isGroupColumn","applyTransforms","transforms","flatMap","arrayUtils","diff","arr1","arr2","merge","always","findByTree","buildTree","idProp","parentIdProp","ensure","wrapperMap","parentWrapper","itemWrapper","unwrapRecursively","wrapperArray","move","dx","dy","exportTableAsExcel","xlsxPackage","filename","leafColumns","utils","aoa_to_sheet","topHeaderHeight","startDx","startDy","datum","_col$features","childrenWidth","features","noExport","sheet_add_aoa","mergeCells","_col$features2","addr","writeFile","SheetNames","Sheets","Sheet1","layeredSort","factorySymbol","baseRecord","ensureArray","_result$key","extends","extRecord","extFactory","notNull","makeRecursiveMapper","parentStartIndex","flatCount","dfsResult","subResult","endIndex","smartCompare","cmp","normalizeAsArray","traverseColumn","parentStartColIndex","flatColCount","unNormalized","copyDataToClipboard","select","focus","execCommand","executeOnTempElement","eTempInput","layeredFilter","MULTI_SELECT_MARK_PROPNAME","SINGLE_SELECT_MARK_PROPNAME","isSelectColumn","warnedSet","warnTransformsDeprecated","apiName","isIdentity","makeAutoRowSpanTransform","autoRowSpan","shouldMergeCell","spanRects","lastBottom","prevValue","prevRow","AUTO_WIDTH_WRAPPER_CLS","AUTO_WIDTH_EXPANDER_CLS","AutoWidthWrapper","useAutoWidthTransform","tableRef","deps","widthList","setWidthList","getDoms","preferredWidthList","_rows","_preferredWidthList$i","innerTransform","_col$features$autoWid2","clampedWidth","autoWidth","_col$features$autoWid","_col$features$autoWid3","_widthList$i","initColumnWidth","padding","wrapperStyle","_options$expanderVisi","_innerTransform","expanderVisibility","appendExpander","background","border","makeBuildTreeTransform","_buildTree","makeColumnHoverTransform","_ref$hoverColor","hoverColor","hoverColIndex","onChangeHoverColIndex","colIndexMatched","prevGetCellProps","useColumnHoverTransform","_ref3$defaultHoverCol","defaultHoverColIndex","EMPTY_RANGE","makeColumnRangeHoverTransform","_ref$headerHoverColor","headerHoverColor","hoverRange","onChangeHoverRange","colRange","useColumnHoverRangeTransform","_ref3$defaultHoverRan","defaultHoverRange","takeUntil","notifier","TakeUntilOperator","takeUntilSubscriber","notifierSubscription","seenValue","TakeUntilSubscriber","RESIZE_EXPANDER_CLS","ResizeHandle","span","makeColumnResizeTransform","startResize","docElemStyle","startX","startSize","sizes","nextSizes$","movingX","nextSizes","minSize","maxSize","prevUserSelect","disableUserSelectWhenResizing","userSelect","onChangeSizes","_ref$minSize","_ref$maxSize","_ref$expanderVisibili","prevTitle","onMouseDown","useColumnResizeTransform","defaultSizes","others","_objectWithoutProperties","_excluded","makeFlattenTransform","_column$features","flatten","makeOrderFieldTransform","startOrder","_column$features2","orderField","SortIcon","_ref$size","focusable","aria-hidden","DefaultSortHeaderCell","sortIndex","TableHeaderCell","onClick","onToggle","marginLeft","sortOrder","sortOptions","color","fontSize","fontFamily","makeSortTransform","inputSorts","sorts","inputOnChangeSorts","onChangeSorts","_ref3$orders","orders","_ref3$mode","_ref3$SortHeaderCell","SortHeaderCell","keepDataSource","highlightColumnWhenActive","stopClickEventPropagation","filteredInputSorts","nextSorts","sortMap","sortable","_col$features3","_sortMap$get","prevCellProps","stopPropagation","toggle","sortColumnsMap","_step$value","nextOrder","useSortTransform","_ref5$defaultSorts","defaultSorts","InlineFlexCell","ExpansionCell","icons","CaretDown","CaretRight","Info","ContextMenuStyleWrap","HeaderCellWithTips","makeTipsTransform","Balloon","Tooltip","tips","closable","treeMetaSymbol","treeModeOptionsKey","treeMode","opts","pipeline","_opts$indentSize","stateKey","ensurePrimaryKey","openKeys","_opts$openKeys","getStateAtKey","defaultOpenKeys","curSort","openKeySet","onChangeOpenKeys","nextKeys","_opts$onChangeOpenKey","setStateAtKey","rowKey","_opts$isLeafNode","standardIsLeafNode","clickArea","_opts$clickArea","treeMetaKey","_opts$treeMetaKey","iconWidth","indents","iconIndent","_opts$iconIndent","iconGap","_opts$iconGap","indentSize","Icon","setFeatureOptions","isExpanded","onExpand","onCollapse","icon","mapDataSource","isSameInputDataSource","getFeatureOptions","parentRowKey","treeMeta","mapColumns","expandColIndex","expandColCode","expandCol","recordIndex","indent","expandCls","_record$treeMetaKey","cursor","marginRight","_record$treeMetaKey2","ICON_WIDTH","makeTreeModeTransform","_ref$iconIndent","_ref$iconGap","_ref$indentSize","_ref$isLeafNode","_ref$clickArea","_ref$treeMetaKey","firstCol","_columns","_toArray","_arrayLikeToArray","useTreeModeTransform","_ref3$defaultOpenKeys","makeVisibleTransform","visibleCodes","getDataSource","columnHover","nextColIndex","_opts$onChangeHoverCo","_opts$hoverColIndex","_opts$hoverColor","cellExtra","columnRangeHover","nextColIndexRange","_opts$onChangeHoverRa","_opts$headerHoverColo","_opts$hoverRange","fullRowsSetKey","allEnableKeys","selectValueSetKey","multiSelect","Checkbox","_opts$checkboxPlaceme","checkboxColumn","nextColumns","_opts$isDisabled","_opts$value","_pipeline$getStateAtK","lastKey","_opts$lastKey","_pipeline$getStateAtK2","defaultLastKey","onChange","nextValue","_opts$onChange","fullKeySet","allKeys","isAllChecked","isAnyChecked","checked","indeterminate","prevChecked","checkboxCellProps","preCellProps","_opts$checkboxColumn","_opts$checkboxColumn$","fullRowsSet","selectValueSet","onCheckboxChange","shiftKey","defaultElement","arg1","nativeEvent","_arg2$nativeEvent","customRender","batch","_opts$checkboxColumn2","getColumns","checkboxPlacement","unshift","appendRowPropsGetter","highlightRowWhenSelected","_ref6","batchKeys","lastIdx","cntIdx","rowDetailSymbol","fallbackRenderDetail","rowDetail","rowDetailMetaKey","_opts$rowDetailMetaKe","textOffset","getDetailKey","_opts$getDetailKey","_opts$renderDetail","hasDetail","_opts$hasDetail","defaultOpenAll","detailPrimaryKey","expandColumnIndex","_tableColumns","expandColumnCode","tableColumns","renderRowDetail","ExpandIcon","expandIcon","detailCellStyle","_expandCol$getCellPro","groupingMetaSymbol","getGroupingMeta","isGroupHeader","expandable","rowGroupingRowPropsGetter","rowGrouping","columnFlatCount","_row$groupTitle2","groupTitle","_row$groupTitle","_firstCol$getCellProp","singleSelect","_opts$radioPlacement","Radio","radioColumn","_opts$radioColumn","_opts$radioColumn$get","_opts$radioColumn2","radioPlacement","onChangeSortsInMultipleMode","currentSort","_opts$onChangeSorts","_opts$orders","_opts$mode","_opts$SortHeaderCell","sortIconHoverShow","activeSorts","_opts$sorts","_col$features4","sortNode","_sortNodeWithoutTitle","StrictTreeDataHelper","valueSet","initWrapperTree","getNodeValue","rootWrapper","nodeValue","isChecked","getValueAfterUncheck","getValueAfterCheck","_this$wrapperMap$get","TreeDataHelper","_this$opts$isDetached2","_this$opts","_this$opts$isDetached","isDetached","inheritParentChecked","allChildrenChecked","detached","exactChecked","parentChecked","anyDescendentsChecked","child","getCleanValue","appendArray","startWrapper","_step3","_iterator3","sibling","removeSet","wrappers","_step4","_iterator4","_this$opts2","checkedStrategy","_step5","_iterator5","STATE_KEY","treeSelect","makeCheckbox","treeDataHelper","isIndeterminate","onToggleKey","_opts$idDetached","idDetached","rootKey","checkStrictly","_opts$checkedStrategy","getValueAfterToggle","getEventCoordinates","touches","changedTouches","getEventTarget","elementFromPoint","TableHeaderCellResize","TableHeaderGroupCellResize","clamp","disableSelect","preventDefault","COLUMN_SIZE_KEY","RESIZED_COLUMN_KEY","LAST_RESIZED_COLUMN_KEY","columnResize","_opts$maxSize","_opts$minSize","fallbackSize","_opts$fallbackSize","handleDoubleClick","_opts$doubleClickCall","doubleClickCallback","handleMouseDown","handleResize","handleTouchStart","cancelable","_opts$columnSize","columnSize","onChangeSize","nextColumnSize","_opts$onChangeSize","startEvent","eventType","changedColumnSize","minWidth","maxWidth","realMinSize","realMaxSize","recordColumnSize","endEventName","endEventOptions","leafChildColumns","childrenWidthSum","deltaSum","deltaRemaining","currentDeltaWidth","resizedColumnSet","changedColumnSizes","_opts$afterChangeSize","afterChangeSize","isGroup","_columnSize$code","resizeable","onDoubleClick","onTouchStart","autoFillTableWidth","FLEX_COLUMN_COUNT","isValidFlexColumn","remainingWidth","residualFlexCount","residualFlexWidth","enableColumnResizeWidthFeature","spliceIndex","flexCount","getTableRemainingWidth","recursiveFlatMapInfo","preColWidth","_features$minWidth","_features$maxWidth","usedRemainingWidth","fillColumns","FILL_COLUMN_CODE","tableWidthKey","getColumnWidthSum","resizeColumn","tableWidth","_pipeline$ref$current","lastResizedColumnCode","SCROLL_SIZE","stopClickPropagation","columnDrag","_adjustTranslation","cloumnsTranslateData","transition","handlePointerDown","isTouch","mouseDownClientX","mouseDownClientY","moveData","allColumns","tableBodyClientRect","startScrollLeft","columnMoved","cloumnsSortData","_currentTarget$parent","getClientRects","handlePointerMove","coordinates","client","scrollDistance","startPosition","offsetDistance","replaceIndex","totalWitdth","getColumnWidth","optionColumn","_columns$index","enableMove","moveAllChildren","_columns$index2","startCoordinates","onColumnDragStart","handlers","onPointerMove","onPointerUp","handlePointerUp","endCoordinates","hasMovedEnough","startY","endX","endY","threshold","xDiff","yDiff","sqrt","newColumns","_moveData","_moveData2","_columns$index3","_columns$index4","onColumnDragStopped","lastColumns","cloumn","isMinus","movedWidth","_cloumnsTranslateData","contextMenu","menuClassName","menuHelper","MenuHelper","addPopup","hidePopup","ePopupDiv","popupHidden","eventList","ReactDOM","getContextMenuOptions","addTableProps","onContextMenu","_pipeline$ref$current2","showContextMenu","defaultMenuOptions","getContextMenuItems","hideContextMenu","destroy","getPopupParent","cellEle","isElementInsideTheFooter","rowEle","getFooterDataSource","_calculatePointerRela","Menu","_hidePopup","_props$options","menuRef","useLayoutEffect","_keepWithinBounds","_y","ePopup","ePopupRect","parentWidth","parentHeight","MenuItem","itemRef","itemDom","tagName","DefaultFilterIcon","data-icon","xmlns","KeyCode","ENTER","ESC","FilterPanelStyle","FilterPanel","handleMouseEvent","hasPopupMouseEvent","evens","onClose","hideFilterPopupHeader","perfectPosition","setPerfectPosition","setVisible","_ref$current","onMouseUp","onKeyDown","keyCode","DEFAULT_FILTER_OPTIONS","DefaultFilterContentStyle","DefaultFilterContent","confirm","hidePanel","setFilterModel","filterCondition","selectedValue","filterModel","localeText","_ref$localeText","_React$useState","_React$useState2","setSelectedValue","_React$useState3","_React$useState4","setInnerValue","inputRef","handleClick","useCallback","option","_inputRef$current","preventScroll","_localeText$option$ke","_localeText$resetFilt","_localeText$confirmFi","HEADER_ICON_OFFSET_Y","HEADER_ICON_OFFSET_X","FilterIconSpanStyle","Panel","handleFilterPanelResize","resize","setPosition","_getPanelOffset","renderPanelContent","filterPanelRef","Filter","setShowPanel","_ref2$size","FilterPanelContent","setFilter","isFilterActive","stopESCKeyDownEventPropagation","showPanel","iconRef","iconWrapRef","iconClassName","displayFilterIcon","columnsMap","defaultFilterOptionsMap","matchFn","filtersKeys","filters","defaultFilters","onChangeFilters","inputFilters","inputFiltersMap","filterItem","_col$features5","filterable","_columnsMap$get","comparisonFn","parentMatched","matchedByChildren","currentMatched","rowAfterFilterChildren","filterActive","handleFilterChanged","_Filter","_result$title","nextFiltersMap","currentFilter","nextFilters","filterPanel","colFilterIcon","_col$features$filterI","rangeSelectionKey","lastClickCellKey","startSelectedCellRangesKey","SCROLL_OFFSET","rangeSelectedChange","setRangeSelection","shiftKeySelect","updateScrollPosition","setStartSelectedCellRanges","isFinished","_opts$rangeSelectedCh","startDragCell","draggingCell","startCell","endCell","_getRangeSelectionRow","cellRange","singleCellRangeId","flatColumns","rangeColumns","startRow","footerRowRange","endRow","_startRow","_getCellRangeRow","cell1","cell2","isFooterCell","isTopToBottom","_endRow","startColumn","cellRanges","isCellRangeSingleCell","getCellRangeId","_lastClickCell","clickCell","getTargetCell","isCtrlKey","isShiftKey","suppressMultiRangeSelection","_startDragCellRanges","mouseDownEvent","mousemove$","mouseup$","ctrlKey","metaKey","mouseMoveEvent","srcElement","_draggingCell","rowLen","readOnly","preventkDefaultOfKeyDownEvent","matchCellRangeLeft","matchCellRangeBottom","isCellInRange","_getMatchBorderStyle","_getRowIndex3","startRowIndex","footerStartRowIndex","matchCellRangeRight","getRowIndex","_getFooterRowIndex3","getFooterRowIndex","startCol","endRowIndex","matchCellRangeTop","isSingleCell","_ret","columnCode","isFooterSingleCell","_cellRanges$","isBodySingleCell","isReverse","_getRowIndex","_getFooterRowIndex","_getRowIndex2","_getFooterRowIndex2","mergeCellHover","hoverHandlers","getInRangeRowByCellEvent","footerRowMetaSymbol","_opts$footerRowMetaKe","_opts$dataSource","footerRowMetaKey","isExtend","ExtendIconStyle","colGroupExtendable","_opts$extendStatus","curState","extendStatus","addIcon","curColState","displaycolExtendIcon","extendIcon","addIconNode","changedValue","onChangeExtendStatus","_col$children","_col","showExtendIcon","FeatureName","rowDrag","rowDragKey","rowDragOptionsKey","SCROLL_START_OFFSET","defaultRowDragColumn","opt","getRowDragEvent","onDragStart","currentDropZone","rowDragColumn","rowDragApi","addFeatureApi","dropTargetEvent","dragItem","dropZoneTarget","startDropZoneTagret","commonParams","startCommonParams","dropZoneTableParams","getTreeModeOptions","getRowDragOptions","treeModeOptions","rowDragOptions","allowDragIntoRow","overIndex","overRow","isPointerOnDropTarget","overDragItem","getDragRowItem","getDirection","cell","dragPosition","_opt$onDragStart","rowDragEvent","getContainer","getLastPipeline","onDragEnter","_opt$onDragEnter","onDragLeave","_opt$onDragLeave","onDragging","_opt$onDragMove","onDragMove","onDragStop","_opt$onDragEnd","onDragEnd","isTable","tableParams","isValidDrag","isDragging","dragElement","dragLine","lastDropTarget","timeoutId","intervalId","expandRowTimeoutId","expandRowCallBackList","handleDragStart","handleDragMove","handleDragStop","touchDragEnd$","rowDragEnd$","startDataItem","_opt$isDisabled","moveEvent","moveOffset","suppressScrollMove","webkitUserSelect","ELEMENT_TEMPLATE","innerHTML","firstChild","bodyRect","isTreeTable","dragText","rowDragText","_opt$rowDragText","dragEvent","dragTextString","elementIcon","stringNode","setDragStatus","createDropTargetEvent","eleHeight","browserWidth","_document$body$client","_document$body","_document$documentEle","browserHeight","_document$body$client2","_document$body2","_document$documentEle2","offsetParentSize","getElementRectWithOffset","_getEventCoordinates","windowScrollX","scrollX","windowScrollY","scrollY","setDragElementIcon","lineElement","dragZone","tableContainer","targetCell","dropTarget","getRowDropZone","zone","_dragZone$tableParams","allowDragInto","_getLinePosition2","getLinePosition","_getLinePosition","_dropTarget$tablePara","_row$treeMetaKey","endEvent","removeElement","rowDropZones","dropzone","container","touchmove$","touchend$","moveClientY","startClientY","setRowDropZoneParams","dragStatus","getDragStatus","parentRowKeyIndex","offsetElementRect","_getElementSize2","_getElementSize","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","_window$getComputedSt","paddingTop","paddingRight","paddingBottom","paddingLeft","marginBottom","iconName","iconElement","pointerEvent","eventTarget","dropZone","startDropZone","_getEventCoordinates3","startDropZoneOptions","targetEvent","dropZoneOptions","_cell$getBoundingClie","expandCellRect","_getElementSize3","_row$treeMetaKey2","expandCellOffsetRight","RowDragApi","rowDropZoneParams","rowDropZone","TablePipeline","defaultIndents","S4","_rowPropsGetters","_tableProps","_dataSource","_snapshots","_isSameInputDataSource","_footerDataSource","_this$state$stateKey","partialState","extraInfo","_lastInputDataSource","lastPipeline","guid","snapshot","rowPropsGetters","optionKey","_this$ref$current$fea","featureOptions","featureName","_this$ref$current$fea2","featureApi","getFeatureApi","useTablePipeline","installedModules","modules","ns","moduleId"],"mappings":"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","file":"@kdcloudjs/table.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KDTable\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"KDTable\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__70__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","import{typeOf as e,isElement as t,isValidElementType as n}from\"react-is\";import r,{useState as o,useContext as s,useMemo as i,useEffect as a,useRef as c,createElement as u,useLayoutEffect as l}from\"react\";import d from\"shallowequal\";import h from\"@emotion/stylis\";import p from\"@emotion/unitless\";import f from\"@emotion/is-prop-valid\";import m from\"hoist-non-react-statics\";function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var v=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},g=function(t){return null!==t&&\"object\"==typeof t&&\"[object Object]\"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!e(t)},S=Object.freeze([]),w=Object.freeze({});function E(e){return\"function\"==typeof e}function b(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function _(e){return e&&\"string\"==typeof e.styledComponentId}var N=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",A=\"5.3.11\",C=\"undefined\"!=typeof window&&\"HTMLElement\"in window,I=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV)),P={},O=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"}:{};function R(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://git.io/JUIaE#\"+e+\" for more information.\"+(n.length>0?\" Args: \"+n.join(\", \"):\"\")):new Error(R.apply(void 0,[O[e]].concat(n)).trim())}var j=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&D(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=this.tag.getRule(s)+\"/*!sc*/\\n\";return t},e}(),T=new Map,x=new Map,k=1,V=function(e){if(T.has(e))return T.get(e);for(;x.has(k);)k++;var t=k++;return\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>1<<30)&&D(16,\"\"+t),T.set(e,t),x.set(t,e),t},B=function(e){return x.get(e)},z=function(e,t){t>=k&&(k=t+1),T.set(e,t),x.set(t,e)},M=\"style[\"+N+'][data-styled-version=\"5.3.11\"]',G=new RegExp(\"^\"+N+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),L=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},F=function(e,t){for(var n=(t.textContent||\"\").split(\"/*!sc*/\\n\"),r=[],o=0,s=n.length;o<s;o++){var i=n[o].trim();if(i){var a=i.match(G);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(z(u,c),L(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(i)}}},Y=function(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null},q=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(N))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(N,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.11\");var i=Y();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},H=function(){function e(e){var t=this.element=q(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}D(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&\"string\"==typeof t.cssText?t.cssText:\"\"},e}(),$=function(){function e(e){var t=this.element=q(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),W=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),U=C,J={isServer:!C,useCSSOMInjection:!I},X=function(){function e(e,t,n){void 0===e&&(e=w),void 0===t&&(t={}),this.options=y({},J,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&C&&U&&(U=!1,function(e){for(var t=document.querySelectorAll(M),n=0,r=t.length;n<r;n++){var o=t[n];o&&\"active\"!==o.getAttribute(N)&&(F(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return V(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(y({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new W(o):r?new H(o):new $(o),new j(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(V(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(V(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(V(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=0;o<n;o++){var s=B(o);if(void 0!==s){var i=e.names.get(s),a=t.getGroup(o);if(i&&a&&i.size){var c=N+\".g\"+o+'[id=\"'+s+'\"]',u=\"\";void 0!==i&&i.forEach((function(e){e.length>0&&(u+=e+\",\")})),r+=\"\"+a+c+'{content:\"'+u+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),Z=/(a)(d)/gi,K=function(e){return String.fromCharCode(e+(e>25?39:97))};function Q(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=K(t%52)+n;return(K(t%52)+n).replace(Z,\"$1-$2\")}var ee=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},te=function(e){return ee(5381,e)};function ne(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(E(n)&&!_(n))return!1}return!0}var re=te(\"5.3.11\"),oe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&ne(e),this.componentId=t,this.baseHash=ee(re,t),this.baseStyle=n,X.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var s=_e(this.rules,e,t,n).join(\"\"),i=Q(ee(this.baseHash,s)>>>0);if(!t.hasNameForId(r,i)){var a=n(s,\".\"+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=ee(this.baseHash,n.hash),l=\"\",d=0;d<c;d++){var h=this.rules[d];if(\"string\"==typeof h)l+=h,\"production\"!==process.env.NODE_ENV&&(u=ee(u,h+d));else if(h){var p=_e(h,e,t,n),f=Array.isArray(p)?p.join(\"\"):p;u=ee(u,f+d),l+=f}}if(l){var m=Q(u>>>0);if(!t.hasNameForId(r,m)){var y=n(l,\".\"+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(\" \")},e}(),se=/^\\s*\\/\\/.*$/gm,ie=[\":\",\"[\",\".\",\"#\"];function ae(e){var t,n,r,o,s=void 0===e?w:e,i=s.options,a=void 0===i?w:i,c=s.plugins,u=void 0===c?S:c,l=new h(a),d=[],p=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===u)return r+\"/*|*/\";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),\"\";default:return r+(0===d?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ie.indexOf(s[n.length])||s.match(o)?e:\".\"+t};function m(e,s,i,a){void 0===a&&(a=\"&\");var c=e.replace(se,\"\"),u=s&&i?i+\" \"+s+\" { \"+c+\" }\":c;return t=a,n=s,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),l(i||!s?\"\":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},p,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||D(15),ee(e,t.name)}),5381).toString():\"\",m}var ce=r.createContext(),ue=ce.Consumer,le=r.createContext(),de=(le.Consumer,new X),he=ae();function pe(){return s(ce)||de}function fe(){return s(le)||he}function me(e){var t=o(e.stylisPlugins),n=t[0],s=t[1],c=pe(),u=i((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=i((function(){return ae({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return a((function(){d(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),r.createElement(ce.Provider,{value:u},r.createElement(le.Provider,{value:l},\"production\"!==process.env.NODE_ENV?r.Children.only(e.children):e.children))}var ye=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=he);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return D(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=he),this.name+e.hash},e}(),ve=/([A-Z])/,ge=/([A-Z])/g,Se=/^ms-/,we=function(e){return\"-\"+e.toLowerCase()};function Ee(e){return ve.test(e)?e.replace(ge,we).replace(Se,\"-ms-\"):e}var be=function(e){return null==e||!1===e||\"\"===e};function _e(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a<c;a+=1)\"\"!==(s=_e(e[a],n,r,o))&&(Array.isArray(s)?i.push.apply(i,s):i.push(s));return i}if(be(e))return\"\";if(_(e))return\".\"+e.styledComponentId;if(E(e)){if(\"function\"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return\"production\"!==process.env.NODE_ENV&&t(u)&&console.warn(b(e)+\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"),_e(u,n,r,o)}var l;return e instanceof ye?r?(e.inject(r,o),e.getName(o)):e:g(e)?function e(t,n){var r,o,s=[];for(var i in t)t.hasOwnProperty(i)&&!be(t[i])&&(Array.isArray(t[i])&&t[i].isCss||E(t[i])?s.push(Ee(i)+\":\",t[i],\";\"):g(t[i])?s.push.apply(s,e(t[i],i)):s.push(Ee(i)+\": \"+(r=i,null==(o=t[i])||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||r in p||r.startsWith(\"--\")?String(o).trim():o+\"px\")+\";\"));return n?[n+\" {\"].concat(s,[\"}\"]):s}(e):e.toString()}var Ne=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Ae(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return E(e)||g(e)?Ne(_e(v(S,[e].concat(n)))):0===n.length&&1===e.length&&\"string\"==typeof e[0]?e:Ne(_e(v(e,n)))}var Ce=/invalid hook call/i,Ie=new Set,Pe=function(e,t){if(\"production\"!==process.env.NODE_ENV){var n=\"The component \"+e+(t?' with the id of \"'+t+'\"':\"\")+\" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",r=console.error;try{var o=!0;console.error=function(e){if(Ce.test(e))o=!1,Ie.delete(n);else{for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];r.apply(void 0,[e].concat(s))}},c(),o&&!Ie.has(n)&&(console.warn(n),Ie.add(n))}catch(e){Ce.test(e.message)&&Ie.delete(n)}finally{console.error=r}}},Oe=function(e,t,n){return void 0===n&&(n=w),e.theme!==n.theme&&e.theme||t||n.theme},Re=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,De=/(^-|-$)/g;function je(e){return e.replace(Re,\"-\").replace(De,\"\")}var Te=function(e){return Q(te(e)>>>0)};function xe(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var ke=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Ve=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function Be(e,t,n){var r=e[n];ke(t)&&ke(r)?ze(r,t):e[n]=t}function ze(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,s=n;o<s.length;o++){var i=s[o];if(ke(i))for(var a in i)Ve(a)&&Be(e,i[a],a)}return e}var Me=r.createContext(),Ge=Me.Consumer;function Le(e){var t=s(Me),n=i((function(){return function(e,t){if(!e)return D(14);if(E(e)){var n=e(t);return\"production\"===process.env.NODE_ENV||null!==n&&!Array.isArray(n)&&\"object\"==typeof n?n:D(7)}return Array.isArray(e)||\"object\"!=typeof e?D(8):t?y({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?r.createElement(Me.Provider,{value:n},e.children):null}var Fe={};function Ye(e,t,n){var o=_(e),i=!xe(e),a=t.attrs,c=void 0===a?S:a,l=t.componentId,d=void 0===l?function(e,t){var n=\"string\"!=typeof e?\"sc\":je(e);Fe[n]=(Fe[n]||0)+1;var r=n+\"-\"+Te(\"5.3.11\"+n+Fe[n]);return t?t+\"-\"+r:r}(t.displayName,t.parentComponentId):l,h=t.displayName,p=void 0===h?function(e){return xe(e)?\"styled.\"+e:\"Styled(\"+b(e)+\")\"}(e):h,v=t.displayName&&t.componentId?je(t.displayName)+\"-\"+t.componentId:t.componentId||d,g=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,N=t.shouldForwardProp;o&&e.shouldForwardProp&&(N=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var A,C=new oe(n,v,o?e.componentStyle:void 0),I=C.isStatic&&0===c.length,P=function(e,t){return function(e,t,n,r){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,l=e.shouldForwardProp,d=e.styledComponentId,h=e.target,p=function(e,t,n){void 0===e&&(e=w);var r=y({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,s,i=e;for(t in E(i)&&(i=i(r)),i)r[t]=o[t]=\"className\"===t?(n=o[t],s=i[t],n&&s?n+\" \"+s:n||s):i[t]})),[r,o]}(Oe(t,s(Me),a)||w,t,o),m=p[0],v=p[1],g=function(e,t,n,r){var o=pe(),s=fe(),i=t?e.generateAndInjectStyles(w,o,s):e.generateAndInjectStyles(n,o,s);return\"production\"!==process.env.NODE_ENV&&!t&&r&&r(i),i}(i,r,m,\"production\"!==process.env.NODE_ENV?e.warnTooManyClasses:void 0),S=n,b=v.$as||t.$as||v.as||t.as||h,_=xe(b),N=v!==t?y({},t,{},v):t,A={};for(var C in N)\"$\"!==C[0]&&\"as\"!==C&&(\"forwardedAs\"===C?A.as=N[C]:(l?l(C,f,b):!_||f(C))&&(A[C]=N[C]));return t.style&&v.style!==t.style&&(A.style=y({},t.style,{},v.style)),A.className=Array.prototype.concat(c,d,g!==d?g:null,t.className,v.className).filter(Boolean).join(\" \"),A.ref=S,u(b,A)}(A,e,t,I)};return P.displayName=p,(A=r.forwardRef(P)).attrs=g,A.componentStyle=C,A.displayName=p,A.shouldForwardProp=N,A.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):S,A.styledComponentId=v,A.target=o?e.target:e,A.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,[\"componentId\"]),s=r&&r+\"-\"+(xe(e)?e:je(b(e)));return Ye(e,y({},o,{attrs:g,componentId:s}),n)},Object.defineProperty(A,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?ze({},e.defaultProps,t):t}}),\"production\"!==process.env.NODE_ENV&&(Pe(p,v),A.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'+t+'\"':\"\";console.warn(\"Over 200 classes were generated for component \"+e+s+\".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(p,v)),Object.defineProperty(A,\"toString\",{value:function(){return\".\"+A.styledComponentId}}),i&&m(A,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),A}var qe=function(e){return function e(t,r,o){if(void 0===o&&(o=w),!n(r))return D(1,String(r));var s=function(){return t(r,o,Ae.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,y({},o,{},n))},s.attrs=function(n){return e(t,r,y({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(Ye,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){qe[e]=qe(e)}));var He=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=ne(e),X.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(_e(this.rules,t,n,r).join(\"\"),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&X.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function $e(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=Ae.apply(void 0,[e].concat(n)),a=\"sc-global-\"+Te(JSON.stringify(i)),u=new He(i,a);function d(e){var t=pe(),n=fe(),o=s(Me),d=c(t.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \"+a+\" was given child JSX. createGlobalStyle does not render children.\"),\"production\"!==process.env.NODE_ENV&&i.some((function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")}))&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.server&&h(d,e,t,o,n),l((function(){if(!t.server)return h(d,e,t,o,n),function(){return u.removeStyles(d,t)}}),[d,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,P,n,o);else{var s=y({},t,{theme:Oe(t,r,d.defaultProps)});u.renderStyles(e,s,n,o)}}return\"production\"!==process.env.NODE_ENV&&Pe(a),r.memo(d)}function We(e){\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ae.apply(void 0,[e].concat(n)).join(\"\"),s=Te(o);return new ye(s,o)}var Ue=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Y();return\"<style \"+[n&&'nonce=\"'+n+'\"',N+'=\"true\"','data-styled-version=\"5.3.11\"'].filter(Boolean).join(\" \")+\">\"+t+\"</style>\"},this.getStyleTags=function(){return e.sealed?D(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return D(2);var n=((t={})[N]=\"\",t[\"data-styled-version\"]=\"5.3.11\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=Y();return o&&(n.nonce=o),[r.createElement(\"style\",y({},n,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new X({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?D(2):r.createElement(me,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return D(3)},e}(),Je=function(e){var t=r.forwardRef((function(t,n){var o=s(Me),i=e.defaultProps,a=Oe(t,o,i);return\"production\"!==process.env.NODE_ENV&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'+b(e)+'\"'),r.createElement(e,y({},t,{theme:a,ref:n}))}));return m(t,e),t.displayName=\"WithTheme(\"+b(e)+\")\",t},Xe=function(){return s(Me)},Ze={StyleSheet:X,masterSheet:de};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"),\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[\"__styled-components-init__\"]=window[\"__styled-components-init__\"]||0,1===window[\"__styled-components-init__\"]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[\"__styled-components-init__\"]+=1);export default qe;export{Ue as ServerStyleSheet,ue as StyleSheetConsumer,ce as StyleSheetContext,me as StyleSheetManager,Ge as ThemeConsumer,Me as ThemeContext,Le as ThemeProvider,Ze as __PRIVATE__,$e as createGlobalStyle,Ae as css,_ as isStyledComponent,We as keyframes,Xe as useTheme,A as version,Je as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteral(e, t) {\n return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n raw: {\n value: Object.freeze(t)\n }\n }));\n}\nmodule.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = globalThis.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\n // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)';\n var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf);\n var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = thisSymbolValue(this);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var string = symbolDescriptiveString(symbol);\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, constructor: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.map.constructor');\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__70__;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlagsDetection = require('../internals/regexp-flags-detection');\nvar regExpFlagsGetterImplementation = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = regExpFlagsDetection.correct ? function (it) {\n return it.flags;\n} : function (it) {\n return (!regExpFlagsDetection.correct && isPrototypeOf(RegExpPrototype, it) && !hasOwn(it, 'flags'))\n ? call(regExpFlagsGetterImplementation, it)\n : it.flags;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.47.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',\n license: 'https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isObject(regexp) ? getMethod(regexp, MATCH) : undefined;\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n var flags = toString(getRegExpFlags(rx));\n\n if (stringIndexOf(flags, 'g') === -1) return regExpExec(rx, S);\n\n var fullUnicode = stringIndexOf(flags, 'u') !== -1;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n var constructor = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n constructor[SPECIES] = function () { return re; };\n re = { constructor: constructor, flags: '' };\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isObject(searchValue) ? getMethod(searchValue, REPLACE) : undefined;\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var flags = toString(getRegExpFlags(rx));\n var global = stringIndexOf(flags, 'g') !== -1;\n var fullUnicode;\n if (global) {\n fullUnicode = stringIndexOf(flags, 'u') !== -1;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target === newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = globalThis[NUMBER];\nvar PureNumberNamespace = path[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = globalThis.TypeError;\nvar stringSlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n // fast equal of /^0b[01]+$/i\n case 66:\n case 98:\n radix = 2;\n maxCode = 49;\n break;\n // fast equal of /^0o[0-7]+$/i\n case 79:\n case 111:\n radix = 8;\n maxCode = 55;\n break;\n default:\n return +it;\n }\n digits = stringSlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nvar FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));\n\nvar calledWithNew = function (dummy) {\n // includes check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nvar NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;\n};\n\nNumberWrapper.prototype = NumberPrototype;\nif (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED }, {\n Number: NumberWrapper\n});\n\n// Use `internal/copy-constructor-properties` helper in `core-js@4`\nvar copyConstructorProperties = function (target, source) {\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\nif (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);\nif (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = globalThis[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal');\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: null,\n last: null,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: null,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = null;\n entry = entry.next;\n }\n state.first = state.last = null;\n state.index = create(null);\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: null\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var assignValue = require('./_assignValue'),\n copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n isArrayLike = require('./isArrayLike'),\n isPrototype = require('./_isPrototype'),\n keys = require('./keys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","/* eslint no-console:0 */\n\nfunction camelCase (name) {\n return name.charAt(0).toUpperCase() + name.slice(1).replace(/-(\\w)/g, (m, n) => n.toUpperCase())\n}\n\nconst req = require.context('./components', true, /^\\.\\/[^_][\\w-]+\\/style\\/index\\.tsx?$/)\nreq.keys().forEach((mod) => {\n let v = req(mod)\n if (v && v.default) {\n v = v.default\n }\n const match = mod.match(/^\\.\\/([^_][\\w-]+)\\/index\\.tsx?$/)\n if (match && match[1]) {\n if (match[1] === 'message' || match[1] === 'notification') {\n // need nextUI modify\n // message & notification should not be capitalized\n exports[match[1]] = v\n } else {\n exports[camelCase(match[1])] = v\n }\n }\n})\n\nmodule.exports = require('./components')\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = globalThis.RegExp;\n\nvar FLAGS_GETTER_IS_CORRECT = !fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\nmodule.exports = { correct: FLAGS_GETTER_IS_CORRECT };\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var map = {\n\t\"./table/style/index.tsx\": 222\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 221;","import '../../style/index.less'\nimport './index.less'\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://tc39.es/ecma262/#sec-symbol.prototype.description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isRawJSON = require('../internals/is-raw-json');\nvar isSymbol = require('../internals/is-symbol');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\nvar arraySlice = require('../internals/array-slice');\nvar parseJSONString = require('../internals/parse-json-string');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar NATIVE_RAW_JSON = require('../internals/native-raw-json');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar slice = uncurryThis(''.slice);\nvar push = uncurryThis([].push);\nvar numberToString = uncurryThis(1.1.toString);\n\nvar surrogates = /[\\uD800-\\uDFFF]/g;\nvar lowSurrogates = /^[\\uD800-\\uDBFF]$/;\nvar hiSurrogates = /^[\\uDC00-\\uDFFF]$/;\n\nvar MARK = uid();\nvar MARK_LENGTH = MARK.length;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n} : $stringify;\n\nvar fixIllFormedJSON = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(lowSurrogates, match) && !exec(hiSurrogates, next)) || (exec(hiSurrogates, match) && !exec(lowSurrogates, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nvar getReplacerFunction = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n\n// `JSON.stringify` method\n// https://tc39.es/ecma262/#sec-json.stringify\n// https://github.com/tc39/proposal-json-parse-with-source\nif ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE || !NATIVE_RAW_JSON }, {\n stringify: function stringify(text, replacer, space) {\n var replacerFunction = getReplacerFunction(replacer);\n var rawStrings = [];\n\n var json = stringifyWithProperSymbolsConversion(text, function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;\n return !NATIVE_RAW_JSON && isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;\n }, space);\n\n if (typeof json != 'string') return json;\n\n if (ILL_FORMED_UNICODE) json = replace(json, surrogates, fixIllFormedJSON);\n\n if (NATIVE_RAW_JSON) return json;\n\n var result = '';\n var length = json.length;\n\n for (var i = 0; i < length; i++) {\n var chr = charAt(json, i);\n if (chr === '\"') {\n var end = parseJSONString(json, ++i).end - 1;\n var string = slice(json, i, end);\n result += slice(string, 0, MARK_LENGTH) === MARK\n ? rawStrings[slice(string, MARK_LENGTH)]\n : '\"' + string + '\"';\n i = end;\n } else result += chr;\n }\n\n return result;\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar getInternalState = require('../internals/internal-state').get;\n\nmodule.exports = function isRawJSON(O) {\n if (!isObject(O)) return false;\n var state = getInternalState(O);\n return !!state && state.type === 'RawJSON';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\n\nvar $SyntaxError = SyntaxError;\nvar $parseInt = parseInt;\nvar fromCharCode = String.fromCharCode;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar codePoints = {\n '\\\\\"': '\"',\n '\\\\\\\\': '\\\\',\n '\\\\/': '/',\n '\\\\b': '\\b',\n '\\\\f': '\\f',\n '\\\\n': '\\n',\n '\\\\r': '\\r',\n '\\\\t': '\\t'\n};\n\nvar IS_4_HEX_DIGITS = /^[\\da-f]{4}$/i;\n// eslint-disable-next-line regexp/no-control-character -- safe\nvar IS_C0_CONTROL_CODE = /^[\\u0000-\\u001F]$/;\n\nmodule.exports = function (source, i) {\n var unterminated = true;\n var value = '';\n while (i < source.length) {\n var chr = at(source, i);\n if (chr === '\\\\') {\n var twoChars = slice(source, i, i + 2);\n if (hasOwn(codePoints, twoChars)) {\n value += codePoints[twoChars];\n i += 2;\n } else if (twoChars === '\\\\u') {\n i += 2;\n var fourHexDigits = slice(source, i, i + 4);\n if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw new $SyntaxError('Unknown escape sequence: \"' + twoChars + '\"');\n } else if (chr === '\"') {\n unterminated = false;\n i++;\n break;\n } else {\n if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\n};\n","'use strict';\n/* eslint-disable es/no-json -- safe */\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var unsafeInt = '9007199254740993';\n // eslint-disable-next-line es/no-nonstandard-json-properties -- feature detection\n var raw = JSON.rawJSON(unsafeInt);\n // eslint-disable-next-line es/no-nonstandard-json-properties -- feature detection\n return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n result = IS_CONSTRUCTOR ? new this() : [];\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = globalThis.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = globalThis.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n result += chr;\n // ignore non-capturing groups\n if (stringSlice(string, index + 1, index + 3) === '?:') {\n continue;\n }\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.es/ecma262/#sec-flattenintoarray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.1.valueOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/environment-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","const locale = {\n locale: 'zh-CN',\n\n // Text Filter\n contain: '包含',\n notContain: '不包含',\n equal: '等于',\n notEqual: '不等于',\n isNull: '为空',\n notIsNull: '不为空',\n\n // filter button\n resetFilter: '重置',\n confirmFilter: '确定'\n}\n\nexport default locale\n","import React from 'react'\nimport zhCNData from './zh-CN'\nexport type LocaleDataType = typeof zhCNData\nexport type ComponentType = keyof LocaleDataType\n\nexport interface LocaleConfigType {\n locale: string\n localeData: LocaleDataType | any\n customGetLangMsg?: (componentName: string, labelName: string, params: any) => any\n}\n\nexport interface CompLangMsgParams {\n componentName: string\n labels?: string[]\n labelParams?: any\n}\n\ninterface ILocalesData {\n [key: string]: LocaleDataType | any\n}\n\nclass LocaleCache {\n localesData: ILocalesData\n\n locale: string\n\n constructor(localesData: ILocalesData, locale?: string) {\n this.locale = locale || zhCNData.locale\n this.localesData = localesData\n }\n\n /**\n * 设置语言包并切换当前语言\n * @param {LocaleDataType | string} localeData 语言数据集合 | 语言类型\n * @returns 设置后的语言对应的语言包\n */\n setLocalesData(locale: string, localeData?: LocaleDataType) {\n const newLocaleData = localeData || this.localesData[locale]\n if (!newLocaleData) {\n console.error(`缺少语言${locale}对应的语言包,请检查后重新设置`)\n return\n }\n this.locale = locale\n this.localesData[locale] = newLocaleData\n return localeData\n }\n\n /**\n * 获取当前语言包数据\n */\n getLocalData() {\n return this.localesData[this.locale]\n }\n\n /**\n * 获取当前语言类型\n */\n getLocal() {\n return this.locale\n }\n\n /**\n * 获取所有语言包数据\n */\n getLocalesData() {\n return this.localesData\n }\n}\nconst localeCacher = new LocaleCache({ [zhCNData.locale]: zhCNData })\nexport default localeCacher\n\nexport const getLangMsg = (\n componentName: ComponentType | string,\n labelName: string,\n params?: any,\n): string | React.ReactNode[] => {\n const localData = localeCacher.getLocalData()\n const msg = localData[`${componentName}.${labelName}`] || localData[`global.${labelName}`] || ''\n return analysVariables(msg, params)\n}\n\n/**\n * 解析模板字符串中的变量\n * @param {*} msg\n * @param {*} variables\n */\nfunction analysVariables(msg: string, variables: any): string | React.ReactNode[] {\n const reg = /{[\\w\\W]*?}/g\n const matchArr = msg.match(reg) || []\n const isObject = (value: any) => {\n return typeof value === 'object' || typeof value === 'function'\n }\n\n const getVarName = (str: string) => {\n const len = str.length\n return str.slice(1, len - 1)\n }\n\n const stringVar: any[] = []\n const eleVar: any[] = []\n for (const item of matchArr) {\n const varName = getVarName(item)\n const value = variables[varName]\n if (isObject(value)) {\n eleVar.push({ k: varName, v: value })\n } else {\n stringVar.push({ k: varName, v: value })\n }\n }\n msg = formatText(msg, stringVar)\n let msgArr: React.ReactNode[] = []\n if (eleVar.length > 0) {\n msgArr = formatElement(msg, variables)\n }\n return eleVar.length > 0 ? msgArr : msg\n}\n\n/**\n * 替换基本类型的变量\n * @param {*} msg\n * @param {*} stringVar\n */\nfunction formatText(msg: string, stringVar: any[]): string {\n stringVar.forEach((item) => {\n const { k, v } = item\n const reg = new RegExp('{' + k + '}', 'g')\n msg = msg.replace(reg, v)\n })\n return msg\n}\n\n/**\n * 替换React元素类型的变量\n * @param {*} msg\n * @param {*} eleVar\n * @param {*} variables\n */\nfunction formatElement(msg: string, variables: any) {\n const splitByElement = (msg: string) => {\n const array: any[] = []\n let item = { t: 0, v: '' } // 0-string 1-react\n const len = msg.length\n msg.split('').forEach((c, i) => {\n if (c === '{') {\n array.push(item)\n item = { t: 1, v: '' }\n } else if (c === '}') {\n array.push(item)\n item = { t: 0, v: '' }\n } else {\n item.v = item.v + c\n }\n if (i === len - 1) {\n array.push(item)\n }\n })\n return array\n }\n\n const elements: React.ReactNode[] = []\n const eleArr = splitByElement(msg)\n eleArr.forEach((item, index) => {\n const { t, v } = item\n if (t === 0 && v !== '') {\n elements.push(<span key={index}>{v}</span>)\n } else if (t === 1) {\n elements.push(React.cloneElement(variables[v], { key: index }))\n }\n })\n return elements\n}\n\nexport const getCompLangMsg = (\n compLangMsgParams: CompLangMsgParams,\n customGetLangMsg?: (componentName: string, labelName: string, params: any) => any,\n localeDate?: any,\n) => {\n let { componentName, labels, labelParams } = compLangMsgParams\n labels = labels || []\n labelParams = labelParams || {}\n localeDate = localeDate || zhCNData\n if (!labels.length) {\n for (const key in localeDate) {\n const componentNameAndLabel = key.split('.')\n if (componentName === componentNameAndLabel[0] && componentNameAndLabel[1]) {\n labels.push(componentNameAndLabel[1])\n }\n }\n }\n const componentLangMsg: any = {}\n labels.forEach((label) => {\n if (customGetLangMsg && typeof customGetLangMsg === 'function') {\n componentLangMsg[label] = customGetLangMsg(componentName, label, labelParams[label] || {})\n } else {\n componentLangMsg[label] = getLangMsg(componentName, label, labelParams[label] || {})\n }\n })\n return componentLangMsg\n}\n","import { getLangMsg, getCompLangMsg } from '../locale'\nconst defaultConfig = {\n getPrefixCls: (configPrefixCls?: string, suffixCls?: string, customizePrefixCls?: string) => {\n // 获取样式前缀方法\n if (customizePrefixCls) return customizePrefixCls\n configPrefixCls = configPrefixCls || 'kd'\n return suffixCls ? `${configPrefixCls}-${suffixCls}` : configPrefixCls\n },\n prefixCls: 'kd', // 样式前缀\n locale: { getLangMsg, getCompLangMsg },\n}\nexport default defaultConfig\n","/**\n * 提供外层注入属性的context\n */\nimport { createContext } from 'react'\nimport defaultConfig from './defaultConfig'\nimport { LocaleConfigType, CompLangMsgParams, ComponentType } from '../locale'\ninterface IntlUniversal {\n getCompLangMsg: (\n compLangMsgParams: CompLangMsgParams,\n customGetLangMsg?: (componentName: string, labelName: string, params: any) => any,\n ) => any\n getLangMsg: (componentName: ComponentType | string, labelName: string, params?: any) => string | React.ReactNode[]\n}\nexport interface IConfigProps {\n getPrefixCls?: (configPrefixCls?: string, suffixCls?: string, customizePrefixCls?: string) => string\n compDefaultProps?: any\n prefixCls?: string\n localeConfig?: LocaleConfigType\n locale?: IntlUniversal\n}\nexport interface IContextConfigProps {\n getPrefixCls?: (configPrefixCls?: string, suffixCls?: string, customizePrefixCls?: string) => string\n compDefaultProps?: any\n prefixCls?: string\n localeConfig?: LocaleConfigType\n locale: IntlUniversal\n}\nconst ConfigContext = createContext<IContextConfigProps>(defaultConfig)\nexport default ConfigContext\n","import localeCacher from './locale'\nexport {\n LocaleDataType,\n LocaleConfigType,\n ComponentType,\n CompLangMsgParams,\n getLangMsg,\n getCompLangMsg,\n} from './locale'\nexport default localeCacher\n","import ConfigProvider from './configProvider'\nimport compDefaultProps from './compDefaultProps'\nimport ConfigContext from './ConfigContext'\nimport defaultConfig from './defaultConfig'\nexport { compDefaultProps, ConfigContext, defaultConfig }\nexport default ConfigProvider\n","/**\n * 对外暴露用于注入全局配置属性的Context.Provider\n */\nimport React, { FunctionComponentElement } from 'react'\nimport assign from 'lodash/assign'\nimport ConfigContext, { IConfigProps } from './ConfigContext'\nimport defaultConfig from './defaultConfig'\nimport localeCacher, { getLangMsg as getLang, getCompLangMsg as getCompLang, CompLangMsgParams } from '../locale/index'\ninterface IConfigProviderProps {\n value?: IConfigProps\n children?: React.ReactNode\n}\n\nconst ConfigProvider = (props: IConfigProviderProps): FunctionComponentElement<IConfigProviderProps> => {\n // 处理当前语言\n const { value } = props\n const localeConfig = value && value.localeConfig\n const locale = {\n getLangMsg: (componentName: string, labelName: string, params?: any) => {\n if (localeConfig && localeConfig.customGetLangMsg) {\n return localeConfig.customGetLangMsg(componentName, labelName, params)\n }\n return getLang(componentName, labelName, params)\n },\n getCompLangMsg: (compLangMsgParams: CompLangMsgParams) => {\n return getCompLang(compLangMsgParams, localeConfig?.customGetLangMsg)\n },\n }\n if (localeConfig) {\n localeCacher.setLocalesData(localeConfig.locale, localeConfig.localeData)\n }\n // 处理组件默认属性\n\n const providerValue = assign({}, defaultConfig, value, { locale })\n return <ConfigContext.Provider value={providerValue}>{props.children}</ConfigContext.Provider>\n}\nexport default ConfigProvider\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar OuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber));\nexport { OuterSubscriber };\n//# sourceMappingURL=OuterSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar InnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber));\nexport { InnerSubscriber };\n//# sourceMappingURL=InnerSubscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[Symbol_iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleArray.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map\n","/** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nvar NONE = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = undefined;\n var scheduler = undefined;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nvar CombineLatestOperator = /*@__PURE__*/ (function () {\n function CombineLatestOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n };\n return CombineLatestOperator;\n}());\nexport { CombineLatestOperator };\nvar CombineLatestSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, resultSelector) {\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.active = 0;\n _this.values = [];\n _this.observables = [];\n return _this;\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult(this, observable, undefined, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryResultSelector = function (values) {\n var result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber));\nexport { CombineLatestSubscriber };\n//# sourceMappingURL=combineLatest.js.map\n","/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) {\n innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map\n","/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\nimport { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n });\n }));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map\n","/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Action } from './Action';\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map\n","var Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map\n","/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = /*@__PURE__*/ new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nvar DebounceTimeOperator = /*@__PURE__*/ (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\nvar DebounceTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.dueTime = dueTime;\n _this.scheduler = scheduler;\n _this.debouncedSubscription = null;\n _this.lastValue = null;\n _this.hasValue = false;\n return _this;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n var lastValue = this.lastValue;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nvar SkipOperator = /*@__PURE__*/ (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\nvar SkipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skip.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nvar MapToOperator = /*@__PURE__*/ (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\nvar MapToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n var _this = _super.call(this, destination) || this;\n _this.value = value;\n return _this;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=mapTo.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map\n","/** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */\nimport { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = /*@__PURE__*/ new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map\n","/** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */\nimport { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n/*@__PURE__*/ (function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = /*@__PURE__*/ (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexport { Notification };\n//# sourceMappingURL=Notification.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nvar ObserveOnOperator = /*@__PURE__*/ (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexport { ObserveOnOperator };\nvar ObserveOnSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber));\nexport { ObserveOnSubscriber };\nvar ObserveOnMessage = /*@__PURE__*/ (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexport { ObserveOnMessage };\n//# sourceMappingURL=observeOn.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nvar ReplaySubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) {\n bufferSize = Number.POSITIVE_INFINITY;\n }\n if (windowTime === void 0) {\n windowTime = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this) || this;\n _this.scheduler = scheduler;\n _this._events = [];\n _this._infiniteTimeWindow = false;\n _this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n _this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n _this._infiniteTimeWindow = true;\n _this.next = _this.nextInfiniteTimeWindow;\n }\n else {\n _this.next = _this.nextTimeWindow;\n }\n return _this;\n }\n ReplaySubject.prototype.nextInfiniteTimeWindow = function (value) {\n if (!this.isStopped) {\n var _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype.nextTimeWindow = function (value) {\n if (!this.isStopped) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n var _infiniteTimeWindow = this._infiniteTimeWindow;\n var _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var len = _events.length;\n var subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\nvar ReplayEvent = /*@__PURE__*/ (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map\n","/** PURE_IMPORTS_START _ReplaySubject PURE_IMPORTS_END */\nimport { ReplaySubject } from '../ReplaySubject';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime: windowTime,\n refCount: false,\n scheduler: scheduler,\n };\n }\n return function (source) { return source.lift(shareReplayOperator(config)); };\n}\nfunction shareReplayOperator(_a) {\n var _b = _a.bufferSize, bufferSize = _b === void 0 ? Number.POSITIVE_INFINITY : _b, _c = _a.windowTime, windowTime = _c === void 0 ? Number.POSITIVE_INFINITY : _c, useRefCount = _a.refCount, scheduler = _a.scheduler;\n var subject;\n var refCount = 0;\n var subscription;\n var hasError = false;\n var isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n var innerSub;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n innerSub = subject.subscribe(this);\n subscription = source.subscribe({\n next: function (value) {\n subject.next(value);\n },\n error: function (err) {\n hasError = true;\n subject.error(err);\n },\n complete: function () {\n isComplete = true;\n subscription = undefined;\n subject.complete();\n },\n });\n if (isComplete) {\n subscription = undefined;\n }\n }\n else {\n innerSub = subject.subscribe(this);\n }\n this.add(function () {\n refCount--;\n innerSub.unsubscribe();\n innerSub = undefined;\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n//# sourceMappingURL=shareReplay.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nvar DistinctUntilChangedOperator = /*@__PURE__*/ (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\nvar DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.hasKey = false;\n if (typeof compare === 'function') {\n _this.compare = compare;\n }\n return _this;\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var key;\n try {\n var keySelector = this.keySelector;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n var result = false;\n if (this.hasKey) {\n try {\n var compare = this.compare;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n var subscription;\n try {\n subscription = subscribeTo(result)(innerSubscriber);\n }\n catch (error) {\n innerSubscriber.error(error);\n }\n return subscription;\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexport { MergeMapOperator };\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeMapSubscriber };\nexport var flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n","/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n","/** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */\nimport { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return concatAll()(of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */\nimport { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map\n","/** PURE_IMPORTS_START _observable_concat,_util_isScheduler PURE_IMPORTS_END */\nimport { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n var scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return function (source) { return concat(array, source, scheduler); };\n }\n else {\n return function (source) { return concat(array, source); };\n }\n}\n//# sourceMappingURL=startWith.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nvar PairwiseOperator = /*@__PURE__*/ (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\nvar PairwiseSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasPrev = false;\n return _this;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n var pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n };\n return PairwiseSubscriber;\n}(Subscriber));\n//# sourceMappingURL=pairwise.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nvar DoOperator = /*@__PURE__*/ (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\nvar TapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TapSubscriber, _super);\n function TapSubscriber(destination, observerOrNext, error, complete) {\n var _this = _super.call(this, destination) || this;\n _this._tapNext = noop;\n _this._tapError = noop;\n _this._tapComplete = noop;\n _this._tapError = error || noop;\n _this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n _this._context = _this;\n _this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n _this._context = observerOrNext;\n _this._tapNext = observerOrNext.next || noop;\n _this._tapError = observerOrNext.error || noop;\n _this._tapComplete = observerOrNext.complete || noop;\n }\n return _this;\n }\n TapSubscriber.prototype._next = function (value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n };\n TapSubscriber.prototype._error = function (err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n };\n TapSubscriber.prototype._complete = function () {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n };\n return TapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=tap.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\nvar SwitchMapOperator = /*@__PURE__*/ (function () {\n function SwitchMapOperator(project) {\n this.project = project;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n };\n return SwitchMapOperator;\n}());\nvar SwitchMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.index = 0;\n return _this;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n this.unsubscribe();\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = undefined;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function () {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n return SwitchMapSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n","\nfunction isOutput () {\n return true\n}\n\nfunction log (...msg) {\n if (isOutput()) {\n console.log('[kd-table]', ...msg)\n }\n}\n\nfunction warn (...msg) {\n if (isOutput()) {\n console.warn('[kd-table]', ...msg)\n }\n}\n\nfunction error (...msg) {\n console.error('[kd-table]', ...msg)\n}\n\nfunction table (...msg) {\n if (isOutput()) {\n console.table('[kd-table]', ...msg)\n }\n}\n\nexport default {\n log,\n warn,\n error,\n table\n}\n","import { AbstractTreeNode } from '../interfaces'\n\n// 是否是叶子节点\nexport default function isLeafNode (node: AbstractTreeNode) {\n return node.children == null || node.children.length === 0\n}\n","import { AbstractTreeNode } from '../interfaces'\nimport isLeafNode from './isLeafNode'\n\n/** 遍历所有节点,并将节点收集到一个数组中.\n * order 参数可用于指定遍历规则:\n * * `pre` 前序遍历 (默认)\n * * `post` 后续遍历\n * * `leaf-only` 忽略内部节点,只收集叶子节点\n * */\nexport default function collectNodes<T extends AbstractTreeNode>(\n nodes: T[],\n order: 'pre' | 'post' | 'leaf-only' = 'pre',\n) {\n const result: T[] = []\n dfs(nodes)\n return result\n\n function dfs(nodes: T[]) {\n if (nodes == null) {\n return\n }\n for (const node of nodes) {\n if (isLeafNode(node)) {\n result.push(node)\n } else {\n if (order === 'pre') {\n result.push(node)\n dfs(node.children as T[])\n } else if (order === 'post') {\n dfs(node.children as T[])\n result.push(node)\n } else {\n dfs(node.children as T[])\n }\n }\n }\n }\n}\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport var defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nexport function throttle(durationSelector, config) {\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, !!config.leading, !!config.trailing)); };\n}\nvar ThrottleOperator = /*@__PURE__*/ (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\nvar ThrottleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.durationSelector = durationSelector;\n _this._leading = _leading;\n _this._trailing = _trailing;\n _this._hasValue = false;\n return _this;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n this._hasValue = true;\n this._sendValue = value;\n if (!this._throttled) {\n if (this._leading) {\n this.send();\n }\n else {\n this.throttle(value);\n }\n }\n };\n ThrottleSubscriber.prototype.send = function () {\n var _a = this, _hasValue = _a._hasValue, _sendValue = _a._sendValue;\n if (_hasValue) {\n this.destination.next(_sendValue);\n this.throttle(_sendValue);\n }\n this._hasValue = false;\n this._sendValue = undefined;\n };\n ThrottleSubscriber.prototype.throttle = function (value) {\n var duration = this.tryDurationSelector(value);\n if (!!duration) {\n this.add(this._throttled = innerSubscribe(duration, new SimpleInnerSubscriber(this)));\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n ThrottleSubscriber.prototype.throttlingDone = function () {\n var _a = this, _throttled = _a._throttled, _trailing = _a._trailing;\n if (_throttled) {\n _throttled.unsubscribe();\n }\n this._throttled = undefined;\n if (_trailing) {\n this.send();\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function () {\n this.throttlingDone();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this.throttlingDone();\n };\n return ThrottleSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=throttle.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nimport { defaultThrottleConfig } from './throttle';\nexport function throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nvar ThrottleTimeOperator = /*@__PURE__*/ (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\nvar ThrottleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n var _this = _super.call(this, destination) || this;\n _this.duration = duration;\n _this.scheduler = scheduler;\n _this.leading = leading;\n _this.trailing = trailing;\n _this._hasTrailingValue = false;\n _this._trailingValue = null;\n return _this;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n else if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n };\n ThrottleTimeSubscriber.prototype._complete = function () {\n if (this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this.destination.complete();\n }\n else {\n this.destination.complete();\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map\n","/*!\n * css-vars-ponyfill\n * v2.4.9\n * https://jhildenbiddle.github.io/css-vars-ponyfill/\n * (c) 2018-2024 John Hildenbiddle <http://hildenbiddle.com>\n * MIT license\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n/*!\n * get-css-data\n * v2.1.0\n * https://github.com/jhildenbiddle/get-css-data\n * (c) 2018-2022 John Hildenbiddle <http://hildenbiddle.com>\n * MIT license\n */ function getUrls(urls) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var settings = {\n mimeType: options.mimeType || null,\n onBeforeSend: options.onBeforeSend || Function.prototype,\n onSuccess: options.onSuccess || Function.prototype,\n onError: options.onError || Function.prototype,\n onComplete: options.onComplete || Function.prototype\n };\n var urlArray = Array.isArray(urls) ? urls : [ urls ];\n var urlQueue = Array.apply(null, Array(urlArray.length)).map((function(x) {\n return null;\n }));\n function isValidCss(text) {\n var isString = typeof text === \"string\";\n var isHTML = isString && text.trim().charAt(0) === \"<\";\n return isString && !isHTML;\n }\n function onError(xhr, urlIndex) {\n settings.onError(xhr, urlArray[urlIndex], urlIndex);\n }\n function onSuccess(responseText, urlIndex) {\n var returnVal = settings.onSuccess(responseText, urlArray[urlIndex], urlIndex);\n responseText = returnVal === false ? \"\" : returnVal || responseText;\n urlQueue[urlIndex] = responseText;\n if (urlQueue.indexOf(null) === -1) {\n settings.onComplete(urlQueue);\n }\n }\n var parser = document.createElement(\"a\");\n urlArray.forEach((function(url, i) {\n parser.setAttribute(\"href\", url);\n parser.href = String(parser.href);\n var isIElte9 = Boolean(document.all && !window.atob);\n var isIElte9CORS = isIElte9 && parser.host.split(\":\")[0] !== location.host.split(\":\")[0];\n if (isIElte9CORS) {\n var isSameProtocol = parser.protocol === location.protocol;\n if (isSameProtocol) {\n var xdr = new XDomainRequest;\n xdr.open(\"GET\", url);\n xdr.timeout = 0;\n xdr.onprogress = Function.prototype;\n xdr.ontimeout = Function.prototype;\n xdr.onload = function() {\n var text = xdr.responseText;\n if (isValidCss(text)) {\n onSuccess(text, i);\n } else {\n onError(xdr, i);\n }\n };\n xdr.onerror = function(err) {\n onError(xdr, i);\n };\n setTimeout((function() {\n xdr.send();\n }), 0);\n } else {\n console.warn(\"Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol (\".concat(url, \")\"));\n onError(null, i);\n }\n } else {\n var xhr = new XMLHttpRequest;\n xhr.open(\"GET\", url);\n if (settings.mimeType && xhr.overrideMimeType) {\n xhr.overrideMimeType(settings.mimeType);\n }\n settings.onBeforeSend(xhr, url, i);\n xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n var text = xhr.responseText;\n if (xhr.status < 400 && isValidCss(text)) {\n onSuccess(text, i);\n } else if (xhr.status === 0 && isValidCss(text)) {\n onSuccess(text, i);\n } else {\n onError(xhr, i);\n }\n }\n };\n xhr.send();\n }\n }));\n}\n\n/**\n * Gets CSS data from <style> and <link> nodes (including @imports), then\n * returns data in order processed by DOM. Allows specifying nodes to\n * include/exclude and filtering CSS data using RegEx.\n *\n * @preserve\n * @param {object} [options] The options object\n * @param {object} [options.rootElement=document] Root element to traverse for\n * <link> and <style> nodes.\n * @param {string} [options.include] CSS selector matching <link> and <style>\n * nodes to include\n * @param {string} [options.exclude] CSS selector matching <link> and <style>\n * nodes to exclude\n * @param {object} [options.filter] Regular expression used to filter node CSS\n * data. Each block of CSS data is tested against the filter,\n * and only matching data is included.\n * @param {boolean} [options.skipDisabled=true] Determines if disabled\n * stylesheets will be skipped while collecting CSS data.\n * @param {boolean} [options.useCSSOM=false] Determines if CSS data will be\n * collected from a stylesheet's runtime values instead of its\n * text content. This is required to get accurate CSS data\n * when a stylesheet has been modified using the deleteRule()\n * or insertRule() methods because these modifications will\n * not be reflected in the stylesheet's text content.\n * @param {function} [options.onBeforeSend] Callback before XHR is sent. Passes\n * 1) the XHR object, 2) source node reference, and 3) the\n * source URL as arguments.\n * @param {function} [options.onSuccess] Callback on each CSS node read. Passes\n * 1) CSS text, 2) source node reference, and 3) the source\n * URL as arguments.\n * @param {function} [options.onError] Callback on each error. Passes 1) the XHR\n * object for inspection, 2) soure node reference, and 3) the\n * source URL that failed (either a <link> href or an @import)\n * as arguments\n * @param {function} [options.onComplete] Callback after all nodes have been\n * processed. Passes 1) concatenated CSS text, 2) an array of\n * CSS text in DOM order, and 3) an array of nodes in DOM\n * order as arguments.\n *\n * @example\n *\n * getCssData({\n * rootElement : document,\n * include : 'style,link[rel=\"stylesheet\"]',\n * exclude : '[href=\"skip.css\"]',\n * filter : /red/,\n * skipDisabled: true,\n * useCSSOM : false,\n * onBeforeSend(xhr, node, url) {\n * // ...\n * }\n * onSuccess(cssText, node, url) {\n * // ...\n * }\n * onError(xhr, node, url) {\n * // ...\n * },\n * onComplete(cssText, cssArray, nodeArray) {\n * // ...\n * }\n * });\n */ function getCssData(options) {\n var regex = {\n cssComments: /\\/\\*[\\s\\S]+?\\*\\//g,\n cssImports: /(?:@import\\s*)(?:url\\(\\s*)?(?:['\"])([^'\"]*)(?:['\"])(?:\\s*\\))?(?:[^;]*;)/g\n };\n var settings = {\n rootElement: options.rootElement || document,\n include: options.include || 'style,link[rel=\"stylesheet\"]',\n exclude: options.exclude || null,\n filter: options.filter || null,\n skipDisabled: options.skipDisabled !== false,\n useCSSOM: options.useCSSOM || false,\n onBeforeSend: options.onBeforeSend || Function.prototype,\n onSuccess: options.onSuccess || Function.prototype,\n onError: options.onError || Function.prototype,\n onComplete: options.onComplete || Function.prototype\n };\n var sourceNodes = Array.apply(null, settings.rootElement.querySelectorAll(settings.include)).filter((function(node) {\n return !matchesSelector(node, settings.exclude);\n }));\n var cssArray = Array.apply(null, Array(sourceNodes.length)).map((function(x) {\n return null;\n }));\n function handleComplete() {\n var isComplete = cssArray.indexOf(null) === -1;\n if (isComplete) {\n cssArray.reduce((function(skipIndices, value, i) {\n if (value === \"\") {\n skipIndices.push(i);\n }\n return skipIndices;\n }), []).reverse().forEach((function(skipIndex) {\n return [ sourceNodes, cssArray ].forEach((function(arr) {\n return arr.splice(skipIndex, 1);\n }));\n }));\n var cssText = cssArray.join(\"\");\n settings.onComplete(cssText, cssArray, sourceNodes);\n }\n }\n function handleSuccess(cssText, cssIndex, node, sourceUrl) {\n var returnVal = settings.onSuccess(cssText, node, sourceUrl);\n cssText = returnVal !== undefined && Boolean(returnVal) === false ? \"\" : returnVal || cssText;\n resolveImports(cssText, node, sourceUrl, (function(resolvedCssText, errorData) {\n if (cssArray[cssIndex] === null) {\n errorData.forEach((function(data) {\n return settings.onError(data.xhr, node, data.url);\n }));\n if (!settings.filter || settings.filter.test(resolvedCssText)) {\n cssArray[cssIndex] = resolvedCssText;\n } else {\n cssArray[cssIndex] = \"\";\n }\n handleComplete();\n }\n }));\n }\n function parseImportData(cssText, baseUrl) {\n var ignoreRules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var importData = {};\n importData.rules = (cssText.replace(regex.cssComments, \"\").match(regex.cssImports) || []).filter((function(rule) {\n return ignoreRules.indexOf(rule) === -1;\n }));\n importData.urls = importData.rules.map((function(rule) {\n return rule.replace(regex.cssImports, \"$1\");\n }));\n importData.absoluteUrls = importData.urls.map((function(url) {\n return getFullUrl$1(url, baseUrl);\n }));\n importData.absoluteRules = importData.rules.map((function(rule, i) {\n var oldUrl = importData.urls[i];\n var newUrl = getFullUrl$1(importData.absoluteUrls[i], baseUrl);\n return rule.replace(oldUrl, newUrl);\n }));\n return importData;\n }\n function resolveImports(cssText, node, baseUrl, callbackFn) {\n var __errorData = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];\n var __errorRules = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n var importData = parseImportData(cssText, baseUrl, __errorRules);\n if (importData.rules.length) {\n getUrls(importData.absoluteUrls, {\n onBeforeSend: function onBeforeSend(xhr, url, urlIndex) {\n settings.onBeforeSend(xhr, node, url);\n },\n onSuccess: function onSuccess(cssText, url, urlIndex) {\n var returnVal = settings.onSuccess(cssText, node, url);\n cssText = returnVal === false ? \"\" : returnVal || cssText;\n var responseImportData = parseImportData(cssText, url, __errorRules);\n responseImportData.rules.forEach((function(rule, i) {\n cssText = cssText.replace(rule, responseImportData.absoluteRules[i]);\n }));\n return cssText;\n },\n onError: function onError(xhr, url, urlIndex) {\n __errorData.push({\n xhr: xhr,\n url: url\n });\n __errorRules.push(importData.rules[urlIndex]);\n resolveImports(cssText, node, baseUrl, callbackFn, __errorData, __errorRules);\n },\n onComplete: function onComplete(responseArray) {\n responseArray.forEach((function(importText, i) {\n cssText = cssText.replace(importData.rules[i], importText);\n }));\n resolveImports(cssText, node, baseUrl, callbackFn, __errorData, __errorRules);\n }\n });\n } else {\n callbackFn(cssText, __errorData);\n }\n }\n if (sourceNodes.length) {\n sourceNodes.forEach((function(node, i) {\n var linkHref = node.getAttribute(\"href\");\n var linkRel = node.getAttribute(\"rel\");\n var isLink = node.nodeName.toLowerCase() === \"link\" && linkHref && linkRel && linkRel.toLowerCase().indexOf(\"stylesheet\") !== -1;\n var isSkip = settings.skipDisabled === false ? false : node.disabled;\n var isStyle = node.nodeName.toLowerCase() === \"style\";\n if (isLink && !isSkip) {\n var isURIScheme = linkHref.indexOf(\"data:text/css\") !== -1;\n if (isURIScheme) {\n var cssText = decodeURIComponent(linkHref.substring(linkHref.indexOf(\",\") + 1));\n if (settings.useCSSOM) {\n cssText = Array.apply(null, node.sheet.cssRules).map((function(rule) {\n return rule.cssText;\n })).join(\"\");\n }\n handleSuccess(cssText, i, node, location.href);\n } else {\n getUrls(linkHref, {\n mimeType: \"text/css\",\n onBeforeSend: function onBeforeSend(xhr, url, urlIndex) {\n settings.onBeforeSend(xhr, node, url);\n },\n onSuccess: function onSuccess(cssText, url, urlIndex) {\n var sourceUrl = getFullUrl$1(linkHref);\n handleSuccess(cssText, i, node, sourceUrl);\n },\n onError: function onError(xhr, url, urlIndex) {\n cssArray[i] = \"\";\n settings.onError(xhr, node, url);\n handleComplete();\n }\n });\n }\n } else if (isStyle && !isSkip) {\n var _cssText = node.textContent;\n if (settings.useCSSOM) {\n _cssText = Array.apply(null, node.sheet.cssRules).map((function(rule) {\n return rule.cssText;\n })).join(\"\");\n }\n handleSuccess(_cssText, i, node, location.href);\n } else {\n cssArray[i] = \"\";\n handleComplete();\n }\n }));\n } else {\n settings.onComplete(\"\", []);\n }\n}\n\nfunction getFullUrl$1(url, base) {\n var d = document.implementation.createHTMLDocument(\"\");\n var b = d.createElement(\"base\");\n var a = d.createElement(\"a\");\n d.head.appendChild(b);\n d.body.appendChild(a);\n b.href = base || document.baseURI || (document.querySelector(\"base\") || {}).href || location.href;\n a.href = url;\n return a.href;\n}\n\nfunction matchesSelector(elm, selector) {\n var matches = elm.matches || elm.matchesSelector || elm.webkitMatchesSelector || elm.mozMatchesSelector || elm.msMatchesSelector || elm.oMatchesSelector;\n return matches.call(elm, selector);\n}\n\nvar balancedMatch = balanced;\n\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n var r = range(a, b, str);\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\n\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n if (ai >= 0 && bi > 0) {\n if (a === b) {\n return [ ai, bi ];\n }\n begs = [];\n left = str.length;\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n bi = str.indexOf(b, i + 1);\n }\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n if (begs.length) {\n result = [ left, right ];\n }\n }\n return result;\n}\n\nfunction parseCss(css) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var defaults = {\n preserveStatic: true,\n removeComments: false\n };\n var settings = _extends({}, defaults, options);\n var errors = [];\n function error(msg) {\n throw new Error(\"CSS parse error: \".concat(msg));\n }\n function match(re) {\n var m = re.exec(css);\n if (m) {\n css = css.slice(m[0].length);\n return m;\n }\n }\n function open() {\n return match(/^{\\s*/);\n }\n function close() {\n return match(/^}/);\n }\n function whitespace() {\n match(/^\\s*/);\n }\n function comment() {\n whitespace();\n if (css[0] !== \"/\" || css[1] !== \"*\") {\n return;\n }\n var i = 2;\n while (css[i] && (css[i] !== \"*\" || css[i + 1] !== \"/\")) {\n i++;\n }\n if (!css[i]) {\n return error(\"end of comment is missing\");\n }\n var str = css.slice(2, i);\n css = css.slice(i + 2);\n return {\n type: \"comment\",\n comment: str\n };\n }\n function comments() {\n var cmnts = [];\n var c;\n while (c = comment()) {\n cmnts.push(c);\n }\n return settings.removeComments ? [] : cmnts;\n }\n function selector() {\n whitespace();\n while (css[0] === \"}\") {\n error(\"extra closing bracket\");\n }\n var m = match(/^((\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|[^{])+)/);\n if (m) {\n var _selector = m[0].trim();\n var selectorItems;\n var hasComment = /\\/\\*/.test(_selector);\n if (hasComment) {\n _selector = _selector.replace(/\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*\\/+/g, \"\");\n }\n var hasCommaInQuotes = /[\"']\\w*,\\w*[\"']/.test(_selector);\n if (hasCommaInQuotes) {\n _selector = _selector.replace(/\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'/g, (function(m) {\n return m.replace(/,/g, \"‌\");\n }));\n }\n var hasMultipleSelectors = /,/.test(_selector);\n if (hasMultipleSelectors) {\n selectorItems = _selector.split(/\\s*(?![^(]*\\)),\\s*/);\n } else {\n selectorItems = [ _selector ];\n }\n if (hasCommaInQuotes) {\n selectorItems = selectorItems.map((function(s) {\n return s.replace(/\\u200C/g, \",\");\n }));\n }\n return selectorItems;\n }\n }\n function declaration() {\n if (css[0] === \"@\") {\n return at_rule();\n }\n match(/^([;\\s]*)+/);\n var comment_regexp = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n var prop = match(/^(\\*?[-#/*\\\\\\w.]+(\\[[0-9a-z_-]+\\])?)\\s*/);\n if (!prop) {\n return;\n }\n prop = prop[0].trim();\n if (!match(/^:\\s*/)) {\n return error(\"property missing ':'\");\n }\n var val = match(/^((?:\\/\\*.*?\\*\\/|'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\((\\s*'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|[^)]*?)\\s*\\)|[^};])+)/);\n var ret = {\n type: \"declaration\",\n property: prop.replace(comment_regexp, \"\"),\n value: val ? val[0].replace(comment_regexp, \"\").trim() : \"\"\n };\n match(/^[;\\s]*/);\n return ret;\n }\n function declarations() {\n if (!open()) {\n return error(\"missing '{'\");\n }\n var d;\n var decls = comments();\n while (d = declaration()) {\n decls.push(d);\n decls = decls.concat(comments());\n }\n if (!close()) {\n return error(\"missing '}'\");\n }\n return decls;\n }\n function keyframe() {\n whitespace();\n var vals = [];\n var m;\n while (m = match(/^((\\d+\\.\\d+|\\.\\d+|\\d+)%?|[a-z]+)\\s*/)) {\n vals.push(m[1]);\n match(/^,\\s*/);\n }\n if (vals.length) {\n return {\n type: \"keyframe\",\n values: vals,\n declarations: declarations()\n };\n }\n }\n function at_keyframes() {\n var m = match(/^@([-\\w]+)?keyframes\\s*/);\n if (!m) {\n return;\n }\n var vendor = m[1];\n m = match(/^([-\\w]+)\\s*/);\n if (!m) {\n return error(\"@keyframes missing name\");\n }\n var name = m[1];\n if (!open()) {\n return error(\"@keyframes missing '{'\");\n }\n var frame;\n var frames = comments();\n while (frame = keyframe()) {\n frames.push(frame);\n frames = frames.concat(comments());\n }\n if (!close()) {\n return error(\"@keyframes missing '}'\");\n }\n return {\n type: \"keyframes\",\n name: name,\n vendor: vendor,\n keyframes: frames\n };\n }\n function at_page() {\n var m = match(/^@page */);\n if (m) {\n var sel = selector() || [];\n return {\n type: \"page\",\n selectors: sel,\n declarations: declarations()\n };\n }\n }\n function at_page_margin_box() {\n var m = match(/@(top|bottom|left|right)-(left|center|right|top|middle|bottom)-?(corner)?\\s*/);\n if (m) {\n var name = \"\".concat(m[1], \"-\").concat(m[2]) + (m[3] ? \"-\".concat(m[3]) : \"\");\n return {\n type: \"page-margin-box\",\n name: name,\n declarations: declarations()\n };\n }\n }\n function at_fontface() {\n var m = match(/^@font-face\\s*/);\n if (m) {\n return {\n type: \"font-face\",\n declarations: declarations()\n };\n }\n }\n function at_supports() {\n var m = match(/^@supports *([^{]+)/);\n if (m) {\n return {\n type: \"supports\",\n supports: m[1].trim(),\n rules: rules()\n };\n }\n }\n function at_host() {\n var m = match(/^@host\\s*/);\n if (m) {\n return {\n type: \"host\",\n rules: rules()\n };\n }\n }\n function at_media() {\n var m = match(/^@media([^{]+)*/);\n if (m) {\n return {\n type: \"media\",\n media: (m[1] || \"\").trim(),\n rules: rules()\n };\n }\n }\n function at_custom_m() {\n var m = match(/^@custom-media\\s+(--[^\\s]+)\\s*([^{;]+);/);\n if (m) {\n return {\n type: \"custom-media\",\n name: m[1].trim(),\n media: m[2].trim()\n };\n }\n }\n function at_document() {\n var m = match(/^@([-\\w]+)?document *([^{]+)/);\n if (m) {\n return {\n type: \"document\",\n document: m[2].trim(),\n vendor: m[1] ? m[1].trim() : null,\n rules: rules()\n };\n }\n }\n function at_x() {\n var m = match(/^@(import|charset|namespace)\\s*([^;]+);/);\n if (m) {\n return {\n type: m[1],\n name: m[2].trim()\n };\n }\n }\n function at_rule() {\n whitespace();\n if (css[0] === \"@\") {\n var ret = at_x() || at_fontface() || at_media() || at_keyframes() || at_supports() || at_document() || at_custom_m() || at_host() || at_page() || at_page_margin_box();\n if (ret && !settings.preserveStatic) {\n var hasVarFunc = false;\n if (ret.declarations) {\n hasVarFunc = ret.declarations.some((function(decl) {\n return /var\\(/.test(decl.value);\n }));\n } else {\n var arr = ret.keyframes || ret.rules || [];\n hasVarFunc = arr.some((function(obj) {\n return (obj.declarations || []).some((function(decl) {\n return /var\\(/.test(decl.value);\n }));\n }));\n }\n return hasVarFunc ? ret : {};\n }\n return ret;\n }\n }\n function rule() {\n if (!settings.preserveStatic) {\n var balancedMatch$1 = balancedMatch(\"{\", \"}\", css);\n if (balancedMatch$1) {\n var hasVarDecl = /:(?:root|host)(?![.:#(])/.test(balancedMatch$1.pre) && /--\\S*\\s*:/.test(balancedMatch$1.body);\n var hasVarFunc = /var\\(/.test(balancedMatch$1.body);\n if (!hasVarDecl && !hasVarFunc) {\n css = css.slice(balancedMatch$1.end + 1);\n return {};\n }\n }\n }\n var sel = selector() || [];\n var decls = settings.preserveStatic ? declarations() : declarations().filter((function(decl) {\n var hasVarDecl = sel.some((function(s) {\n return /:(?:root|host)(?![.:#(])/.test(s);\n })) && /^--\\S/.test(decl.property);\n var hasVarFunc = /var\\(/.test(decl.value);\n return hasVarDecl || hasVarFunc;\n }));\n if (!sel.length) {\n error(\"selector missing\");\n }\n return {\n type: \"rule\",\n selectors: sel,\n declarations: decls\n };\n }\n function rules(core) {\n if (!core && !open()) {\n return error(\"missing '{'\");\n }\n var node;\n var rules = comments();\n while (css.length && (core || css[0] !== \"}\") && (node = at_rule() || rule())) {\n if (node.type) {\n rules.push(node);\n }\n rules = rules.concat(comments());\n }\n if (!core && !close()) {\n return error(\"missing '}'\");\n }\n return rules;\n }\n return {\n type: \"stylesheet\",\n stylesheet: {\n rules: rules(true),\n errors: errors\n }\n };\n}\n\nfunction parseVars(cssData) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var defaults = {\n parseHost: false,\n store: {},\n onWarning: function onWarning() {}\n };\n var settings = _extends({}, defaults, options);\n var reVarDeclSelectors = new RegExp(\":\".concat(settings.parseHost ? \"host\" : \"root\", \"$\"));\n if (typeof cssData === \"string\") {\n cssData = parseCss(cssData, settings);\n }\n cssData.stylesheet.rules.forEach((function(rule) {\n if (rule.type !== \"rule\" || !rule.selectors.some((function(s) {\n return reVarDeclSelectors.test(s);\n }))) {\n return;\n }\n rule.declarations.forEach((function(decl, i) {\n var prop = decl.property;\n var value = decl.value;\n if (prop && prop.indexOf(\"--\") === 0) {\n settings.store[prop] = value;\n }\n }));\n }));\n return settings.store;\n}\n\nfunction stringifyCss(tree) {\n var delim = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var renderMethods = {\n charset: function charset(node) {\n return \"@charset \" + node.name + \";\";\n },\n comment: function comment(node) {\n return node.comment.indexOf(\"__CSSVARSPONYFILL\") === 0 ? \"/*\" + node.comment + \"*/\" : \"\";\n },\n \"custom-media\": function customMedia(node) {\n return \"@custom-media \" + node.name + \" \" + node.media + \";\";\n },\n declaration: function declaration(node) {\n return node.property + \":\" + node.value + \";\";\n },\n document: function document(node) {\n return \"@\" + (node.vendor || \"\") + \"document \" + node.document + \"{\" + visit(node.rules) + \"}\";\n },\n \"font-face\": function fontFace(node) {\n return \"@font-face\" + \"{\" + visit(node.declarations) + \"}\";\n },\n host: function host(node) {\n return \"@host\" + \"{\" + visit(node.rules) + \"}\";\n },\n import: function _import(node) {\n return \"@import \" + node.name + \";\";\n },\n keyframe: function keyframe(node) {\n return node.values.join(\",\") + \"{\" + visit(node.declarations) + \"}\";\n },\n keyframes: function keyframes(node) {\n return \"@\" + (node.vendor || \"\") + \"keyframes \" + node.name + \"{\" + visit(node.keyframes) + \"}\";\n },\n media: function media(node) {\n return \"@media \" + node.media + \"{\" + visit(node.rules) + \"}\";\n },\n namespace: function namespace(node) {\n return \"@namespace \" + node.name + \";\";\n },\n page: function page(node) {\n return \"@page \" + (node.selectors.length ? node.selectors.join(\", \") : \"\") + \"{\" + visit(node.declarations) + \"}\";\n },\n \"page-margin-box\": function pageMarginBox(node) {\n return \"@\" + node.name + \"{\" + visit(node.declarations) + \"}\";\n },\n rule: function rule(node) {\n var decls = node.declarations;\n if (decls.length) {\n return node.selectors.join(\",\") + \"{\" + visit(decls) + \"}\";\n }\n },\n supports: function supports(node) {\n return \"@supports \" + node.supports + \"{\" + visit(node.rules) + \"}\";\n }\n };\n function visit(nodes) {\n var buf = \"\";\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n if (cb) {\n cb(n);\n }\n var txt = renderMethods[n.type](n);\n if (txt) {\n buf += txt;\n if (txt.length && n.selectors) {\n buf += delim;\n }\n }\n }\n return buf;\n }\n return visit(tree.stylesheet.rules);\n}\n\nfunction walkCss(node, fn) {\n node.rules.forEach((function(rule) {\n if (rule.rules) {\n walkCss(rule, fn);\n return;\n }\n if (rule.keyframes) {\n rule.keyframes.forEach((function(keyframe) {\n if (keyframe.type === \"keyframe\") {\n fn(keyframe.declarations, rule);\n }\n }));\n return;\n }\n if (!rule.declarations) {\n return;\n }\n fn(rule.declarations, node);\n }));\n}\n\nvar VAR_PROP_IDENTIFIER = \"--\";\n\nvar VAR_FUNC_IDENTIFIER = \"var\";\n\nfunction transformCss(cssData) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var defaults = {\n preserveStatic: true,\n preserveVars: false,\n variables: {},\n onWarning: function onWarning() {}\n };\n var settings = _extends({}, defaults, options);\n if (typeof cssData === \"string\") {\n cssData = parseCss(cssData, settings);\n }\n walkCss(cssData.stylesheet, (function(declarations, node) {\n for (var i = 0; i < declarations.length; i++) {\n var decl = declarations[i];\n var type = decl.type;\n var prop = decl.property;\n var value = decl.value;\n if (type !== \"declaration\") {\n continue;\n }\n if (!settings.preserveVars && prop && prop.indexOf(VAR_PROP_IDENTIFIER) === 0) {\n declarations.splice(i, 1);\n i--;\n continue;\n }\n if (value.indexOf(VAR_FUNC_IDENTIFIER + \"(\") !== -1) {\n var resolvedValue = resolveValue(value, settings);\n if (resolvedValue !== decl.value) {\n resolvedValue = fixNestedCalc(resolvedValue);\n if (!settings.preserveVars) {\n decl.value = resolvedValue;\n } else {\n declarations.splice(i, 0, {\n type: type,\n property: prop,\n value: resolvedValue\n });\n i++;\n }\n }\n }\n }\n }));\n return stringifyCss(cssData);\n}\n\nfunction fixNestedCalc(value) {\n var reCalcVal = /calc\\(([^)]+)\\)/g;\n (value.match(reCalcVal) || []).forEach((function(match) {\n var newVal = \"calc\".concat(match.split(\"calc\").join(\"\"));\n value = value.replace(match, newVal);\n }));\n return value;\n}\n\nfunction resolveValue(value) {\n var settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var __recursiveFallback = arguments.length > 2 ? arguments[2] : undefined;\n if (value.indexOf(\"var(\") === -1) {\n return value;\n }\n var valueData = balancedMatch(\"(\", \")\", value);\n function resolveFunc(value) {\n var name = value.split(\",\")[0].replace(/[\\s\\n\\t]/g, \"\");\n var fallback = (value.match(/(?:\\s*,\\s*){1}(.*)?/) || [])[1];\n var match = Object.prototype.hasOwnProperty.call(settings.variables, name) ? String(settings.variables[name]) : undefined;\n var replacement = match || (fallback ? String(fallback) : undefined);\n var unresolvedFallback = __recursiveFallback || value;\n if (!match) {\n settings.onWarning('variable \"'.concat(name, '\" is undefined'));\n }\n if (replacement && replacement !== \"undefined\" && replacement.length > 0) {\n return resolveValue(replacement, settings, unresolvedFallback);\n } else {\n return \"var(\".concat(unresolvedFallback, \")\");\n }\n }\n if (!valueData) {\n if (value.indexOf(\"var(\") !== -1) {\n settings.onWarning('missing closing \")\" in the value \"'.concat(value, '\"'));\n }\n return value;\n } else if (valueData.pre.slice(-3) === \"var\") {\n var isEmptyVarFunc = valueData.body.trim().length === 0;\n if (isEmptyVarFunc) {\n settings.onWarning(\"var() must contain a non-whitespace string\");\n return value;\n } else {\n return valueData.pre.slice(0, -3) + resolveFunc(valueData.body) + resolveValue(valueData.post, settings);\n }\n } else {\n return valueData.pre + \"(\".concat(resolveValue(valueData.body, settings), \")\") + resolveValue(valueData.post, settings);\n }\n}\n\nvar isBrowser = typeof window !== \"undefined\";\n\nvar isNativeSupport = isBrowser && window.CSS && window.CSS.supports && window.CSS.supports(\"(--a: 0)\");\n\nvar counters = {\n group: 0,\n job: 0\n};\n\nvar defaults = {\n rootElement: isBrowser ? document : null,\n shadowDOM: false,\n include: \"style,link[rel=stylesheet]\",\n exclude: \"\",\n variables: {},\n onlyLegacy: true,\n preserveStatic: true,\n preserveVars: false,\n silent: false,\n updateDOM: true,\n updateURLs: true,\n watch: null,\n onBeforeSend: function onBeforeSend() {},\n onError: function onError() {},\n onWarning: function onWarning() {},\n onSuccess: function onSuccess() {},\n onComplete: function onComplete() {},\n onFinally: function onFinally() {}\n};\n\nvar regex = {\n cssComments: /\\/\\*[\\s\\S]+?\\*\\//g,\n cssKeyframes: /@(?:-\\w*-)?keyframes/,\n cssMediaQueries: /@media[^{]+\\{([\\s\\S]+?})\\s*}/g,\n cssUrls: /url\\((?!['\"]?(?:data|http|\\/\\/):)['\"]?([^'\")]*)['\"]?\\)/g,\n cssVarDeclRules: /(?::(?:root|host)(?![.:#(])[\\s,]*[^{]*{\\s*[^}]*})/g,\n cssVarDecls: /(?:[\\s;]*)(-{2}\\w[\\w-]*)(?:\\s*:\\s*)([^;]*);/g,\n cssVarFunc: /var\\(\\s*--[\\w-]/,\n cssVars: /(?:(?::(?:root|host)(?![.:#(])[\\s,]*[^{]*{\\s*[^;]*;*\\s*)|(?:var\\(\\s*))(--[^:)]+)(?:\\s*[:)])/\n};\n\nvar variableStore = {\n dom: {},\n job: {},\n user: {}\n};\n\nvar cssVarsIsRunning = false;\n\nvar cssVarsObserver = null;\n\nvar cssVarsSrcNodeCount = 0;\n\nvar debounceTimer = null;\n\nvar isShadowDOMReady = false;\n\n/**\n * Fetches, parses, and transforms CSS custom properties from specified\n * <style> and <link> elements into static values, then appends a new <style>\n * element with static values to the DOM to provide CSS custom property\n * compatibility for legacy browsers. Also provides a single interface for\n * live updates of runtime values in both modern and legacy browsers.\n *\n * @preserve\n * @param {object} [options] Options object\n * @param {object} [options.rootElement=document] Root element to traverse for\n * <link> and <style> nodes\n * @param {boolean} [options.shadowDOM=false] Determines if shadow DOM <link>\n * and <style> nodes will be processed.\n * @param {string} [options.include=\"style,link[rel=stylesheet]\"] CSS selector\n * matching <link re=\"stylesheet\"> and <style> nodes to\n * process\n * @param {string} [options.exclude] CSS selector matching <link\n * rel=\"stylehseet\"> and <style> nodes to exclude from those\n * matches by options.include\n * @param {object} [options.variables] A map of custom property name/value\n * pairs. Property names can omit or include the leading\n * double-hyphen (—), and values specified will override\n * previous values\n * @param {boolean} [options.onlyLegacy=true] Determines if the ponyfill will\n * only generate legacy-compatible CSS in browsers that lack\n * native support (i.e., legacy browsers)\n * @param {boolean} [options.preserveStatic=true] Determines if CSS\n * declarations that do not reference a custom property will\n * be preserved in the transformed CSS\n * @param {boolean} [options.preserveVars=false] Determines if CSS custom\n * property declarations will be preserved in the transformed\n * CSS\n * @param {boolean} [options.silent=false] Determines if warning and error\n * messages will be displayed on the console\n * @param {boolean} [options.updateDOM=true] Determines if the ponyfill will\n * update the DOM after processing CSS custom properties\n * @param {boolean} [options.updateURLs=true] Determines if relative url()\n * paths will be converted to absolute urls in external CSS\n * @param {boolean} [options.watch=false] Determines if a MutationObserver will\n * be created that will execute the ponyfill when a <link> or\n * <style> DOM mutation is observed\n * @param {function} [options.onBeforeSend] Callback before XHR is sent. Passes\n * 1) the XHR object, 2) source node reference, and 3) the\n * source URL as arguments\n * @param {function} [options.onError] Callback after a CSS parsing error has\n * occurred or an XHR request has failed. Passes 1) an error\n * message, and 2) source node reference, 3) xhr, and 4 url as\n * arguments.\n * @param {function} [options.onWarning] Callback after each CSS parsing warning\n * has occurred. Passes 1) a warning message as an argument.\n * @param {function} [options.onSuccess] Callback after CSS data has been\n * collected from each node and before CSS custom properties\n * have been transformed. Allows modifying the CSS data before\n * it is transformed by returning any string value (or false\n * to skip). Passes 1) CSS text, 2) source node reference, and\n * 3) the source URL as arguments.\n * @param {function} [options.onComplete] Callback after all CSS has been\n * processed, legacy-compatible CSS has been generated, and\n * (optionally) the DOM has been updated. Passes 1) a CSS\n * string with CSS variable values resolved, 2) an array of\n * output <style> node references that have been appended to\n * the DOM, 3) an object containing all custom properies names\n * and values, and 4) the ponyfill execution time in\n * milliseconds.\n * @param {function} [options.onFinally] Callback in modern and legacy browsers\n * after the ponyfill has finished all tasks. Passes 1) a\n * boolean indicating if the last ponyfill call resulted in a\n * style change, 2) a boolean indicating if the current\n * browser provides native support for CSS custom properties,\n * and 3) the ponyfill execution time in milliseconds.\n * @example\n *\n * cssVars({\n * rootElement : document,\n * shadowDOM : false,\n * include : 'style,link[rel=\"stylesheet\"]',\n * exclude : '',\n * variables : {},\n * onlyLegacy : true,\n * preserveStatic: true,\n * preserveVars : false,\n * silent : false,\n * updateDOM : true,\n * updateURLs : true,\n * watch : false,\n * onBeforeSend(xhr, node, url) {},\n * onError(message, node, xhr, url) {},\n * onWarning(message) {},\n * onSuccess(cssText, node, url) {},\n * onComplete(cssText, styleNode, cssVariables, benchmark) {},\n * onFinally(hasChanged, hasNativeSupport, benchmark)\n * });\n */ function cssVars() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var msgPrefix = \"cssVars(): \";\n var settings = _extends({}, defaults, options);\n function handleError(message, sourceNode, xhr, url) {\n if (!settings.silent && window.console) {\n console.error(\"\".concat(msgPrefix).concat(message, \"\\n\"), sourceNode);\n }\n settings.onError(message, sourceNode, xhr, url);\n }\n function handleWarning(message) {\n if (!settings.silent && window.console) {\n console.warn(\"\".concat(msgPrefix).concat(message));\n }\n settings.onWarning(message);\n }\n function handleFinally(hasChanged) {\n settings.onFinally(Boolean(hasChanged), isNativeSupport, getTimeStamp() - settings.__benchmark);\n }\n if (!isBrowser) {\n return;\n }\n if (settings.watch) {\n settings.watch = defaults.watch;\n addMutationObserver(settings);\n cssVars(settings);\n return;\n } else if (settings.watch === false && cssVarsObserver) {\n cssVarsObserver.disconnect();\n cssVarsObserver = null;\n }\n if (!settings.__benchmark) {\n if (cssVarsIsRunning === settings.rootElement) {\n cssVarsDebounced(options);\n return;\n }\n var srcNodes = [].slice.call(settings.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars=\"out\"])'));\n settings.__benchmark = getTimeStamp();\n settings.exclude = [ cssVarsObserver ? '[data-cssvars]:not([data-cssvars=\"\"])' : '[data-cssvars=\"out\"]', \"link[disabled]:not([data-cssvars])\", settings.exclude ].filter((function(selector) {\n return selector;\n })).join(\",\");\n settings.variables = fixVarNames(settings.variables);\n srcNodes.forEach((function(srcNode) {\n var hasStyleCache = srcNode.nodeName.toLowerCase() === \"style\" && srcNode.__cssVars.text;\n var hasStyleChanged = hasStyleCache && srcNode.textContent !== srcNode.__cssVars.text;\n if (hasStyleCache && hasStyleChanged) {\n srcNode.sheet && (srcNode.sheet.disabled = false);\n srcNode.setAttribute(\"data-cssvars\", \"\");\n }\n }));\n if (!cssVarsObserver) {\n var outNodes = [].slice.call(settings.rootElement.querySelectorAll('[data-cssvars=\"out\"]'));\n outNodes.forEach((function(outNode) {\n var dataGroup = outNode.getAttribute(\"data-cssvars-group\");\n var srcNode = dataGroup ? settings.rootElement.querySelector('[data-cssvars=\"src\"][data-cssvars-group=\"'.concat(dataGroup, '\"]')) : null;\n if (!srcNode) {\n outNode.parentNode.removeChild(outNode);\n }\n }));\n if (cssVarsSrcNodeCount && srcNodes.length < cssVarsSrcNodeCount) {\n cssVarsSrcNodeCount = srcNodes.length;\n variableStore.dom = {};\n }\n }\n }\n if (document.readyState !== \"loading\") {\n if (isNativeSupport && settings.onlyLegacy) {\n var hasVarChange = false;\n if (settings.updateDOM) {\n var targetElm = settings.rootElement.host || (settings.rootElement === document ? document.documentElement : settings.rootElement);\n Object.keys(settings.variables).forEach((function(key) {\n var varValue = settings.variables[key];\n hasVarChange = hasVarChange || varValue !== getComputedStyle(targetElm).getPropertyValue(key);\n targetElm.style.setProperty(key, varValue);\n }));\n }\n handleFinally(hasVarChange);\n } else if (!isShadowDOMReady && (settings.shadowDOM || settings.rootElement.shadowRoot || settings.rootElement.host)) {\n getCssData({\n rootElement: defaults.rootElement,\n include: defaults.include,\n exclude: settings.exclude,\n skipDisabled: false,\n onSuccess: function onSuccess(cssText, node, url) {\n var isUserDisabled = (node.sheet || {}).disabled && !node.__cssVars;\n if (isUserDisabled) {\n return false;\n }\n cssText = cssText.replace(regex.cssComments, \"\").replace(regex.cssMediaQueries, \"\");\n cssText = (cssText.match(regex.cssVarDeclRules) || []).join(\"\");\n return cssText || false;\n },\n onComplete: function onComplete(cssText, cssArray, nodeArray) {\n parseVars(cssText, {\n store: variableStore.dom,\n onWarning: handleWarning\n });\n isShadowDOMReady = true;\n cssVars(settings);\n }\n });\n } else {\n cssVarsIsRunning = settings.rootElement;\n getCssData({\n rootElement: settings.rootElement,\n include: settings.include,\n exclude: settings.exclude,\n skipDisabled: false,\n onBeforeSend: settings.onBeforeSend,\n onError: function onError(xhr, node, url) {\n var responseUrl = xhr.responseURL || getFullUrl(url, location.href);\n var statusText = xhr.statusText ? \"(\".concat(xhr.statusText, \")\") : \"Unspecified Error\" + (xhr.status === 0 ? \" (possibly CORS related)\" : \"\");\n var errorMsg = \"CSS XHR Error: \".concat(responseUrl, \" \").concat(xhr.status, \" \").concat(statusText);\n handleError(errorMsg, node, xhr, responseUrl);\n },\n onSuccess: function onSuccess(cssText, node, url) {\n var isUserDisabled = (node.sheet || {}).disabled && !node.__cssVars;\n if (isUserDisabled) {\n return false;\n }\n var isLink = node.nodeName.toLowerCase() === \"link\";\n var isStyleImport = node.nodeName.toLowerCase() === \"style\" && cssText !== node.textContent;\n var returnVal = settings.onSuccess(cssText, node, url);\n cssText = returnVal !== undefined && Boolean(returnVal) === false ? \"\" : returnVal || cssText;\n if (settings.updateURLs && (isLink || isStyleImport)) {\n cssText = fixRelativeCssUrls(cssText, url);\n }\n return cssText;\n },\n onComplete: function onComplete(cssText, cssArray) {\n var nodeArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var currentVars = _extends({}, variableStore.dom, variableStore.user);\n var hasVarChange = false;\n variableStore.job = {};\n nodeArray.forEach((function(node, i) {\n var nodeCSS = cssArray[i];\n node.__cssVars = node.__cssVars || {};\n node.__cssVars.text = nodeCSS;\n if (regex.cssVars.test(nodeCSS)) {\n try {\n var cssTree = parseCss(nodeCSS, {\n preserveStatic: settings.preserveStatic,\n removeComments: true\n });\n parseVars(cssTree, {\n parseHost: Boolean(settings.rootElement.host),\n store: variableStore.dom,\n onWarning: handleWarning\n });\n node.__cssVars.tree = cssTree;\n } catch (err) {\n handleError(err.message, node);\n }\n }\n }));\n _extends(variableStore.job, variableStore.dom);\n if (settings.updateDOM) {\n _extends(variableStore.user, settings.variables);\n _extends(variableStore.job, variableStore.user);\n } else {\n _extends(variableStore.job, variableStore.user, settings.variables);\n _extends(currentVars, settings.variables);\n }\n hasVarChange = counters.job > 0 && Boolean(Object.keys(variableStore.job).length > Object.keys(currentVars).length || Boolean(Object.keys(currentVars).length && Object.keys(variableStore.job).some((function(key) {\n return variableStore.job[key] !== currentVars[key];\n }))));\n if (hasVarChange) {\n resetCssNodes(settings.rootElement);\n cssVars(settings);\n } else {\n var outCssArray = [];\n var outNodeArray = [];\n var hasKeyframesWithVars = false;\n if (settings.updateDOM) {\n counters.job++;\n }\n nodeArray.forEach((function(node, i) {\n var isSkip = !node.__cssVars.tree;\n if (node.__cssVars.tree) {\n try {\n transformCss(node.__cssVars.tree, _extends({}, settings, {\n variables: variableStore.job,\n onWarning: handleWarning\n }));\n var outCss = stringifyCss(node.__cssVars.tree);\n if (settings.updateDOM) {\n var nodeCSS = cssArray[i];\n var hasCSSVarFunc = regex.cssVarFunc.test(nodeCSS);\n if (!node.getAttribute(\"data-cssvars\")) {\n node.setAttribute(\"data-cssvars\", \"src\");\n }\n if (outCss.length && hasCSSVarFunc) {\n var dataGroup = node.getAttribute(\"data-cssvars-group\") || ++counters.group;\n var outCssNoSpaces = outCss.replace(/\\s/g, \"\");\n var outNode = settings.rootElement.querySelector('[data-cssvars=\"out\"][data-cssvars-group=\"'.concat(dataGroup, '\"]')) || document.createElement(\"style\");\n hasKeyframesWithVars = hasKeyframesWithVars || regex.cssKeyframes.test(outCss);\n if (settings.preserveStatic) {\n node.sheet && (node.sheet.disabled = true);\n }\n if (!outNode.hasAttribute(\"data-cssvars\")) {\n outNode.setAttribute(\"data-cssvars\", \"out\");\n }\n if (outCssNoSpaces === node.textContent.replace(/\\s/g, \"\")) {\n isSkip = true;\n if (outNode && outNode.parentNode) {\n node.removeAttribute(\"data-cssvars-group\");\n outNode.parentNode.removeChild(outNode);\n }\n } else if (outCssNoSpaces !== outNode.textContent.replace(/\\s/g, \"\")) {\n [ node, outNode ].forEach((function(n) {\n n.setAttribute(\"data-cssvars-job\", counters.job);\n n.setAttribute(\"data-cssvars-group\", dataGroup);\n }));\n outNode.textContent = outCss;\n outCssArray.push(outCss);\n outNodeArray.push(outNode);\n if (!outNode.parentNode) {\n node.parentNode.insertBefore(outNode, node.nextSibling);\n }\n }\n }\n } else {\n if (node.textContent.replace(/\\s/g, \"\") !== outCss) {\n outCssArray.push(outCss);\n }\n }\n } catch (err) {\n handleError(err.message, node);\n }\n }\n if (isSkip) {\n node.setAttribute(\"data-cssvars\", \"skip\");\n }\n if (!node.hasAttribute(\"data-cssvars-job\")) {\n node.setAttribute(\"data-cssvars-job\", counters.job);\n }\n }));\n cssVarsSrcNodeCount = settings.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars=\"out\"])').length;\n if (settings.shadowDOM) {\n var elms = [].concat(settings.rootElement).concat([].slice.call(settings.rootElement.querySelectorAll(\"*\")));\n for (var i = 0, elm; elm = elms[i]; ++i) {\n if (elm.shadowRoot && elm.shadowRoot.querySelector(\"style\")) {\n var shadowSettings = _extends({}, settings, {\n rootElement: elm.shadowRoot\n });\n cssVars(shadowSettings);\n }\n }\n }\n if (settings.updateDOM && hasKeyframesWithVars) {\n fixKeyframes(settings.rootElement);\n }\n cssVarsIsRunning = false;\n settings.onComplete(outCssArray.join(\"\"), outNodeArray, JSON.parse(JSON.stringify(variableStore.job)), getTimeStamp() - settings.__benchmark);\n handleFinally(outNodeArray.length);\n }\n }\n });\n }\n } else {\n document.addEventListener(\"DOMContentLoaded\", (function init(evt) {\n cssVars(options);\n document.removeEventListener(\"DOMContentLoaded\", init);\n }));\n }\n}\n\ncssVars.reset = function() {\n counters.job = 0;\n counters.group = 0;\n cssVarsIsRunning = false;\n if (cssVarsObserver) {\n cssVarsObserver.disconnect();\n cssVarsObserver = null;\n }\n cssVarsSrcNodeCount = 0;\n debounceTimer = null;\n isShadowDOMReady = false;\n for (var prop in variableStore) {\n variableStore[prop] = {};\n }\n};\n\nfunction addMutationObserver(settings) {\n function isDisabled(node) {\n var isDisabledAttr = isLink(node) && node.hasAttribute(\"disabled\");\n var isDisabledSheet = (node.sheet || {}).disabled;\n return isDisabledAttr || isDisabledSheet;\n }\n function isLink(node) {\n var isStylesheet = node.nodeName.toLowerCase() === \"link\" && (node.getAttribute(\"rel\") || \"\").indexOf(\"stylesheet\") !== -1;\n return isStylesheet;\n }\n function isStyle(node) {\n return node.nodeName.toLowerCase() === \"style\";\n }\n function isValidAttributeMutation(mutation) {\n var isValid = false;\n if (mutation.type === \"attributes\" && isLink(mutation.target) && !isDisabled(mutation.target)) {\n var isEnabledMutation = mutation.attributeName === \"disabled\";\n var isHrefMutation = mutation.attributeName === \"href\";\n var isSkipNode = mutation.target.getAttribute(\"data-cssvars\") === \"skip\";\n var isSrcNode = mutation.target.getAttribute(\"data-cssvars\") === \"src\";\n if (isEnabledMutation) {\n isValid = !isSkipNode && !isSrcNode;\n } else if (isHrefMutation) {\n if (isSkipNode) {\n mutation.target.setAttribute(\"data-cssvars\", \"\");\n } else if (isSrcNode) {\n resetCssNodes(settings.rootElement, true);\n }\n isValid = true;\n }\n }\n return isValid;\n }\n function isValidStyleTextMutation(mutation) {\n var isValid = false;\n if (mutation.type === \"childList\") {\n var isStyleElm = isStyle(mutation.target);\n var isOutNode = mutation.target.getAttribute(\"data-cssvars\") === \"out\";\n isValid = isStyleElm && !isOutNode;\n }\n return isValid;\n }\n function isValidAddMutation(mutation) {\n var isValid = false;\n if (mutation.type === \"childList\") {\n isValid = [].slice.call(mutation.addedNodes).some((function(node) {\n var isElm = node.nodeType === 1;\n var hasAttr = isElm && node.hasAttribute(\"data-cssvars\");\n var isStyleWithVars = isStyle(node) && regex.cssVars.test(node.textContent);\n var isValid = !hasAttr && (isLink(node) || isStyleWithVars);\n return isValid && !isDisabled(node);\n }));\n }\n return isValid;\n }\n function isValidRemoveMutation(mutation) {\n var isValid = false;\n if (mutation.type === \"childList\") {\n isValid = [].slice.call(mutation.removedNodes).some((function(node) {\n var isElm = node.nodeType === 1;\n var isOutNode = isElm && node.getAttribute(\"data-cssvars\") === \"out\";\n var isSrcNode = isElm && node.getAttribute(\"data-cssvars\") === \"src\";\n var isValid = isSrcNode;\n if (isSrcNode || isOutNode) {\n var dataGroup = node.getAttribute(\"data-cssvars-group\");\n var orphanNode = settings.rootElement.querySelector('[data-cssvars-group=\"'.concat(dataGroup, '\"]'));\n if (isSrcNode) {\n resetCssNodes(settings.rootElement, true);\n }\n if (orphanNode) {\n orphanNode.parentNode.removeChild(orphanNode);\n }\n }\n return isValid;\n }));\n }\n return isValid;\n }\n if (!window.MutationObserver) {\n return;\n }\n if (cssVarsObserver) {\n cssVarsObserver.disconnect();\n cssVarsObserver = null;\n }\n cssVarsObserver = new MutationObserver((function(mutations) {\n var hasValidMutation = mutations.some((function(mutation) {\n return isValidAttributeMutation(mutation) || isValidStyleTextMutation(mutation) || isValidAddMutation(mutation) || isValidRemoveMutation(mutation);\n }));\n if (hasValidMutation) {\n cssVars(settings);\n }\n }));\n cssVarsObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [ \"disabled\", \"href\" ],\n childList: true,\n subtree: true\n });\n}\n\nfunction cssVarsDebounced(settings) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n clearTimeout(debounceTimer);\n debounceTimer = setTimeout((function() {\n settings.__benchmark = null;\n cssVars(settings);\n }), delay);\n}\n\nfunction fixKeyframes(rootElement) {\n var animationNameProp = [ \"animation-name\", \"-moz-animation-name\", \"-webkit-animation-name\" ].filter((function(prop) {\n return getComputedStyle(document.body)[prop];\n }))[0];\n if (animationNameProp) {\n var allNodes = [].slice.call(rootElement.querySelectorAll(\"*\"));\n var keyframeNodes = [];\n var nameMarker = \"__CSSVARSPONYFILL-KEYFRAMES__\";\n for (var i = 0, len = allNodes.length; i < len; i++) {\n var node = allNodes[i];\n var animationName = getComputedStyle(node)[animationNameProp];\n if (animationName !== \"none\") {\n node.style[animationNameProp] += nameMarker;\n keyframeNodes.push(node);\n }\n }\n void document.body.offsetHeight;\n for (var _i = 0, _len = keyframeNodes.length; _i < _len; _i++) {\n var nodeStyle = keyframeNodes[_i].style;\n nodeStyle[animationNameProp] = nodeStyle[animationNameProp].replace(nameMarker, \"\");\n }\n }\n}\n\nfunction fixRelativeCssUrls(cssText, baseUrl) {\n var cssUrls = cssText.replace(regex.cssComments, \"\").match(regex.cssUrls) || [];\n cssUrls.forEach((function(cssUrl) {\n var oldUrl = cssUrl.replace(regex.cssUrls, \"$1\");\n var newUrl = getFullUrl(oldUrl, baseUrl);\n cssText = cssText.replace(cssUrl, cssUrl.replace(oldUrl, newUrl));\n }));\n return cssText;\n}\n\nfunction fixVarNames() {\n var varObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reLeadingHyphens = /^-{2}/;\n return Object.keys(varObj).reduce((function(obj, value) {\n var key = reLeadingHyphens.test(value) ? value : \"--\".concat(value.replace(/^-+/, \"\"));\n obj[key] = varObj[value];\n return obj;\n }), {});\n}\n\nfunction getFullUrl(url) {\n var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : location.href;\n var d = document.implementation.createHTMLDocument(\"\");\n var b = d.createElement(\"base\");\n var a = d.createElement(\"a\");\n d.head.appendChild(b);\n d.body.appendChild(a);\n b.href = base;\n a.href = url;\n return a.href;\n}\n\nfunction getTimeStamp() {\n return isBrowser && (window.performance || {}).now ? window.performance.now() : (new Date).getTime();\n}\n\nfunction resetCssNodes(rootElement) {\n var resetDOMVariableStore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var resetNodes = [].slice.call(rootElement.querySelectorAll('[data-cssvars=\"skip\"],[data-cssvars=\"src\"]'));\n resetNodes.forEach((function(node) {\n return node.setAttribute(\"data-cssvars\", \"\");\n }));\n if (resetDOMVariableStore) {\n variableStore.dom = {};\n }\n}\n\nexport { cssVars as default };\n//# sourceMappingURL=css-vars-ponyfill.esm.js.map\n","import cx from 'classnames'\nimport { CellProps } from '../interfaces'\n\nfunction composeEventHandler(handler1: Function, handler2: Function) {\n return (...args: any) => {\n // 先执行原有的事件回调函数\n handler1(...args)\n handler2(...args)\n // 事件回调函数没有返回值,故这里不进行 return\n }\n}\n\n/** 合并两个 cellProps(单元格属性)对象,返回一个合并后的全新对象。\n *\n * mergeCellProps 会按照以下规则来合并两个对象:\n * * 对于 数字、字符串、布尔值类型的字段,extra 中的字段值将直接覆盖 base 中的字段值(className 是个特例,会进行字符串拼接)\n * * 对于函数/方法类型的字段(对应单元格的事件回调函数),mergeCellProps 将生成一个新的函数,新函数将按序调用 base 和 extra 中的方法\n * * 对于普通对象类型的字段(对应单元格的样式),mergeCellProps 将合并两个对象 */\nexport default function mergeCellProps(base: CellProps, extra: CellProps): CellProps {\n if (base == null) {\n return extra\n }\n if (extra == null) {\n return base\n }\n\n const result: any = Object.assign({}, base)\n\n for (const key of Object.keys(extra)) {\n const value = (extra as any)[key]\n const type = typeof value\n\n if (value === null) {\n // value=null 时 覆盖原来的值\n result[key] = null\n } else if (value === undefined) {\n // value=undefined 时 保留原来的值\n } else if (type === 'number' || type === 'string' || type === 'boolean') {\n if (key === 'className') {\n result[key] = cx(result[key], value)\n } else {\n result[key] = value\n }\n } else if (type === 'function') {\n const prev = result[key]\n if (prev == null) {\n result[key] = value\n } else {\n result[key] = composeEventHandler(prev, value)\n }\n } else if (type === 'object') {\n result[key] = Object.assign({}, result[key], value)\n }\n // else `type` is 'bigint' or 'symbol', `value` is an invalid cellProp, ignore it\n }\n\n return result\n}\n","/*\n * @Author: wqhui\n * @Date: 2022-05-13 17:06:51\n * @LastEditTime: 2024-05-29 16:25:48\n * @Description:\n */\ntype IBrowserData = {\n name?: string\n version?: string\n}\n\nexport const browserData = getBrowserData()\n\nexport const browserType = {\n isEdge: browserData.name === 'Edge',\n isNewEdge: browserData.name === 'NewEdge',\n isIE: browserData.name === 'IE',\n isFireFox: browserData.name === 'Firefox',\n isChrome: browserData.name === 'Chrome',\n isSafari: browserData.name === 'Safari'\n}\n\n\nfunction getBrowserData () {\n const ua = navigator.userAgent\n const browser:IBrowserData = {}\n let match\n\n // 旧Edge浏览器可能隐藏其版本号,因此我们需要特别处理\n if ((match = ua.match(/Edge\\/(.*?)(?=\\s|$)/))) {\n browser.name = 'Edge'\n browser.version = match[1]\n }\n\n // 新Edge浏览器\n if (!browser.name) {\n if ((match = ua.match(/Edg\\/(.*?)(?=\\s|$)/))) {\n browser.name = 'NewEdge'\n browser.version = match[1]\n }\n }\n\n // 如果未找到Edge版本,尝试Chrome\n if (!browser.name) {\n if ((match = ua.match(/Chrome\\/(.*?)(?=\\s|$)/))) {\n browser.name = 'Chrome'\n browser.version = match[1]\n }\n }\n\n // 如果未找到Chrome版本,尝试Safari\n if (!browser.name) {\n if ((match = ua.match(/Safari\\/(.*?)(?=\\s|$)/))) {\n browser.name = 'Safari'\n browser.version = match[1]\n }\n }\n\n // 如果未找到Safari版本,尝试Firefox\n if (!browser.name) {\n if ((match = ua.match(/Firefox\\/(.*?)(?=\\s|$)/))) {\n browser.name = 'Firefox'\n browser.version = match[1]\n }\n }\n\n // 如果未找到Firefox版本,尝试IE\n if (!browser.name) {\n if (/Trident\\/(\\d+)/.test(ua)) {\n browser.name = 'IE'\n match = ua.match(/Trident.*rv:([\\d.]+)/) || []\n browser.version = match[1]\n } else if ((match = ua.match(/MSIE\\s(.*?);/))) {\n browser.name = 'IE'\n browser.version = match[1]\n }\n }\n\n return browser\n}\n","/*\n * @Author: wqhui\n * @Date: 2024-05-06 16:16:16\n * @LastEditTime: 2024-05-06 16:41:24\n * @Description:\n */\nimport { browserData, browserType } from './browserType'\n\nlet isStickyUIDegradeFlag: boolean\nexport function isStickyUIDegrade () {\n if (typeof isStickyUIDegradeFlag === 'undefined') {\n isStickyUIDegradeFlag = browserType.isIE || isFirefoxOfLowerPerf(browserData.name, browserData.version)\n }\n return isStickyUIDegradeFlag\n}\n\nfunction isFirefoxOfLowerPerf (name: string, version: string | number) {\n return name === 'Firefox' && getVersionNum(version) <= 52\n}\n\nfunction getVersionNum (version) {\n if (typeof version === 'number') {\n return version\n }\n if (typeof version === 'string') {\n return Number(version.split('.')[0])\n }\n return Number(undefined)\n}\n","import styled, { css, createGlobalStyle } from 'styled-components'\nimport { swapRTLDirection } from './utils'\nexport const LOCK_SHADOW_PADDING = 20\n\nconst prefix = 'kd-'\n\nexport const Classes = {\n /** BaseTable 表格组件的外层包裹 div */\n artTableWrapper: `${prefix}table-wrapper`,\n artTableBordered: `${prefix}table-bordered`,\n\n artTable: `${prefix}table`,\n tableHeaderMain: `${prefix}table-header-main`,\n tableHeader: `${prefix}table-header`,\n tableBody: `${prefix}table-body`,\n virtual: `${prefix}virtual`,\n tableFooter: `${prefix}table-footer`,\n tableFooterMain: `${prefix}table-footer-main`,\n\n /** 表格行 */\n tableRow: `${prefix}table-row`,\n /** 表头行 */\n tableHeaderRow: `${prefix}table-header-row`,\n /** 单元格 */\n tableCell: `${prefix}table-cell`,\n tableExtendCell: `${prefix}table-extend-cell`,\n /** 表头的单元格 */\n tableHeaderCell: `${prefix}table-header-cell`,\n tableHeaderCellContent: `${prefix}table-header-cell-content`,\n tableHeaderCellResize: `${prefix}table-header-cell-resize`,\n virtualBlank: `${prefix}virtual-blank`,\n\n stickyScroll: `${prefix}sticky-scroll`,\n stickyScrollItem: `${prefix}sticky-scroll-item`,\n horizontalScrollContainer: `${prefix}horizontal-scroll-container`,\n verticalScrollPlaceholder: `${prefix}vertical-scroll-placeholder`,\n horizontalStickyScrollContainer: `${prefix}horizontal-sticky-scroll-container`,\n horizontalScrollLeftSpacer: `${prefix}horizontal-scroll-left-spacer`,\n horizontalScrollRightSpacer: `${prefix}horizontal-scroll-right-spacer`,\n\n lockShadowMask: `${prefix}lock-shadow-mask`,\n lockShadow: `${prefix}lock-shadow`,\n leftLockShadow: `${prefix}left-lock-shadow`,\n rightLockShadow: `${prefix}right-lock-shadow`,\n\n /** 数据为空时表格内容的外层 div */\n emptyWrapper: `${prefix}empty-wrapper`,\n\n loadingWrapper: `${prefix}loading-wrapper`,\n loadingContentWrapper: `${prefix}loading-content-wrapper`,\n loadingIndicatorWrapper: `${prefix}loading-indicator-wrapper`,\n loadingIndicator: `${prefix}loading-indicator`,\n\n tableHeaderCellLine: `${prefix}table-header-cell-line`,\n\n tableFilterTrigger: `${prefix}filter-trigger`,\n tableSortIcon: `${prefix}sort-icon`,\n tableExtendIcon: `${prefix}extend-icon`,\n\n button: `${prefix}btn`,\n buttonPrimary: `${prefix}btn-primary`,\n filterIcon: `${prefix}filter-icon`,\n\n rangeSelection: `${prefix}range-selection`,\n tableCellRangeSingleCell: `${prefix}table-cell-range-single-cell`,\n tableCellRangeSelected: `${prefix}table-cell-range-selected`,\n tableCellRangeTop: `${prefix}table-cell-range-top`,\n tableCellRangeLeft: `${prefix}table-cell-range-left`,\n tableCellRangeBottom: `${prefix}table-cell-range-bottom`,\n tableCellRangeRight: `${prefix}table-cell-range-right`,\n\n fixedLeft: `${prefix}fixed-left`,\n fixedRight: `${prefix}fixed-right`,\n\n rowDetailContainer: `${prefix}row-detail-container`,\n rowDetailItem: `${prefix}row-detail-item`,\n\n emptyColCell: `${prefix}empty-col-cell`,\n\n first: `${prefix}first`,\n last: `${prefix}last`,\n even: `${prefix}even`,\n odd: `${prefix}odd`,\n\n lockLeft: `${prefix}lock-left`,\n lockRight: `${prefix}lock-right`,\n rowSpan: `${prefix}row-span`,\n leaf: `${prefix}leaf`,\n\n expanded: `${prefix}expanded`,\n collapsed: `${prefix}collapsed`,\n\n popup: `${prefix}popup`,\n popupHeader: `${prefix}popup-header`,\n popupBody: `${prefix}popup-body`,\n\n rowDragging: `${prefix}row-dragging`,\n\n rowDragStart: `${prefix}row-drag-start`,\n rowDragEnd: `${prefix}row-drag-end`,\n rowDragEndParent: `${prefix}row-drag-end-parent`,\n rowDragEndToTop: `${prefix}row-drag-end-to-top`,\n rowDragEndToBottom: `${prefix}row-drag-end-to-bottom`,\n rowDragEndInto: `${prefix}row-drag-end-into`,\n rowDragElement: `${prefix}row-drag-element`,\n rowDragElementIcon: `${prefix}row-drag-element-icon`,\n rowDragElementLabel: `${prefix}row-drag-element-label`,\n rowDragLine: `${prefix}row-drag-line`,\n rowDragNoData: `${prefix}row-drag-no-data`,\n treeTableRowDragLine: `${prefix}tree-table-row-drag-line`,\n iconNotAllowed: `${prefix}icon-not-allowed`,\n iconMove: `${prefix}icon-move`,\n rowDragCell: `${prefix}row-drag-cell`\n\n} as const\n\nexport const MenuClasses = {\n menu: `${prefix}table-menu`,\n menuList: `${prefix}table-menu-list`,\n menuOption: `${prefix}table-menu-option`,\n menuOptionActive: `${prefix}table-menu-option-active`,\n menuOptionDisable: `${prefix}table-menu-option-disable`,\n menuOptionText: `${prefix}table-menu-option-text`\n}\n\nconst Z = {\n lock: 5,\n header: 15,\n footer: 10,\n lockShadow: 20,\n rowDetail: 25,\n scrollItem: 30,\n loadingIndicator: 40\n} as const\n\nexport type BaseTableCSSVariables = Partial<{\n /** 表格一行的高度,注意该属性将被作为 CSS variable,不能使用数字作为简写 */\n '--row-height': string\n /** 表格的字体颜色 */\n '--color': string\n /** 表格背景颜色 */\n '--bgcolor': string\n /** 鼠标悬停时的背景色 */\n '--hover-bgcolor': string\n /** 单元格高亮时的背景色 */\n '--highlight-bgcolor': string\n /** 主题色 */\n '--primary-color':string\n\n /** 主题色浅色1,浅色选中、悬浮 */\n '--primary-color-level1': string\n /** 主题色浅色2,深色选中、悬浮 */\n '--primary-color-level2': string\n /** 图标默认颜色 */\n '--icon-color':string\n /** 边框颜色 */\n '--strong-border-color': string\n\n /** 表头中一行的高度,注意该属性将被作为 CSS variable,不能使用数字作为简写 */\n '--header-row-height': string\n /** 表头中的字体颜色 */\n '--header-color': string\n /** 表头的背景色 */\n '--header-bgcolor': string\n /** 表头上鼠标悬停时的背景色 */\n '--header-hover-bgcolor': string\n /** 表头上单元格高亮时的背景色 */\n '--header-highlight-bgcolor': string\n\n /** 单元格 padding */\n '--cell-padding': string\n /** 字体大小 */\n '--font-size': string\n /** 表格内字体的行高 */\n '--line-height': string\n /** 锁列阴影,默认为 rgba(152, 152, 152, 0.5) 0 0 6px 2px */\n '--lock-shadow': string\n\n /** 单元格的边框颜色 */\n '--border-color': string\n /** 单元格边框,默认为 1px solid #dfe3e8 */\n '--cell-border': string\n /** 单元格上下边框,默认为 none ,默认值为 1px solid #dfe3e8 */\n '--cell-border-horizontal': string\n /** 单元格左右边框,默认为 #dfe3e8 */\n '--cell-border-vertical': string\n /** 表头单元格边框,默认为 1px solid #dfe3e8 */\n '--header-cell-border': string\n /** 表头单元格上下边框,默认为 none ,默认值为 1px solid #dfe3e8 */\n '--header-cell-border-horizontal': string\n /** 表头单元格左右边框,默认为 1px solid #dfe3e8 */\n '--header-cell-border-vertical': string\n}>\n\nexport const GlobalStyle = createGlobalStyle<{ direction: string }>`\n .${Classes.rowDragElement}{\n position: absolute;\n top:0;\n ${props => swapRTLDirection(props.direction, 'left')}:0;\n z-index: 9999;\n pointer-events:none;\n user-select: none;\n\n display:flex;\n opacity: 0.9;\n align-items:center;\n min-width:80px;\n padding: 0px 8px;\n border: 1px solid #d9d9d9;\n box-shadow: 0px 6px 16px 3px rgba(0,0,0,0.08);\n border-radius: 2px;\n background: #fff;\n max-height:48px;\n\n .${Classes.rowDragElementLabel}{\n font-size:12px;\n overflow:hidden;\n text-overflow: ellipsis;\n white-space:nowrap;\n }\n \n }\n\n .${Classes.rowDragLine}{\n position: absolute;\n top:0;\n left:0;\n z-index: 9998;\n pointer-events:none;\n user-select: none;\n height: 2px;\n background: var(--primary-color);\n }\n .${Classes.treeTableRowDragLine}:before{\n content: \" \";\n position: absolute;\n width: 8px;\n height: 8px;\n top:-4px;\n border: 2px solid var(--primary-color);\n border-radius: 50%;\n background:#fff;\n }\n`\n\nconst outerBorderStyleMixin = css`\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.${Classes.first},\n th.${Classes.first} {\n border-${props => props.direction === 'rtl' ? 'right' : 'left'}: none;\n }\n td.${Classes.last},\n th.${Classes.last} {\n border-${props => props.direction === 'rtl' ? 'left' : 'right'}: none;\n }\n\n thead tr.${Classes.first} th,\n tbody tr.${Classes.first} td {\n border-top: none;\n }\n &.has-footer tfoot tr.${Classes.last} td {\n border-bottom: none;\n }\n &:not(.has-footer) tbody tr.${Classes.last} td {\n border-bottom: none;\n }\n td.${Classes.rowSpan}:not(.${Classes.first}){\n border-${props => props.direction === 'rtl' ? 'right' : 'left'}: var(---cell-border-vertical);\n }\n td.${Classes.rowSpan}:not(.${Classes.last}){\n border-${props => props.direction === 'rtl' ? 'left' : 'right'}: var(---cell-border-vertical);\n }\n`\n\nexport const defaultCSSVariables = {\n '--row-height': '48px',\n '--color': '#333',\n '--bgcolor': 'white',\n '--hover-bgcolor': 'var(--hover-color, #f5f5f5)',\n '--highlight-bgcolor': '#eee',\n '--primary-color': '#5582F3',\n '--primary-color-level1': 'rgb(242, 248, 255)',\n '--primary-color-level2': 'rgb(135, 173, 255)',\n '--icon-color': '#666666',\n '--strong-border-color': '#d9d9d9',\n\n '--header-row-height': '32px',\n '--header-color': '#333',\n '--header-bgcolor': '#f4f4f4',\n '--header-hover-bgcolor': '#ddd',\n '--header-highlight-bgcolor': '#e4e8ed',\n\n '--cell-padding': '8px 12px',\n '--font-size': '12px',\n '--line-height': '1.28571',\n '--lock-shadow': 'rgba(152, 152, 152, 0.5) 0 0 6px 2px',\n\n '--border-color': '#dfe3e8',\n '--cell-border': '1px solid #dfe3e8',\n '--cell-border-horizontal': '1px solid #dfe3e8',\n '---cell-border-vertical': '1px solid #dfe3e8',\n '--header-cell-border': '1px solid #dfe3e8',\n '--cell-border-vertical': '1px solid #dfe3e8',\n '--header-cell-border-horizontal': '1px solid #dfe3e8',\n '--header-cell-border-vertical': '1px solid #dfe3e8'\n}\n\nexport const variableConst = getCssVariableText(defaultCSSVariables)\n\nconst notBorderedStyleMixin = css`\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n`\nconst borderedStyleMixin = css`\n //th隐藏列宽拖拽的背景色,使用th的右边框代替\n .${Classes.tableHeaderCellResize}::after{\n background-color: inherit;\n }\n`\n\nexport const StyledArtTableWrapper = styled.div`\n ${({ prefixCls }) => prefixCls ? `&.${prefixCls}-table {:root {${variableConst}} ${variableConst}}` : `:root {${variableConst}} ${variableConst}`}\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // 表格外边框由 art-table-wrapper 提供,而不是由单元格提供\n &.use-outer-border {\n ${outerBorderStyleMixin};\n }\n\n // 表格不启用边框线,隐藏th、td的单元格左右边框线\n &:not(.${Classes.artTableBordered}) {\n ${notBorderedStyleMixin}\n }\n &.${Classes.artTableBordered}{\n ${borderedStyleMixin}\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .${Classes.artTable} {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .${Classes.tableHeader} {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .${Classes.tableHeaderCellContent} {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .${Classes.virtual} {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // 兼容火狐\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .${Classes.tableFooter} {\n display: flex;\n flex: none;\n }\n .${Classes.tableBody}{\n flex-grow:1;\n }\n .${Classes.tableBody}, .${Classes.tableFooter} {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .${Classes.tableRow} {\n position: relative;\n }\n .${Classes.tableBody}, .${Classes.tableFooter} {\n .${Classes.tableCellRangeSelected}{\n background-color: #e6effb !important;\n }\n .${Classes.tableCellRangeTop}{\n border-top: 1px solid #0E5FD8 !important;\n }\n .${Classes.tableCellRangeLeft}{\n border-${props => swapRTLDirection(props.direction, 'left')}: 1px solid #0E5FD8 !important;\n }\n .${Classes.tableCellRangeBottom}{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .${Classes.tableCellRangeRight}{\n border-${props => swapRTLDirection(props.direction, 'right')}: 1px solid #0E5FD8 !important;\n }\n }\n\n .${Classes.rangeSelection} {\n user-select:none;\n }\n\n .${Classes.rowDragging} {\n user-select:none;\n // .${Classes.tableBody} .${Classes.tableRow} >td{\n // cursor:move;\n // }\n\n // .${Classes.tableFooter} .${Classes.tableRow} >td{\n // cursor:no-drop;\n // }\n \n }\n\n .${Classes.rowDragStart}{\n opacity: 0.5;\n }\n .${Classes.rowDragNoData}{\n border: 1px solid var(--primary-color)\n }\n\n .${Classes.rowDragEndParent} td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n \n }\n .${Classes.rowDragEndParent} td:first-child{\n border-${props => swapRTLDirection(props.direction, 'left')}: 1px solid var(--primary-color) !important;\n \n }\n .${Classes.rowDragEndParent} td:last-child{\n border-${props => swapRTLDirection(props.direction, 'right')}: 1px solid var(--primary-color) !important;\n \n }\n\n\n // .${Classes.rowDragEndToTop} td{\n // border-top: 1px solid var(--primary-color) !important;\n // }\n\n .${Classes.rowDragEndInto} td{\n border-top: 1px solid var(--primary-color) !important;\n border-bottom: 1px solid var(--primary-color) !important;\n }\n\n .${Classes.rowDragEndInto} td:first-child{\n border-${props => swapRTLDirection(props.direction, 'left')}: 1px solid var(--primary-color) !important;\n }\n\n .${Classes.rowDragEndInto} td:last-child{\n border-${props => swapRTLDirection(props.direction, 'right')}: 1px solid var(--primary-color) !important;\n }\n\n // .${Classes.rowDragEndToBottom} td{\n // border-bottom: 1px solid var(--primary-color) !important;\n // }\n\n .${Classes.rowDragCell} {\n cursor:pointer;\n }\n\n\n &.sticky-header .${Classes.tableHeader} {\n position: sticky;\n top: 0;\n z-index: ${Z.header};\n }\n\n &.sticky-footer .${Classes.tableFooter} {\n position: sticky;\n bottom: 0;\n z-index: ${Z.footer};\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // 在 tr 上设置 .no-hover 可以禁用鼠标悬停效果\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // 使用 js 添加悬浮效果\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // 在 tr 设置 highlight 可以为底下的 td 设置为高亮色\n // 而设置 .no-highlight 的话则可以禁用高亮效果;\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: ${props => swapRTLDirection(props.direction, 'left')};\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-${props => swapRTLDirection(props.direction, 'right')}: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-${props => swapRTLDirection(props.direction, 'right')}: var(--header-cell-border-vertical)\n }\n\n th.${Classes.leaf} {\n border-${props => swapRTLDirection(props.direction, 'right')}: var(--header-cell-border-vertical);\n border-bottom: none;\n }\n\n tr.${Classes.first} th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.${Classes.first} {\n border-${props => swapRTLDirection(props.direction, 'left')}: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-${props => swapRTLDirection(props.direction, 'right')}: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.${Classes.first} {\n border-${props => swapRTLDirection(props.direction, 'left')}: var(--cell-border-vertical);\n }\n tr.${Classes.first} td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.${Classes.first} td {\n border-top: none;\n }\n &.has-footer tbody tr.${Classes.last} td {\n border-bottom: none;\n }\n\n .${Classes.lockLeft},\n .${Classes.lockRight} {\n z-index: ${Z.lock};\n }\n\n //#region 锁列阴影\n .${Classes.lockShadowMask} {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ${Z.lockShadow};\n pointer-events: none;\n overflow: hidden;\n\n .${Classes.lockShadow} {\n height: 100%;\n }\n\n .${Classes.leftLockShadow} {\n margin-${props => swapRTLDirection(props.direction, 'right')}: ${LOCK_SHADOW_PADDING}px;\n \n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-${props => swapRTLDirection(props.direction, 'right')}: var(--cell-border-vertical);\n }\n }\n\n .${Classes.rightLockShadow} {\n margin-${props => swapRTLDirection(props.direction, 'left')}: ${LOCK_SHADOW_PADDING}px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-${props => swapRTLDirection(props.direction, 'left')}: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region 空表格展现\n .${Classes.emptyWrapper} {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region sticky兼容\n &.sticky-polyfill-wrapper{\n //锁定列兼容 仅在锁定列的情况下生效\n .${Classes.virtual} {\n overflow-x: hidden;\n }\n .${Classes.tableBody}, .${Classes.tableFooter} {\n position:relative;\n }\n .${Classes.tableHeaderMain} {\n overflow: hidden;\n display: flex;\n }\n .${Classes.tableHeader} {\n position: relative;\n }\n\n .${Classes.tableFooterMain} {\n display: flex;\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .${Classes.fixedLeft}, .${Classes.fixedRight}{\n position: absolute;\n z-index: ${Z.lock};\n top: 0;\n }\n .${Classes.fixedLeft}{\n ${props => swapRTLDirection(props.direction, 'left')}:0;\n }\n .${Classes.fixedRight}{\n ${props => swapRTLDirection(props.direction, 'right')}:0;\n }\n\n .${Classes.rowDetailContainer}{\n .${Classes.rowDetailItem}{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ${Z.rowDetail};\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion sticky兼容\n\n //#region 粘性滚动条\n .${Classes.horizontalStickyScrollContainer}{\n display:flex;\n background: var(--bgcolor);\n }\n .${Classes.horizontalScrollLeftSpacer}{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .${Classes.horizontalScrollRightSpacer}{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n .${Classes.stickyScroll} {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ${Z.scrollItem};\n flex-shrink: 1;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .${Classes.stickyScrollItem} {\n // 必须有高度才能出现滚动条\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region 加载样式\n .${Classes.loadingWrapper} {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .${Classes.loadingContentWrapper} {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//列全部固定时,存在双横向滚动条\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .${Classes.loadingIndicatorWrapper} {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .${Classes.loadingIndicator} {\n position: sticky;\n z-index: ${Z.loadingIndicator};\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region 表格过滤\n .${Classes.tableFilterTrigger} {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n &:focus {\n outline: none\n }\n }\n //#endregion\n\n //#region 表格排序\n .${Classes.tableSortIcon} {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n .${Classes.tableExtendIcon} {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region 滚动条占位\n .${Classes.verticalScrollPlaceholder} {\n // visibility: hidden;\n background: var(--header-bgcolor);\n position:sticky;\n z-index:5;\n ${props => swapRTLDirection(props.direction, 'right')}:0px;\n flex-shrink: 0;\n }\n .${Classes.tableFooter} .${Classes.verticalScrollPlaceholder} {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n\n //#region 拖拽列宽大小\n .${Classes.tableHeaderCellResize}::after{\n background-color: var(--border-color);\n }\n //解决部分浏览器(chrome109)最后一个单元格的列宽拖拽区域绝对定位超出表格,导致表格竖分割线无法对齐\n .${Classes.tableHeaderRow} th.${Classes.last} .${Classes.tableHeaderCellResize}{\n ${props => swapRTLDirection(props.direction, 'right')}: 0;\n width: 5px;\n &::after{\n ${props => swapRTLDirection(props.direction, 'left')}: 4px;\n }\n }\n`\nexport const ButtonCSS = css`\n ${variableConst}\n .${Classes.button}{\n color: var(--color);\n background:#ffffff;\n border:1px solid var(--strong-border-color);\n border-radius: 2px;\n cursor: pointer;\n &:hover{\n color: var(--primary-color);\n border:1px solid var(--primary-color);\n }\n }\n .${Classes.buttonPrimary} {\n color:#ffffff;\n background-color: var(--primary-color);\n border:none;\n &:hover{\n color:#ffffff;\n background-color: var(--primary-color-level2);\n border:none;\n }\n }\n`\ninterface VariableObj {\n [key:string]: string|number\n}\nfunction getCssVariableText (obj: VariableObj) {\n return Object.keys(obj).reduce((acc, key) => {\n acc += `${key}:${obj[key]};`\n return acc\n }, '')\n}\n","import React from 'react'\n/** elementUtil html元素用的工具函数 */\n\n// 获取面板相对屏幕的位置 panel - 面板 trigger - 触发器\n// export function getPanelScreenByTrigger ({ panel, trigger, defaultAlign }) {\n// if (!panel || !trigger) return {}\n// // 触发器相对于浏览器的位置\n// const triggerScreen = trigger.getBoundingClientRect()\n// // 触发器下方剩余高度\n// const bottomHeight = window.innerHeight - triggerScreen.top - trigger.offsetHeight\n// // 触发器上方剩余高度\n// const topHeight = triggerScreen.top\n\n// // 默认优先显示在触发器的下方\n// let top = bottomHeight >= panel.offsetHeight || bottomHeight > topHeight\n// ? triggerScreen.top + trigger.offsetHeight // 显示在触发器下方\n// : triggerScreen.top - panel.offsetHeight // 显示在触发器下方\n// defaultAlign = defaultAlign || {}\n// if (defaultAlign.top) { // 优先显示在触发器的上方\n// top = topHeight >= panel.offsetHeight || topHeight > bottomHeight\n// ? triggerScreen.top - panel.offsetHeight\n// : triggerScreen.top + trigger.offsetHeight\n// }\n\n// // 浏览器右侧剩余宽度\n// const rightWidth = window.innerWidth - triggerScreen.left - trigger.offsetWidth\n// // 浏览器左侧剩余宽度\n// const leftWidth = triggerScreen.left\n\n// // 默认优先靠左显示\n// let left = rightWidth + trigger.offsetWidth >= panel.offsetWidth ||\n// rightWidth > leftWidth\n// ? triggerScreen.left\n// : triggerScreen.left + trigger.offsetWidth - panel.offsetWidth\n// if (defaultAlign.right) { // 优先靠右显示\n// left = leftWidth + trigger.offsetWidth > panel.offsetWidth ||\n// leftWidth > rightWidth\n// ? triggerScreen.left + trigger.offsetWidth - panel.offsetWidth\n// : triggerScreen.left\n// }\n\n// // 增加左右显示的标识\n// if (rightWidth >= panel.offsetWidth) {\n// panel.classList.add('j-left')\n// } else {\n// panel.classList.add('j-right')\n// }\n\n// const realHeight = bottomHeight > topHeight ? bottomHeight : topHeight\n// // 空间不足且显示在上方,top设0避免溢出\n// if (panel.offsetHeight > realHeight && topHeight > bottomHeight) {\n// top = 0\n// }\n// return { top, left, realHeight }\n// }\n\nexport function getEventPath(event: MouseEvent | React.MouseEvent<HTMLTableElement, MouseEvent> | KeyboardEvent) {\n\n if ((event as any).deepPath) {\n // IE supports deep path\n return (event as any).deepPath()\n }\n else if ((event as any).path) {\n // Chrome supports path\n return (event as any).path\n }\n else if ((event as any).composedPath) {\n // Firefox supports composePath\n return (event as any).composedPath()\n }\n\n return createEventPath(event)\n}\n\nfunction createEventPath(event: MouseEvent | React.MouseEvent<HTMLTableElement, MouseEvent> | KeyboardEvent) {\n const res = []\n let pointer = event.target\n while (pointer) {\n res.push(pointer);\n pointer = (pointer as any).parentElement;\n }\n return res;\n};\n\n/**\n * 获取点击事件是否发生在元素内部\n * @param ele \n * @param event \n */\nexport function isElementInEventPath (ele?: HTMLElement, event?: MouseEvent | KeyboardEvent) {\n if (!ele || !event) {\n return false\n }\n const path = getEventPath(event)\n return path.indexOf(ele) >= 0\n}\n\n/**\n * 根据点击路径获取对应元素\n * @param path \n * @param isTargetCb \n */\nexport function getTargetEleInEventPath(path: Array<HTMLElement>, isTargetCb: (ele: HTMLElement) => boolean) {\n let target\n let l = 0\n while (!target && l < path.length) {\n const ele = path[l]\n if (isTargetCb(ele)) {\n target = ele\n }\n l++\n }\n return target\n}\n\n/**\n * 获得鼠标点击相对父面板位置\n * @param event \n * @param popupParent \n */\nexport function calculatePointerRelative(event: React.MouseEvent<HTMLTableElement, MouseEvent> | MouseEvent, popupParent: HTMLElement) {\n const parentRect = popupParent.getBoundingClientRect()\n const documentRect = document.documentElement.getBoundingClientRect()\n\n return {\n x: event.clientX - (popupParent === document.body ? documentRect.left : parentRect.left),\n y: event.clientY - (popupParent === document.body ? documentRect.top : parentRect.top)\n }\n}\n\ninterface OffSet {\n x:number\n y:number\n}\n\n/**\n * 获取面板相对父面板位置\n * @param event \n * @param popupParent \n */\nexport function calculatePopupRelative(trigger: HTMLElement, popupParent: HTMLElement, offset?:OffSet, direction?: string){\n const triggerRect = trigger.getBoundingClientRect()\n const parent = popupParent === document.body ? document.documentElement : popupParent\n const parentRect = parent.getBoundingClientRect()\n const offsetX = offset ? offset.x : 0\n const offsetY = offset ? offset.y : 0\n\n return {\n x: triggerRect.left - parentRect.left + (direction === 'rtl' ? offsetX + triggerRect.width : -offsetX),\n y: triggerRect.top - parentRect.top - offsetY\n }\n}\n\nfunction getPerfectX({ x, maxX, width, isPerfectX }) {\n if (isPerfectX && Math.max(x, 0) > Math.abs(maxX)) {\n //看左侧空间是否足够\n let parentAvailableWidth = x\n if (width <= parentAvailableWidth) {\n return x - width //空间足够,往左侧偏移\n }\n }\n //目前位置,最大支持的位置\n return Math.min(Math.max(x, 0), Math.abs(maxX)) \n}\n\nfunction getPerfectY({ y, maxY, height,scrollTop, isBody,isPerfectY }) {\n if (isPerfectY && Math.max(y, 0) > Math.abs(maxY)) {\n //看下上方空间是否足够\n let parentAvailableHeight = isBody ? y - scrollTop : y\n if (height <= parentAvailableHeight) {\n //上方空间足够,向上展示\n return y - height \n }\n }\n //目前位置,最大支持的位置\n return Math.min(Math.max(y, 0), Math.abs(maxY)) \n}\n\nexport function keepWithinBounds(popupParent: HTMLElement, popup: HTMLElement, x: number, y: number, isPerfect?: Boolean){\n const parentRect = popupParent.getBoundingClientRect()\n const docElement = document.documentElement\n const docRect = docElement.getBoundingClientRect()\n const popupRect = popup.getBoundingClientRect()\n let parentAvailableWidth = parentRect.width\n let parentAvailableHeight = parentRect.height\n const isBody = popupParent === document.body\n if(isBody){\n //ducument的宽度减去 父元素到document边界的的宽度,就是剩余可显示的宽度\n parentAvailableWidth = docRect.width - Math.abs(docRect.left - parentRect.left)\n //ducument的高度加上滚动条的高度减去 父元素到document边界的的宽度,就是剩余可显示的高度\n parentAvailableHeight = docRect.height + docElement.scrollTop - Math.abs(docRect.top - parentRect.top)\n }\n\n if (x) {\n const width = popupRect.width\n const maxX = parentAvailableWidth - width\n x = getPerfectX({\n x, \n maxX, \n width,\n isPerfectX:isPerfect\n })\n }\n\n if (y) {\n const height = popupRect.height\n const maxY = parentAvailableHeight - height\n y = getPerfectY({\n y, \n maxY, \n height, \n scrollTop: docElement.scrollTop, \n isBody, \n isPerfectY:isPerfect\n })\n }\n return {x, y}\n}\n\nexport function hasScroll (ele: HTMLElement, isHorizontal = true) : boolean {\n return isHorizontal ? ele.scrollWidth > ele.clientWidth : ele.scrollHeight > ele.clientHeight\n}\n\n","import React from 'react'\nimport { asyncScheduler, BehaviorSubject, defer, fromEvent, Subscription } from 'rxjs'\nimport { map, throttleTime } from 'rxjs/operators'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport * as styledComponents from 'styled-components'\nimport cssVars from 'css-vars-ponyfill'\n\nimport mergeCellProps from '../utils/mergeCellProps'\nimport { TableDOMHelper } from './helpers/TableDOMUtils'\nimport { isStickyUIDegrade } from '../utils'\nimport { defaultCSSVariables } from './styles'\nimport { hasScroll } from '../utils/element'\n\n/** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */\nexport const STYLED_VERSION = (styledComponents as any).createGlobalStyle != null ? 'v5' : 'v3'\n\nexport const STYLED_REF_PROP = STYLED_VERSION === 'v3' ? 'innerRef' : 'ref'\n\nexport const OVERSCAN_SIZE = 100\n\nexport const AUTO_VIRTUAL_THRESHOLD = 100\n\nexport function sum(arr: number[]) {\n let result = 0\n arr.forEach((x) => {\n result += x\n })\n return result\n}\n\n// 使用 defer 避免过早引用 window,导致在 SSR 场景下报错\nexport const throttledWindowResize$ = defer(() =>\n fromEvent(window, 'resize', { passive: true }).pipe(\n throttleTime(150, asyncScheduler, { leading: true, trailing: true }),\n ),\n)\n\ninterface ContentRectType {\n hide: boolean\n bottom: number\n height: number\n left: number\n right: number\n top: number\n width: number\n x: number\n y: number\n}\n\nexport const addResizeObserver = (element: HTMLElement | null, handler?: (react: ContentRectType) => void) => {\n const measure = (entries: any[]) => {\n if (!entries[0] || !entries[0].contentRect) {\n return\n }\n const contentRect = entries[0].contentRect\n const hide = contentRect.width === 0 && contentRect.height === 0 // 隐藏条件:高宽都为0\n const rect: ContentRectType = Object.assign({ hide }, contentRect)\n handler && handler(rect)\n }\n const resizeObserver = new ResizeObserver(measure)\n resizeObserver && resizeObserver.observe(element)\n return resizeObserver\n}\n\n/** 获取默认的滚动条大小 */\nfunction getScrollbarSizeImpl() {\n const scrollDiv = document.createElement('div')\n\n scrollDiv.style.position = 'absolute'\n scrollDiv.style.width = '100px'\n scrollDiv.style.height = '100px'\n scrollDiv.style.overflow = 'scroll'\n scrollDiv.style.top = '-9999px'\n\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n const scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight\n document.body.removeChild(scrollDiv)\n\n return { width: scrollbarWidth, height: scrollbarHeight }\n}\n\nlet scrollBarSize$: BehaviorSubject<{ width: number; height: number }>\n\nexport function getScrollbarSize () {\n if (scrollBarSize$ == null) {\n scrollBarSize$ = new BehaviorSubject(getScrollbarSizeImpl())\n throttledWindowResize$.pipe(map(() => getScrollbarSizeImpl())).subscribe(scrollBarSize$)\n }\n\n return scrollBarSize$.value\n}\n\n/** 同步多个元素之间的 scrollLeft, 每当 scrollLeft 发生变化时 callback 会被调用 */\nexport function syncScrollLeft(elements: HTMLElement[], callback: (scrollLeft: number) => void): Subscription {\n const bypassSet: Set<HTMLElement> = new Set()\n\n function publishScrollLeft(origin: HTMLElement, scrollLeft: number) {\n bypassSet.clear()\n for (const elem of elements) {\n if (elem === origin) {\n continue\n }\n elem.scrollLeft = scrollLeft\n bypassSet.add(elem)\n }\n }\n\n const subscription = new Subscription()\n\n for (const ele of elements) {\n const listener = () => {\n if (bypassSet.has(ele)) {\n bypassSet.delete(ele)\n return\n }\n const scrollLeft = ele.scrollLeft\n // 某一元素当滚动条消失时会触发scroll事件(scrolLeft重置为0),不同步其他其他元素的scrollLeft\n if (scrollLeft === 0 && !hasScroll(ele)) {\n return\n }\n publishScrollLeft(ele, scrollLeft)\n callback(scrollLeft)\n }\n ele.addEventListener('scroll', listener, { passive: true })\n subscription.add(() => ele.removeEventListener('scroll', listener))\n }\n\n return subscription\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n export function shallowEqual<T>(objA: T, objB: T): boolean {\n const hasOwnProperty = Object.prototype.hasOwnProperty\n\n if (Object.is(objA, objB)) {\n return true\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n // Test for A's keys different from B.\n for (let i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !Object.is((objA as any)[keysA[i]], (objB as any)[keysA[i]])) {\n return false\n }\n }\n\n return true\n}\n\n// todo: 抽出mergeRowProps\nexport function composeRowPropsGetter (getRowProps: (record: any, rowIndex: number) => React.HTMLAttributes<HTMLTableRowElement>, pendingRowProps?: React.HTMLAttributes<HTMLTableRowElement>) : (record: any, rowIndex: number) => React.HTMLAttributes<HTMLTableRowElement> {\n const keys = Object.keys(pendingRowProps)\n if (keys.length) {\n return ((row, rowIndex: number) => {\n return mergeCellProps(getRowProps(row, rowIndex) as any, pendingRowProps as any)\n }) as any\n }\n return getRowProps\n}\n\nexport function getTableScrollHeaderDOM (domHelper: TableDOMHelper) : HTMLDivElement {\n return isStickyUIDegrade() ? domHelper.tableHeaderMain : domHelper.tableHeader\n}\n\nexport function getTableScrollFooterDOM (domHelper: TableDOMHelper) : HTMLDivElement {\n return isStickyUIDegrade() ? domHelper.tableFooterMain : domHelper.tableFooter\n}\n\nexport const cssPolifill = (\n {\n variables,\n enableCSSVariables,\n bordered\n } : {\n variables: {[key: string]: any}\n enableCSSVariables?: boolean\n bordered?: boolean\n }\n) => {\n if (enableCSSVariables === false) {\n return\n }\n\n const conditionCSSVariables = {}\n\n // 默认情况下存在td、th无左右边框,开启`bordered`属性后才开启,否则隐藏这两种属性\n if (!bordered) {\n conditionCSSVariables['--cell-border-vertical'] = 'none'\n conditionCSSVariables['--header-cell-border-vertical'] = 'none'\n }\n\n cssVars({\n // exclude: 'link[href*=\"semantic-ui\"]',\n // onlyLegacy: false,\n // rootElement: rootElement,\n include: 'style[data-styled]',\n variables: Object.assign({}, defaultCSSVariables, variables, conditionCSSVariables),\n watch: true,\n silent: true\n })\n}\n\nexport const swapRTLDirection = (direction: string, directionKey: 'left' | 'right'): 'left' | 'right' => {\n const isRTL = direction === 'rtl'\n if (directionKey === 'left' && isRTL) return 'right'\n if (directionKey === 'right' && isRTL) return 'left'\n return directionKey\n}\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(function (subscriber) {\n var input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map\n","import { ArtColumn } from '../interfaces'\nimport { collectNodes, isLeafNode, console } from '../utils'\nimport {\n HorizontalRenderRange,\n RenderInfo,\n ResolvedUseVirtual,\n VirtualEnum,\n VisibleColumnDescriptor,\n} from './interfaces'\nimport { BaseTable } from './table'\nimport { AUTO_VIRTUAL_THRESHOLD, OVERSCAN_SIZE, sum } from './utils'\n\nfunction resolveVirtualEnabled(virtualEnum: VirtualEnum, defaultValue: boolean) {\n if (virtualEnum == null || virtualEnum === 'auto') {\n return defaultValue\n }\n return virtualEnum\n}\n\nlet lockColumnNeedSpecifiedWidthWarned = false\nfunction warnLockColumnNeedSpecifiedWidth(column: ArtColumn) {\n if (!lockColumnNeedSpecifiedWidthWarned) {\n lockColumnNeedSpecifiedWidthWarned = true\n console.warn('lock=true 的列需要指定宽度', column)\n }\n}\n\nlet columnHiddenDeprecatedWarned = false\nfunction warnColumnHiddenDeprecated(column: ArtColumn) {\n if (!columnHiddenDeprecatedWarned) {\n columnHiddenDeprecatedWarned = true\n console.warn('column.hidden 已经过时,如果需要隐藏该列,请将其从 columns 数组中移除', column)\n }\n}\n\n/** 检查列配置 & 设置默认宽度 & 剔除隐藏的列 */\nfunction processColumns(columns: ArtColumn[], defaultColumnWidth: number) {\n if (columns == null || !Array.isArray(columns)) {\n console.warn('<BaseTable /> props.columns 需要传入一个数组', columns)\n columns = []\n }\n\n function dfs(columns: ArtColumn[]): ArtColumn[] {\n const result: ArtColumn[] = []\n\n for (let column of columns) {\n if (column.width == null) {\n if (defaultColumnWidth != null) {\n column = { ...column, width: defaultColumnWidth }\n } else if (process.env.NODE_ENV !== 'production' && isLeafNode(column) && column.lock) {\n warnLockColumnNeedSpecifiedWidth(column)\n }\n }\n\n if (isLeafNode(column)) {\n if (column.hidden) {\n // 被隐藏的列 会在这里被剔除\n warnColumnHiddenDeprecated(column)\n } else {\n result.push(column)\n }\n } else {\n const nextChildren = dfs(column.children)\n // 如果 nextChildren 为空,说明所有的子节点均被隐藏了,在这里隐藏父节点\n if (nextChildren.length > 0) {\n result.push({ ...column, children: nextChildren })\n }\n }\n }\n return result\n }\n\n return dfs(columns)\n}\n\nexport function getLeftNestedLockCount(columns: ArtColumn[]) {\n let nestedCount = 0\n\n for (const col of columns) {\n if (isLock(col)) {\n nestedCount += 1\n } else {\n break\n }\n }\n return nestedCount\n\n function isLock(col: ArtColumn): boolean {\n if (isLeafNode(col)) {\n return col.lock\n } else {\n return col.lock || col.children.some(isLock)\n }\n }\n}\n\nfunction getHorizontalRenderRange({\n offsetX,\n maxRenderWidth,\n flat,\n useVirtual,\n}: {\n offsetX: number\n maxRenderWidth: number\n flat: RenderInfo['flat']\n useVirtual: ResolvedUseVirtual\n}): HorizontalRenderRange {\n if (!useVirtual.horizontal) {\n return { leftIndex: 0, leftBlank: 0, rightIndex: flat.full.length, rightBlank: 0 }\n }\n\n let leftIndex = 0\n let centerCount = 0\n let leftBlank = 0\n let centerRenderWidth = 0\n\n const overscannedOffsetX = Math.max(0, offsetX - OVERSCAN_SIZE)\n while (leftIndex < flat.center.length) {\n const col = flat.center[leftIndex]\n if (col.width + leftBlank < overscannedOffsetX) {\n leftIndex += 1\n leftBlank += col.width\n } else {\n break\n }\n }\n\n // 考虑 over scan 之后,中间部分的列至少需要渲染的宽度\n const minCenterRenderWidth = maxRenderWidth + (overscannedOffsetX - leftBlank) + 2 * OVERSCAN_SIZE\n\n while (leftIndex + centerCount < flat.center.length) {\n const col = flat.center[leftIndex + centerCount]\n if (centerRenderWidth < minCenterRenderWidth) {\n centerRenderWidth += col.width\n centerCount += 1\n } else {\n break\n }\n }\n\n const rightBlankCount = flat.center.length - leftIndex - centerCount\n const rightBlank = sum(flat.center.slice(flat.center.length - rightBlankCount).map((col) => col.width))\n return {\n leftIndex: leftIndex,\n leftBlank,\n rightIndex: leftIndex + centerCount,\n rightBlank\n }\n}\n\n// 一顿计算,将表格本次渲染所需要的数据都给算出来(代码写得有点乱,有较大优化空间)\n// todo 可以考虑下将 header 部分的计算逻辑也放到这个文件中,目前应该有一些重复的计算逻辑\nexport function calculateRenderInfo (table: BaseTable): RenderInfo {\n const { offsetX, maxRenderWidth } = table.state\n\n const {\n useVirtual: useVirtualProp,\n columns: columnsProp,\n dataSource: dataSourceProp,\n defaultColumnWidth\n } = table.props\n\n const columns = processColumns(columnsProp, defaultColumnWidth)\n const leftNestedLockCount = getLeftNestedLockCount(columns)\n const fullFlat = collectNodes(columns, 'leaf-only')\n\n let flat: RenderInfo['flat']\n let nested: RenderInfo['nested']\n let useVirtual: RenderInfo['useVirtual']\n\n if (leftNestedLockCount === columns.length) {\n flat = { left: [], right: [], full: fullFlat, center: fullFlat }\n nested = { left: [], right: [], full: columns, center: columns }\n useVirtual = { horizontal: false, vertical: false, header: false }\n } else {\n const leftNested = columns.slice(0, leftNestedLockCount)\n const rightNestedLockCount = getLeftNestedLockCount(columns.slice().reverse())\n const centerNested = columns.slice(leftNestedLockCount, columns.length - rightNestedLockCount)\n const rightNested = columns.slice(columns.length - rightNestedLockCount)\n\n const shouldEnableHozVirtual =\n fullFlat.length >= AUTO_VIRTUAL_THRESHOLD && fullFlat.every((col) => col.width != null)\n const shouldEnableVerVirtual = dataSourceProp.length >= AUTO_VIRTUAL_THRESHOLD\n\n useVirtual = {\n horizontal: resolveVirtualEnabled(\n typeof useVirtualProp === 'object' ? useVirtualProp.horizontal : useVirtualProp,\n shouldEnableHozVirtual\n ),\n vertical: resolveVirtualEnabled(\n typeof useVirtualProp === 'object' ? useVirtualProp.vertical : useVirtualProp,\n shouldEnableVerVirtual\n ),\n header: resolveVirtualEnabled(typeof useVirtualProp === 'object' ? useVirtualProp.header : useVirtualProp, false),\n }\n\n flat = {\n left: collectNodes(leftNested, 'leaf-only'),\n full: fullFlat,\n right: collectNodes(rightNested, 'leaf-only'),\n center: collectNodes(centerNested, 'leaf-only')\n }\n\n nested = {\n left: leftNested,\n full: columns,\n right: rightNested,\n center: centerNested\n }\n }\n\n const horizontalRenderRange = getHorizontalRenderRange({ maxRenderWidth, offsetX, useVirtual, flat })\n const verticalRenderRange = table.getVerticalRenderRange(useVirtual)\n\n const { leftBlank, leftIndex, rightBlank, rightIndex } = horizontalRenderRange\n const unfilteredVisibleColumnDescriptors: VisibleColumnDescriptor[] = [\n ...flat.left.map((col, i) => ({ type: 'normal', col, colIndex: i } as const)),\n leftBlank > 0 && { type: 'blank', blankSide: 'left', width: leftBlank },\n ...flat.center\n .slice(leftIndex, rightIndex)\n .map((col, i) => ({ type: 'normal', col, colIndex: flat.left.length + leftIndex + i } as const)),\n rightBlank > 0 && { type: 'blank', blankSide: 'right', width: rightBlank },\n ...flat.right.map(\n (col, i) => ({ type: 'normal', col, colIndex: flat.full.length - flat.right.length + i } as const)\n )\n ]\n const visibleColumnDescriptors = unfilteredVisibleColumnDescriptors.filter(Boolean)\n\n // const totalWidth = visibleColumnDescriptors.reduce((pre, cur) => {\n // if (cur.type === 'blank') {\n // return cur.width + pre\n // } else {\n // return cur.col.width + pre\n // }\n // }, 0)\n // if (totalWidth < maxRenderWidth) {\n // visibleColumnDescriptors.push({\n // type: 'blank',\n // blankSide: 'left',\n // width: `width: calc(100% - ${totalWidth}px)`\n // } as VisibleColumnDescriptor)\n // }\n const fullFlatCount = flat.full.length\n const leftFlatCount = flat.left.length\n const rightFlatCount = flat.right.length\n\n const stickyLeftMap = new Map<number, number>()\n let stickyLeft = 0\n for (let i = 0; i < leftFlatCount; i++) {\n stickyLeftMap.set(i, stickyLeft)\n stickyLeft += flat.full[i].width\n }\n\n const stickyRightMap = new Map<number, number>()\n let stickyRight = 0\n for (let i = 0; i < rightFlatCount; i++) {\n stickyRightMap.set(fullFlatCount - 1 - i, stickyRight)\n stickyRight += flat.full[fullFlatCount - 1 - i].width\n }\n\n const leftLockTotalWidth = sum(flat.left.map((col) => col.width))\n const rightLockTotalWidth = sum(flat.right.map((col) => col.width))\n\n return {\n horizontalRenderRange,\n verticalRenderRange,\n visible: visibleColumnDescriptors,\n flat,\n nested,\n useVirtual,\n stickyLeftMap,\n stickyRightMap,\n leftLockTotalWidth,\n rightLockTotalWidth,\n hasLockColumn: nested.left.length > 0 || nested.right.length > 0\n }\n}\n","import React from 'react'\nimport { VisibleColumnDescriptor } from './interfaces'\n\nexport function Colgroup ({ descriptors }: { descriptors: VisibleColumnDescriptor[] }) {\n return (\n <colgroup>\n {descriptors.map((descriptor) => {\n if (descriptor.type === 'blank') {\n return <col key={descriptor.blankSide} style={{ width: descriptor.width }} />\n }\n return <col key={descriptor.colIndex} style={{ width: descriptor.col.width }} />\n })}\n </colgroup>\n )\n}\n","import cx from 'classnames'\nimport React, { Fragment } from 'react'\nimport { Colgroup } from './colgroup'\nimport { VisibleColumnDescriptor } from './interfaces'\nimport { Classes } from './styles'\n\nconst DefaultEmptyContent = React.memo(() => (\n <>\n <img alt=\"empty-image\" className=\"empty-image\" src=\"//img.alicdn.com/tfs/TB1l1LcM3HqK1RjSZJnXXbNLpXa-50-50.svg\" />\n <div className=\"empty-tips\">\n 没有符合查询条件的数据\n <br />\n 请修改条件后重新查询\n </div>\n </>\n))\n\nexport interface EmptyTableProps {\n descriptors: VisibleColumnDescriptor[]\n isLoading: boolean\n emptyCellHeight?: number\n EmptyContent?: React.ComponentType\n}\n\nexport function EmptyHtmlTable ({\n descriptors,\n isLoading,\n emptyCellHeight,\n EmptyContent = DefaultEmptyContent\n}: EmptyTableProps) {\n const show = !isLoading\n\n return (\n <Fragment>\n <table key=\"table\">\n <Colgroup descriptors={descriptors} />\n <tbody>\n <tr className={cx(Classes.tableRow, Classes.first, Classes.last, 'no-hover')} data-rowindex={0}>\n <td\n className={cx(Classes.tableCell, Classes.first, Classes.last)}\n colSpan={descriptors.length}\n style={{ height: emptyCellHeight ?? 200 }}\n >\n </td>\n </tr>\n </tbody>\n </table>\n {show && (\n <div className={Classes.emptyWrapper} key=\"empty\">\n <EmptyContent />\n </div>)}\n </Fragment>\n\n )\n}\n","import { AbstractTreeNode } from '../interfaces'\nimport isLeafNode from './isLeafNode'\n\n/** 获取一棵树的高度/深度 (0-based) */\nexport default function getTreeDepth (nodes: AbstractTreeNode[]) {\n let maxDepth = -1\n dfs(nodes, 0)\n return maxDepth\n\n function dfs (columns: AbstractTreeNode[], depth: number) {\n for (const column of columns) {\n const isHeaderMerge = (column as any)?.isHeaderMerge === true\n // 当列配置了 isHeaderMerge 时,将其视作“可视叶子”,不再深入子层计算深度\n if (isLeafNode(column) || isHeaderMerge) {\n maxDepth = Math.max(maxDepth, depth)\n } else {\n dfs(column.children, depth + 1)\n }\n }\n }\n}\n","import cx from 'classnames'\nimport React, { CSSProperties } from 'react'\nimport { ArtColumn } from '../interfaces'\nimport { getTreeDepth, isLeafNode } from '../utils'\nimport { HorizontalRenderRange, RenderInfo } from './interfaces'\nimport { Classes } from './styles'\n\nfunction range (n: number) {\n const array: number[] = []\n for (let i = 0; i < n; i++) {\n array.push(i)\n }\n return array\n}\n\ntype ColWithRenderInfo =\n | {\n type: 'normal'\n colIndex: number\n col: ArtColumn\n colSpan: number\n isLeaf: boolean\n width: number\n }\n | { type: 'blank'; blankSide: 'left' | 'right'; width: number; isPlacehoder?: boolean }\n\ntype IndexedCol = {\n colIndex: number\n col: ArtColumn\n children?: IndexedCol[]\n}\n\n/** 根据当前横向虚拟滚动 对 nested.center 进行过滤,结果只保留当前视野内可见的那些列配置 */\nfunction filterNestedCenter (centerNested: ArtColumn[], hoz: HorizontalRenderRange, leftFlatCount: number) {\n return dfs(centerNested, leftFlatCount).filtered\n\n function dfs (cols: ArtColumn[], startColIndex: number) {\n let leafCount = 0\n\n const filtered: IndexedCol[] = []\n\n for (const col of cols) {\n const colIndex = startColIndex + leafCount\n if (isLeafNode(col)) {\n leafCount += 1\n if (leftFlatCount + hoz.leftIndex <= colIndex && colIndex < leftFlatCount + hoz.rightIndex) {\n filtered.push({ colIndex, col })\n }\n } else {\n const dfsRes = dfs(col.children, colIndex)\n leafCount += dfsRes.leafCount\n if (dfsRes.filtered.length > 0) {\n filtered.push({ colIndex, col, children: dfsRes.filtered })\n }\n }\n }\n\n return { filtered, leafCount }\n }\n}\n\n/** 根据输入的 nested 列配置,算出相应的 leveled & flat 配置方便渲染 */\nfunction calculateLeveledAndFlat (inputNested: IndexedCol[], rowCount: number) {\n const leveled: ColWithRenderInfo[][] = []\n for (let depth = 0; depth < rowCount; depth++) {\n leveled.push([])\n }\n const flat: ColWithRenderInfo[] = []\n\n dfs(inputNested, 0, false)\n\n return { flat, leveled }\n\n function dfs (input: IndexedCol[], depth: number, suppressLeveled: boolean) {\n let leafCount = 0\n for (let i = 0; i < input.length; i++) {\n const indexedCol = input[i]\n\n if (isLeafNode(indexedCol)) {\n leafCount += 1\n const wrapped = {\n type: 'normal' as const,\n width: indexedCol.col.width,\n col: indexedCol.col,\n colIndex: indexedCol.colIndex,\n colSpan: 1,\n isLeaf: true\n }\n if (!suppressLeveled) {\n leveled[depth].push(wrapped)\n }\n flat.push(wrapped)\n } else {\n const mergeHeader = Boolean(indexedCol.col?.isHeaderMerge)\n const dfsRes = dfs(indexedCol.children, depth + 1, suppressLeveled || mergeHeader)\n leafCount += dfsRes.leafCount\n if (dfsRes.leafCount > 0 && !suppressLeveled) {\n leveled[depth].push({\n type: 'normal',\n width: indexedCol.col.width,\n col: indexedCol.col,\n colIndex: indexedCol.colIndex,\n colSpan: dfsRes.leafCount,\n isLeaf: false\n })\n }\n }\n }\n\n return { leafCount }\n }\n}\n\n/** 包装列配置,附加上 colIndex 属性 */\nfunction attachColIndex (inputNested: ArtColumn[], colIndexOffset: number) {\n return dfs(inputNested, colIndexOffset).result\n\n function dfs (input: ArtColumn[], startColIndex: number) {\n const result: IndexedCol[] = []\n\n let leafCount = 0\n for (let i = 0; i < input.length; i++) {\n const col = input[i]\n const colIndex = startColIndex + leafCount\n\n if (isLeafNode(col)) {\n leafCount += 1\n result.push({ colIndex, col })\n } else {\n const sub = dfs(col.children, colIndex)\n leafCount += sub.leafCount\n if (sub.leafCount > 0) {\n result.push({ col, colIndex, children: sub.result })\n }\n }\n }\n return { result, leafCount }\n }\n}\n\n/** 计算用于渲染表头的数据结构 */\nfunction calculateHeaderRenderInfo (\n { flat, nested, horizontalRenderRange: hoz, useVirtual }: RenderInfo,\n rowCount: number\n): { flat: ColWithRenderInfo[]; leveled: ColWithRenderInfo[][] } {\n if (useVirtual.header) {\n const leftPart = calculateLeveledAndFlat(attachColIndex(nested.left, 0), rowCount)\n const filtered = filterNestedCenter(nested.center, hoz, flat.left.length)\n const centerPart = calculateLeveledAndFlat(filtered, rowCount)\n const rightPart = calculateLeveledAndFlat(\n attachColIndex(nested.right, flat.left.length + flat.center.length),\n rowCount\n )\n\n return {\n flat: [\n ...leftPart.flat,\n { type: 'blank', width: hoz.leftBlank, blankSide: 'left' },\n ...centerPart.flat,\n { type: 'blank', width: hoz.rightBlank, blankSide: 'right' },\n ...rightPart.flat\n ],\n leveled: range(rowCount).map((depth) => [\n ...leftPart.leveled[depth],\n { type: 'blank', width: hoz.leftBlank, blankSide: 'left' },\n ...centerPart.leveled[depth],\n { type: 'blank', width: hoz.rightBlank, blankSide: 'right' },\n ...rightPart.leveled[depth]\n ])\n }\n }\n\n return calculateLeveledAndFlat(attachColIndex(nested.full, 0), rowCount)\n}\n\ninterface TableHeaderProps {\n info: RenderInfo\n theaderPosition ?: 'left' | 'center' | 'right',\n rowCount?: number,\n stickyRightOffset?:number\n}\n\nexport default function TableHeader ({ info, theaderPosition, rowCount: _rowCount, stickyRightOffset }: TableHeaderProps) {\n const { nested, flat, stickyLeftMap, stickyRightMap, direction } = info\n const rowCount = _rowCount ?? (getTreeDepth(nested.full) + 1)\n const headerRenderInfo = calculateHeaderRenderInfo(info, rowCount)\n\n const fullFlatCount = flat.full.length\n const leftFlatCount = flat.left.length\n const rightFlatCount = flat.right.length\n\n const thead = headerRenderInfo.leveled.map((wrappedCols, level) => {\n const _wrappedCols = wrappedCols.concat()\n // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度\n // rowspan 需要空白的列头去占位, 需要补充额外的空白列头\n if (rowCount > 1 && ['left', 'right'].indexOf(theaderPosition) > -1) {\n _wrappedCols.push({ type: 'blank', blankSide: 'left', width: 1, isPlacehoder: true })\n }\n const headerCells = _wrappedCols.map((wrapped, index) => {\n if (wrapped.type === 'normal') {\n const { colIndex, colSpan, isLeaf, col } = wrapped\n\n const headerCellProps = col.headerCellProps ?? {}\n\n const positionStyle: CSSProperties = {}\n if (colIndex < leftFlatCount) {\n positionStyle.position = 'sticky'\n\n if (direction === 'rtl') {\n positionStyle.right = stickyLeftMap.get(colIndex)\n } else {\n positionStyle.left = stickyLeftMap.get(colIndex)\n }\n } else if (colIndex >= fullFlatCount - rightFlatCount) {\n positionStyle.position = 'sticky'\n const stickyRightIndex = colSpan > 1 ? colIndex + colSpan - 1 : colIndex\n if (direction === 'rtl') {\n positionStyle.left = stickyRightMap.get(stickyRightIndex) + (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0)\n } else {\n positionStyle.right = stickyRightMap.get(stickyRightIndex) + (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0)\n }\n }\n const justifyContent = col.align === 'right'\n ? 'flex-end'\n : col.align === 'center' ? 'center' : 'flex-start'\n\n const cell = (\n <th\n key={colIndex}\n {...headerCellProps}\n className={cx(Classes.tableHeaderCell, headerCellProps.className, {\n [Classes.first]: colIndex === 0,\n [Classes.last]: colIndex + colSpan === fullFlatCount,\n [Classes.lockLeft]: colIndex < leftFlatCount || theaderPosition === 'left',\n [Classes.lockRight]: colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right',\n [Classes.leaf]: wrapped.isLeaf || col.isHeaderMerge\n })}\n colSpan={colSpan}\n rowSpan={isLeaf || col.isHeaderMerge ? rowCount - level : undefined}\n style={{\n textAlign: col.align,\n verticalAlign: col.verticalAlign ?? 'middle',\n ...headerCellProps.style,\n ...positionStyle\n }}\n data-code={col.code}\n >\n {\n theaderPosition === 'center' && positionStyle.position === 'sticky' ? null\n : <div className={Classes.tableHeaderCellContent} style={{ justifyContent }}>\n {col.title ?? col.name}\n </div>\n }\n </th>\n )\n return cell\n } else {\n if (wrapped.width > 0) {\n return <th key={wrapped.blankSide} style={{ visibility: wrapped.isPlacehoder ? 'hidden' : undefined }}/>\n } else {\n return null\n }\n }\n })\n\n return (\n <tr\n key={level}\n className={cx(Classes.tableHeaderRow, {\n [Classes.first]: level === 0,\n [Classes.last]: level === rowCount - 1\n })}\n >\n {headerCells}\n </tr>\n )\n })\n\n const colgroup = headerRenderInfo.flat.map((wrapped) => {\n if (wrapped.type === 'blank') {\n if (wrapped.width > 0) {\n return <col key={wrapped.blankSide} style={{ width: wrapped.width }} />\n } else {\n return null\n }\n } else {\n return <col key={wrapped.colIndex} style={{ width: wrapped.width }} />\n }\n })\n\n return (\n <table>\n <colgroup>{colgroup}</colgroup>\n <thead>{thead}</thead>\n </table>\n )\n}\n","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getNodeName from '@popperjs/core/lib/dom-utils/getNodeName'\nimport getOffsetParent from '@popperjs/core/lib/dom-utils/getOffsetParent'\nimport getParentNode from '@popperjs/core/lib/dom-utils/getParentNode'\nimport getWindow from '@popperjs/core/lib/dom-utils/getWindow'\nimport getWindowScroll from '@popperjs/core/lib/dom-utils/getWindowScroll'\nimport { isHTMLElement } from '@popperjs/core/lib/dom-utils/instanceOf'\nimport isScrollParent from '@popperjs/core/lib/dom-utils/isScrollParent'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport { fromEvent, merge, Observable } from 'rxjs'\nimport * as op from 'rxjs/operators'\nimport { shallowEqual } from '../utils'\n\nfunction isWindow(arg: object): arg is Window {\n return arg.toString() === '[object Window]' || arg.toString() === '[object global]'\n}\n\nfunction isBody(arg: Node): arg is HTMLBodyElement {\n return getNodeName(arg) === 'body'\n}\n\nfunction isHtml(arg: Node): arg is HTMLHtmlElement {\n return getNodeName(arg) === 'html'\n}\n\nfunction isHtmlOrBody(arg: Node) {\n return isHtml(arg) || isBody(arg)\n}\n\n// 计算从 start(子元素)到 stop(祖先元素)之间所有元素的 scrollTop 或 scrollLeft 的和\n// 注意 start 和 stop 都是 INCLUSIVE 的,即两者的 scrollTop 或 scrollLeft 都会统计在内\nfunction accumulateScrollOffset(\n start: HTMLElement,\n stop: Window | HTMLElement,\n scrollOffsetKey: 'scrollLeft' | 'scrollTop',\n) {\n let result = 0\n let elem = start\n while (elem != null) {\n result += elem[scrollOffsetKey]\n if (elem === stop || (isWindow(stop) && isHtmlOrBody(elem))) {\n break\n }\n elem = elem.parentElement\n }\n\n if (isWindow(stop)) {\n result += getWindowScroll(elem)[scrollOffsetKey]\n }\n return result\n}\n\n/**\n * 获取 target 相对于 base 的布局大小和相对位置。\n * 注意该方法会考虑滚动所带来的影响\n */\nfunction getRelativeLayoutRect(\n base: HTMLElement | Window,\n target: HTMLElement | Window,\n): { top: number; left: number; bottom: number; right: number } {\n if (isWindow(target) || isHtmlOrBody(target)) {\n return {\n left: 0,\n right: window.innerWidth,\n top: 0,\n bottom: window.innerHeight,\n }\n }\n\n let deltaX = 0\n let deltaY = 0\n\n let elem = target\n while (elem != null && elem != base) {\n deltaY += elem.offsetTop\n deltaX += elem.offsetLeft\n\n const offsetParent = getOffsetParent(elem) as HTMLElement | Window\n deltaY -= accumulateScrollOffset(elem.parentElement, offsetParent, 'scrollTop')\n deltaX -= accumulateScrollOffset(elem.parentElement, offsetParent, 'scrollLeft')\n\n if (isWindow(offsetParent)) {\n break\n }\n\n deltaY += offsetParent.clientTop\n deltaX += offsetParent.clientLeft\n\n elem = offsetParent\n }\n\n return {\n top: deltaY,\n bottom: deltaY + target.offsetHeight,\n left: deltaX,\n right: deltaX + target.offsetWidth,\n }\n}\n\nfunction findCommonOffsetAncestor(target: HTMLElement, scrollParent: HTMLElement | Window): HTMLElement | Window {\n if (isWindow(scrollParent)) {\n return scrollParent\n }\n const offsetParents = listOffsetParents(target)\n if (offsetParents.includes(scrollParent)) {\n return scrollParent\n }\n return getOffsetParent(scrollParent)\n}\n\n// 列出 target 元素上层的所有 offset parents\nfunction listOffsetParents(target: Element | Window) {\n const result: Array<Element | Window> = []\n\n let elem = target\n while (true) {\n if (isWindow(elem)) {\n break\n }\n elem = getOffsetParent(elem)\n result.push(elem)\n }\n\n return result\n}\n\nfunction fromScrollEvent(element: HTMLElement | Window) {\n return fromEvent(element, 'scroll', { passive: true })\n}\n\nfunction fromResizeEvent(element: HTMLElement | Window): Observable<Event | ResizeObserverEntry[]> {\n if (isWindow(element)) {\n return fromEvent<Event>(element, 'resize', { passive: true })\n }\n\n return new Observable((subscriber) => {\n const resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n subscriber.next(entries)\n })\n resizeObserver.observe(element as HTMLElement)\n\n return () => {\n resizeObserver.disconnect()\n }\n })\n}\n\nfunction getScrollParent(elem: HTMLElement): HTMLElement | Window {\n if (['html', 'body', '#document'].includes(getNodeName(elem))) {\n return getWindow(elem)\n }\n\n if (isHTMLElement(elem) && isScrollParent(elem)) {\n return elem\n }\n\n return getScrollParent(getParentNode(elem) as HTMLElement)\n}\n\n// 获取 target 相对于「它的滚动父元素」的可见部分的大小与位置\nexport function getRichVisibleRectsStream(\n target: HTMLElement,\n structureMayChange$: Observable<'structure-may-change'>,\n virtualDebugLabel?: string,\n) {\n return structureMayChange$.pipe(\n op.mapTo(target),\n op.distinctUntilChanged(shallowEqual), // 当target没有发生变化时,无需重新查找\n op.startWith('init'),\n op.map(() => {\n // target 的第一个滚动父元素,我们认为这就是虚拟滚动发生的地方\n // 即虚拟滚动不考虑「更上层元素发生滚动」的情况\n // 直接从父元素开始查找,防止自身设置overflow属性导致是同一个元素\n const scrollParent: HTMLElement | Window = getScrollParent(getParentNode(target) as HTMLElement)\n\n // target 和 scrollParent 的共同 offset 祖先,作为布局尺寸计算时的参照元素\n const commonOffsetAncestor: HTMLElement | Window = findCommonOffsetAncestor(target, scrollParent)\n\n return { scrollParent, commonOffsetAncestor }\n }),\n op.distinctUntilChanged(shallowEqual),\n op.tap((structure) => {\n if (virtualDebugLabel) {\n console.log(\n `%c[ali-react-table STRUCTURE ${virtualDebugLabel}]`,\n 'color: #4f9052; font-weight: bold',\n '\\ntarget:',\n target,\n '\\nscrollParent:',\n structure.scrollParent,\n '\\ncommonOffsetAncestor:',\n structure.commonOffsetAncestor,\n )\n }\n }),\n op.switchMap(({ scrollParent, commonOffsetAncestor }) => {\n const events$ = merge(\n fromScrollEvent(scrollParent),\n fromResizeEvent(scrollParent),\n fromResizeEvent(target),\n )\n return events$.pipe(\n op.map((event: unknown) => ({\n targetRect: getRelativeLayoutRect(commonOffsetAncestor, target),\n scrollParentRect: getRelativeLayoutRect(commonOffsetAncestor, scrollParent),\n event,\n })),\n op.map(({ event, scrollParentRect, targetRect }) => ({\n event,\n targetRect,\n scrollParentRect,\n offsetY: Math.max(0, scrollParentRect.top - targetRect.top),\n // 表格的横向滚动总是发生在表格内部,所以这里不需要计算 offsetX\n // offsetX: Math.max(0, scrollParentRect.left - targetRect.left),\n clipRect: {\n left: Math.max(targetRect.left, scrollParentRect.left),\n top: Math.max(targetRect.top, scrollParentRect.top),\n right: Math.min(targetRect.right, scrollParentRect.right),\n bottom: Math.min(targetRect.bottom, scrollParentRect.bottom),\n },\n })),\n )\n }),\n op.tap((rects) => {\n if (virtualDebugLabel) {\n console.log(\n `%c[ali-react-table RECTS ${virtualDebugLabel}]`,\n 'color: #4f9052; font-weight: bold',\n '\\noffsetY:',\n rects.offsetY,\n '\\ntargetRect:',\n rects.targetRect,\n '\\nscrollParentRect:',\n rects.scrollParentRect,\n '\\nclipRect:',\n rects.clipRect,\n '\\nevent:',\n rects.event,\n )\n }\n }),\n )\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n","import { VerticalRenderRange } from '../interfaces'\nimport { OVERSCAN_SIZE, sum } from '../utils'\n\nexport function getFullRenderRange(rowCount: number): VerticalRenderRange {\n return {\n topIndex: 0,\n topBlank: 0,\n bottomIndex: rowCount,\n bottomBlank: 0,\n }\n}\n\nexport function makeRowHeightManager(initRowCount: number, estimatedRowHeight: number) {\n const cache = new Array<number>(initRowCount).fill(estimatedRowHeight)\n\n function getRenderRange(offset: number, maxRenderHeight: number, rowCount: number) {\n if (cache.length !== rowCount) {\n setRowCount(rowCount)\n }\n\n if (maxRenderHeight <= 0) {\n // maxRenderHeight <= 0 说明表格目前在 viewport 之外\n if (offset <= 0) {\n // 表格在 viewport 下方\n return getRenderRangeWhenBelowView()\n } else {\n // 表格在 viewport 上方\n return getRenderRangeWhenAboveView()\n }\n } else {\n // 表格与 viewport 相交\n return getRenderRangeWhenInView()\n }\n\n function getRenderRangeWhenBelowView(): VerticalRenderRange {\n const start = { topIndex: 0, topBlank: 0 }\n const end = getEnd(0, start)\n return { ...start, ...end }\n }\n\n function getRenderRangeWhenAboveView(): VerticalRenderRange {\n const totalSize = getEstimatedTotalSize(rowCount)\n const start = getStart(totalSize)\n const end = getEnd(totalSize, start)\n return { ...start, ...end }\n }\n\n function getRenderRangeWhenInView(): VerticalRenderRange {\n const start = getStart(offset)\n const end = getEnd(offset + maxRenderHeight, start)\n return { ...start, ...end }\n }\n\n /** 获取虚拟滚动在 开始位置上的信息 */\n function getStart(offset: number) {\n if (cache.length === 0) {\n return { topIndex: 0, topBlank: 0 }\n }\n\n let topIndex = 0\n let topBlank = 0\n while (topIndex < cache.length) {\n const h = cache[topIndex]\n if (topBlank + h >= offset) {\n break\n }\n topBlank += h\n topIndex += 1\n }\n return overscanUpwards(topIndex, topBlank)\n }\n\n function overscanUpwards(topIndex: number, topBlank: number) {\n let overscanSize = 0\n let overscanCount = 0\n while (overscanCount < topIndex && overscanSize < OVERSCAN_SIZE) {\n overscanCount += 1\n overscanSize += cache[topIndex - overscanCount]\n }\n return {\n topIndex: topIndex - overscanCount,\n topBlank: topBlank - overscanSize,\n }\n }\n\n /** 获取虚拟滚动 在结束位置上的信息 */\n function getEnd(endOffset: number, startInfo: Pick<VerticalRenderRange, 'topIndex' | 'topBlank'>) {\n let bottomIndex = startInfo.topIndex\n let offset = startInfo.topBlank\n while (bottomIndex < rowCount && offset < endOffset) {\n offset += cache[bottomIndex]\n bottomIndex += 1\n }\n const bottomBlank = getEstimatedTotalSize(rowCount) - offset\n return overscanDownwards(bottomIndex, bottomBlank)\n }\n\n function overscanDownwards(bottomIndex: number, bottomBlank: number) {\n let overscanSize = 0\n let overscanCount = 0\n while (overscanCount < rowCount - bottomIndex && overscanSize < OVERSCAN_SIZE) {\n overscanSize += cache[bottomIndex + overscanCount]\n overscanCount += 1\n }\n return {\n bottomIndex: bottomIndex + overscanCount,\n bottomBlank: bottomBlank - overscanSize,\n }\n }\n\n function getEstimatedTotalSize(rowCount: number) {\n return sum(cache) + (rowCount - cache.length) * estimatedRowHeight\n }\n\n function setRowCount(count: number) {\n // 将 cache 的长度设置为 count\n if (count < cache.length) {\n cache.length = count\n } else {\n const prevSize = cache.length\n cache.length = count\n cache.fill(estimatedRowHeight, prevSize)\n }\n }\n }\n\n function updateRow(index: number, offset: number, size: number) {\n cache[index] = size\n }\n\n return {\n getRenderRange,\n updateRow,\n // 导出 cache,方便调试;上层在实际使用时 并不需要使用 cache 字段\n cache,\n }\n}\n","import { Classes } from '../styles'\n\n// 表格 DOM 结构\n// div.art-table-wrapper\n// └── div.art-loading-wrapper\n// ├── div.art-loading-indicator-wrapper\n// │ └── div.art-loading-indicator\n// │\n// └── div.art-loading-content-wrapper\n// ├── div.art-table\n// │ │\n// │ ├── div.art-table-header\n// │ │ └── table\n// │ │ ├── colgroup\n// │ │ └── thead 注意这里会出现自定义内容,可能存在嵌套表格\n// │ │\n// │ ├── div.art-table-body\n// │ │ ├── div.art-virtual-blank.top\n// │ │ ├── table\n// │ │ │ ├── colgroup\n// │ │ │ └── tbody 注意这里会出现自定义内容,可能存在嵌套表格\n// │ │ └── div.art-virtual-blank.bottom\n// │ │\n// │ ├── div.art-table-footer\n// │ │ └── table\n// │ │ ├── colgroup\n// │ │ └── tfoot 注意这里会出现自定义内容,可能存在嵌套表格\n// │ │\n// │ ├── div.art-lock-shadow-mask\n// │ │ └── div.art-left-lock-shadow\n// │ └── div.art-lock-shadow-mask\n// │ └── div.art-right-lock-shadow\n// │\n// └── div.art-sticky-scroll\n// └── div.art-sticky-scroll-item\n//\n// 在「可能存在嵌套表格」的情况下,我们可以采用以下的方式来避免「querySelector 不小心获取到了的嵌套表格上的元素」:\n// artTable.querySelector('.art-lock-shadow-mask .art-left-lock-shadow')\n\n// 表格 DOM 结构辅助工具\nexport class TableDOMHelper {\n readonly artTableWrapper: HTMLDivElement\n\n readonly artTable: HTMLDivElement\n\n readonly tableHeader: HTMLDivElement\n\n readonly tableBody: HTMLDivElement\n\n readonly virtual: HTMLDivElement\n\n readonly tableElement: HTMLTableElement\n\n readonly tableFooter: HTMLDivElement\n\n readonly stickyScroll: HTMLDivElement\n\n readonly stickyScrollItem: HTMLDivElement\n\n readonly tableHeaderMain: HTMLDivElement\n\n readonly tableFooterMain: HTMLDivElement\n\n constructor (artTableWrapper: HTMLDivElement) {\n this.artTableWrapper = artTableWrapper\n this.artTable = artTableWrapper.querySelector<HTMLDivElement>(`.${Classes.artTable}`)\n this.tableHeader = this.artTable.querySelector(`.${Classes.tableHeader}`)\n this.tableHeaderMain = this.artTable.querySelector(`.${Classes.tableHeaderMain}`)\n this.tableBody = this.artTable.querySelector(`.${Classes.tableBody}`)\n this.virtual = this.artTable.querySelector(`.${Classes.virtual}`)\n this.tableElement = this.artTable.querySelector(`.${Classes.tableBody} table`)\n this.tableFooter = this.artTable.querySelector(`.${Classes.tableFooter}`)\n this.tableFooterMain = this.artTable.querySelector(`.${Classes.tableFooterMain}`)\n\n const stickyScrollSelector = `.${Classes.artTable} + .${Classes.horizontalStickyScrollContainer} .${Classes.stickyScroll}`\n const stickyScrolls = artTableWrapper.querySelectorAll<HTMLDivElement>(stickyScrollSelector)\n this.stickyScroll = stickyScrolls[stickyScrolls.length - 1] // 当嵌套多层表格时,需要查找最后一个,否则会查找到父表格内嵌套的子表格的\n this.stickyScrollItem = this.stickyScroll.querySelector(`.${Classes.stickyScrollItem}`)\n }\n\n getVirtualTop (): HTMLDivElement {\n return this.tableBody.querySelector<HTMLDivElement>(`.${Classes.virtualBlank}.top`)\n }\n\n getTableRows (): NodeListOf<HTMLTableRowElement> {\n const tbody = this.artTable.querySelector(`.${Classes.tableBody} .${Classes.virtual} table tbody`)\n return tbody.childNodes as NodeListOf<HTMLTableRowElement>\n }\n\n getTableBodyHtmlTable (): HTMLTableElement {\n return this.artTable.querySelector(`.${Classes.tableBody} .${Classes.virtual} table`)\n }\n\n getLeftLockShadow (): HTMLDivElement {\n const selector = `.${Classes.lockShadowMask} .${Classes.leftLockShadow}`\n const allLeftLockShadow = this.artTable.querySelectorAll<HTMLDivElement>(selector)\n return allLeftLockShadow[allLeftLockShadow.length - 1] // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的\n }\n\n getRightLockShadow (): HTMLDivElement {\n const selector = `.${Classes.lockShadowMask} .${Classes.rightLockShadow}`\n const allRightLockShadow = this.artTable.querySelectorAll<HTMLDivElement>(selector)\n return allRightLockShadow[allRightLockShadow.length - 1] // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的\n }\n\n getLoadingIndicator (): HTMLDivElement {\n return this.artTableWrapper.querySelector<HTMLDivElement>(`.${Classes.loadingIndicator}`)\n }\n\n getRowTop (rowIndex:number) {\n if (rowIndex === 0) return 0\n const selector = `.${Classes.tableBody} .${Classes.tableRow}[data-rowindex=\"${rowIndex}\"]`\n const row = this.artTable.querySelector<HTMLDivElement>(selector)\n const rowOffsetTop = (row && row.offsetTop) || 0\n const tableOffsetTop = this.tableElement.offsetTop || 0\n return rowOffsetTop + tableOffsetTop\n }\n\n getRowNodeListByEvent = (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>) : HTMLElement[] => {\n let nodeList = null\n const rowIndex = e.currentTarget.dataset.rowindex\n if (rowIndex !== undefined) {\n const targetParent = this.tableBody.contains(e.currentTarget) ? this.tableBody : this.tableFooter\n nodeList = targetParent.querySelectorAll(`tr[data-rowindex=\"${rowIndex}\"]`)\n }\n return nodeList\n }\n\n getInRangeRowByCellEvent = (e: React.MouseEvent<HTMLTableCellElement, MouseEvent>) => {\n const getParentNode = (ele, target) => {\n if (ele.parentNode.nodeName === target) {\n return ele.parentNode\n }\n return getParentNode(ele.parentNode, target)\n }\n e = e instanceof Array ? e[0] : e\n const curCell = e?.currentTarget\n const curRow = getParentNode(curCell, 'TR')\n const curRowSpan = parseInt(e.currentTarget.getAttribute('rowspan')) || 1\n const rows = getParentNode(curCell, 'TABLE')?.rows\n return Array.from(rows).slice(curRow.rowIndex,curRow.rowIndex + curRowSpan)\n }\n}\n","/**\n * 快速滚动管理器\n * 抽取 BaseTable 中的快速滚动相关逻辑\n */\n\nexport interface FastScrollConfig {\n /** 预渲染缓冲区大小,用于快速滚动判断 */\n overscanSize?: number\n /** 快速滚动速度阈值 (像素/毫秒) */\n velocityThreshold?: number\n /** 快速滚动距离倍数阈值 */\n distanceMultiplier?: number\n /** 快速滚动结束等待时间 (毫秒) - 高速滚动 */\n fastScrollEndDelayHigh?: number\n /** 快速滚动结束等待时间 (毫秒) - 普通滚动 */\n fastScrollEndDelayNormal?: number\n /** 高速滚动速度阈值 (像素/毫秒) */\n highVelocityThreshold?: number\n}\n\nexport interface FastScrollState {\n lastScrollTime: number\n scrollVelocity: number\n lastOffsetY: number\n}\n\nexport interface ScrollEventData {\n offsetY: number\n maxRenderHeight: number\n maxRenderWidth: number\n}\n\nexport interface VerticalRenderRange {\n topIndex: number\n bottomIndex: number\n topBlank: number\n bottomBlank: number\n}\n\nexport interface FastScrollCallbacks {\n onFastScrollStart: (renderData: {\n offsetY: number\n maxRenderHeight: number\n maxRenderWidth: number\n verticalRenderRange: VerticalRenderRange\n }) => void\n onFastScrollEnd: (scrollData: ScrollEventData) => void\n getCurrentRenderRange: (offsetY: number, maxRenderHeight: number, dataLength: number) => VerticalRenderRange\n}\n\nexport class FastScrollManager {\n // 快速滚动状态\n private state: FastScrollState = {\n lastScrollTime: 0,\n scrollVelocity: 0,\n lastOffsetY: 0\n }\n\n // 快速滚动标志 - 作为私有属性立即更新\n private isFastScrolling = false\n\n // 定时器句柄 - 作为私有属性管理\n private fastScrollEndTimer?: number\n\n // 配置参数\n private config: Required<FastScrollConfig>\n\n private callbacks: FastScrollCallbacks\n\n constructor (\n callbacks: FastScrollCallbacks,\n config: FastScrollConfig = {}\n ) {\n this.callbacks = callbacks\n\n // 合并默认配置\n this.config = {\n overscanSize: 100,\n velocityThreshold: 3,\n distanceMultiplier: 3,\n fastScrollEndDelayHigh: 200,\n fastScrollEndDelayNormal: 150,\n highVelocityThreshold: 5,\n ...config\n }\n }\n\n /**\n * 检测是否接近底部(剩余滚动距离少于两屏)\n */\n private isNearBottom (\n currentScrollTop: number,\n maxRenderHeight: number,\n totalScrollHeight: number\n ): boolean {\n const remainingScrollDistance = totalScrollHeight - currentScrollTop - maxRenderHeight\n return remainingScrollDistance < maxRenderHeight\n }\n\n /**\n * 处理滚动事件 - 检测和处理快速滚动\n */\n handleScrollEvent (\n sizeAndOffset: ScrollEventData,\n currentState: {\n offsetY: number\n maxRenderHeight: number\n maxRenderWidth: number\n },\n dataLength: number,\n totalScrollHeight: number\n ) {\n const currentTime = performance.now()\n const deltaY = Math.abs(sizeAndOffset.offsetY - this.state.lastOffsetY)\n const deltaTime = currentTime - this.state.lastScrollTime\n\n // 计算滚动速度 (像素/毫秒)\n this.state.scrollVelocity = deltaTime > 0 ? deltaY / deltaTime : 0\n\n // 检测是否接近底部\n const isNearBottom = this.isNearBottom(\n sizeAndOffset.offsetY,\n sizeAndOffset.maxRenderHeight,\n totalScrollHeight\n )\n\n // 如果正在快速滚动但接近底部,提前结束快速滚动\n if (this.isFastScrolling && isNearBottom) {\n this.endFastScrolling(sizeAndOffset)\n return // 让正常渲染逻辑接管\n }\n\n // 快速滚动判断条件:\n // 1. 滚动距离超过阈值 && 滚动速度超过阈值\n // 2. 当前未在快速滚动状态\n // 3. 未接近底部边界\n const isSignificantChange = deltaY > this.config.overscanSize * this.config.distanceMultiplier\n const isHighVelocity = this.state.scrollVelocity > this.config.velocityThreshold\n const shouldStartFastScroll = (isSignificantChange || isHighVelocity) &&\n !this.isFastScrolling &&\n !isNearBottom // 接近底部时不启动快速滚动\n\n if (shouldStartFastScroll) {\n this.startFastScrolling(currentState, dataLength)\n }\n\n // 重置快速滚动结束定时器\n if (this.isFastScrolling) {\n this.resetFastScrollEndTimer(sizeAndOffset)\n }\n\n // 更新记录\n this.state.lastOffsetY = sizeAndOffset.offsetY\n this.state.lastScrollTime = currentTime\n }\n\n /**\n * 开始快速滚动\n */\n private startFastScrolling (currentState: {\n offsetY: number\n maxRenderHeight: number\n maxRenderWidth: number\n }, dataLength: number) {\n this.isFastScrolling = true\n\n // 获取当前渲染范围作为缓存\n const currentVerticalRange = this.callbacks.getCurrentRenderRange(\n currentState.offsetY,\n currentState.maxRenderHeight,\n dataLength\n )\n\n // 通知外部开始快速滚动\n this.callbacks.onFastScrollStart({\n offsetY: currentState.offsetY,\n maxRenderHeight: currentState.maxRenderHeight,\n maxRenderWidth: currentState.maxRenderWidth,\n verticalRenderRange: currentVerticalRange\n })\n }\n\n /**\n * 重置快速滚动结束定时器\n */\n private resetFastScrollEndTimer (sizeAndOffset: ScrollEventData) {\n if (this.fastScrollEndTimer) {\n clearTimeout(this.fastScrollEndTimer)\n }\n\n const waitTime = this.state.scrollVelocity > this.config.highVelocityThreshold\n ? this.config.fastScrollEndDelayHigh\n : this.config.fastScrollEndDelayNormal\n this.fastScrollEndTimer = window.setTimeout(() => {\n this.endFastScrolling(sizeAndOffset)\n }, waitTime)\n }\n\n /**\n * 结束快速滚动\n */\n private endFastScrolling (sizeAndOffset: ScrollEventData) {\n this.isFastScrolling = false\n this.fastScrollEndTimer = undefined\n\n // 通知外部结束快速滚动\n this.callbacks.onFastScrollEnd(sizeAndOffset)\n }\n\n /**\n * 清理资源\n */\n cleanup (): void {\n if (this.fastScrollEndTimer) {\n clearTimeout(this.fastScrollEndTimer)\n }\n }\n\n /**\n * 获取当前是否处于快速滚动状态\n */\n getIsFastScrolling (): boolean {\n return this.isFastScrolling\n }\n\n /**\n * 获取当前滚动速度\n */\n getScrollVelocity (): number {\n return this.state.scrollVelocity\n }\n\n /**\n * 清理资源\n */\n destroy () {\n if (this.fastScrollEndTimer) {\n clearTimeout(this.fastScrollEndTimer)\n this.fastScrollEndTimer = undefined\n }\n this.isFastScrolling = false\n }\n\n /**\n * 获取当前配置\n */\n getConfig (): Readonly<Required<FastScrollConfig>> {\n return { ...this.config }\n }\n}\n","import { ArtColumn } from './interfaces'\n\nfunction safeRenderHeader (column: ArtColumn) {\n return column.title ?? column.name\n}\n\nfunction safeGetValue (column: ArtColumn, record: any, rowIndex: number) {\n if (column.getValue) {\n return column.getValue(record, rowIndex)\n }\n return record[column.code]\n}\n\nfunction safeGetRowKey (primaryKey: string | ((record: any) => string), record: any, rowIndex: number): string {\n let key\n if (typeof primaryKey === 'string') {\n key = record[primaryKey]\n } else if (typeof primaryKey === 'function') {\n key = primaryKey(record)\n }\n if (key == null) {\n key = String(rowIndex)\n }\n return key\n}\n\nfunction safeGetCellProps (column: ArtColumn, record: any, rowIndex: number) {\n if (column.getCellProps) {\n const value = safeGetValue(column, record, rowIndex)\n return column.getCellProps(value, record, rowIndex) || {}\n }\n return {}\n}\n\nfunction safeRender (column: ArtColumn, record: any, rowIndex: number) {\n const value = safeGetValue(column, record, rowIndex)\n if (column.render) {\n return column.render(value, record, rowIndex)\n }\n return value\n}\n\nexport const internals = {\n safeRenderHeader,\n safeGetValue,\n safeGetRowKey,\n safeGetCellProps,\n safeRender\n} as const\n","import { SpanRect } from '../../interfaces'\n\n/** 在表格的单元格的渲染过程中,先渲染的单元格的 colSpan/rowSpan 会影响到后续单元格是否被渲染\n * `SpanManager` 会在内部维护一份状态来记录最近渲染单元格的 colSpan/rowSpan,\n * 方便后续的单元格快速判断 \"是否需要跳过渲染\" */\nexport default class SpanManager {\n private rects: SpanRect[] = []\n\n public testSkip(rowIndex: number, colIndex: number) {\n return this.rects.some(\n ({ left, right, top, bottom }) =>\n left <= colIndex && colIndex < right && top <= rowIndex && rowIndex < bottom,\n )\n }\n\n public stripUpwards(rowIndex: number) {\n this.rects = this.rects.filter(rect => rect.bottom > rowIndex)\n }\n\n public add(rowIndex: number, colIndex: number, colSpan: number, rowSpan: number) {\n this.rects.push({\n left: colIndex,\n right: colIndex + (colSpan < 1 ? 1 : colSpan),\n top: rowIndex,\n bottom: rowIndex + rowSpan,\n })\n }\n}\n","import cx from 'classnames'\nimport React, { CSSProperties, ReactNode } from 'react'\nimport { ArtColumn } from '../interfaces'\nimport { internals } from '../internals'\nimport { Colgroup } from './colgroup'\nimport SpanManager from './helpers/SpanManager'\nimport { RenderInfo } from './interfaces'\nimport { Classes } from './styles'\nimport { BaseTableProps } from './table'\n\nexport interface HtmlTableProps extends Required<Pick<BaseTableProps, 'getRowProps' | 'primaryKey'>> {\n tbodyHtmlTag: 'tbody' | 'tfoot'\n data: any[]\n stickyRightOffset?:number\n\n horizontalRenderInfo: Pick<\n RenderInfo,\n 'flat' | 'visible' | 'horizontalRenderRange' | 'stickyLeftMap' | 'stickyRightMap' | 'direction'\n >\n\n verticalRenderInfo: {\n offset: number\n first: number\n last: number\n limit: number\n }\n\n tbodyPosition ?: 'left' | 'center' | 'right'\n}\n\nexport function HtmlTable ({\n tbodyHtmlTag,\n getRowProps,\n primaryKey,\n stickyRightOffset,\n data,\n verticalRenderInfo: verInfo,\n horizontalRenderInfo: hozInfo,\n tbodyPosition\n}: HtmlTableProps) {\n const { flat, horizontalRenderRange: hoz, direction } = hozInfo\n\n const spanManager = new SpanManager()\n const fullFlatCount = flat.full.length\n const leftFlatCount = flat.left.length\n const rightFlatCount = flat.right.length\n\n return (\n <table>\n <Colgroup descriptors={hozInfo.visible} />\n {React.createElement(tbodyHtmlTag, null, data.map(renderRow))}\n </table>\n )\n\n function renderRow (record: any, i: number) {\n const rowIndex = verInfo.offset + i\n spanManager.stripUpwards(rowIndex)\n\n const rowProps = getRowProps(record, rowIndex)\n const rowClass = cx(\n Classes.tableRow,\n {\n [Classes.first]: rowIndex === verInfo.first,\n [Classes.last]: rowIndex === verInfo.last,\n [Classes.even]: rowIndex % 2 === 0,\n [Classes.odd]: rowIndex % 2 === 1\n },\n rowProps?.className\n )\n\n const visibleColumnDescriptor = hozInfo.visible.concat()\n\n // 左中右区域渲染,存在融合单元格时需要适配rowspan属性\n // 如果固定的列均存在融合单元格,需空白一列做占位,否则融合的单元格不会渲染,导致显示异常\n // 这里无法区分是否存在融合列,默认左右固定区域均添加占位空白列\n if (['left', 'right'].indexOf(tbodyPosition) > -1) {\n visibleColumnDescriptor.push({ type: 'blank', blankSide: 'left', width: 0, isPlacehoder: true })\n }\n\n // detail 行跳过水平虚拟化,渲染所有列,确保 column 0 的 getSpanRect 能正确执行\n const isDetailRow = rowProps?.['data-row-detail-key'] != null\n const rowDescriptors = isDetailRow\n ? flat.full.map((col, i) => ({ type: 'normal' as const, col, colIndex: i }))\n : visibleColumnDescriptor\n\n return (\n <tr\n {...rowProps}\n className={rowClass}\n key={rowProps?.['data-row-detail-key'] ? rowProps['data-row-detail-key'] : internals.safeGetRowKey(primaryKey, record, rowIndex)}\n data-rowindex={rowIndex}\n data-role={'table-row'}\n >\n {rowDescriptors.map((descriptor) => {\n if (descriptor.type === 'blank') {\n return (\n <td\n key={descriptor.blankSide}\n style={{ visibility: descriptor.isPlacehoder ? 'hidden' : undefined }}\n />\n )\n }\n return renderBodyCell(record, rowIndex, descriptor.col, descriptor.colIndex, isDetailRow ? fullFlatCount : undefined)\n })}\n </tr>\n )\n }\n\n function renderBodyCell (record: any, rowIndex: number, column: ArtColumn, colIndex: number, colSpanLimit?: number) {\n if (spanManager.testSkip(rowIndex, colIndex)) {\n return null\n }\n\n const value = internals.safeGetValue(column, record, rowIndex)\n const cellProps = column.getCellProps?.(value, record, rowIndex) ?? {}\n\n let cellContent: ReactNode = value\n if (column.render) {\n cellContent = column.render(value, record, rowIndex)\n }\n\n let colSpan = 1\n let rowSpan = 1\n if (column.getSpanRect) {\n const spanRect = column.getSpanRect(value, record, rowIndex)\n colSpan = spanRect == null ? 1 : spanRect.right - colIndex\n rowSpan = spanRect == null ? 1 : spanRect.bottom - rowIndex\n } else {\n if (cellProps.colSpan != null) {\n colSpan = cellProps.colSpan\n }\n if (cellProps.rowSpan != null) {\n rowSpan = cellProps.rowSpan\n }\n }\n\n const hasSpan = colSpan > 1 || rowSpan > 1\n if (hasSpan) {\n spanManager.add(rowIndex, colIndex, colSpan, rowSpan)\n }\n\n // rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格\n rowSpan = Math.min(rowSpan, verInfo.limit - rowIndex)\n colSpan = Math.min(colSpan, (colSpanLimit ?? hozInfo.visible.length) - colIndex)\n\n // todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下\n rowSpan = Math.max(rowSpan, 1)\n colSpan = Math.max(colSpan, 1)\n\n const positionStyle: CSSProperties = {}\n\n if (colIndex < leftFlatCount) {\n positionStyle.position = 'sticky'\n positionStyle.left = hozInfo.stickyLeftMap.get(colIndex)\n if (direction === 'rtl') {\n positionStyle.right = hozInfo.stickyLeftMap.get(colIndex)\n } else {\n positionStyle.left = hozInfo.stickyLeftMap.get(colIndex)\n }\n } else if (colIndex >= fullFlatCount - rightFlatCount) {\n positionStyle.position = 'sticky'\n if (direction === 'rtl') {\n positionStyle.left = hozInfo.stickyRightMap.get(colIndex) + (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0)\n } else {\n positionStyle.right = hozInfo.stickyRightMap.get(colIndex) + (typeof stickyRightOffset === 'number' ? stickyRightOffset : 0)\n }\n }\n\n return React.createElement(\n 'td',\n {\n key: colIndex,\n ...cellProps,\n className: cx(Classes.tableCell, cellProps.className, {\n // class\n [Classes.first]: colIndex === 0,\n [Classes.last]: colIndex + colSpan === fullFlatCount,\n [Classes.lockLeft]: colIndex < leftFlatCount || tbodyPosition === 'left',\n [Classes.lockRight]: colIndex >= fullFlatCount - rightFlatCount,\n [Classes.rowSpan]: rowSpan > 1\n }),\n ...(hasSpan ? { colSpan, rowSpan } : null),\n style: {\n textAlign: column.align,\n verticalAlign: column.verticalAlign ?? 'middle',\n ...cellProps.style,\n ...positionStyle\n },\n 'data-role': 'table-cell',\n 'data-rowindex': rowIndex,\n 'data-code': column.code\n },\n tbodyPosition === 'center' && positionStyle.position === 'sticky' ? null : cellContent\n )\n }\n}\n","import React, { ReactNode } from 'react'\nimport { Classes } from './styles'\n\nconst DefaultLoadingIcon = React.memo(() => (\n <svg\n style={{ margin: 'auto', display: 'block', width: 40, height: 40 }}\n viewBox=\"0 0 100 100\"\n preserveAspectRatio=\"xMidYMid\"\n >\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"40\"\n fill=\"none\"\n stroke=\"#23a7fa\"\n strokeDasharray=\"188 64\"\n strokeLinecap=\"round\"\n strokeWidth=\"10\"\n >\n <animateTransform\n attributeName=\"transform\"\n dur=\"1.5s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 50 50;360 50 50\"\n />\n </circle>\n </svg>\n))\n\nexport interface LoadingContentWrapperProps {\n visible: boolean\n children: ReactNode\n}\n\nfunction DefaultLoadingContentWrapper({ children, visible }: LoadingContentWrapperProps) {\n return (\n <div className={Classes.loadingContentWrapper} style={{ filter: visible ? 'blur(1px)' : 'none' }}>\n {children}\n </div>\n )\n}\n\ninterface LoadingProps {\n visible: boolean\n children: ReactNode\n LoadingContentWrapper?: React.ComponentType<LoadingContentWrapperProps>\n LoadingIcon?: React.ComponentType\n}\n\nexport default function Loading({\n visible,\n children,\n LoadingContentWrapper = DefaultLoadingContentWrapper,\n LoadingIcon = DefaultLoadingIcon\n}: LoadingProps) {\n return (\n <div className={Classes.loadingWrapper}>\n {visible && (\n <div className={Classes.loadingIndicatorWrapper}>\n <div className={Classes.loadingIndicator}>\n <LoadingIcon />\n </div>\n </div>\n )}\n <LoadingContentWrapper visible={visible} children={children} />\n </div>\n )\n}\n","import React, { PureComponent } from 'react'\n\nimport {\n GlobalStyle\n} from './styles'\n\ninterface GlobalStyleComponentProps {\n direction: string;\n}\n\nexport default class GlobalStyleComponent extends PureComponent<GlobalStyleComponentProps> {\n render () {\n return <GlobalStyle direction={this.props.direction}/>\n }\n}\n","/*\n * @Author: wqhui\n * @Date: 2022-03-14 11:21:12\n * @Description: 不同情况的渲染模板,比如IE下的\n */\nimport React, { useEffect, useRef, ReactNode } from 'react'\nimport ReactDom from 'react-dom'\nimport cx from 'classnames'\nimport { ArtColumn } from '../interfaces'\nimport { HtmlTable } from './html-table'\nimport { Classes } from './styles'\nimport { composeRowPropsGetter, getScrollbarSize } from './utils'\nimport { BaseTableProps } from './table'\nimport { RenderInfo } from './interfaces'\nimport { getTreeDepth, isStickyUIDegrade } from '../utils'\nimport TableHeader from './header'\nimport { TableDOMHelper } from './helpers/TableDOMUtils'\n\nconst TEMPLATES = new Map()\n\ninterface RowDetailOptions {\n row: any\n rowIndex: number\n renderDetail?(row: any, rowIndex: number): ReactNode\n domHelper:TableDOMHelper\n}\n\nfunction renderTableHeaderInIE (info: RenderInfo, props: BaseTableProps, extra?: { stickyRightOffset?:number}) {\n const { stickyTop, hasHeader } = props\n\n const { flat, nested, visible, hasLockColumn } = info\n const { left, right } = flat\n const { left: leftNested, right: rightNested, full } = nested\n\n const rowCount = getTreeDepth(full) + 1\n\n const fixedRightTableStyle = {\n right: extra?.stickyRightOffset || 0\n }\n\n return (\n <div className={cx(Classes.tableHeader)}>\n <div\n className={cx(Classes.tableHeaderMain, 'no-scrollbar')}\n style={{\n top: stickyTop === 0 ? undefined : stickyTop,\n display: hasHeader ? undefined : 'none'\n }}\n >\n <TableHeader info={info} theaderPosition={hasLockColumn ? 'center' : undefined}/>\n <div className={Classes.verticalScrollPlaceholder} style={ typeof extra?.stickyRightOffset === 'number' ? { width: extra?.stickyRightOffset} : undefined}></div>\n </div>\n {\n left.length > 0\n ? (\n <div className={Classes.fixedLeft} >\n <TableHeader\n info={\n {\n ...info,\n flat: {\n center: left,\n full: left,\n left: [],\n right: []\n },\n nested: {\n center: leftNested,\n full: leftNested,\n left: [],\n right: []\n },\n visible: visible.slice(0, left.length),\n horizontalRenderRange: {\n leftIndex: 0,\n leftBlank: 0,\n rightIndex: left.length, // leftIndex + centerCount + right.length 计算得出\n rightBlank: 0\n }\n }\n }\n theaderPosition=\"left\"\n rowCount={rowCount}\n />\n </div>\n )\n : null\n }\n {\n right.length > 0\n ? (\n <div className={Classes.fixedRight} style={fixedRightTableStyle}>\n <TableHeader\n info={\n {\n ...info,\n flat: {\n center: right,\n full: right,\n left: [],\n right: []\n },\n nested: {\n center: rightNested,\n full: rightNested,\n left: [],\n right: []\n },\n visible: visible.slice(visible.length - right.length),\n horizontalRenderRange: {\n leftIndex: 0,\n leftBlank: 0,\n rightIndex: right.length, // leftIndex + centerCount + right.length 计算得出\n rightBlank: 0\n }\n }\n }\n theaderPosition={'right'}\n rowCount={rowCount}\n />\n\n </div>\n )\n : null\n }\n </div>\n )\n}\n\nfunction renderTableBodyInIE (info: RenderInfo, props: BaseTableProps, extra?: { rowProps : React.HTMLAttributes<HTMLTableRowElement>}) {\n const { dataSource, getRowProps, primaryKey } = props\n\n const { topIndex, bottomBlank, topBlank, bottomIndex } = info.verticalRenderRange\n const { flat, visible, hasLockColumn } = info\n const { left, right } = flat\n const verticalRenderInfo = {\n first: 0,\n offset: topIndex,\n limit: bottomIndex,\n last: dataSource.length - 1\n }\n\n const commonProps = {\n getRowProps: composeRowPropsGetter(getRowProps, extra.rowProps),\n primaryKey: primaryKey,\n data: dataSource.slice(topIndex, bottomIndex)\n }\n\n return (\n <div className={cx(Classes.tableBody, Classes.horizontalScrollContainer)}>\n <div className={Classes.virtual} tabIndex={-1}>\n {topBlank > 0 && (\n <div key=\"top-blank\" className={cx(Classes.virtualBlank, 'top')} style={{ height: topBlank }} />\n )}\n <HtmlTable\n tbodyHtmlTag=\"tbody\"\n {...commonProps}\n tbodyPosition={hasLockColumn ? 'center' : undefined}\n horizontalRenderInfo={info}\n verticalRenderInfo={verticalRenderInfo}\n />\n {bottomBlank > 0 && (\n <div key=\"bottom-blank\" className={cx(Classes.virtualBlank, 'bottom')} style={{ height: bottomBlank }} />\n )}\n </div>\n {\n left.length > 0\n ? (\n <div className={Classes.fixedLeft} >\n {topBlank > 0 && (\n <div key=\"top-blank\" className={cx(Classes.virtualBlank, 'top')} style={{ height: topBlank }} />\n )}\n <HtmlTable\n tbodyHtmlTag=\"tbody\"\n {...commonProps}\n tbodyPosition=\"left\"\n horizontalRenderInfo={{\n ...info,\n flat: {\n center: left,\n full: left,\n left: [] as ArtColumn[],\n right: [] as ArtColumn[]\n },\n visible: visible.slice(0, left.length)\n }}\n verticalRenderInfo={verticalRenderInfo}\n />\n {bottomBlank > 0 && (\n <div key=\"bottom-blank\" className={cx(Classes.virtualBlank, 'bottom')} style={{ height: bottomBlank }} />\n )}\n </div>\n )\n : null\n }\n {\n right.length > 0\n ? (\n <div className={Classes.fixedRight}>\n {topBlank > 0 && (\n <div key=\"top-blank\" className={cx(Classes.virtualBlank, 'top')} style={{ height: topBlank }} />\n )}\n <HtmlTable\n tbodyHtmlTag=\"tbody\"\n {...commonProps}\n tbodyPosition=\"right\"\n horizontalRenderInfo={{\n ...info,\n flat: {\n center: right,\n full: right,\n left: [] as ArtColumn[],\n right: [] as ArtColumn[]\n },\n visible: visible.slice(visible.length - right.length)\n }}\n verticalRenderInfo={verticalRenderInfo}\n />\n {bottomBlank > 0 && (\n <div key=\"bottom-blank\" className={cx(Classes.virtualBlank, 'bottom')} style={{ height: bottomBlank }} />\n )}\n </div>\n )\n : null\n }\n <div className={Classes.rowDetailContainer}/>\n </div>\n )\n}\n\nfunction renderTableFooterInIE (info: RenderInfo, props: BaseTableProps, extra?: { rowProps : React.HTMLAttributes<HTMLTableRowElement>, stickyRightOffset?:number}) {\n const { footerDataSource = [], getRowProps, primaryKey, stickyBottom } = props\n const _getRowProps = composeRowPropsGetter(getRowProps, extra.rowProps)\n\n const { flat, visible, hasLockColumn } = info\n const { left, right } = flat\n const verticalRenderInfo = {\n offset: 0,\n first: 0,\n last: footerDataSource.length - 1,\n limit: Infinity\n }\n const commonProps = {\n data: footerDataSource,\n getRowProps: _getRowProps,\n primaryKey: primaryKey,\n verticalRenderInfo: verticalRenderInfo\n }\n\n const fixedRightTableStyle = {\n right: extra?.stickyRightOffset || 0\n }\n\n return (\n <div\n className={cx(Classes.tableFooter)}\n style={{ bottom: stickyBottom === 0 ? undefined : stickyBottom }}\n >\n <div className={cx(Classes.tableFooterMain, Classes.horizontalScrollContainer)}>\n <HtmlTable\n tbodyHtmlTag=\"tfoot\"\n {...commonProps}\n tbodyPosition={hasLockColumn ? 'center' : undefined }\n horizontalRenderInfo={info}\n />\n {\n footerDataSource.length > 0\n ? <div\n className={Classes.verticalScrollPlaceholder}\n style={typeof extra?.stickyRightOffset === 'number' ? { width: extra?.stickyRightOffset, visibility: 'initial' } : undefined}>\n </div>\n : null\n }\n </div>\n {\n left.length > 0\n ? <div className={Classes.fixedLeft} >\n <HtmlTable\n tbodyHtmlTag=\"tfoot\"\n {...commonProps}\n tbodyPosition=\"left\"\n horizontalRenderInfo={{\n ...info,\n flat: {\n center: left,\n full: left,\n left: [] as ArtColumn[],\n right: [] as ArtColumn[]\n },\n visible: visible.slice(0, left.length)\n }}\n />\n </div>\n : null\n }\n {\n right.length > 0\n ? <div className={Classes.fixedRight} style={fixedRightTableStyle}>\n <HtmlTable\n tbodyHtmlTag=\"tfoot\"\n {...commonProps}\n tbodyPosition=\"right\"\n horizontalRenderInfo={{\n ...info,\n flat: {\n center: right,\n full: right,\n left: [] as ArtColumn[],\n right: [] as ArtColumn[]\n },\n visible: visible.slice(visible.length - right.length)\n }}\n />\n </div>\n : null\n }\n </div>\n )\n}\n\nfunction renderRowDetailInIE (params:RowDetailOptions) {\n const { domHelper } = params\n if (!domHelper) return\n const artTable = domHelper.artTable\n const rowDetailContainer = artTable && artTable.querySelector(`.${Classes.rowDetailContainer}`)\n\n return ReactDom.createPortal(<RowDetail {...params}/>, rowDetailContainer)\n}\n\nfunction RowDetail (props:RowDetailOptions) {\n const detailRef = useRef(null)\n const { row, rowIndex, domHelper, renderDetail } = props\n const artTable = domHelper.artTable\n useEffect(() => {\n const selector = (position) => {\n return `.${position} .${Classes.tableRow}[data-rowindex=\"${rowIndex}\"]`\n }\n const itemRect = detailRef.current && detailRef.current.getBoundingClientRect()\n const targetRow = artTable.querySelector<HTMLDivElement>(selector(Classes.tableBody))\n const targetRowLeft = artTable.querySelector<HTMLDivElement>(selector(Classes.fixedLeft))\n const targetRowRight = artTable.querySelector<HTMLDivElement>(selector(Classes.fixedRight))\n\n if (itemRect.height) {\n targetRow && (targetRow.style.height = itemRect.height + 'px')\n targetRowLeft && (targetRowLeft.style.height = itemRect.height + 'px')\n targetRowRight && (targetRowRight.style.height = itemRect.height + 'px')\n }\n }, [])\n\n useEffect(() => {\n // 这时候行才渲染完,只能在这里设置偏移量\n const offsetTop = domHelper.getRowTop(rowIndex) || 0\n detailRef.current.style.transform = `translateY(${offsetTop + 'px'})`\n })\n\n return (\n <div ref = {detailRef} className={Classes.rowDetailItem}>\n {renderDetail(row, rowIndex)}\n </div>\n )\n}\n\nif (isStickyUIDegrade()) {\n TEMPLATES.set('header', renderTableHeaderInIE)\n TEMPLATES.set('body', renderTableBodyInIE)\n TEMPLATES.set('footer', renderTableFooterInIE)\n TEMPLATES.set('rowDetail', renderRowDetailInIE)\n}\n\nexport default function getTableHeaderRenderTemplate (type: string) {\n return TEMPLATES.get(type)\n}\n","import React, { useState, useImperativeHandle, forwardRef, memo, useEffect } from 'react'\nimport cx from 'classnames'\nimport { Classes } from './styles'\n\ninterface BlankProps {\n height: number\n}\n\nexport interface BlankRef {\n updateHeight: (newHeight: number) => void\n}\nconst TopBlankComponent = forwardRef<BlankRef, BlankProps>(({ height: heightFromProps }, ref) => {\n useEffect(() => {\n setHeight(heightFromProps)\n }, [heightFromProps])\n const [height, setHeight] = useState(heightFromProps)\n useImperativeHandle(ref, () => ({\n updateHeight: (newHeight: number) => {\n if (height !== newHeight) {\n setHeight(newHeight)\n }\n }\n }), [height])\n\n return (\n <div\n key=\"top-blank\"\n className={cx(Classes.virtualBlank, 'bottom')}\n style={{ height }}\n />\n )\n})\n\nTopBlankComponent.displayName = 'TopBlank'\n\nconst BottomBlankComponent = forwardRef<BlankRef, BlankProps>(({ height: heightFromProps }, ref) => {\n const [height, setHeight] = useState(heightFromProps)\n useEffect(() => {\n setHeight(heightFromProps)\n }, [heightFromProps])\n useImperativeHandle(ref, () => ({\n updateHeight: (newHeight: number) => {\n if (height !== newHeight) {\n setHeight(newHeight)\n }\n }\n }), [height])\n\n if (height <= 0) {\n return null\n }\n\n return (\n <div\n key=\"bottom-blank\"\n className={cx(Classes.virtualBlank, 'bottom')}\n style={{ height }}\n />\n )\n})\n\nBottomBlankComponent.displayName = 'BottomBlank'\n\n// 使用 memo 优化,只有当 height 或 className 改变时才重新渲染\nexport const TopBlank = memo(TopBlankComponent, (prevProps, nextProps) => {\n return prevProps.height === nextProps.height\n})\n\nexport const BottomBlank = memo(BottomBlankComponent, (prevProps, nextProps) => {\n return prevProps.height === nextProps.height\n})\n","import cx from 'classnames'\nimport React, { CSSProperties, ReactNode } from 'react'\nimport { BehaviorSubject, combineLatest, noop, Subscription, Subject, from } from 'rxjs'\nimport * as op from 'rxjs/operators'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport { ArtColumn } from '../interfaces'\nimport { calculateRenderInfo } from './calculations'\nimport { EmptyHtmlTable } from './empty'\nimport TableHeader from './header'\nimport { getRichVisibleRectsStream } from './helpers/getRichVisibleRectsStream'\nimport { getFullRenderRange, makeRowHeightManager } from './helpers/rowHeightManager'\nimport { TableDOMHelper } from './helpers/TableDOMUtils'\nimport { FastScrollManager, FastScrollCallbacks, ScrollEventData } from './helpers/FastScrollManager'\nimport { HtmlTable } from './html-table'\nimport { RenderInfo, ResolvedUseVirtual, VerticalRenderRange, VirtualEnum } from './interfaces'\nimport Loading, { LoadingContentWrapperProps } from './loading'\nimport {\n BaseTableCSSVariables,\n Classes,\n LOCK_SHADOW_PADDING,\n StyledArtTableWrapper\n} from './styles'\nimport GlobalStyleComponent from './globalStyleComponent'\nimport {\n addResizeObserver,\n getScrollbarSize,\n OVERSCAN_SIZE,\n shallowEqual,\n STYLED_REF_PROP,\n sum,\n syncScrollLeft,\n throttledWindowResize$,\n getTableScrollFooterDOM,\n getTableScrollHeaderDOM,\n cssPolifill,\n swapRTLDirection\n} from './utils'\n\nimport { console, browserType, isStickyUIDegrade } from '../utils'\nimport getTableRenderTemplate from './renderTemplates'\nimport { TopBlank, BottomBlank, BlankRef } from './BlankComponent'\n\nlet propsDotEmptyContentDeprecatedWarned = false\nfunction warnPropsDotEmptyContentIsDeprecated () {\n if (!propsDotEmptyContentDeprecatedWarned) {\n propsDotEmptyContentDeprecatedWarned = true\n console.warn(\n 'BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现'\n )\n }\n}\nexport type PrimaryKey = string | ((record: any) => string)\n\nexport interface BaseTableProps {\n /** 主键 */\n primaryKey?: PrimaryKey\n /** 表格展示的数据源 */\n dataSource: any[]\n /** 表格页脚数据源 */\n footerDataSource?: any[]\n /** 表格的列配置 */\n columns: ArtColumn[]\n\n /** 是否开启虚拟滚动 */\n useVirtual?: VirtualEnum | { horizontal?: VirtualEnum; vertical?: VirtualEnum; header?: VirtualEnum }\n /** 虚拟滚动开启情况下,表格中每一行的预估高度 */\n estimatedRowHeight?: number\n /** 性能差浏览器和处理器,性能差则启动快速滚动优化,默认为 false */\n isLowPerformance?: boolean\n\n /** @deprecated 表格头部是否置顶,默认为 true。请使用 isStickyHeader 代替 */\n isStickyHead?: boolean\n /** 表格头部是否置顶,默认为 true */\n isStickyHeader?: boolean\n /** 表格置顶后,距离顶部的距离 */\n stickyTop?: number\n /** 表格页脚是否置底,默认为 true */\n isStickyFooter?: boolean\n /** 表格页脚置底后,距离底部的距离 */\n stickyBottom?: number\n /** 自定义类名 */\n className?: string\n /** 自定义内联样式 */\n style?: CSSProperties & BaseTableCSSVariables\n /** 表格是否具有头部 */\n hasHeader?: boolean\n /** 表格是否具有横向的粘性滚动条 */\n hasStickyScroll?: boolean\n /** 横向粘性滚动条高度 */\n stickyScrollHeight?: 'auto' | number\n /** 表格滚动条的宽度 */\n scrollbarWidth?: number\n /** 使用来自外层 div 的边框代替单元格的外边框 */\n useOuterBorder?: boolean\n /** 显示表格单元格边框线 */\n bordered?: boolean\n\n /** 表格是否在加载中 */\n isLoading?: boolean\n /** 数据为空时,单元格的高度 */\n emptyCellHeight?: number\n /** @deprecated 数据为空时,表格的展示内容。请使用 components.EmptyContent 代替 */\n emptyContent?: ReactNode\n\n /** 覆盖表格内部用到的组件 */\n components?: {\n /** 表格加载时,表格内容的父组件 */\n LoadingContentWrapper?: React.ComponentType<LoadingContentWrapperProps>\n /** 表格加载时的加载图标 */\n LoadingIcon?: React.ComponentType\n /** 数据为空时,表格的展示内容。 */\n EmptyContent?: React.ComponentType\n }\n\n /** 列的默认宽度 */\n defaultColumnWidth?: number\n\n /**\n * @deprecated\n * flowRoot 在表格 v2.4 后不再需要提供,请移除该属性\n * */\n flowRoot?: never\n\n /** 虚拟滚动调试标签,用于表格内部调试使用 */\n virtualDebugLabel?: string\n\n getRowProps?(record: any, rowIndex: number): React.HTMLAttributes<HTMLTableRowElement>\n\n getTableProps?():React.HTMLAttributes<HTMLTableElement>\n\n setTableWidth?(tableWidth: number): void\n\n setTableDomHelper?(domHelper: TableDOMHelper):void\n setRowHeightManager?(rowHeightManager):void\n // css变量兼容\n cssVariables?: { [key:string] : any}\n enableCSSVariables ?: boolean\n\n scrollLoad?:{\n /** 表格滚动加载回调 */\n callback(startIndex:number):void\n /** 每个数据块的数据条数 */\n blockSize?:number\n }\n // 表格流布局方向\n direction?:string,\n\n // 表格的前缀类名\n prefixCls?: string\n}\n\nexport interface BaseTableState {\n /** 是否要展示自定义滚动条(stickyScroll) */\n hasScroll: boolean\n\n /** 是否存在纵向滚动条 */\n hasScrollY: boolean\n\n /** 是否需要渲染 lock sections\n * 当表格较宽时,所有的列都能被完整的渲染,此时不需要渲染 lock sections\n * 只有当「整个表格的宽度」小于「每一列渲染宽度之和」时,lock sections 才需要被渲染 */\n needRenderLock: boolean\n\n /** 纵向虚拟滚动偏移量 */\n offsetY: number\n /** 纵向虚拟滚动 最大渲染尺寸 */\n maxRenderHeight: number\n /** 横向虚拟滚动偏移量 */\n offsetX: number\n /** 横向虚拟滚动 最大渲染尺寸 */\n maxRenderWidth: number\n\n /** 快速滚动时保留的上一次渲染数据 */\n previousRenderData?: {\n offsetY: number\n maxRenderHeight: number\n maxRenderWidth: number\n verticalRenderRange: VerticalRenderRange\n }\n}\n\nexport class BaseTable extends React.Component<BaseTableProps, BaseTableState> {\n static defaultProps = {\n hasHeader: true,\n isStickyHeader: true,\n stickyTop: 0,\n\n footerDataSource: [] as any[],\n isStickyFooter: true,\n stickyBottom: 0,\n hasStickyScroll: true,\n stickyScrollHeight: 'auto',\n\n useVirtual: 'auto',\n estimatedRowHeight: 48,\n isLowPerformance: false,\n\n isLoading: false,\n components: {},\n getTableProps: noop,\n getRowProps: noop,\n dataSource: [] as any[],\n\n useOuterBorder: true\n\n }\n\n private rowHeightManager = makeRowHeightManager(this.props.dataSource.length, this.props.estimatedRowHeight)\n\n private artTableWrapperRef = React.createRef<HTMLDivElement>()\n\n private domHelper: TableDOMHelper\n\n private rootSubscription: Subscription\n\n private resizeSubject: Subject<unknown>\n\n // 最近一次渲染的计算结果缓存\n private lastInfo: RenderInfo\n\n private props$: BehaviorSubject<BaseTableProps>\n\n private hasScrollY = false\n\n private resizeObserver?: ResizeObserver\n\n private offsetY = 0\n\n // 快速滚动管理器\n private fastScrollManager: FastScrollManager\n\n // Blank组件的引用,用于快速滚动时直接更新\n private topBlankRef = React.createRef<BlankRef>()\n\n private bottomBlankRef = React.createRef<BlankRef>()\n\n /** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */\n getDoms () {\n console.warn('[kd-table] BaseTable.getDoms() 已经过时')\n return this.domHelper\n }\n\n constructor (props: Readonly<BaseTableProps>) {\n super(props)\n\n this.state = {\n hasScroll: true,\n hasScrollY: true,\n needRenderLock: true,\n offsetY: 0,\n offsetX: 0,\n // 因为 ResizeObserver 在一开始总是会调用一次所提供的回调函数\n // 故这里为 maxRenderHeight/maxRenderWidth 设置一个默认值即可(因为这两个默认值很快就会被覆盖)\n // https://stackoverflow.com/questions/60026223/does-resizeobserver-invokes-initially-on-page-load\n maxRenderHeight: 600,\n maxRenderWidth: 800\n }\n\n // 初始化快速滚动管理器\n const fastScrollCallbacks: FastScrollCallbacks = {\n onFastScrollStart: (renderData) => {\n this.setState({\n previousRenderData: renderData\n })\n },\n onFastScrollEnd: (scrollData: ScrollEventData) => {\n this.setState({\n previousRenderData: undefined,\n offsetY: scrollData.offsetY,\n maxRenderHeight: scrollData.maxRenderHeight,\n maxRenderWidth: scrollData.maxRenderWidth\n })\n },\n getCurrentRenderRange: (offsetY, maxRenderHeight, dataLength) => {\n return this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, dataLength)\n }\n }\n\n this.fastScrollManager = new FastScrollManager(\n fastScrollCallbacks\n )\n }\n\n /** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */\n private updateStickyScroll () {\n const { stickyScroll, artTable, stickyScrollItem } = this.domHelper\n const _lastHasScrollY = this.hasScrollY\n if (!artTable) {\n return\n }\n const tableBodyHtmlTable = this.domHelper.getTableBodyHtmlTable()\n const innerTableWidth = tableBodyHtmlTable.offsetWidth\n const artTableWidth = artTable.offsetWidth\n const artTableHeight = artTable.offsetHeight\n // 表格隐藏后,不需要对表格的滚动条做额外的逻辑处理\n if (artTableWidth === 0 && artTableHeight === 0) return\n const stickyScrollHeightProp = this.props.stickyScrollHeight\n const stickyScrollHeight = stickyScrollHeightProp === 'auto' ? this.getScrollBarWidth() : stickyScrollHeightProp\n\n // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`\n // 设置滚动条高度\n stickyScroll.style.height = `${stickyScrollHeight}px`\n\n if (artTableWidth >= innerTableWidth) {\n if (this.state.hasScroll) {\n this.setState({ hasScroll: false })\n }\n } else {\n if (!this.state.hasScroll && stickyScrollHeight > 5) {\n // 考虑下mac下面隐藏滚动条的情况\n this.setState({ hasScroll: true })\n }\n }\n if (this.domHelper.virtual.offsetHeight > this.domHelper.tableBody.offsetHeight) {\n // if (!this.state.hasScroll) {\n // this.setState({\n // hasScrollY: true\n // })\n // }\n this.hasScrollY = true\n } else {\n // stickyScroll.style.paddingRight = `${stickyScrollHeight}px`\n // this.setState({\n // hasScrollY: false\n // })\n this.hasScrollY = false\n }\n if (_lastHasScrollY !== this.hasScrollY) {\n this.props.setTableWidth?.(this.domHelper.tableBody.clientWidth)\n }\n\n const { leftLockTotalWidth, rightLockTotalWidth } = this.lastInfo\n const lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth\n\n const stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0\n\n // 设置子节点宽度\n stickyScrollItem.style.width = `${innerTableWidth - lockTotalWidth + stickyRightOffset}px`\n }\n\n private renderTableHeader (info: RenderInfo) {\n const { stickyTop, hasHeader } = this.props\n const renderHeader = getTableRenderTemplate('header')\n const stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0\n if (typeof renderHeader === 'function') {\n return renderHeader(info, this.props, { stickyRightOffset })\n }\n return (\n <div\n className={cx(Classes.tableHeader, 'no-scrollbar')}\n style={{\n top: stickyTop === 0 ? undefined : stickyTop,\n display: hasHeader ? undefined : 'none'\n }}\n >\n <TableHeader info={info} stickyRightOffset={stickyRightOffset}/>\n <div className={Classes.verticalScrollPlaceholder} style={this.hasScrollY ? { width: this.getScrollBarWidth() } : undefined}></div>\n </div>\n )\n }\n\n private updateOffsetX (nextOffsetX: number) {\n if (this.lastInfo.useVirtual.horizontal) {\n if (Math.abs(nextOffsetX - this.state.offsetX) >= OVERSCAN_SIZE / 2) {\n this.setState({ offsetX: nextOffsetX })\n }\n }\n }\n\n private syncHorizontalScrollFromTableBody () {\n this.syncHorizontalScroll(this.domHelper.virtual.scrollLeft)\n }\n\n /** 同步横向滚动偏移量 */\n private syncHorizontalScroll (x: number) {\n const _x = Math.abs(x)\n this.updateOffsetX(_x)\n\n const { flat } = this.lastInfo\n const shouldShowLeftByScroll = _x > 0\n const shouldShowRighByScroll = _x < this.domHelper.virtual.scrollWidth - this.domHelper.virtual.clientWidth\n const leftLockShadow = this.domHelper.getLeftLockShadow()\n if (leftLockShadow) {\n const shouldShowLeftLockShadow = flat.left.length > 0 && this.state.needRenderLock && shouldShowLeftByScroll\n if (shouldShowLeftLockShadow) {\n leftLockShadow.classList.add('show-shadow')\n } else {\n leftLockShadow.classList.remove('show-shadow')\n }\n }\n\n const rightLockShadow = this.domHelper.getRightLockShadow()\n if (rightLockShadow) {\n const shouldShowRightLockShadow =\n flat.right.length > 0 && this.state.needRenderLock && shouldShowRighByScroll\n if (shouldShowRightLockShadow) {\n rightLockShadow.classList.add('show-shadow')\n } else {\n rightLockShadow.classList.remove('show-shadow')\n }\n }\n }\n\n getVerticalRenderRange (useVirtual: ResolvedUseVirtual): VerticalRenderRange {\n const { dataSource, isLowPerformance } = this.props\n const { offsetY, maxRenderHeight, previousRenderData } = this.state\n const rowCount = dataSource.length\n\n // 只有在启用快速滚动时才使用 FastScrollManager 的判断\n if (isLowPerformance && this.fastScrollManager.getIsFastScrolling() && previousRenderData?.verticalRenderRange) {\n return previousRenderData.verticalRenderRange\n }\n\n if (useVirtual.vertical) {\n return this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount)\n } else {\n return getFullRenderRange(rowCount)\n }\n }\n\n private handleRowMouseEnter = (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>) => {\n const nodeList = this.domHelper.getRowNodeListByEvent(e)\n nodeList && nodeList.forEach(node => {\n node.classList.add('row-hover')\n })\n }\n\n private handleRowMouseLeave = (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>) => {\n const nodeList = this.domHelper.getRowNodeListByEvent(e)\n nodeList && nodeList.forEach(node => {\n node.classList.remove('row-hover')\n })\n }\n\n private renderTableBody = (info: RenderInfo) => {\n // console.log('render body')\n const { dataSource, getRowProps, primaryKey, isLoading, emptyCellHeight } = this.props\n const tableBodyClassName = cx(Classes.tableBody, Classes.horizontalScrollContainer)\n\n // 低版本Edge浏览器下也会出现双滚动条,这里设置overflow: 'hidden',先去掉edge的方向键控制滚动条的功能\n const virtualStyle = browserType.isIE || browserType.isEdge ? { overflow: 'hidden' } : {}\n\n if (dataSource.length === 0) {\n const { components, emptyContent } = this.props\n let EmptyContent = components.EmptyContent\n if (EmptyContent == null && emptyContent != null) {\n warnPropsDotEmptyContentIsDeprecated()\n EmptyContent = ((() => emptyContent) as unknown) as React.ComponentType\n }\n\n return (\n <div className={cx(tableBodyClassName, 'empty')}>\n <div className={Classes.virtual} tabIndex={-1} style={virtualStyle}>\n <EmptyHtmlTable\n descriptors={info.visible}\n isLoading={isLoading}\n EmptyContent={EmptyContent}\n emptyCellHeight={emptyCellHeight}\n />\n </div>\n </div>\n )\n }\n\n const { topIndex, bottomBlank, topBlank, bottomIndex } = info.verticalRenderRange\n\n const renderBody = getTableRenderTemplate('body')\n if (typeof renderBody === 'function') {\n return renderBody(info, this.props, { rowProps: { onMouseEnter: this.handleRowMouseEnter, onMouseLeave: this.handleRowMouseLeave } })\n }\n\n return (\n <div className={tableBodyClassName}>\n <div className={Classes.virtual} tabIndex={-1} style={virtualStyle}>\n <TopBlank\n ref={this.topBlankRef}\n height={topBlank} // 直接使用\n />\n <HtmlTable\n tbodyHtmlTag=\"tbody\"\n getRowProps={getRowProps}\n primaryKey={primaryKey}\n data={dataSource.slice(topIndex, bottomIndex)} // 直接使用\n horizontalRenderInfo={info}\n verticalRenderInfo={{\n first: 0,\n offset: topIndex, // 直接使用\n limit: bottomIndex, // 直接使用\n last: dataSource.length - 1\n }}\n />\n <BottomBlank\n ref={this.bottomBlankRef}\n height={bottomBlank} // 直接使用\n />\n </div>\n </div>\n )\n }\n\n private renderTableFooter (info: RenderInfo) {\n // console.log('render footer')\n const { footerDataSource = [], getRowProps, primaryKey, stickyBottom } = this.props\n const stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0\n\n const renderFooter = getTableRenderTemplate('footer')\n if (typeof renderFooter === 'function') {\n return renderFooter(info, this.props, { rowProps: { onMouseEnter: this.handleRowMouseEnter, onMouseLeave: this.handleRowMouseLeave }, stickyRightOffset })\n }\n\n return (\n <div\n className={cx(Classes.tableFooter, Classes.horizontalScrollContainer)}\n style={{ bottom: stickyBottom === 0 ? undefined : stickyBottom }}\n >\n <HtmlTable\n tbodyHtmlTag=\"tfoot\"\n data={footerDataSource}\n horizontalRenderInfo={info}\n getRowProps={getRowProps}\n stickyRightOffset={stickyRightOffset}\n primaryKey={primaryKey}\n verticalRenderInfo={{\n offset: 0,\n first: 0,\n last: footerDataSource.length - 1,\n limit: Infinity\n }}\n />\n {\n footerDataSource.length > 0\n ? <div\n className={Classes.verticalScrollPlaceholder}\n style={this.hasScrollY ? { width: this.getScrollBarWidth(), visibility: 'initial' } : undefined}>\n </div>\n : null\n }\n </div>\n )\n }\n\n private renderLockShadows (info: RenderInfo) {\n const stickyRightOffset = this.hasScrollY ? this.getScrollBarWidth() : 0\n // console.log('render LockShadows')\n const leftLockShadowWidth = info.leftLockTotalWidth + LOCK_SHADOW_PADDING\n const rightLockShadownWidth = info.rightLockTotalWidth + LOCK_SHADOW_PADDING + stickyRightOffset\n return (\n <>\n <div\n className={Classes.lockShadowMask}\n style={{ [swapRTLDirection(info.direction, 'left')]: 0, width: leftLockShadowWidth }}\n >\n <div className={cx(Classes.lockShadow, Classes.leftLockShadow)} />\n </div>\n <div\n className={Classes.lockShadowMask}\n style={{ [swapRTLDirection(info.direction, 'right')]: 0, width: rightLockShadownWidth }}\n >\n <div className={cx(Classes.lockShadow, Classes.rightLockShadow)} />\n </div>\n </>\n )\n }\n\n private renderStickyScroll (info: RenderInfo) {\n // console.log('render stickyscroll')\n const { hasStickyScroll, stickyBottom } = this.props\n const { hasScroll } = this.state\n\n const isScroll = hasStickyScroll && hasScroll\n\n const stickyScrollContainerStyle = this.getStickyScrollContainerStyle()\n return (\n <div className={cx(Classes.horizontalScrollContainer, Classes.horizontalStickyScrollContainer)} style= {stickyScrollContainerStyle}>\n <div className={cx(Classes.horizontalScrollLeftSpacer)} style={{ width: info.leftLockTotalWidth, display: isScroll ? 'block' : 'none' }} />\n <div\n className={cx(Classes.stickyScroll)}\n style={{\n display: isScroll ? 'block' : 'none',\n bottom: stickyBottom\n }}\n >\n <div className={Classes.stickyScrollItem}/>\n </div>\n <div className={cx(Classes.horizontalScrollRightSpacer)} style={{ width: info.rightLockTotalWidth, display: isScroll ? 'block' : 'none' }}/>\n </div>\n )\n }\n\n private getScrollBarWidth () {\n return this.props.scrollbarWidth || getScrollbarSize().width\n }\n\n private getStickyScrollContainerStyle () {\n const { hasStickyScroll, stickyScrollHeight } = this.props\n const { hasScroll } = this.state\n\n const isScroll = hasStickyScroll && hasScroll\n const height = stickyScrollHeight === 'auto' ? this.getScrollBarWidth() : stickyScrollHeight\n\n const stickyHeight = isScroll ? height : 0\n return {\n height: stickyHeight,\n maxHeight: stickyHeight,\n minHeight: stickyHeight\n }\n }\n\n render () {\n // console.log('render table')\n const info = calculateRenderInfo(this)\n this.lastInfo = info\n\n const {\n dataSource,\n className,\n style,\n hasHeader,\n useOuterBorder,\n isStickyHead,\n isStickyHeader,\n isStickyFooter,\n isLoading,\n getTableProps,\n footerDataSource,\n components,\n bordered,\n direction,\n prefixCls: _prefixCls\n } = this.props\n const prefixCls = _prefixCls === 'kd' || !_prefixCls ? undefined : _prefixCls // 不生效上层传的prefix为kd,只有传除'kd'外的前缀才生效,kui默认传kd,避免对之前的样式层级有影响\n info.direction = direction\n const artTableWrapperClassName = cx(\n Classes.artTableWrapper,\n {\n 'use-outer-border': useOuterBorder,\n empty: dataSource.length === 0,\n lock: info.hasLockColumn,\n 'has-header': hasHeader,\n 'sticky-header': isStickyHeader ?? isStickyHead,\n 'has-footer': footerDataSource.length > 0,\n 'sticky-footer': isStickyFooter,\n [Classes.artTableBordered]: bordered,\n 'ie-polyfill-wrapper': browserType.isIE,\n 'sticky-polyfill-wrapper': isStickyUIDegrade(),\n [`${prefixCls}-table`]: prefixCls\n },\n className\n )\n\n const artTableWrapperProps = {\n className: artTableWrapperClassName,\n style: { ...style, direction },\n [STYLED_REF_PROP]: this.artTableWrapperRef\n }\n\n const tableProps = getTableProps() || {}\n return (\n <>\n <GlobalStyleComponent direction={info.direction}/>\n <StyledArtTableWrapper {...artTableWrapperProps} direction={info.direction} prefixCls={this.props.prefixCls}>\n <Loading\n visible={isLoading}\n LoadingIcon={components.LoadingIcon}\n LoadingContentWrapper={components.LoadingContentWrapper}\n >\n <div {...tableProps} className={cx(Classes.artTable, tableProps.className)}>\n {this.renderTableHeader(info)}\n {this.renderTableBody(info)}\n {this.renderTableFooter(info)}\n {this.renderLockShadows(info)}\n </div>\n {this.renderStickyScroll(info)}\n </Loading>\n </StyledArtTableWrapper>\n </>\n )\n }\n\n componentDidMount () {\n this.rootSubscription = new Subscription()\n this.resizeSubject = new Subject()\n this.updateDOMHelper()\n\n this.props$ = new BehaviorSubject(this.props)\n this.initSubscriptions()\n this.didMountOrUpdate()\n // console.log('did mount end')\n const { cssVariables, enableCSSVariables, bordered } = this.props\n cssPolifill({ variables: cssVariables || {}, enableCSSVariables, bordered })\n this.props.setTableWidth?.(this.domHelper.tableBody.clientWidth)\n this.props.setTableDomHelper?.(this.domHelper)\n this.props.setRowHeightManager?.(this.rowHeightManager)\n }\n\n componentDidUpdate (prevProps: Readonly<BaseTableProps>, prevState: Readonly<BaseTableState>) {\n // console.log('did update start')\n const { cssVariables, enableCSSVariables, bordered } = this.props\n if (!shallowEqual(prevProps?.cssVariables, this.props?.cssVariables)) {\n cssPolifill({ variables: cssVariables || {}, enableCSSVariables, bordered })\n }\n this.updateDOMHelper()\n this.props$.next(this.props)\n this.didMountOrUpdate(prevProps, prevState)\n // console.log('did update end')\n }\n\n private didMountOrUpdate (prevProps?: Readonly<BaseTableProps>, prevState?: Readonly<BaseTableState>) {\n window.requestAnimationFrame(() => {\n this.syncHorizontalScrollFromTableBody()\n this.updateStickyScroll()\n this.adjustNeedRenderLock()\n this.updateRowHeightManager()\n })\n this.updateScrollLeftWhenLayoutChanged(prevProps, prevState)\n }\n\n private updateScrollLeftWhenLayoutChanged (\n prevProps?: Readonly<BaseTableProps>,\n prevState?: Readonly<BaseTableState>\n ) {\n if (prevState != null) {\n if (!prevState.hasScroll && this.state.hasScroll) {\n this.domHelper.stickyScroll.scrollLeft = 0\n }\n }\n\n if (prevProps != null) {\n const prevHasFooter = prevProps.footerDataSource.length > 0\n const currentHasFooter = this.props.footerDataSource.length > 0\n if (!prevHasFooter && currentHasFooter) {\n getTableScrollFooterDOM(this.domHelper).scrollLeft = this.domHelper.virtual.scrollLeft\n }\n }\n }\n\n private initSubscriptions () {\n const { virtual, stickyScroll } = this.domHelper\n this.rootSubscription.add(\n throttledWindowResize$.subscribe(() => {\n this.updateStickyScroll()\n this.adjustNeedRenderLock()\n })\n )\n\n this.resizeSubject.pipe(op.debounceTime(100)).subscribe(() => {\n this.props.setTableWidth?.(this.domHelper.tableBody.clientWidth)\n })\n\n const handleTableWrapperResize = () => {\n this.resizeSubject.next()\n }\n\n this.resizeObserver = addResizeObserver(this.domHelper.artTableWrapper, handleTableWrapperResize)\n\n // 滚动同步\n this.rootSubscription.add(\n syncScrollLeft([getTableScrollHeaderDOM(this.domHelper), virtual, getTableScrollFooterDOM(this.domHelper), stickyScroll], (scrollLeft) => {\n this.syncHorizontalScroll(scrollLeft)\n })\n )\n\n const richVisibleRects$ = getRichVisibleRectsStream(\n this.domHelper.virtual,\n this.props$.pipe(op.skip(1), op.mapTo('structure-may-change')),\n this.props.virtualDebugLabel\n ).pipe(op.shareReplay())\n\n // 每当可见部分发生变化的时候,调整 loading icon 的未知(如果 loading icon 存在的话)\n this.rootSubscription.add(\n combineLatest([\n richVisibleRects$.pipe(\n op.map((p) => p.clipRect),\n op.distinctUntilChanged(shallowEqual)\n ),\n this.props$.pipe(\n op.startWith(null),\n op.pairwise(),\n op.filter(([prevProps, props]) => prevProps == null || (!prevProps.isLoading && props.isLoading))\n )\n ]).subscribe(([clipRect]) => {\n const loadingIndicator = this.domHelper.getLoadingIndicator()\n if (!loadingIndicator) {\n return\n }\n const height = clipRect.bottom - clipRect.top\n // fixme 这里的定位在有些特殊情况下可能会出错 see #132\n loadingIndicator.style.top = `${height / 2}px`\n loadingIndicator.style.marginTop = `${height / 2}px`\n })\n )\n\n // 每当可见部分发生变化的时候,如果开启了虚拟滚动,则重新触发 render\n this.rootSubscription.add(\n richVisibleRects$\n .pipe(\n op.filter(() => {\n const { horizontal, vertical } = this.lastInfo.useVirtual\n return horizontal || vertical\n }),\n op.map(({ clipRect, offsetY }) => ({\n maxRenderHeight: clipRect.bottom - clipRect.top,\n maxRenderWidth: clipRect.right - clipRect.left,\n offsetY\n })),\n op.distinctUntilChanged((x, y) => {\n // 如果表格区域被隐藏, 不需要触发组件重渲染\n if (y.maxRenderHeight === 0 && y.maxRenderWidth === 0) {\n return true\n }\n // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染\n return (\n Math.abs(x.maxRenderWidth - y.maxRenderWidth) < OVERSCAN_SIZE / 2 &&\n Math.abs(x.maxRenderHeight - y.maxRenderHeight) < OVERSCAN_SIZE / 2 &&\n Math.abs(x.offsetY - y.offsetY) < OVERSCAN_SIZE / 2\n )\n }),\n // 快速滚动检测和处理\n op.tap((sizeAndOffset) => {\n // 只有在启用快速滚动时才使用 FastScrollManager 处理滚动事件\n if (this.props.isLowPerformance) {\n this.fastScrollManager.handleScrollEvent(\n sizeAndOffset,\n {\n offsetY: this.state.offsetY,\n maxRenderHeight: this.state.maxRenderHeight,\n maxRenderWidth: this.state.maxRenderWidth\n },\n this.props.dataSource.length,\n this.domHelper.virtual.scrollHeight\n )\n }\n })\n )\n .subscribe((sizeAndOffset) => {\n // 正常滚动时也需要实时更新 blank 高度,确保缓慢滚动时的视觉连续性\n const currentRange = this.rowHeightManager.getRenderRange(\n sizeAndOffset.offsetY,\n sizeAndOffset.maxRenderHeight,\n this.props.dataSource.length\n )\n\n // 直接更新 DOM,避免等待下次渲染\n this.topBlankRef.current?.updateHeight(currentRange.topBlank)\n this.bottomBlankRef.current?.updateHeight(currentRange.bottomBlank)\n\n // 只有在启用快速滚动时才检查快速滚动状态\n if (this.props.isLowPerformance && this.fastScrollManager.getIsFastScrolling()) {\n return\n }\n\n this.setState(sizeAndOffset as any)\n })\n )\n\n this.rootSubscription.add(\n richVisibleRects$.pipe(\n op.map(({ clipRect, offsetY }) => ({\n maxRenderHeight: clipRect.bottom - clipRect.top,\n maxRenderWidth: clipRect.right - clipRect.left,\n offsetY\n })),\n op.distinctUntilChanged((x, y) => {\n return (\n x.offsetY - y.offsetY === 0\n )\n }),\n // 计算得到当前行索引对应的数据块,blocks改成数组的形式,兼容快速拖动可视区域出现两个数据块的情况\n op.map((sizeAndOffset) => {\n const { offsetY, maxRenderHeight } = sizeAndOffset\n const scrollDirection = offsetY - this.offsetY >= 0 ? 'down' : 'up'\n this.offsetY = offsetY\n\n const rowCount = this.props.dataSource.length\n const vertical = this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount)\n const { topIndex, bottomIndex } = vertical\n const blockSize = this.props.scrollLoad?.blockSize || 200\n\n const topBlockStartIndex = Math.floor(Math.max(topIndex - 1, 0) / blockSize) * blockSize\n const bottomBlockStartIndex = Math.floor((bottomIndex + 1) / blockSize) * blockSize\n return scrollDirection === 'down' ? [topBlockStartIndex, bottomBlockStartIndex] : [bottomBlockStartIndex, topBlockStartIndex]\n }),\n op.distinctUntilChanged((x, y) => {\n return x[0] === y[0] && x[1] === y[1]\n }),\n op.switchMap(startIndexs => {\n const event$ = from(startIndexs)\n return event$.pipe(\n op.map(startIndex => startIndex)\n )\n }),\n // 过滤掉重复掉值\n op.distinctUntilChanged()\n )\n .subscribe((startIndex) => {\n this.props.scrollLoad?.callback(startIndex)\n })\n )\n }\n\n componentWillUnmount () {\n this.resizeObserver?.disconnect()\n this.rootSubscription.unsubscribe()\n this.resizeSubject.unsubscribe()\n // 只有在启用快速滚动时才清理快速滚动管理器\n if (this.props.isLowPerformance) {\n this.fastScrollManager.cleanup()\n }\n }\n\n /** 更新 DOM 节点的引用,方便其他方法直接操作 DOM */\n private updateDOMHelper () {\n this.domHelper = new TableDOMHelper(this.artTableWrapperRef.current)\n }\n\n private updateRowHeightManager () {\n const virtualTop = this.domHelper.getVirtualTop()\n const virtualTopHeight = virtualTop?.clientHeight ?? 0\n\n let maxTrRowIndex = -1\n let maxTrBottom = -1\n let zeroHeightRowCount = 0\n\n for (const tr of this.domHelper.getTableRows()) {\n const rowIndex = Number(tr.dataset.rowindex)\n if (isNaN(rowIndex)) {\n continue\n }\n maxTrRowIndex = Math.max(maxTrRowIndex, rowIndex)\n const offset = tr.offsetTop + virtualTopHeight\n const size = tr.offsetHeight\n if (size === 0) {\n zeroHeightRowCount += 1\n } else {\n // 渲染出来的行高度为0,说明是display=none情况,行高不存在该种异常情况,不保存当前的高度\n this.rowHeightManager.updateRow(rowIndex, offset, size)\n }\n maxTrBottom = Math.max(maxTrBottom, offset + size)\n }\n\n // 当 estimatedRowHeight 过大时,可能出现「渲染行数过少,无法覆盖可视范围」的情况\n // 出现这种情况时,我们判断「下一次渲染能够渲染更多行」是否满足,满足的话就直接调用 forceUpdate\n // zeroHeightRowCount === 0 用于确保当前没有 display=none 的情况\n if (maxTrRowIndex !== -1 && zeroHeightRowCount === 0) {\n if (maxTrBottom < this.state.offsetY + this.state.maxRenderHeight) {\n const vertical = this.getVerticalRenderRange(this.lastInfo.useVirtual)\n if (vertical.bottomIndex - 1 > maxTrRowIndex) {\n this.forceUpdate()\n }\n }\n }\n }\n\n /** 计算表格所有列的渲染宽度之和,判断表格是否需要渲染锁列 */\n private adjustNeedRenderLock () {\n const { needRenderLock } = this.state\n const { flat, hasLockColumn } = this.lastInfo\n\n if (hasLockColumn) {\n const sumOfColWidth = sum(flat.full.map((col) => col.width))\n const nextNeedRenderLock = sumOfColWidth > this.domHelper.artTable.clientWidth\n if (needRenderLock !== nextNeedRenderLock) {\n this.setState({ needRenderLock: nextNeedRenderLock })\n }\n } else {\n if (needRenderLock) {\n this.setState({ needRenderLock: false })\n }\n }\n }\n}\n","export default function groupBy<T, K extends string>(list: T[], iteratee: (t: T) => K) {\n const groups: { [key in K]: T[] } = {} as any\n for (const item of list) {\n const key = iteratee(item)\n if (groups[key] == null) {\n groups[key] = []\n }\n groups[key].push(item)\n }\n return groups\n}\n","import { ArtColumn } from '../interfaces'\n// 是否是叶子节点\nexport default function isGroupColumn (columns: ArtColumn[]) {\n return columns.findIndex((col) => col.children && col.children.length > 0) > -1\n}\n","import { Transform } from '../interfaces'\n\n/**\n * 以 input 作为输入,按序使用 transform.\n *\n * `applyTransform(input, f1, f2, f3)` 等价于 `f3(f2(f1(input)))` */\nexport default function applyTransforms<T>(input: T, ...transforms: Transform<T>[]) {\n return transforms.reduce((v, fn) => fn(v), input)\n}\n","export function flatMap<T, U>(array: T[], callback: (value: T, index: number, array: T[]) => U[]): U[] {\n const result: U[] = []\n\n array.forEach((value, index) => {\n result.push(...callback(value, index, array))\n })\n\n return result\n}\n\nexport function fromEntries<T = any>(entries: Iterable<readonly [PropertyKey, T]>) {\n const result: { [k in PropertyKey]: T } = {}\n for (const [key, value] of entries) {\n result[key as any] = value\n }\n return result\n}\n\nexport const arrayUtils = {\n diff(arr1: string[], arr2: Iterable<string>) {\n const set = new Set(arr2)\n return arr1.filter((x) => !set.has(x))\n },\n merge(arr1: string[], arr2: string[]) {\n const set = new Set(arr1)\n return arr1.concat(arr2.filter((x) => !set.has(x)))\n },\n} as const\n\nexport function always<T>(value: T) {\n return (...args: any[]) => value\n}\n\ninterface treeItem {\n children?: any[]\n code?: string\n}\n\nexport function findByTree <T extends treeItem, U> (array: T[], condition:(item: T, index: number) => boolean): T {\n let index = 0\n const len = array.length\n const stack = []\n while (index < len || stack.length) {\n const item = array[index++] || stack.pop()\n if (condition(item, index)) {\n return item\n }\n if (item.children) {\n stack.splice(0, 0, ...item.children)\n }\n }\n return null\n}\n","import { flatMap } from './others'\n\ntype WithChildren<T> = T & { children?: WithChildren<T>[] }\n\n/**\n * 根据 idProp 与 parentIdProp 从对象数组中构建对应的树\n * 当 A[parentIdProp] === B[idProp] 时,对象A会被移动到对象B的children。\n * 当一个对象的 parentIdProp 不与其他对象的 idProp 字段相等时,该对象被作为树的顶层节点\n * @example\n * const array = [\n * { id: 'node-1', parent: 'root' },\n * { id: 'node-2', parent: 'root' },\n * { id: 'node-3', parent: 'node-2' },\n * { id: 'node-4', parent: 'node-2' },\n * { id: 'node-5', parent: 'node-4' },\n * ]\n * const tree = buildTree('id', 'parent', array)\n * expect(tree).toEqual([\n * { id: 'node-1', parent: 'root' },\n * {\n * id: 'node-2',\n * parent: 'root',\n * children: [\n * { id: 'node-3', parent: 'node-2' },\n * {\n * id: 'node-4',\n * parent: 'node-2',\n * children: [{ id: 'node-5', parent: 'node-4' }],\n * },\n * ],\n * },\n * ])\n */\nexport default function buildTree<ID extends string, PID extends string, T extends { [key in ID | PID]: string }>(\n idProp: ID,\n parentIdProp: PID,\n items: T[],\n): WithChildren<T>[] {\n type Wrapper = { id: string; children: Wrapper[]; item: T; parent: Wrapper }\n\n const wrapperMap = new Map<string, Wrapper>()\n const ensure = (id: string) => {\n if (wrapperMap.has(id)) {\n return wrapperMap.get(id)\n }\n const wrapper: Wrapper = { id, parent: null, item: null, children: [] }\n wrapperMap.set(id, wrapper)\n return wrapper\n }\n for (const item of items) {\n const parentWrapper = ensure(item[parentIdProp])\n const itemWrapper = ensure(item[idProp])\n itemWrapper.parent = parentWrapper\n parentWrapper.children.push(itemWrapper)\n itemWrapper.item = item\n }\n const topLevelWrappers = flatMap(\n Array.from(wrapperMap.values()).filter((wrapper) => wrapper.parent == null),\n (wrapper) => wrapper.children,\n )\n\n return unwrapRecursively(topLevelWrappers)\n\n // todo 可能存在无线递归的情况\n function unwrapRecursively(wrapperArray: Wrapper[]) {\n const result: WithChildren<T>[] = []\n for (const wrapper of wrapperArray) {\n if (wrapper.children.length === 0) {\n result.push(wrapper.item)\n } else {\n result.push({\n ...wrapper.item,\n children: unwrapRecursively(wrapper.children),\n })\n }\n }\n return result\n }\n}\n","import type XLSX_NS from 'xlsx'\nimport SpanManager from '../base/helpers/SpanManager'\nimport { ArtColumn, SpanRect } from '../interfaces'\nimport { internals } from '../internals'\nimport collectNodes from './collectNodes'\nimport getTreeDepth from './getTreeDepth'\nimport isLeafNode from './isLeafNode'\n\nfunction safeGetSpanRect(column: ArtColumn, record: any, rowIndex: number, colIndex: number): SpanRect {\n let colSpan = 1\n let rowSpan = 1\n if (column.getSpanRect) {\n const value = internals.safeGetValue(column, record, rowIndex)\n const spanRect = column.getSpanRect(value, record, rowIndex)\n colSpan = spanRect == null ? 1 : spanRect.right - colIndex\n rowSpan = spanRect == null ? 1 : spanRect.bottom - rowIndex\n } else {\n const cellProps = internals.safeGetCellProps(column, record, rowIndex)\n if (cellProps.colSpan != null) {\n colSpan = cellProps.colSpan\n }\n if (cellProps.rowSpan != null) {\n rowSpan = cellProps.rowSpan\n }\n }\n\n // 注意这里没有考虑「rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格」\n\n return {\n top: rowIndex,\n bottom: rowIndex + rowSpan,\n left: colIndex,\n right: colIndex + colSpan,\n }\n}\n\ntype XlsxCellDatum = string | number | null\n\ninterface CellAddress {\n /** Column number (0-based) */\n c: number\n /** Row number (0-based) */\n r: number\n}\n\nfunction move({ c, r }: CellAddress, dx: number, dy: number): CellAddress {\n return { c: c + dx, r: r + dy }\n}\n\nfunction sanitizeCellDatum(value: any): XlsxCellDatum {\n if (value === Infinity || value === -Infinity || (typeof value === 'number' && isNaN(value))) {\n return null\n } else {\n return value\n }\n}\n\n/** 根据 BaseTable 的 dataSource 和 column,将表格数据导出为 Excel 文件 */\nexport default function exportTableAsExcel(\n xlsxPackage: typeof XLSX_NS,\n dataSource: any[],\n columns: ArtColumn[],\n filename: string,\n) {\n const sheet = xlsxPackage.utils.aoa_to_sheet([])\n const topHeaderHeight = getTreeDepth(columns) + 1\n\n const origin = { c: 0, r: 0 }\n addTopHeaders(origin)\n addDataPart(move(origin, 0, topHeaderHeight))\n\n xlsxPackage.writeFile(\n {\n SheetNames: ['Sheet1'],\n Sheets: { Sheet1: sheet },\n },\n filename,\n )\n\n function addTopHeaders(origin: CellAddress) {\n dfs(columns, 0, 0)\n\n function dfs(cols: ArtColumn[], startDx: number, startDy: number) {\n const start = move(origin, startDx, startDy)\n let offsetX = 0\n\n for (const col of cols) {\n if (col.features?.noExport) {\n continue\n }\n const current = move(start, offsetX, 0)\n addOne(col.name, current)\n\n if (isLeafNode(col)) {\n offsetX += 1\n mergeCells(current, 1, topHeaderHeight - startDy)\n } else {\n const childrenWidth = dfs(col.children, startDx + offsetX, startDy + 1)\n mergeCells(current, childrenWidth, 1)\n offsetX += childrenWidth\n }\n }\n\n return offsetX\n }\n }\n\n function addDataPart(origin: CellAddress) {\n const leafColumns = collectNodes(columns, 'leaf-only').filter((col) => !col.features?.noExport)\n const spanManager = new SpanManager()\n\n const dataPart = dataSource.map((record, rowIndex) => {\n spanManager.stripUpwards(rowIndex)\n\n return leafColumns.map((col, colIndex) => {\n if (spanManager.testSkip(rowIndex, colIndex)) {\n return null\n }\n\n const spanRect = safeGetSpanRect(col, record, rowIndex, colIndex)\n const rowSpan = spanRect.bottom - spanRect.top\n const colSpan = spanRect.right - spanRect.left\n if (rowSpan > 1 || colSpan > 1) {\n spanManager.add(spanRect.top, spanRect.left, colSpan, rowSpan)\n mergeCells(move(origin, spanRect.left, spanRect.top), colSpan, rowSpan)\n }\n\n return sanitizeCellDatum(internals.safeGetValue(col, record, rowIndex))\n })\n })\n add(dataPart, origin)\n }\n\n function add(data: XlsxCellDatum[][], origin: CellAddress) {\n xlsxPackage.utils.sheet_add_aoa(sheet, data, { origin })\n }\n\n function addOne(datum: XlsxCellDatum, origin: CellAddress) {\n xlsxPackage.utils.sheet_add_aoa(sheet, [[datum]], { origin })\n }\n\n function mergeCells(addr: CellAddress, width: number, height: number) {\n if (width === 1 && height === 1) {\n return\n }\n if (sheet['!merges'] == null) {\n sheet['!merges'] = []\n }\n sheet['!merges'].push({ s: addr, e: move(addr, width - 1, height - 1) })\n }\n}\n","import isLeafNode from './isLeafNode'\nimport { AbstractTreeNode } from '../interfaces'\n\n/** 对树状结构的数据进行排序.\n * layeredSort 是一个递归的过程,针对树上的每一个父节点,该函数都会重新对其子节点数组(children) 进行排序.\n * */\nexport default function layeredSort<T extends AbstractTreeNode> (array: T[], compare: (x: T, y: T) => number): T[] {\n return dfs(array)\n\n function dfs (rows: T[]): T[] {\n if (!Array.isArray(array)) {\n return array\n }\n return rows\n .map((row) => {\n if (isLeafNode(row)) {\n return row\n }\n return { ...row, children: dfs(row.children as T[]) }\n })\n .sort(compare)\n }\n}\n","const factorySymbol = Symbol('factory-symbol')\n\nfunction isProtoFactory(v: any) {\n return v && v[factorySymbol]\n}\n\nfunction proto(baseRecord: any, ensureArray: boolean | 'auto' = 'auto') {\n const baseKeys = Object.keys(baseRecord)\n\n function process(record: any) {\n const result = Object.assign({}, record)\n baseKeys.forEach((key) => {\n if (result[key] === proto.empty) {\n delete result[key]\n return\n }\n const base = baseRecord[key]\n if (isProtoFactory(base)) {\n result[key] = base(result[key])\n } else {\n result[key] = result[key] ?? base\n }\n })\n return result\n }\n\n function factory(arg: any) {\n const isEnsureArray = ensureArray === 'auto' ? Array.isArray(arg) : ensureArray\n\n if (isEnsureArray) {\n if (arg == null) {\n return []\n }\n return arg.map(process)\n } else {\n return process(arg)\n }\n }\n\n // @ts-ignore\n factory[factorySymbol] = true\n\n factory.extends = (extRecord: any) => {\n const extFactory = proto(extRecord, ensureArray)\n return (arg: any) => factory(extFactory(arg))\n }\n\n return factory\n}\n\nproto.empty = Symbol('proto.empty')\n\nproto.string = ((v?: string) => {\n if (v != null && typeof v !== 'string') {\n throw new Error('must be string')\n }\n return v\n}) as any\nproto.string[factorySymbol] = true\n\nproto.number = ((v?: number) => {\n if (v != null && typeof v !== 'number') {\n throw new Error('must be number')\n }\n return v\n}) as any\nproto.number[factorySymbol] = true\n\nproto.notNull = ((v: any) => {\n if (v == null) {\n throw new Error('must be not null')\n }\n return v\n}) as any\nproto.notNull[factorySymbol] = true\n\nproto.object = (baseRecord: any) => proto(baseRecord, false)\nproto.array = (baseRecord: any) => proto(baseRecord, true)\n\ntype SameKeysWith<T> = T extends object ? { [key in keyof T]?: any } : T\n\ninterface ObjectProto<T> {\n (v: SameKeysWith<T>): T\n extends(ext: SameKeysWith<T>): ObjectProto<T>\n}\n\ninterface ArrayProto<T> {\n (items: SameKeysWith<T>[]): T[]\n extends(extRecord: SameKeysWith<T>): ArrayProto<T>\n}\n\nexport interface ProtoStatic {\n string(v: string): string\n number(v: number): number\n notNull<T = any>(v: any): T\n\n object<O extends object = any>(base: SameKeysWith<O>): ObjectProto<O>\n array<T extends object = any>(base: SameKeysWith<T>): ArrayProto<T>\n\n readonly empty: unique symbol\n}\n\nexport default (proto as unknown) as ProtoStatic\n","import { AbstractTreeNode } from '../interfaces'\nimport isLeafNode from './isLeafNode'\n\ntype RecursiveFlatMapInfo<T> = {\n startIndex: number\n endIndex: number\n path: T[]\n isLeaf: boolean\n\n}\n\nexport default function makeRecursiveMapper<T extends AbstractTreeNode> (\n fn: (node: T, info: RecursiveFlatMapInfo<T>) => null | T | T[]\n) {\n return (tree: T[]) => {\n return dfs(tree, 0, []).result\n\n function dfs (nodes: T[], parentStartIndex: number, path: T[]): { flatCount: number; result: T[] } {\n let flatCount = 0\n const result: T[] = []\n\n for (const node of nodes) {\n path.push(node)\n\n const startIndex = parentStartIndex + flatCount\n\n let subResult\n if (isLeafNode(node)) {\n subResult = fn(node, {\n // parentStartIndex,\n startIndex,\n endIndex: startIndex + 1,\n path: path.slice(),\n isLeaf: true\n })\n flatCount += 1\n } else {\n const dfsResult = dfs(node.children as T[], startIndex, path)\n subResult = fn(\n { ...node, children: dfsResult.result },\n { startIndex, endIndex: startIndex + dfsResult.flatCount, path: path.slice(), isLeaf: false },\n )\n flatCount += dfsResult.flatCount\n }\n\n if (Array.isArray(subResult)) {\n result.push(...subResult)\n } else if (subResult != null) {\n result.push(subResult)\n }\n\n path.pop()\n }\n\n return { result, flatCount }\n }\n }\n}\n","/** 比较函数,支持字符串、数字、数组和 null。\n * * 对于字符串将比较两者的字典序;\n * * 对数字将比较两者大小;\n * * null 值在比较时总是小于另一个值;\n * * 对于数组来说,将逐个比较数组中的元素,第一个不相等的比较结果将作为整个数组的比较结果\n *\n * 数组的比较可参考 python 中的元祖比较:\n * https://stackoverflow.com/questions/5292303/how-does-tuple-comparison-work-in-python */\nexport default function smartCompare(x: any, y: any): number {\n // 将 null 排在最后面\n if (x == null) {\n return 1\n }\n if (y == null) {\n return -1\n }\n\n if (typeof x === 'number' && typeof y === 'number') {\n return x - y\n }\n\n if (typeof x === 'string' && typeof y === 'string') {\n // 字符串使用 默认的字典序\n if (x < y) {\n return -1\n } else if (x > y) {\n return 1\n } else {\n return 0\n }\n }\n\n if (Array.isArray(x) && Array.isArray(y)) {\n const len = Math.min(x.length, y.length)\n for (let i = 0; i < len; i++) {\n const cmp = smartCompare(x[i], y[i])\n if (cmp !== 0) {\n return cmp\n }\n }\n\n // 数组长度不等时,元素少的字段放在前面\n return x.length - y.length\n }\n\n // 对于不认识的数据类型,返回 0\n return 0\n}\n","import isLeafNode from './isLeafNode'\nimport { ArtColumn, TableTransform } from '../interfaces'\n\ntype NormalizeAsArrayInput<T> = null | T | T[]\n\nfunction normalizeAsArray(input: NormalizeAsArrayInput<ArtColumn>): ArtColumn[] {\n if (input == null) {\n return []\n } else if (Array.isArray(input)) {\n return input\n } else {\n return [input]\n }\n}\n\n/** @deprecated 该 API 已经过时,请使用 makeRecursiveMapper */\nexport default function traverseColumn(\n fn: (\n column: ArtColumn,\n ctx: { range: { start: number; end: number }; dataSource: any[] },\n ) => NormalizeAsArrayInput<ArtColumn>,\n): TableTransform {\n return ({ columns, dataSource }) => {\n return { dataSource, columns: dfs(columns, 0).result }\n\n function dfs(columns: ArtColumn[], parentStartColIndex: number): { flatColCount: number; result: ArtColumn[] } {\n let flatColCount = 0\n const result: ArtColumn[] = []\n\n for (const col of columns) {\n const startColIndex = parentStartColIndex + flatColCount\n\n let unNormalized\n if (isLeafNode(col)) {\n unNormalized = fn(col, {\n range: { start: startColIndex, end: startColIndex + 1 },\n dataSource,\n })\n flatColCount += 1\n } else {\n const dfsResult = dfs(col.children, startColIndex)\n unNormalized = fn(\n {\n ...col,\n children: dfsResult.result,\n },\n {\n range: {\n start: startColIndex,\n end: startColIndex + dfsResult.flatColCount,\n },\n dataSource,\n },\n )\n flatColCount += dfsResult.flatColCount\n }\n result.push(...normalizeAsArray(unNormalized))\n }\n\n return { result, flatColCount }\n }\n }\n}\n","import console from './console'\nconst copyDataToClipboard = (data:string) => (element:HTMLInputElement) => {\n element.value = data\n element.select()\n element.focus()\n document.execCommand('copy')\n document.body.removeChild(element)\n}\n\nfunction executeOnTempElement (callback) {\n var eTempInput = document.createElement('textarea')\n eTempInput.style.width = '1px'\n eTempInput.style.height = '1px'\n eTempInput.style.top = '0px'\n eTempInput.style.left = '0px'\n eTempInput.style.position = 'absolute'\n eTempInput.style.opacity = '0.0'\n document.body.appendChild(eTempInput)\n try {\n callback(eTempInput)\n } catch (err) {\n console.warn('Browser does not support document.execCommand(\\'copy\\') for clipboard operations')\n }\n}\n\nexport { copyDataToClipboard, executeOnTempElement }\n","import isLeafNode from './isLeafNode'\nimport { AbstractTreeNode } from '../interfaces'\n\nexport default function layeredFilter<T extends AbstractTreeNode> (array: T[], filter: (x: T, index: number) => boolean): T[] {\n return dfs(array)\n\n function dfs (rows: T[]): T[] {\n if (!Array.isArray(array)) {\n return array\n }\n return rows\n .map((row) => {\n if (isLeafNode(row)) {\n return row\n }\n return { ...row, children: dfs(row.children as T[]) }\n })\n .filter(filter)\n }\n}\n","import { ArtColumn } from '../interfaces'\n\nexport const MULTI_SELECT_MARK_PROPNAME = 'checkboxSelection'\nexport const SINGLE_SELECT_MARK_PROPNAME = 'radioSelection'\n\nexport function isSelectColumn (column:ArtColumn):boolean {\n const features = column.features || {}\n return features[MULTI_SELECT_MARK_PROPNAME] === true || features[SINGLE_SELECT_MARK_PROPNAME] === true\n}\n","const warnedSet = new Set<string>()\n\nexport function warnTransformsDeprecated (apiName: string) {\n if (!warnedSet.has(apiName)) {\n warnedSet.add(apiName)\n console.warn(\n `[kd-table] transform 用法已经过时,请使用 pipeline 来对表格进行拓展` +\n `\\n 请移除以下 API 的调用:${apiName}`\n )\n }\n}\n","import { SpanRect, TableTransform } from '../interfaces'\nimport { internals } from '../internals'\nimport { isLeafNode, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nfunction isIdentity(x: any, y: any) {\n return x === y\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeAutoRowSpanTransform(): TableTransform {\n warnTransformsDeprecated('makeAutoRowSpanTransform')\n\n return traverseColumn((col, { dataSource, range }) => {\n if (!col.features?.autoRowSpan) {\n return col\n }\n\n if (!isLeafNode(col)) {\n return col\n }\n\n const isFunc = typeof col.features.autoRowSpan === 'function'\n const shouldMergeCell = isFunc ? col.features.autoRowSpan : isIdentity\n\n const spanRects: SpanRect[] = []\n let lastBottom = 0\n let prevValue: any = null\n let prevRow: any = null\n\n for (let rowIndex = 0; rowIndex < dataSource.length; rowIndex++) {\n const row = dataSource[rowIndex]\n const value = internals.safeGetValue(col, row, rowIndex)\n\n if (rowIndex === 0 || !shouldMergeCell(prevValue, value, prevRow, row)) {\n const spanRect: SpanRect = {\n top: lastBottom,\n bottom: rowIndex,\n left: range.start,\n right: range.end,\n }\n for (let i = lastBottom; i < rowIndex; i++) {\n spanRects.push(spanRect)\n }\n lastBottom = rowIndex\n }\n prevValue = value\n prevRow = row\n }\n\n for (let i = lastBottom; i < dataSource.length; i++) {\n spanRects.push({\n top: lastBottom,\n bottom: dataSource.length,\n left: range.start,\n right: range.end,\n })\n }\n\n return {\n ...col,\n getSpanRect(value: any, row: any, rowIndex: number) {\n return spanRects[rowIndex]\n },\n }\n })\n}\n","import React, { useEffect, useState } from 'react'\nimport styled from 'styled-components'\nimport { Table, Classes } from '../base'\nimport { TableTransform } from '../interfaces'\nimport { internals } from '../internals'\nimport { isLeafNode, mergeCellProps, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nconst AUTO_WIDTH_WRAPPER_CLS = 'auto-width-wrapper'\nconst AUTO_WIDTH_EXPANDER_CLS = 'auto-width-expander'\n\nconst AutoWidthWrapper = styled.div`\n height: 100%;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n padding: 8px 12px;\n`\n\nfunction isSameArray(arr1: number[], arr2: number[]) {\n return arr1.length === arr2.length && arr1.every((x, i) => x === arr2[i])\n}\n\n/** 自适应列宽\n *\n * @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展\n *\n * @param tableRef BaseTable 的 ref\n * @param options 参数\n * @param deps 重新调整列宽的依赖数组,每当依赖数组发生变化时, useAutoWidthTransform 会根据单元格内容的实际渲染宽度 设置单元格的宽度\n *\n * options 说明:\n * - options.appendExpander 是否在列的末尾追加可伸缩列\n * - options.expanderVisibility 设置为 `'hidden'` 可以隐藏可伸缩列\n * - options.wrapperStyle 单元格中 div.auto-width-wrapper 的样式\n * - options.initColumnWidth 自适应的初始列宽\n *\n * 注意 useAutoWidthTransform 是一个 React hooks,要遵循 hooks 的用法规范\n * */\nexport function useAutoWidthTransform(\n tableRef: React.MutableRefObject<Table>,\n options?: {\n wrapperStyle?: React.CSSProperties\n initColumnWidth?: number\n appendExpander?: boolean\n expanderVisibility?: 'visible' | 'hidden'\n },\n deps?: any[],\n): TableTransform {\n warnTransformsDeprecated('useAutoWidthTransform')\n const [widthList, setWidthList] = useState<number[]>([])\n\n useEffect(() => {\n const artTable = tableRef.current.getDoms().artTable\n const rows = Array.from<HTMLTableRowElement>(artTable.querySelectorAll(`.${Classes.tableRow}`))\n if (rows.length === 0) {\n return\n }\n\n const preferredWidthList: number[] = []\n\n for (const row of rows) {\n const autoWidthDivList = row.querySelectorAll(`.${AUTO_WIDTH_WRAPPER_CLS}`)\n autoWidthDivList.forEach((div, i) => {\n preferredWidthList[i] = Math.max(preferredWidthList[i] ?? 0, div.scrollWidth)\n })\n }\n\n if (!isSameArray(preferredWidthList, widthList)) {\n setWidthList(preferredWidthList)\n }\n }, deps)\n\n let i = 0\n\n const innerTransform = traverseColumn((col) => {\n if (!isLeafNode(col)) {\n return col\n }\n if (!col.features?.autoWidth) {\n return col\n }\n\n const { max = Infinity, min = -Infinity } = col.features.autoWidth\n\n const width = widthList[i++] ?? col.width ?? options?.initColumnWidth\n const clampedWidth = Math.max(min, Math.min(max, width))\n\n return {\n ...col,\n width: clampedWidth,\n getCellProps(_, record, rowIndex) {\n return mergeCellProps(internals.safeGetCellProps(col, record, rowIndex), {\n style: { padding: 0 },\n })\n },\n render(_, record, rowIndex) {\n return (\n <AutoWidthWrapper className={AUTO_WIDTH_WRAPPER_CLS} style={options?.wrapperStyle}>\n {internals.safeRender(col, record, rowIndex)}\n </AutoWidthWrapper>\n )\n },\n }\n })\n\n return (input) => {\n const { columns, dataSource } = innerTransform(input)\n const expanderVisibility = options?.expanderVisibility ?? 'visible'\n return {\n columns: options?.appendExpander\n ? columns.concat([\n {\n name: '',\n headerCellProps: {\n className: AUTO_WIDTH_EXPANDER_CLS,\n style: {\n background: expanderVisibility === 'hidden' ? 'var(--bgcolor)' : undefined,\n border: expanderVisibility === 'hidden' ? 'none' : undefined,\n },\n },\n getCellProps() {\n return {\n className: AUTO_WIDTH_EXPANDER_CLS,\n style: { visibility: expanderVisibility },\n }\n },\n },\n ])\n : columns,\n dataSource,\n }\n }\n}\n","import { TableTransform } from '../interfaces'\nimport { buildTree as _buildTree } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeBuildTreeTransform(idProp: string, parentIdProp: string): TableTransform {\n warnTransformsDeprecated('makeBuildTreeTransform')\n\n return ({ columns, dataSource }) => {\n return { columns, dataSource: _buildTree(idProp, parentIdProp, dataSource) }\n }\n}\n","import React, { useState } from 'react'\nimport { TableTransform } from '../interfaces'\nimport { isLeafNode, mergeCellProps, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport interface ColumnHoverOptions {\n hoverColor?: string\n hoverColIndex: number\n onChangeHoverColIndex(nextColIndex: number): void\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeColumnHoverTransform ({\n hoverColor = 'var(--hover-bgcolor)',\n hoverColIndex,\n onChangeHoverColIndex,\n}: ColumnHoverOptions): TableTransform {\n warnTransformsDeprecated('makeColumnHoverTransform')\n\n return traverseColumn((col, { range }) => {\n if (!isLeafNode(col)) {\n return col\n }\n\n const colIndexMatched = range.start <= hoverColIndex && hoverColIndex < range.end\n\n const prevGetCellProps = col.getCellProps\n\n return {\n ...col,\n getCellProps(value: any, record: any, rowIndex: number) {\n const prevCellProps = prevGetCellProps?.(value, record, rowIndex)\n\n return mergeCellProps(prevCellProps, {\n style: { '--bgcolor': colIndexMatched ? hoverColor : undefined } as any,\n onMouseEnter() {\n onChangeHoverColIndex(range.start)\n },\n onMouseLeave() {\n onChangeHoverColIndex(-1)\n },\n })\n },\n }\n })\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function useColumnHoverTransform ({\n hoverColor,\n defaultHoverColIndex = -1,\n}: { hoverColor?: string; defaultHoverColIndex?: number } = {}) {\n const [hoverColIndex, onChangeHoverColIndex] = useState(defaultHoverColIndex)\n return makeColumnHoverTransform({ hoverColor, hoverColIndex, onChangeHoverColIndex })\n}\n","import { useState } from 'react'\nimport { CellProps, HoverRange, TableTransform } from '../interfaces'\nimport { isLeafNode, mergeCellProps, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nconst EMPTY_RANGE = {\n start: -1,\n end: -1,\n} as const\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport interface ColumnRangeHoverOptions {\n hoverColor?: string\n headerHoverColor?: string\n hoverRange: HoverRange\n onChangeHoverRange(nextColIndexRange: HoverRange): void\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeColumnRangeHoverTransform({\n hoverColor = 'var(--hover-bgcolor)',\n headerHoverColor = 'var(--header-hover-bgcolor)',\n hoverRange,\n onChangeHoverRange,\n}: ColumnRangeHoverOptions): TableTransform {\n warnTransformsDeprecated('makeColumnRangeHoverTransform')\n\n return traverseColumn((col, { range: colRange }) => {\n const match = colRange.end > hoverRange.start && hoverRange.end > colRange.start\n\n if (!isLeafNode(col)) {\n if (headerHoverColor == null) {\n return col\n }\n\n return {\n ...col,\n headerCellProps: mergeCellProps(col.headerCellProps, {\n onMouseEnter() {\n onChangeHoverRange(colRange)\n },\n onMouseLeave() {\n onChangeHoverRange(EMPTY_RANGE)\n },\n style: { '--header-bgcolor': match ? headerHoverColor : undefined } as any,\n }),\n }\n }\n\n const prevGetCellProps = col.getCellProps\n\n return {\n ...col,\n headerCellProps: mergeCellProps(col.headerCellProps, {\n onMouseEnter() {\n onChangeHoverRange(colRange)\n },\n onMouseLeave() {\n onChangeHoverRange(EMPTY_RANGE)\n },\n style: { '--header-bgcolor': match ? headerHoverColor : undefined } as any,\n }),\n\n getCellProps(value: any, record: any, rowIndex: number): CellProps {\n const prevCellProps = prevGetCellProps?.(value, record, rowIndex)\n\n return mergeCellProps(prevCellProps, {\n onMouseEnter() {\n onChangeHoverRange(colRange)\n },\n onMouseLeave() {\n onChangeHoverRange(EMPTY_RANGE)\n },\n style: { '--bgcolor': match ? hoverColor : undefined } as any,\n })\n },\n }\n })\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function useColumnHoverRangeTransform({\n hoverColor,\n headerHoverColor,\n defaultHoverRange = EMPTY_RANGE,\n}: Omit<ColumnRangeHoverOptions, 'hoverRange' | 'onChangeHoverRange'> & { defaultHoverRange?: HoverRange } = {}) {\n const [hoverRange, onChangeHoverRange] = useState(defaultHoverRange)\n return makeColumnRangeHoverTransform({ hoverColor, headerHoverColor, hoverRange, onChangeHoverRange })\n}\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nvar TakeUntilOperator = /*@__PURE__*/ (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n var notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n };\n return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.seenValue = false;\n return _this;\n }\n TakeUntilSubscriber.prototype.notifyNext = function () {\n this.seenValue = true;\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n };\n return TakeUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n","import React, { useState } from 'react'\nimport { fromEvent } from 'rxjs'\nimport * as op from 'rxjs/operators'\nimport styled from 'styled-components'\nimport { TableTransform } from '../interfaces'\nimport { internals } from '../internals'\nimport { isLeafNode, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nfunction clamp(min: number, x: number, max: number) {\n return Math.max(min, Math.min(max, x))\n}\n\nconst RESIZE_EXPANDER_CLS = 'resize-expander'\n\nconst ResizeHandle = styled.span`\n position: absolute;\n top: 0;\n bottom: 0;\n right: -5px;\n width: 10px;\n cursor: col-resize;\n z-index: 1;\n`\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport interface ColumnResizeOptions {\n /** 每一列的宽度 */\n sizes: number[]\n\n /** 修改宽度的回调函数 */\n onChangeSizes(nextSizes: number[]): void\n\n /** 列的最小宽度,默认为 40 */\n minSize?: number\n /** 列的最大宽度,默认为 Infinity */\n maxSize?: number\n /** 是否在列的末尾追加可伸缩列,默认为 false */\n appendExpander?: boolean\n /** 是否在调整列宽时禁用 user-select,默认为 false */\n disableUserSelectWhenResizing?: boolean\n /** 可伸缩列 style.visibility */\n expanderVisibility?: 'visible' | 'hidden'\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeColumnResizeTransform({\n sizes,\n onChangeSizes,\n minSize = 40,\n maxSize = Infinity,\n appendExpander,\n expanderVisibility = 'visible',\n disableUserSelectWhenResizing,\n}: ColumnResizeOptions): TableTransform {\n warnTransformsDeprecated('makeColumnResizeTransform')\n\n const startResize = (colIndex: number, e: React.MouseEvent<HTMLSpanElement>) => {\n const startX = e.clientX\n const startSize = sizes[colIndex]\n\n const nextSizes$ = fromEvent<MouseEvent>(window, 'mousemove').pipe(\n op.takeUntil(fromEvent(window, 'mouseup')),\n op.map((e) => {\n const movingX = e.clientX\n const nextSizes = sizes.slice()\n nextSizes[colIndex] = clamp(minSize, startSize + (movingX - startX), maxSize)\n return nextSizes\n }),\n )\n\n let prevUserSelect = ''\n let docElemStyle: CSSStyleDeclaration\n\n if (disableUserSelectWhenResizing) {\n docElemStyle = document.documentElement.style\n prevUserSelect = docElemStyle.userSelect\n docElemStyle.userSelect = 'none'\n }\n\n nextSizes$.subscribe({\n next: onChangeSizes,\n complete() {\n if (disableUserSelectWhenResizing) {\n docElemStyle.userSelect = prevUserSelect\n }\n },\n })\n }\n\n const innerTransform = traverseColumn((col, { range }) => {\n if (!isLeafNode(col)) {\n return col\n }\n\n const prevTitle = internals.safeRenderHeader(col)\n\n return {\n ...col,\n width: sizes[range.start],\n title: (\n <>\n {prevTitle}\n <ResizeHandle\n className=\"resize-handle\"\n onMouseDown={(e: React.MouseEvent<HTMLSpanElement>) => startResize(range.start, e)}\n />\n </>\n ),\n headerCellProps: {\n ...col.headerCellProps,\n style: {\n ...col.headerCellProps?.style,\n overflow: 'visible',\n position: 'relative',\n },\n },\n }\n })\n\n return (input) => {\n const { columns, dataSource } = innerTransform(input)\n return {\n columns: appendExpander\n ? columns.concat([\n {\n name: '',\n headerCellProps: {\n className: RESIZE_EXPANDER_CLS,\n style: {\n background: expanderVisibility === 'hidden' ? 'var(--bgcolor)' : undefined,\n border: expanderVisibility === 'hidden' ? 'none' : undefined,\n },\n },\n getCellProps() {\n return {\n className: RESIZE_EXPANDER_CLS,\n style: { visibility: expanderVisibility },\n }\n },\n },\n ])\n : columns,\n dataSource,\n }\n }\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function useColumnResizeTransform({\n defaultSizes,\n ...others\n}: Omit<ColumnResizeOptions, 'sizes' | 'onChangeSizes'> & { defaultSizes: number[] }) {\n const [sizes, onChangeSizes] = useState(defaultSizes)\n return makeColumnResizeTransform({ sizes, onChangeSizes, ...others })\n}\n","import { TableTransform } from '../interfaces'\nimport { isLeafNode, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeFlattenTransform(): TableTransform {\n warnTransformsDeprecated('makeFlattenTransform')\n\n return traverseColumn((column) => {\n if (isLeafNode(column)) {\n return column\n }\n return column.features?.flatten ? column.children : column\n })\n}\n","import { TableTransform } from '../interfaces'\nimport { traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeOrderFieldTransform(startOrder = 1): TableTransform {\n warnTransformsDeprecated('makeOrderFieldTransform')\n\n return traverseColumn((column) => {\n if (column.features?.order || column.features?.orderField) {\n return {\n ...column,\n getValue(record: any, index: number): any {\n return index + startOrder\n },\n }\n }\n return column\n })\n}\n","import React, { CSSProperties, ReactNode, useState } from 'react'\nimport styled from 'styled-components'\nimport { ArtColumn, SortItem, SortOrder, TableTransform } from '../interfaces'\nimport { internals } from '../internals'\nimport { collectNodes, isLeafNode, layeredSort, mergeCellProps, smartCompare } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nfunction SortIcon({\n size = 32,\n style,\n className,\n order,\n}: {\n style?: CSSProperties\n className?: string\n size?: number\n order?: SortOrder\n}) {\n return (\n <svg\n style={style}\n className={className}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n width={size}\n height={size}\n viewBox=\"0 0 32 32\"\n aria-hidden=\"true\"\n >\n <path fill={order === 'asc' ? '#23A3FF' : '#bfbfbf'} transform=\"translate(0, 4)\" d=\"M8 8L16 0 24 8z\" />\n <path fill={order === 'desc' ? '#23A3FF' : '#bfbfbf'} transform=\"translate(0, -4)\" d=\"M24 24L16 32 8 24z \" />\n </svg>\n )\n}\n\nfunction DefaultSortHeaderCell({ children, column, onToggle, sortOrder, sortIndex, sortOptions }: SortHeaderCellProps) {\n // 通过 justify-content 来与 col.align 保持对齐方向一致\n const justifyContent = column.align === 'right' ? 'flex-end' : column.align === 'center' ? 'center' : 'flex-start'\n\n return (\n <TableHeaderCell onClick={onToggle} style={{ justifyContent }}>\n {children}\n <SortIcon style={{ userSelect: 'none', marginLeft: 2, flexShrink: 0 }} size={16} order={sortOrder} />\n {sortOptions.mode === 'multiple' && sortIndex != -1 && (\n <div\n style={{\n userSelect: 'none',\n marginLeft: 2,\n color: '#666',\n flex: '0 0 auto',\n fontSize: 10,\n fontFamily: 'monospace',\n }}\n >\n {sortIndex + 1}\n </div>\n )}\n </TableHeaderCell>\n )\n}\n\nfunction hasAnySortableColumns (cols: ArtColumn[]): boolean {\n return cols.some(\n (col) => Boolean(col.features?.sortable) || (!isLeafNode(col) && hasAnySortableColumns(col.children))\n )\n}\n\nconst TableHeaderCell = styled.div`\n cursor: pointer;\n display: flex;\n align-items: center;\n`\n\nexport interface SortHeaderCellProps {\n /** 调用 makeSortTransform(...) 时的参数 */\n sortOptions: Required<Omit<SortOptions, 'SortHeaderCell'>>\n\n /** 在添加排序相关的内容之前 表头原有的渲染内容 */\n children: ReactNode\n\n /** 当前排序 */\n sortOrder: SortOrder\n\n /** 多列排序下,sortIndex 指明了当前排序字段起作用的顺序. 当 sortOrder 为 none 时,sortIndex 固定为 -1 */\n sortIndex: number\n\n /** 当前列的配置 */\n column: ArtColumn\n\n /** 切换排序的回调 */\n onToggle(e: React.MouseEvent): void\n}\n\nexport interface SortOptions {\n /** 排序字段列表 */\n sorts: SortItem[]\n\n /** 更新排序字段列表的回调函数 */\n onChangeSorts(nextSorts: SortItem[]): void\n\n /** 排序切换顺序 */\n orders?: SortOrder[]\n\n /** 排序模式。单选 single,多选 multiple,默认为多选 */\n mode?: 'single' | 'multiple'\n\n /** 自定义排序表头 */\n SortHeaderCell?: React.ComponentType<SortHeaderCellProps>\n\n /** 是否保持 dataSource 不变 */\n keepDataSource?: boolean\n\n /** 排序激活时 是否高亮这一列的单元格 */\n highlightColumnWhenActive?: boolean\n\n // todo 排序点击触发位置 clickArea\n\n /** 是否对触发 onChangeOpenKeys 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeSortTransform({\n sorts: inputSorts,\n onChangeSorts: inputOnChangeSorts,\n orders = ['desc', 'asc', 'none'],\n mode = 'multiple',\n SortHeaderCell = DefaultSortHeaderCell,\n keepDataSource,\n highlightColumnWhenActive,\n stopClickEventPropagation,\n}: SortOptions): TableTransform {\n warnTransformsDeprecated('makeSortTransform')\n\n const filteredInputSorts = inputSorts.filter((s) => s.order !== 'none')\n\n // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效\n const sorts = mode === 'multiple' ? filteredInputSorts : filteredInputSorts.slice(0, 1)\n const onChangeSorts =\n mode === 'multiple'\n ? inputOnChangeSorts\n : (nextSorts: SortItem[]) => {\n // 单字段排序的情况下,nextSorts 中只有最后一个排序字段才会生效\n const len = nextSorts.length\n inputOnChangeSorts(nextSorts.slice(len - 1))\n }\n\n const sortOptions = {\n sorts,\n onChangeSorts,\n orders,\n mode,\n keepDataSource,\n highlightColumnWhenActive,\n stopClickEventPropagation,\n }\n\n const sortMap = new Map(sorts.map((sort, index) => [sort.code, { index, ...sort }]))\n\n return ({ dataSource, columns }) => {\n return { columns: processColumns(columns), dataSource: processDataSource(dataSource) }\n\n function processDataSource(dataSource: any[]) {\n if (keepDataSource) {\n return dataSource\n }\n\n const sortColumnsMap = new Map(\n collectNodes(columns, 'leaf-only')\n .filter((col) => col.features?.sortable != null)\n .map((col) => [col.code, col]),\n )\n return layeredSort(dataSource, (x, y) => {\n for (const { code, order } of sorts) {\n const column = sortColumnsMap.get(code)\n // 如果 code 对应的 column 不可排序,我们跳过该 code\n if (column == null) {\n continue\n }\n const sortable = column.features.sortable\n const compareFn = typeof sortable === 'function' ? sortable : smartCompare\n const xValue = internals.safeGetValue(column, x, -1)\n const yValue = internals.safeGetValue(column, y, -1)\n const cmp = compareFn(xValue, yValue)\n if (cmp !== 0) {\n return cmp * (order === 'asc' ? 1 : -1)\n }\n }\n return 0\n })\n }\n\n // 在「升序 - 降序 - 不排序」之间不断切换\n function toggle(code: string) {\n const sort = sortMap.get(code)\n if (sort == null) {\n onChangeSorts(sorts.concat([{ code, order: orders[0] }]))\n } else {\n const index = sorts.findIndex((s) => s.code === code)\n const nextSorts = sorts.slice(0, index + 1)\n const nextOrder = getNextOrder(sort.order)\n if (nextOrder === 'none') {\n nextSorts.pop()\n } else {\n nextSorts[index] = { ...nextSorts[index], order: nextOrder }\n }\n onChangeSorts(nextSorts)\n }\n }\n\n function processColumns(columns: ArtColumn[]) {\n return columns.map(dfs)\n\n function dfs(col: ArtColumn): ArtColumn {\n const result = { ...col }\n\n const sortable = col.code && (col.features?.sortable || sortMap.has(col.code))\n const active = sortable && sortMap.has(col.code)\n\n if (sortable) {\n let sortIndex = -1\n let sortOrder: SortOrder = 'none'\n\n if (active) {\n const { order, index } = sortMap.get(col.code)\n sortOrder = order\n sortIndex = index\n\n if (highlightColumnWhenActive) {\n result.headerCellProps = mergeCellProps(col.headerCellProps, {\n style: { background: 'var(--header-highlight-bgcolor)' } as any,\n })\n result.getCellProps = (value, row, rowIndex) => {\n const prevCellProps = internals.safeGetCellProps(col, row, rowIndex)\n return mergeCellProps(prevCellProps, {\n style: { background: 'var(--highlight-bgcolor)' } as any,\n })\n }\n }\n }\n\n result.title = (\n <SortHeaderCell\n onToggle={(e) => {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(col.code)\n }}\n sortOrder={sortOrder}\n column={col}\n sortIndex={sortIndex}\n sortOptions={sortOptions}\n >\n {internals.safeRenderHeader(col)}\n </SortHeaderCell>\n )\n }\n\n if (!isLeafNode(col)) {\n result.children = col.children.map(dfs)\n }\n\n return result\n }\n }\n }\n\n function getNextOrder(order: SortOrder) {\n const idx = orders.indexOf(order)\n return orders[idx === orders.length - 1 ? 0 : idx + 1]\n }\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function useSortTransform({\n defaultSorts = [],\n ...others\n}: Omit<SortOptions, 'sorts' | 'onChangeSorts'> & { defaultSorts?: SortItem[] } = {}) {\n const [sorts, onChangeSorts] = useState(defaultSorts)\n return makeSortTransform({ sorts, onChangeSorts, ...others })\n}\n","import React from 'react'\nimport styled from 'styled-components'\n\nimport { MenuClasses, Classes } from './base/styles'\n\nexport const InlineFlexCell = styled.div`\n display: inline-flex;\n align-items: center;\n`\n\nexport const ExpansionCell = styled(props => <InlineFlexCell {...props}/>)`\n &.${Classes.leaf} {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.${Classes.expanded} {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n`\n\ninterface IconProps extends React.SVGProps<SVGElement> {\n height?: number\n preserveAspectRatio?: string\n title?: string\n viewBox?: string\n width?: number\n xmlns?: string\n ref?: any\n}\n\nfunction CaretDownIcon(props: IconProps) {\n return (\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 32 32\"\n {...props}\n >\n <path d=\"M24 12L16 22 8 12z\" />\n </svg>\n )\n}\n\nfunction InfoIcon(props: IconProps) {\n return (\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path d=\"M8.5 11L8.5 6.5 6.5 6.5 6.5 7.5 7.5 7.5 7.5 11 6 11 6 12 10 12 10 11zM8 3.5c-.4 0-.8.3-.8.8S7.6 5 8 5c.4 0 .8-.3.8-.8S8.4 3.5 8 3.5z\" />\n <path d=\"M8,15c-3.9,0-7-3.1-7-7s3.1-7,7-7s7,3.1,7,7S11.9,15,8,15z M8,2C4.7,2,2,4.7,2,8s2.7,6,6,6s6-2.7,6-6S11.3,2,8,2z\" />\n </svg>\n )\n}\n\nfunction CaretRightIcon(props: IconProps) {\n return (\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 32 32\"\n {...props}\n >\n <path d=\"M12 8L22 16 12 24z\" />\n </svg>\n )\n}\n\nfunction LoadingIcon(props: IconProps) {\n return (\n <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 1024 1024\" {...props}>\n <path d=\"M512 74.667c-17.067 0-32 14.933-32 32V256c0 17.067 14.933 32 32 32s32-14.933 32-32V106.667c0-17.067-14.933-32-32-32zm181.333 288c8.534 0 17.067-2.134 23.467-8.534L821.333 249.6c12.8-12.8 12.8-32 0-44.8-12.8-12.8-32-12.8-44.8 0L672 309.333c-12.8 12.8-12.8 32 0 44.8 4.267 6.4 12.8 8.534 21.333 8.534zm224 117.333H768c-17.067 0-32 14.933-32 32s14.933 32 32 32h149.333c17.067 0 32-14.933 32-32s-14.933-32-32-32zM714.667 669.867c-12.8-12.8-32-12.8-44.8 0s-12.8 32 0 44.8L774.4 819.2c6.4 6.4 14.933 8.533 23.467 8.533s17.066-2.133 23.466-8.533c12.8-12.8 12.8-32 0-44.8L714.667 669.867zM512 736c-17.067 0-32 14.933-32 32v149.333c0 17.067 14.933 32 32 32s32-14.933 32-32V768c0-17.067-14.933-32-32-32zm-202.667-66.133L204.8 774.4c-12.8 12.8-12.8 32 0 44.8 6.4 6.4 14.933 8.533 23.467 8.533s17.066-2.133 23.466-8.533l104.534-104.533c12.8-12.8 12.8-32 0-44.8s-36.267-12.8-46.934 0zM288 512c0-17.067-14.933-32-32-32H106.667c-17.067 0-32 14.933-32 32s14.933 32 32 32H256c17.067 0 32-14.933 32-32zm-40.533-309.333c-12.8-12.8-32-12.8-44.8 0-12.8 12.8-12.8 32 0 44.8L307.2 352c6.4 6.4 14.933 8.533 23.467 8.533s17.066-2.133 23.466-8.533c12.8-12.8 12.8-32 0-44.8L247.467 202.667z\" />\n </svg>\n )\n}\n\nexport const icons = {\n Loading: LoadingIcon,\n CaretDown: CaretDownIcon,\n CaretRight: CaretRightIcon,\n Info: InfoIcon,\n}\n\n\nexport const ContextMenuStyleWrap = styled.div`\n &.${MenuClasses.menu}{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 12px;\n position:absolute;\n z-index: 1050;\n max-width: 600px;\n padding: 8px 0;\n }\n\n .${MenuClasses.menuList}{\n width:100%;\n display: table;\n }\n\n .${MenuClasses.menuList} .${MenuClasses.menuOption}{\n display: table-row;\n color: #212121;\n }\n\n .${MenuClasses.menuList} .${MenuClasses.menuOptionActive}{\n background-color: var(--hover-bgcolor);\n }\n\n .${MenuClasses.menuList} .${MenuClasses.menuOption} .${MenuClasses.menuOptionText}{\n display: table-cell;\n padding: 8px 12px;\n max-width: 576px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 16px;\n }\n .${MenuClasses.menuList} .${MenuClasses.menuOption}.${MenuClasses.menuOptionDisable}{\n opacity: .5;\n }\n\n`","import React from 'react'\nimport styled from 'styled-components'\nimport { icons } from '../common-views'\nimport { TableTransform } from '../interfaces'\nimport { internals } from '../internals'\nimport { traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nconst HeaderCellWithTips = styled.div`\n display: flex;\n align-items: center;\n\n .tip-icon-wrapper {\n margin-left: 2px;\n }\n\n .tip-icon {\n display: flex;\n fill: currentColor;\n }\n`\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport interface TipsOptions {\n Balloon?: any\n Tooltip?: any\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeTipsTransform({ Balloon, Tooltip }: TipsOptions): TableTransform {\n warnTransformsDeprecated('makeTipsTransform')\n\n return traverseColumn((col) => {\n if (!col.features?.tips) {\n return col\n }\n\n const justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start'\n\n return {\n ...col,\n title: (\n <HeaderCellWithTips style={{ justifyContent }}>\n {internals.safeRenderHeader(col)}\n {Balloon ? (\n // fusion/hippo\n <Balloon\n closable={false}\n trigger={\n <div className=\"tip-icon-wrapper\">\n <icons.Info className=\"tip-icon\" />\n </div>\n }\n >\n {col.features.tips}\n </Balloon>\n ) : (\n // antd\n <Tooltip title={col.features.tips}>\n <div className=\"tip-icon-wrapper\">\n <icons.Info className=\"tip-icon\" />\n </div>\n </Tooltip>\n )}\n </HeaderCellWithTips>\n ),\n }\n })\n}\n","import cx from 'classnames'\nimport React from 'react'\nimport { ExpansionCell, icons, InlineFlexCell } from '../../common-views'\nimport { ArtColumn } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { isLeafNode as standardIsLeafNode, mergeCellProps } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nimport { Classes } from '../../base/styles'\n\nexport const treeMetaSymbol = Symbol('treeMetaSymbol')\nexport const treeModeOptionsKey = 'treeModeOptions'\n\ninterface ExpandIconProps extends React.DOMAttributes<Element> {\n expanded: boolean\n style: React.CSSProperties\n}\n\nexport interface TreeModeFeatureOptions {\n /** 非受控用法:默认展开的 keys */\n defaultOpenKeys?: string[]\n\n /** 受控用法:当前展开的 keys */\n openKeys?: string[]\n\n /** 受控用法:展开 keys 改变的回调 */\n onChangeOpenKeys?(nextKeys: string[], key: string, action: 'expand' | 'collapse'): void\n\n /** 自定义叶子节点的判定逻辑 */\n isLeafNode?(node: any, nodeMeta: { depth: number; expanded: boolean; rowKey: string }): boolean\n\n /** 展开折叠图标 */\n icon?(props: ExpandIconProps): JSX.Element\n\n /** icon 的缩进值。一般为负数,此时 icon 将向左偏移,默认从 pipeline.ctx.indents 中获取 */\n iconIndent?: number\n\n /** icon 与右侧文本的距离,默认从 pipeline.ctx.indents 中获取 */\n iconGap?: number\n\n /** 每一级缩进产生的距离,默认从 pipeline.ctx.indents 中获取 */\n indentSize?: number\n\n /** 点击事件的响应区域 */\n clickArea?: 'cell' | 'content' | 'icon'\n\n /** 是否对触发展开/收拢的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n /** 指定表格每一行元信息的记录字段 */\n treeMetaKey?: string | symbol\n\n /** 指定展开列 */\n expandColCode?: string\n}\n\nexport function treeMode (opts: TreeModeFeatureOptions = {}) {\n return function treeModeStep (pipeline: TablePipeline) {\n const stateKey = 'treeMode'\n const ctx = pipeline.ctx\n\n const primaryKey = pipeline.ensurePrimaryKey('treeMode')\n\n const openKeys: string[] = opts.openKeys ?? pipeline.getStateAtKey(stateKey) ?? opts.defaultOpenKeys ?? []\n const curSort = pipeline.getStateAtKey('sort')\n const openKeySet = new Set(openKeys)\n const onChangeOpenKeys: TreeModeFeatureOptions['onChangeOpenKeys'] = (nextKeys: string[], key, action) => {\n opts.onChangeOpenKeys?.(nextKeys, key, action)\n pipeline.setStateAtKey(stateKey, nextKeys, { key, action })\n }\n\n const toggle = (rowKey: string) => {\n const expanded = openKeySet.has(rowKey)\n if (expanded) {\n onChangeOpenKeys(\n openKeys.filter((key) => key !== rowKey),\n rowKey,\n 'collapse'\n )\n } else {\n onChangeOpenKeys([...openKeys, rowKey], rowKey, 'expand')\n }\n }\n const isLeafNode = opts.isLeafNode ?? standardIsLeafNode\n const clickArea = opts.clickArea ?? 'cell'\n const treeMetaKey = opts.treeMetaKey ?? treeMetaSymbol\n const stopClickEventPropagation = Boolean(opts.stopClickEventPropagation)\n\n // indents\n const iconWidth = ctx.indents.iconWidth\n const iconIndent = opts.iconIndent ?? ctx.indents.iconIndent\n const iconGap = opts.iconGap ?? ctx.indents.iconGap\n const indentSize = opts.indentSize ?? ctx.indents.indentSize\n\n pipeline.setFeatureOptions(treeModeOptionsKey,{\n iconWidth,\n iconIndent,\n iconGap,\n indentSize,\n treeMetaKey,\n isExpanded: (rowKey) => {\n return openKeySet.has(rowKey)\n },\n onExpand: (rowKey) => {\n onChangeOpenKeys([...openKeys, rowKey], rowKey, 'expand')\n },\n onCollapse: (rowKey) => {\n onChangeOpenKeys(openKeys.filter((key) => key !== rowKey),rowKey,'collapse')\n }\n })\n\n const Icon = opts.icon\n\n return pipeline.mapDataSource(processDataSource).mapColumns(processColumns)\n\n function processDataSource (input: any[]) {\n if(pipeline.isSameInputDataSource() && openKeys === pipeline.getFeatureOptions('lastOpenKeys') && curSort === pipeline.getFeatureOptions('lastSort')){\n return pipeline.getFeatureOptions('lastTreeMode');\n }\n pipeline.setFeatureOptions('lastOpenKeys', openKeys)\n pipeline.setFeatureOptions('lastSort', curSort)\n const result: any[] = []\n dfs(input, 0)\n function dfs (nodes: any[], depth: number, parentNode = null) {\n if (nodes == null) {\n return\n }\n for (const node of nodes) {\n const rowKey = internals.safeGetRowKey(primaryKey, node, -1)\n const parentRowKey = parentNode ? internals.safeGetRowKey(primaryKey, parentNode, -1) : null\n const expanded = openKeySet.has(rowKey)\n\n const isLeaf = isLeafNode(node, { depth, expanded, rowKey })\n const treeMeta = { depth, isLeaf, expanded, rowKey, parentRowKey }\n result.push({ [treeMetaKey]: treeMeta, ...node })\n\n if (!isLeaf && expanded) {\n dfs(node.children, depth + 1, node)\n }\n }\n }\n pipeline.setFeatureOptions('lastTreeMode', result);\n return result\n }\n\n function processColumns (columns: ArtColumn[]) {\n if (columns.length === 0) {\n return columns\n }\n\n let expandColIndex = columns.findIndex(({ code }) => code && opts.expandColCode === code)\n expandColIndex = expandColIndex === -1 ? 0 : expandColIndex\n const expandCol = columns[expandColIndex]\n\n const render = (value: any, record: any, recordIndex: number) => {\n const content = internals.safeRender(expandCol, record, recordIndex)\n if (record[treeMetaKey] == null) {\n // 没有 treeMeta 信息的话,就返回原先的渲染结果\n return content\n }\n\n const { rowKey, depth, isLeaf, expanded } = record[treeMetaKey]\n\n const indent = iconIndent + depth * indentSize\n\n if (isLeaf) {\n return (\n <InlineFlexCell className={cx('expansion-cell', Classes.leaf)}>\n <span style={{ marginLeft: indent + iconWidth + iconGap }}>{content}</span>\n </InlineFlexCell>\n )\n }\n\n const onClick = (e: React.MouseEvent) => {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(rowKey)\n }\n\n const expandCls = expanded ? Classes.expanded : Classes.collapsed\n return (\n <ExpansionCell\n className={cx('expansion-cell', expandCls)}\n style={{\n cursor: clickArea === 'content' ? 'pointer' : undefined\n }}\n onClick={clickArea === 'content' ? onClick : undefined}\n >\n {Icon\n ? <Icon\n expanded={expanded}\n style={{\n cursor: clickArea === 'icon' ? 'pointer' : undefined,\n marginLeft: indent,\n marginRight: iconGap,\n width: iconWidth\n }}\n onClick={clickArea === 'icon' ? onClick : undefined}\n />\n : <icons.CaretRight\n className={cx('expansion-icon', expandCls)}\n style={{\n cursor: clickArea === 'icon' ? 'pointer' : undefined,\n marginLeft: indent,\n marginRight: iconGap\n }}\n onClick={clickArea === 'icon' ? onClick : undefined}\n />}\n {content}\n </ExpansionCell>\n )\n }\n\n const getCellProps = (value: any, record: any, rowIndex: number) => {\n const prevProps = internals.safeGetCellProps(expandCol, record, rowIndex)\n if (record[treeMetaKey] == null || clickArea !== 'cell') {\n // 没有 treeMeta 信息的话,就返回原先的 cellProps\n return mergeCellProps(prevProps, {className: Classes.tableExtendCell})\n }\n\n const { isLeaf, rowKey } = record[treeMetaKey]\n if (isLeaf) {\n return mergeCellProps(prevProps, {className: Classes.tableExtendCell})\n }\n\n return mergeCellProps(prevProps, {\n onClick (e) {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(rowKey)\n },\n style: { cursor: 'pointer' },\n className: Classes.tableExtendCell\n })\n }\n\n columns[expandColIndex] = {\n ...expandCol,\n title: (\n <span style={{ marginLeft: iconIndent + iconWidth + iconGap, display: 'flex' }}>{internals.safeRenderHeader(expandCol)}</span>\n ),\n render,\n getCellProps: getCellProps\n }\n\n return [...columns]\n }\n }\n}\n","import cx from 'classnames'\nimport React, { useState } from 'react'\nimport { ExpansionCell, icons, InlineFlexCell } from '../common-views'\nimport { ArtColumn, TableTransform } from '../interfaces'\nimport { internals } from '../internals'\nimport { treeMetaSymbol } from '../pipeline/features'\nimport { isLeafNode as standardIsLeafNode, mergeCellProps } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\nconst ICON_WIDTH = 16\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport interface TreeModeOptions {\n primaryKey: string\n openKeys: string[]\n onChangeOpenKeys(nextKeys: string[], key: string, action: 'expand' | 'collapse'): void\n isLeafNode?(node: any, nodeMeta: { depth: number; expanded: boolean; rowKey: string }): boolean\n\n /** icon 的缩进值,一般为负数,此时 icon 将向左偏移. 默认为 -6 */\n iconIndent?: number\n /** icon 与右侧文本的距离,默认为 0 */\n iconGap?: number\n /** 每一级缩进产生的距离,默认为 16 */\n indentSize?: number\n\n clickArea?: 'cell' | 'content' | 'icon'\n treeMetaKey?: string | symbol\n stopClickEventPropagation?: boolean\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeTreeModeTransform({\n onChangeOpenKeys,\n openKeys,\n primaryKey,\n iconIndent = -6,\n iconGap = 0,\n indentSize = 16,\n isLeafNode = standardIsLeafNode,\n clickArea = 'cell',\n treeMetaKey = treeMetaSymbol,\n stopClickEventPropagation,\n}: TreeModeOptions): TableTransform {\n warnTransformsDeprecated('makeTreeModeTransform')\n\n const openKeySet = new Set(openKeys)\n\n const toggle = (rowKey: string) => {\n const expanded = openKeySet.has(rowKey)\n if (expanded) {\n onChangeOpenKeys(\n openKeys.filter((key) => key !== rowKey),\n rowKey,\n 'collapse',\n )\n } else {\n onChangeOpenKeys([...openKeys, rowKey], rowKey, 'expand')\n }\n }\n\n return ({ columns, dataSource }) => {\n return {\n columns: processColumns(columns),\n dataSource: processDataSource(dataSource),\n }\n\n function processDataSource(input: any[]) {\n const result: any[] = []\n dfs(input, 0)\n\n function dfs(nodes: any[], depth: number) {\n if (nodes == null) {\n return\n }\n for (const node of nodes) {\n const rowKey = node[primaryKey]\n const expanded = openKeySet.has(rowKey)\n\n const isLeaf = isLeafNode(node, { depth, expanded, rowKey })\n const treeMeta = { depth, isLeaf, expanded, rowKey }\n result.push({ [treeMetaKey]: treeMeta, ...node })\n\n if (!isLeaf && expanded) {\n dfs(node.children, depth + 1)\n }\n }\n }\n return result\n }\n\n function processColumns(columns: ArtColumn[]) {\n if (columns.length === 0) {\n return columns\n }\n const [firstCol, ...others] = columns\n\n const render = (value: any, record: any, recordIndex: number) => {\n const content = internals.safeRender(firstCol, record, recordIndex)\n if (record[treeMetaKey] == null) {\n // 没有 treeMeta 信息的话,就返回原先的渲染结果\n return content\n }\n\n const { rowKey, depth, isLeaf, expanded } = record[treeMetaKey]\n\n const indent = iconIndent + depth * indentSize\n\n if (isLeaf) {\n return (\n <InlineFlexCell className=\"expansion-cell leaf\">\n <span style={{ marginLeft: indent + ICON_WIDTH + iconGap }}>{content}</span>\n </InlineFlexCell>\n )\n }\n\n const onClick = (e: React.MouseEvent) => {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(rowKey)\n }\n\n const expandCls = expanded ? 'expanded' : 'collapsed'\n return (\n <ExpansionCell\n className={cx('expansion-cell', expandCls)}\n style={{\n cursor: clickArea === 'content' ? 'pointer' : undefined,\n }}\n onClick={clickArea === 'content' ? onClick : undefined}\n >\n <icons.CaretRight\n className={cx('expansion-icon', expandCls)}\n style={{\n cursor: clickArea === 'icon' ? 'pointer' : undefined,\n marginLeft: indent,\n marginRight: iconGap,\n }}\n onClick={clickArea === 'icon' ? onClick : undefined}\n />\n {content}\n </ExpansionCell>\n )\n }\n\n const getCellProps = (value: any, record: any, rowIndex: number) => {\n const prevProps = internals.safeGetCellProps(firstCol, record, rowIndex)\n if (record[treeMetaKey] == null) {\n // 没有 treeMeta 信息的话,就返回原先的 cellProps\n return prevProps\n }\n\n const { isLeaf, rowKey } = record[treeMetaKey]\n if (isLeaf) {\n return prevProps\n }\n\n return mergeCellProps(prevProps, {\n onClick(e) {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(rowKey)\n },\n style: { cursor: 'pointer' },\n })\n }\n\n return [\n {\n ...firstCol,\n title: (\n <span style={{ marginLeft: iconIndent + ICON_WIDTH + iconGap }}>\n {internals.safeRenderHeader(firstCol)}\n </span>\n ),\n render,\n getCellProps: clickArea === 'cell' ? getCellProps : firstCol.getCellProps,\n },\n ...others,\n ]\n }\n }\n}\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function useTreeModeTransform({\n defaultOpenKeys = [],\n ...others\n}: Omit<TreeModeOptions, 'openKeys' | 'onChangeOpenKeys'> & { defaultOpenKeys?: string[] }) {\n const [openKeys, onChangeOpenKeys] = useState(defaultOpenKeys)\n return makeTreeModeTransform({\n openKeys,\n onChangeOpenKeys,\n ...others,\n })\n}\n","import { isLeafNode, traverseColumn } from '../utils'\nimport { warnTransformsDeprecated } from './warnTransformsDeprecated'\n\n/** @deprecated transform 用法已经过时,请使用 pipeline 来对表格进行拓展 */\nexport function makeVisibleTransform(visibleCodes: string[]) {\n warnTransformsDeprecated('makeVisibleTransform')\n\n const set = new Set(visibleCodes)\n return traverseColumn((column) => {\n if (!isLeafNode(column)) {\n return column\n }\n return set.has(column.code) ? column : { ...column, hidden: true }\n })\n}\n","import { SpanRect } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { isLeafNode, makeRecursiveMapper } from '../../utils'\nimport { TablePipeline } from '../pipeline'\n\nfunction isIdentity (x: any, y: any) {\n return x === y\n}\n\nexport function autoRowSpan () {\n return function autoRowSpanStep (pipeline: TablePipeline) {\n const dataSource = pipeline.getDataSource()\n\n return pipeline.mapColumns(\n makeRecursiveMapper((col, { startIndex, endIndex }) => {\n if (!col.features?.autoRowSpan) {\n return col\n }\n\n if (!isLeafNode(col)) {\n return col\n }\n\n const isFunc = typeof col.features.autoRowSpan === 'function'\n const shouldMergeCell = isFunc ? col.features.autoRowSpan : isIdentity\n\n const spanRects: SpanRect[] = []\n let lastBottom = 0\n let prevValue: any = null\n let prevRow: any = null\n\n for (let rowIndex = 0; rowIndex < dataSource.length; rowIndex++) {\n const row = dataSource[rowIndex]\n const value = internals.safeGetValue(col, row, rowIndex)\n\n if (rowIndex === 0 || !shouldMergeCell(prevValue, value, prevRow, row)) {\n const spanRect: SpanRect = {\n top: lastBottom,\n bottom: rowIndex,\n left: startIndex,\n right: endIndex\n }\n for (let i = lastBottom; i < rowIndex; i++) {\n spanRects.push(spanRect)\n }\n lastBottom = rowIndex\n }\n prevValue = value\n prevRow = row\n }\n\n for (let i = lastBottom; i < dataSource.length; i++) {\n spanRects.push({\n top: lastBottom,\n bottom: dataSource.length,\n left: startIndex,\n right: endIndex\n })\n }\n\n return {\n ...col,\n getSpanRect (value: any, row: any, rowIndex: number) {\n return spanRects[rowIndex]\n }\n }\n })\n )\n }\n}\n","import { buildTree as _buildTree } from '../../utils'\nimport { TablePipeline } from '../pipeline'\n\nexport function buildTree (idProp: string, parentIdProp: string) {\n return (pipeline: TablePipeline) => pipeline.mapDataSource((rows) => _buildTree(idProp, parentIdProp, rows))\n}\n","import { isLeafNode, makeRecursiveMapper, mergeCellProps } from '../../utils'\nimport { TablePipeline } from '../pipeline'\n\nexport interface ColumnHoverFeatureOptions {\n /** 鼠标悬停的颜色,默认为 'var(--hover-bgcolor)' */\n hoverColor?: string\n\n /** 非受控用法:默认的 colIndex */\n defaultHoverColIndex?: number\n\n /** 受控用法:当前鼠标悬停列的下标(colIndex) */\n hoverColIndex?: number\n\n /** 受控用法:colIndex 改变的回调 */\n onChangeHoverColIndex?(nextColIndex: number): void\n}\n\nexport function columnHover (opts: ColumnHoverFeatureOptions = {}) {\n const stateKey = 'columnHover'\n\n return (pipeline: TablePipeline) => {\n const hoverColor = opts.hoverColor ?? 'var(--hover-bgcolor)'\n const hoverColIndex = opts.hoverColIndex ?? pipeline.getStateAtKey(stateKey) ?? opts.defaultHoverColIndex ?? -1\n const onChangeHoverColIndex = (nextColIndex: number) => {\n pipeline.setStateAtKey(stateKey, nextColIndex)\n opts.onChangeHoverColIndex?.(nextColIndex)\n }\n\n return pipeline.mapColumns(\n makeRecursiveMapper((col, { startIndex, endIndex }) => {\n const range = { start: startIndex, end: endIndex }\n if (!isLeafNode(col)) {\n return col\n }\n\n const colIndexMatched = range.start <= hoverColIndex && hoverColIndex < range.end\n\n const prevGetCellProps = col.getCellProps\n\n // 预构建 merge 用的 extra 对象,避免在每个 cell 里重复创建\n const onMouseEnter = () => { onChangeHoverColIndex(range.start) }\n const onMouseLeave = () => { onChangeHoverColIndex(-1) }\n const cellExtra = {\n style: { '--bgcolor': colIndexMatched ? hoverColor : undefined } as any,\n onMouseEnter,\n onMouseLeave\n }\n\n return {\n ...col,\n getCellProps (value: any, record: any, rowIndex: number) {\n const prevCellProps = prevGetCellProps?.(value, record, rowIndex)\n if (!prevCellProps) return cellExtra\n return mergeCellProps(prevCellProps, cellExtra)\n }\n }\n })\n )\n }\n}\n","import { CellProps, HoverRange } from '../../interfaces'\nimport { isLeafNode, makeRecursiveMapper, mergeCellProps } from '../../utils'\nimport { TablePipeline } from '../pipeline'\n\nconst EMPTY_RANGE: HoverRange = {\n start: -1,\n end: -1\n} as const\n\nexport interface ColumnRangeHoverFeatureOptions {\n /** 鼠标悬停时单元格的背景色,默认为 'var(--hover-bgcolor)' */\n hoverColor?: string\n\n /** 鼠标悬停时表头的背景色,默认为 'var(--header-hover-bgcolor)' */\n headerHoverColor?: string\n\n /** 非受控用法:默认的悬停范围 */\n defaultHoverRange?: HoverRange\n\n /** 受控用法:当前悬停范围 */\n hoverRange?: HoverRange\n\n /** 受控用法:悬停渲染改变的回调 */\n onChangeHoverRange?(nextColIndexRange: HoverRange): void\n}\n\nexport function columnRangeHover (opts: ColumnRangeHoverFeatureOptions = {}) {\n const stateKey = 'columnHover'\n\n return function columnRangeHoverStep (pipeline: TablePipeline) {\n const hoverRange = opts.hoverRange ?? pipeline.getStateAtKey(stateKey) ?? opts.defaultHoverRange ?? EMPTY_RANGE\n\n const hoverColor = opts.hoverColor ?? 'var(--hover-bgcolor)'\n const headerHoverColor = opts.headerHoverColor ?? 'var(--header-hover-bgcolor)'\n\n const onChangeHoverRange = (nextColIndexRange: HoverRange) => {\n pipeline.setStateAtKey(stateKey, nextColIndexRange)\n opts.onChangeHoverRange?.(nextColIndexRange)\n }\n\n return pipeline.mapColumns(\n makeRecursiveMapper((col, { startIndex, endIndex }) => {\n const colRange = { start: startIndex, end: endIndex }\n const match = colRange.end > hoverRange.start && hoverRange.end > colRange.start\n\n if (!isLeafNode(col)) {\n if (headerHoverColor == null) {\n return col\n }\n\n return {\n ...col,\n headerCellProps: mergeCellProps(col.headerCellProps, {\n onMouseEnter () {\n onChangeHoverRange(colRange)\n },\n onMouseLeave () {\n onChangeHoverRange(EMPTY_RANGE)\n },\n style: { '--header-bgcolor': match ? headerHoverColor : undefined } as any\n })\n }\n }\n\n const prevGetCellProps = col.getCellProps\n\n // 预构建 merge 用的 extra 对象,避免在每个 cell 里重复创建\n const onMouseEnter = () => { onChangeHoverRange(colRange) }\n const onMouseLeave = () => { onChangeHoverRange(EMPTY_RANGE) }\n const cellExtra = {\n onMouseEnter,\n onMouseLeave,\n style: { '--bgcolor': match ? hoverColor : undefined } as any\n }\n\n return {\n ...col,\n headerCellProps: mergeCellProps(col.headerCellProps, {\n onMouseEnter,\n onMouseLeave,\n style: { '--header-bgcolor': match ? headerHoverColor : undefined } as any,\n }),\n\n getCellProps (value: any, record: any, rowIndex: number): CellProps {\n const prevCellProps = prevGetCellProps?.(value, record, rowIndex)\n if (!prevCellProps) return cellExtra\n return mergeCellProps(prevCellProps, cellExtra)\n }\n }\n })\n )\n }\n}\n","import React from 'react'\nimport { ArtColumn, CellProps, selectRenderProps } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { always, arrayUtils } from '../../utils/others'\nimport { TablePipeline } from '../pipeline'\nimport { collectNodes, mergeCellProps, MULTI_SELECT_MARK_PROPNAME } from '../../utils'\n\nconst fullRowsSetKey = 'fullRowsSetKey'\nconst allEnableKeys = 'allEnableKeys'\nconst selectValueSetKey = 'selectValueSetKey'\n\nexport interface MultiSelectFeatureOptions {\n /** 非受控用法:默认选中的值 */\n defaultValue?: string[]\n\n /** 非受控用法:默认 lastKey */\n defaultLastKey?: string\n\n /** 受控用法:当前选中的 keys */\n value?: string[]\n\n /** 受控用法:上一次操作对应的 rowKey */\n lastKey?: string\n\n /** 受控用法:状态改变回调 */\n onChange?: (\n nextValue: string[],\n key: string,\n keys: string[],\n action: 'check' | 'uncheck' | 'check-all' | 'uncheck-all',\n ) => void\n\n /** 复选框所在列的位置 */\n checkboxPlacement?: 'start' | 'end'\n\n /** 复选框所在列的 column 配置,可指定 width,lock, title, align, features 等属性 */\n checkboxColumn?: Partial<ArtColumn>\n\n /** 是否高亮被选中的行 */\n highlightRowWhenSelected?: boolean\n\n /** 判断一行中的 checkbox 是否要禁用 */\n isDisabled?(row: any, rowIndex: number): boolean\n\n /** 点击事件的响应区域 */\n clickArea?: 'checkbox' | 'cell' | 'row'\n\n /** 是否对触发 onChange 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n customRender?: (ctx: selectRenderProps) => React.ReactNode\n}\n\nexport function multiSelect (opts: MultiSelectFeatureOptions = {}) {\n return function multiSelectStep (pipeline: TablePipeline) {\n const stateKey = 'multiSelect'\n const Checkbox = pipeline.ctx.components.Checkbox\n if (Checkbox == null) {\n throw new Error('使用 multiSelect 之前需要设置 pipeline.ctx.components.Checkbox')\n }\n const primaryKey = pipeline.ensurePrimaryKey('multiSelect')\n\n const isDisabled = opts.isDisabled ?? always(false)\n const clickArea = opts.clickArea ?? 'checkbox'\n\n const value: string[] = opts.value ?? pipeline.getStateAtKey(stateKey)?.value ?? opts.defaultValue ?? []\n const lastKey: string = opts.lastKey ?? pipeline.getStateAtKey(stateKey)?.lastKey ?? opts.defaultLastKey ?? ''\n const onChange: MultiSelectFeatureOptions['onChange'] = (nextValue, key, keys, action) => {\n opts.onChange?.(nextValue, key, keys, action)\n pipeline.setStateAtKey(stateKey, { value: nextValue, lastKey: key }, { keys, action })\n }\n\n /** dataSource 中包含的所有 keys */\n let fullKeySet = new Set<string>()\n\n /** 所有有效的 keys(disable 状态为 false) */\n let allKeys: string[] = []\n\n let set = new Set(value)\n let isAllChecked = set.size !== 0 // 当前不存在选中则默认为false\n let isAnyChecked = false\n\n const flatDataSource = collectNodes(pipeline.getDataSource())\n flatDataSource.forEach((row, rowIndex) => {\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n fullKeySet.add(rowKey)\n // 在 allKeys 中排除被禁用的 key\n if (!isDisabled(row, rowIndex)) {\n allKeys.push(rowKey)\n\n // 存在一个非选中,则不再进行判断\n if (isAllChecked) {\n isAllChecked = set.has(rowKey)\n }\n // 存在一个选中,则不再进行判断\n if (!isAnyChecked) {\n isAnyChecked = set.has(rowKey)\n }\n }\n })\n\n // todo: 暂使用hidden隐藏选择列 后续增加配置\n const hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true\n if (!hiddenSelectColumn) {\n const defaultCheckboxColumnTitle = (\n <Checkbox\n checked={isAllChecked}\n indeterminate={!isAllChecked && isAnyChecked}\n onChange={(_: any) => {\n const allKeys = pipeline.getFeatureOptions(allEnableKeys)\n if (isAllChecked) {\n onChange(arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all')\n } else {\n onChange(arrayUtils.merge(value, allKeys), '', allKeys, 'check-all')\n }\n }}\n />\n )\n\n const checkboxColumn: ArtColumn = {\n name: '是否选中',\n title: defaultCheckboxColumnTitle,\n width: 50,\n align: 'center',\n ...opts.checkboxColumn,\n getCellProps (value: any, row: any, rowIndex: number): CellProps {\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n let checkboxCellProps = {}\n const preCellProps = opts.checkboxColumn?.getCellProps?.(value, row, rowIndex)\n const fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set<string>()\n const selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set<string>()\n if (fullRowsSet.has(rowKey) && clickArea === 'cell') {\n const prevChecked = selectValueSet.has(rowKey)\n const disabled = isDisabled(row, rowIndex)\n checkboxCellProps = {\n style: { cursor: disabled ? 'not-allowed' : 'pointer' },\n onClick: disabled\n ? undefined\n : (e) => {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n onCheckboxChange(prevChecked, rowKey, e.shiftKey)\n }\n }\n }\n return mergeCellProps(preCellProps, checkboxCellProps)\n },\n render (_: any, row: any, rowIndex: number) {\n if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {\n return null\n }\n const key = internals.safeGetRowKey(primaryKey, row, rowIndex)\n const selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set<string>()\n const checked = selectValueSet.has(key)\n const disabled = isDisabled(row, rowIndex)\n const defaultOnChange =\n clickArea === 'checkbox'\n ? (arg1: any, arg2: any) => {\n // 这里要同时兼容 antd 和 fusion 的用法\n // fusion: arg2?.nativeEvent\n // antd: arg1.nativeEvent\n const nativeEvent: MouseEvent = arg2?.nativeEvent ?? arg1.nativeEvent\n if (nativeEvent) {\n if (opts.stopClickEventPropagation) {\n nativeEvent.stopPropagation()\n }\n onCheckboxChange(checked, key, nativeEvent.shiftKey)\n }\n }\n : undefined\n\n const defaultElement = (\n <Checkbox\n checked={checked}\n disabled={disabled}\n onChange={defaultOnChange}\n />\n )\n\n const ctx = {\n type: 'multi' as const,\n row,\n rowIndex,\n rowKey: key,\n checked,\n disabled,\n defaultElement,\n actions: {\n select: () => { if (!checked) onCheckboxChange(false, key, false) },\n toggle: (batch?: boolean) => onCheckboxChange(checked, key, !!batch)\n }\n }\n\n if (opts.customRender) {\n return opts.customRender(ctx)\n }\n return defaultElement\n },\n features: {\n ...opts.checkboxColumn?.features,\n [MULTI_SELECT_MARK_PROPNAME]: true\n }\n }\n\n const nextColumns = pipeline.getColumns().slice()\n const checkboxPlacement = opts.checkboxPlacement ?? 'start'\n if (checkboxPlacement === 'start') {\n nextColumns.unshift(checkboxColumn)\n } else {\n nextColumns.push(checkboxColumn)\n }\n pipeline.columns(nextColumns)\n }\n\n pipeline.appendRowPropsGetter((row, rowIndex) => {\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n const fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new Set<string>()\n if (!fullRowsSet.has(rowKey)) {\n // rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理\n return\n }\n\n const style: any = {}\n let className: string\n let onClick: any\n\n const selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new Set<string>()\n const checked = selectValueSet.has(rowKey)\n if (opts.highlightRowWhenSelected && checked) {\n className = 'highlight'\n }\n\n if (clickArea === 'row') {\n const disabled = isDisabled(row, rowIndex)\n if (!disabled) {\n style.cursor = 'pointer'\n onClick = (e: MouseEvent) => {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n onCheckboxChange(checked, rowKey, e.shiftKey)\n }\n }\n }\n\n return { className, style, onClick }\n })\n\n // 只保留一份到pipeline, 避免行数据过多时内容被握住\n pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet)\n pipeline.setFeatureOptions(allEnableKeys, allKeys)\n pipeline.setFeatureOptions(selectValueSetKey, set)\n fullKeySet = null\n allKeys = null\n set = null\n\n return pipeline\n\n function onCheckboxChange (prevChecked: boolean, key: string, batch: boolean) {\n let batchKeys = [key]\n\n if (batch && lastKey) {\n const allKeys = pipeline.getFeatureOptions(allEnableKeys)\n const lastIdx = allKeys.indexOf(lastKey)\n const cntIdx = allKeys.indexOf(key)\n const [start, end] = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx]\n batchKeys = allKeys.slice(start, end + 1)\n }\n\n if (prevChecked) {\n onChange(arrayUtils.diff(value, batchKeys), key, batchKeys, 'uncheck')\n } else {\n onChange(arrayUtils.merge(value, batchKeys), key, batchKeys, 'check')\n }\n }\n }\n}\n","import cx from 'classnames'\nimport React, { ReactNode } from 'react'\nimport { ExpansionCell, icons, InlineFlexCell } from '../../common-views'\nimport { ArtColumn } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { collectNodes, mergeCellProps } from '../../utils'\nimport { always, flatMap } from '../../utils/others'\nimport console from '../../utils/console'\nimport { TablePipeline } from '../pipeline'\nimport getTableRenderTemplate from '../../base/renderTemplates'\nimport { Classes } from '../../base'\n\ninterface expandIconProps extends React.SVGProps<SVGElement>{\n expanded:boolean\n}\nexport interface RowDetailFeatureOptions {\n /** 非受控用法:是否默认展开所有详情单元格 */\n defaultOpenAll?: boolean\n\n /** 非受控用法:默认展开的 keys */\n defaultOpenKeys?: string[]\n\n /** 受控用法:当前展开的 keys */\n openKeys?: string[]\n\n /** 受控用法:openKeys 改变的回调 */\n onChangeOpenKeys?(nextKeys: string[], key: string, action: 'expand' | 'collapse'): void\n\n /** 详情单元格的渲染方法 */\n renderDetail?(row: any, rowIndex: number): ReactNode\n\n /** 是否包含详情单元格 */\n hasDetail?(row: any, rowIndex: number): ReactNode\n\n /** 获取详情单元格所在行的 key,默认为 `(row) => row[primaryKey] + '_detail'` */\n getDetailKey?(row: any, rowIndex: number): string\n\n /** 详情单元格 td 的额外样式 */\n detailCellStyle?: React.CSSProperties\n\n /** 点击事件的响应区域 */\n clickArea?: 'cell' | 'content' | 'icon'\n\n /** 是否对触发展开/收拢的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n /** 指定表格每一行元信息的记录字段 */\n rowDetailMetaKey?: string | symbol\n\n /** 指定在哪一列设置展开按钮 */\n expandColumnCode?: string\n\n /** 自定义展开图标 */\n expandIcon?: (props:expandIconProps)=>JSX.Element\n}\n\nconst rowDetailSymbol = Symbol('row-detail')\n\nconst fallbackRenderDetail = () => (\n <div style={{ margin: '8px 24px' }}>\n <b style={{ color: 'indianred' }}>\n 设置 <code>rowDetail.renderDetail</code> 来自定义详情内容\n </b>\n </div>\n)\n\nexport function rowDetail (opts: RowDetailFeatureOptions = {}) {\n return function rowDetailStep (pipeline: TablePipeline) {\n const stateKey = 'rowDetail'\n\n const rowDetailMetaKey = opts.rowDetailMetaKey ?? rowDetailSymbol\n\n const primaryKey = pipeline.ensurePrimaryKey('rowDetail')\n\n const indents = pipeline.ctx.indents\n const textOffset = indents.iconIndent + indents.iconWidth + indents.iconGap\n const clickArea = opts.clickArea ?? 'cell'\n\n const getDetailKey = opts.getDetailKey ?? ((row, rowIndex) => internals.safeGetRowKey(primaryKey, row, rowIndex) + '_detail')\n const renderDetail = opts.renderDetail ?? fallbackRenderDetail\n const hasDetail = opts.hasDetail ?? always(true)\n\n const openKeys: string[] =\n opts.openKeys ??\n pipeline.getStateAtKey(stateKey) ??\n (opts.defaultOpenAll\n ? pipeline\n .getDataSource()\n .filter(hasDetail)\n .map((row, rowIndex) => internals.safeGetRowKey(primaryKey, row, rowIndex))\n : opts.defaultOpenKeys) ??\n []\n const onChangeOpenKeys: RowDetailFeatureOptions['onChangeOpenKeys'] = (nextKeys, key, action) => {\n opts.onChangeOpenKeys?.(nextKeys, key, action)\n pipeline.setStateAtKey(stateKey, nextKeys, { key, action })\n }\n\n const openKeySet = new Set(openKeys)\n\n const toggle = (rowKey: string) => {\n const expanded = openKeySet.has(rowKey)\n if (expanded) {\n onChangeOpenKeys(\n openKeys.filter((key) => key !== rowKey),\n rowKey,\n 'collapse'\n )\n } else {\n onChangeOpenKeys([...openKeys, rowKey], rowKey, 'expand')\n }\n }\n const detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey'\n return pipeline\n .dataSource(\n flatMap(pipeline.getDataSource(), (row, rowIndex) => {\n if (openKeySet.has(internals.safeGetRowKey(primaryKey, row, rowIndex))) {\n return [row, { [rowDetailMetaKey]: true, ...row, [detailPrimaryKey]: getDetailKey(row, rowIndex) }]\n } else {\n return [row]\n }\n })\n )\n .columns(processColumns(pipeline.getColumns()))\n .appendRowPropsGetter((row) => {\n if (row[rowDetailMetaKey]) {\n return { className: 'no-hover', 'data-row-detail-key': row[detailPrimaryKey] }\n }\n })\n\n function processColumns (columns: ArtColumn[]) {\n if (columns.length === 0) {\n return columns\n }\n let expandColumnIndex = 0\n if (opts.expandColumnCode) {\n expandColumnIndex = columns.findIndex((col) => col.code === opts.expandColumnCode)\n if (expandColumnIndex < 0) {\n console.warn('没找到可展开的列,请检查设置的展开列code')\n return columns\n }\n }\n const expandCol = columns[expandColumnIndex]\n const tableColumns = [...columns]\n\n const render = (value: any, row: any, rowIndex: number) => {\n if (row[rowDetailMetaKey]) {\n // 第一列内容已经渲染\n if (expandColumnIndex !== 0) return\n const renderRowDetail = getTableRenderTemplate('rowDetail')\n if (typeof renderRowDetail === 'function') {\n return renderRowDetail({ row, rowIndex, domHelper: pipeline.ref.current.domHelper, renderDetail })\n }\n return renderDetail(row, rowIndex)\n }\n\n const content = internals.safeRender(expandCol, row, rowIndex)\n\n if (!hasDetail(row, rowIndex)) {\n return <InlineFlexCell style={{ marginLeft: textOffset }}>{content}</InlineFlexCell>\n }\n\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n const expanded = openKeySet.has(rowKey)\n const onClick = (e: React.MouseEvent) => {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(rowKey)\n }\n\n const expandCls = expanded ? Classes.expanded : Classes.collapsed\n const ExpandIcon = opts.expandIcon\n return (\n <ExpansionCell\n className={cx('expansion-cell', expandCls)}\n style={{ cursor: clickArea === 'content' ? 'pointer' : undefined }}\n onClick={clickArea === 'content' ? onClick : undefined}\n >\n {\n opts.expandIcon\n ? <ExpandIcon\n expanded ={expanded}\n onClick={clickArea === 'icon' ? onClick : undefined}\n />\n : <icons.CaretRight\n style={{\n cursor: clickArea === 'icon' ? 'pointer' : undefined,\n marginLeft: indents.iconIndent,\n marginRight: indents.iconGap\n }}\n className={cx('expansion-icon', expandCls)}\n onClick={clickArea === 'icon' ? onClick : undefined}\n />\n }\n {content}\n </ExpansionCell>\n )\n }\n\n const getCellProps = (value: any, row: any, rowIndex: number) => {\n if (row[rowDetailMetaKey]) {\n return {\n style: {\n '--cell-padding': '0',\n overflow: 'hidden',\n ...opts.detailCellStyle\n } as any\n }\n }\n\n const prevProps = expandCol.getCellProps?.(value, row, rowIndex)\n\n if (!hasDetail(row, rowIndex)) {\n return prevProps\n }\n\n return mergeCellProps(prevProps, {\n onClick (e) {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(internals.safeGetRowKey(primaryKey, row, rowIndex))\n },\n style: { cursor: 'pointer' }\n })\n }\n\n const [firstCol, ...others] = tableColumns\n const firstColRender = (value: any, row: any, rowIndex: number) => {\n if (row[rowDetailMetaKey]) {\n const renderRowDetail = getTableRenderTemplate('rowDetail')\n if (typeof renderRowDetail === 'function') {\n return renderRowDetail({ row, rowIndex, domHelper: pipeline.ref.current.domHelper, renderDetail })\n }\n return renderDetail(row, rowIndex)\n }\n const content = internals.safeRender(firstCol, row, rowIndex)\n return content\n }\n\n tableColumns[0] = {\n ...firstCol,\n render: firstColRender,\n getSpanRect (value: any, row: any, rowIndex: number) {\n if (row[rowDetailMetaKey]) {\n // detail 总是成一行\n return { top: rowIndex, bottom: rowIndex + 1, left: 0, right: collectNodes(pipeline.getColumns(), 'leaf-only').length }\n }\n }\n }\n\n tableColumns[expandColumnIndex] = {\n ...expandCol,\n title: (\n <div style={{ display: 'inline-block', marginLeft: textOffset }}>\n {internals.safeRenderHeader(expandCol)}\n </div>\n ),\n render,\n getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps,\n getSpanRect (value: any, row: any, rowIndex: number) {\n if (row[rowDetailMetaKey]) {\n // detail 总是成一行\n return { top: rowIndex, bottom: rowIndex + 1, left: 0, right: collectNodes(pipeline.getColumns(), 'leaf-only').length }\n }\n }\n }\n return tableColumns\n }\n }\n}\n","import cx from 'classnames'\nimport React from 'react'\nimport { ExpansionCell, icons, InlineFlexCell } from '../../common-views'\nimport { ArtColumn } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { collectNodes, isLeafNode, mergeCellProps } from '../../utils'\nimport { flatMap } from '../../utils/others'\nimport { TablePipeline } from '../pipeline'\nimport { Classes } from '../../base'\n\nconst groupingMetaSymbol = Symbol('row-grouping-meta')\n\nfunction attachGroupingMeta(row: any) {\n return { [groupingMetaSymbol]: { expandable: !isLeafNode(row) }, ...row }\n}\n\nfunction getGroupingMeta(row: any): { isGroupHeader: boolean; expandable: boolean } {\n if (row[groupingMetaSymbol] == null) {\n return { isGroupHeader: false, expandable: false }\n }\n return { isGroupHeader: true, expandable: row[groupingMetaSymbol].expandable }\n}\n\nfunction rowGroupingRowPropsGetter(row: any) {\n if (getGroupingMeta(row).isGroupHeader) {\n return { className: 'alternative' }\n }\n}\n\nexport interface RowGroupingFeatureOptions {\n /** 非受控用法:是否默认展开所有分组 */\n defaultOpenAll?: boolean\n\n /** 非受控用法:默认展开的 keys */\n defaultOpenKeys?: string[]\n\n /** 受控用法:当前展开的 keys */\n openKeys?: string[]\n\n /** 受控用法:当前展开 keys 改变回调 */\n onChangeOpenKeys?(nextKeys: string[], key: string, action: 'expand' | 'collapse'): void\n\n /** 是否对触发 onChangeOpenKeys 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n}\n\nexport function rowGrouping (opts: RowGroupingFeatureOptions = {}) {\n return (pipeline: TablePipeline) => {\n const stateKey = 'rowGrouping'\n const indents = pipeline.ctx.indents\n const textOffset = indents.iconIndent + indents.iconWidth + indents.iconGap\n\n const primaryKey = pipeline.ensurePrimaryKey('rowGrouping') as string\n if (typeof primaryKey !== 'string') {\n throw new Error('rowGrouping 仅支持字符串作为 primaryKey')\n }\n const openKeys: string[] =\n opts.openKeys ??\n pipeline.getStateAtKey(stateKey) ??\n (opts.defaultOpenAll ? pipeline.getDataSource().map((row) => row[primaryKey]) : opts.defaultOpenKeys) ??\n []\n const openKeySet = new Set(openKeys)\n\n const onChangeOpenKeys: RowGroupingFeatureOptions['onChangeOpenKeys'] = (nextKeys, key, action) => {\n opts.onChangeOpenKeys?.(nextKeys, key, action)\n pipeline.setStateAtKey(stateKey, nextKeys, { key, action })\n }\n\n return pipeline\n .mapDataSource(processDataSource)\n .mapColumns(processColumns)\n .appendRowPropsGetter(rowGroupingRowPropsGetter)\n\n function processDataSource(input: any[]) {\n return flatMap(input, (row) => {\n let result = [attachGroupingMeta(row)]\n\n const expanded = openKeySet.has(row[primaryKey])\n if (expanded) {\n if (Array.isArray(row.children)) {\n result = result.concat(row.children)\n }\n }\n\n return result\n })\n }\n\n function processColumns(columns: ArtColumn[]) {\n if (columns.length === 0) {\n return columns\n }\n const columnFlatCount = collectNodes(columns, 'leaf-only').length\n const [firstCol, ...others] = columns\n\n const render = (value: any, row: any, rowIndex: number) => {\n const content = internals.safeRender(firstCol, row, rowIndex)\n const meta = getGroupingMeta(row)\n if (!meta.isGroupHeader || !meta.expandable) {\n const marginLeft = textOffset + (meta.isGroupHeader ? 0 : indents.indentSize)\n return (\n <InlineFlexCell style={{ marginLeft }}>\n {meta.isGroupHeader ? row.groupTitle ?? content : content}\n </InlineFlexCell>\n )\n }\n\n const expanded = openKeySet.has(row[primaryKey])\n const expandCls = expanded ? Classes.expanded : Classes.collapsed\n return (\n <ExpansionCell className={cx('expansion-cell', expandCls)}>\n <icons.CaretRight\n className={cx('expansion-icon', expandCls)}\n style={{ marginLeft: indents.iconIndent, marginRight: indents.iconGap }}\n />\n {row.groupTitle ?? content}\n </ExpansionCell>\n )\n }\n\n const getCellProps = (value: any, row: any, rowIndex: number) => {\n const meta = getGroupingMeta(row)\n if (!meta.isGroupHeader) {\n return\n }\n\n const { expandable } = meta\n\n const rowKey = row[primaryKey]\n const expanded = openKeySet.has(rowKey)\n\n let onClick: any\n if (expandable) {\n onClick = (e: React.MouseEvent) => {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n if (expanded) {\n onChangeOpenKeys(\n openKeys.filter((key) => key !== rowKey),\n rowKey,\n 'collapse',\n )\n } else {\n onChangeOpenKeys([...openKeys, rowKey], rowKey, 'expand')\n }\n }\n }\n\n const prevProps = firstCol.getCellProps?.(value, row, rowIndex)\n return mergeCellProps(prevProps, {\n onClick,\n style: { cursor: expandable ? 'pointer' : undefined },\n })\n }\n\n return [\n {\n ...firstCol,\n title: (\n <div style={{ display: 'inline-block', marginLeft: textOffset }}>\n {internals.safeRenderHeader(firstCol)}\n </div>\n ),\n render,\n getCellProps,\n getSpanRect(value: any, row: any, rowIndex: number) {\n if (getGroupingMeta(row).isGroupHeader) {\n return { top: rowIndex, bottom: rowIndex + 1, left: 0, right: columnFlatCount }\n }\n },\n },\n ...others,\n ]\n }\n }\n}\n","import React from 'react'\nimport { ArtColumn, CellProps, selectRenderProps } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { always } from '../../utils/others'\nimport { TablePipeline } from '../pipeline'\nimport { mergeCellProps, SINGLE_SELECT_MARK_PROPNAME } from '../../utils'\nexport interface SingleSelectFeatureOptions {\n /** 是否高亮被选中的行 */\n highlightRowWhenSelected?: boolean\n\n /** 非受控用法:默认选中的值 */\n defaultValue?: string\n\n /** 受控用法:当前选中的值 */\n value?: string\n\n /** 受控用法:选中值改变回调 */\n onChange?: (next: string) => void\n\n /** 判断一行是否禁用 */\n isDisabled?(row: any, rowIndex: number): boolean\n\n /** 点击事件的响应区域 */\n clickArea?: 'radio' | 'cell' | 'row'\n\n /** 单选框所在列的 column 配置,可指定 width,lock 等属性 */\n radioColumn?: Partial<ArtColumn>\n\n /** 单选框所在列的位置 */\n radioPlacement?: 'start' | 'end'\n\n /** 是否对触发 onChange 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n customRender?: (ctx: selectRenderProps) => React.ReactNode\n}\n\nexport function singleSelect (opts: SingleSelectFeatureOptions = {}) {\n return function singleSelectStep (pipeline: TablePipeline) {\n const Radio = pipeline.ctx.components.Radio\n if (Radio == null) {\n throw new Error('使用 singleSelect 之前需要通过 pipeline context 设置 components.Radio')\n }\n\n const stateKey = 'singleSelect'\n const clickArea = opts.clickArea ?? 'radio'\n const isDisabled = opts.isDisabled ?? always(false)\n\n const primaryKey = pipeline.ensurePrimaryKey('singleSelect')\n const value = opts.value ?? pipeline.getStateAtKey(stateKey) ?? opts.defaultValue\n const onChange = (rowKey: string) => {\n opts.onChange?.(rowKey)\n pipeline.setStateAtKey(stateKey, rowKey)\n }\n\n const radioColumn: ArtColumn = {\n name: '',\n width: 50,\n align: 'center',\n ...opts.radioColumn,\n getCellProps (value: any, row: any, rowIndex: number): CellProps {\n const preCellProps = opts.radioColumn?.getCellProps?.(value, row, rowIndex)\n if (clickArea === 'cell') {\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n const disabled = isDisabled(row, rowIndex)\n return mergeCellProps(preCellProps, {\n style: { cursor: disabled ? 'not-allowed' : 'pointer' },\n onClick: disabled\n ? undefined\n : (e) => {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n onChange(rowKey)\n }\n })\n }\n return preCellProps\n },\n render: (_: any, row: any, rowIndex: number) => {\n if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {\n return null\n }\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n const checked = value === rowKey\n const disabled = isDisabled(row, rowIndex)\n const defaultOnChange =\n clickArea === 'radio'\n ? (arg1: any, arg2: any) => {\n const nativeEvent: MouseEvent = arg2?.nativeEvent ?? arg1?.nativeEvent\n if (nativeEvent && opts.stopClickEventPropagation) {\n nativeEvent.stopPropagation()\n }\n onChange(rowKey)\n }\n : undefined\n\n const defaultElement = (\n <Radio\n checked={checked}\n disabled={disabled}\n onChange={defaultOnChange}\n />\n )\n\n const ctx = {\n type: 'single' as const,\n row,\n rowIndex,\n rowKey,\n checked,\n disabled,\n defaultElement,\n actions: {\n select: () => onChange(rowKey),\n toggle: () => onChange(rowKey)\n }\n }\n\n if (opts.customRender) {\n return opts.customRender(ctx)\n }\n return defaultElement\n },\n features: {\n ...opts.radioColumn?.features,\n [SINGLE_SELECT_MARK_PROPNAME]: true\n }\n }\n\n const nextColumns = pipeline.getColumns().slice()\n\n const radioPlacement = opts.radioPlacement ?? 'start'\n if (radioPlacement === 'start') {\n nextColumns.unshift(radioColumn)\n } else {\n nextColumns.push(radioColumn)\n }\n\n pipeline.columns(nextColumns)\n\n pipeline.appendRowPropsGetter((row, rowIndex) => {\n const rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex)\n\n const style: any = {}\n let className: string\n let onClick: any\n\n if (opts.highlightRowWhenSelected) {\n if (value === rowKey) {\n className = 'highlight'\n }\n }\n if (clickArea === 'row' && !isDisabled(row, rowIndex)) {\n style.cursor = 'pointer'\n onClick = (e: React.MouseEvent) => {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n onChange(rowKey)\n }\n }\n\n return { className, style, onClick }\n })\n\n return pipeline\n }\n}\n","import React, { CSSProperties, ReactNode } from 'react'\nimport styled from 'styled-components'\nimport cx from 'classnames'\nimport { ArtColumn, SortItem, SortOrder } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { collectNodes, isLeafNode, layeredSort, mergeCellProps, smartCompare, console } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nimport { Classes } from '../../base/styles'\n\ninterface SortIconProps {\n style?: CSSProperties\n className?: string\n size?: number\n order?: SortOrder\n}\n\nfunction SortIcon ({ size = 32, style, className, order }: SortIconProps) {\n return (\n <svg\n style={style}\n className={className}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n width={size}\n height={size}\n viewBox=\"0 0 32 32\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n >\n <path fill={order === 'asc' ? 'currentColor' : '#bfbfbf'} transform=\"translate(0, 4)\" d=\"M8 8L16 0 24 8z\" />\n <path fill={order === 'desc' ? 'currentColor' : '#bfbfbf'} transform=\"translate(0, -4)\" d=\"M24 24L16 32 8 24z \" />\n </svg>\n )\n}\n\nfunction DefaultSortHeaderCell ({ children, column, onToggle, sortOrder, sortIndex, sortOptions }: SortHeaderCellProps) {\n // 通过 justify-content 来与 col.align 保持对齐方向一致\n const justifyContent = column.align === 'right'\n ? 'flex-end'\n : column.align === 'center'\n ? 'center'\n : 'flex-start'\n\n return (\n <TableHeaderCell onClick={onToggle} style={{ justifyContent }}>\n {children}\n <SortIcon\n style={{ userSelect: 'none', marginLeft: 2, flexShrink: 0 }}\n className={cx({\n [Classes.tableSortIcon]: true,\n active:sortOrder === 'desc' || sortOrder === 'asc'\n })}\n size={16}\n order={sortOrder}\n />\n {sortOptions.mode === 'multiple' && sortIndex !== -1 && (\n <div\n style={{\n userSelect: 'none',\n marginLeft: 2,\n color: '#666',\n flex: '0 0 auto',\n fontSize: 10,\n fontFamily: 'monospace'\n }}\n >\n {sortIndex + 1}\n </div>\n )}\n </TableHeaderCell>\n )\n}\n\nfunction hasAnySortableColumns (cols: ArtColumn[]): boolean {\n return cols.some(\n (col) => Boolean(col.features?.sortable) || (!isLeafNode(col) && hasAnySortableColumns(col.children))\n )\n}\n\nconst TableHeaderCell = styled.div`\n cursor: pointer;\n display: flex;\n align-items: center;\n // flex: auto;\n`\n\nexport interface SortHeaderCellProps {\n /** 调用 makeSortTransform(...) 时的参数 */\n sortOptions: Required<Omit<SortFeatureOptions, 'SortHeaderCell' | 'defaultSorts'>>\n\n /** 在添加排序相关的内容之前 表头原有的渲染内容 */\n children: ReactNode\n\n /** 当前排序 */\n sortOrder: SortOrder\n\n /** 多列排序下,sortIndex 指明了当前排序字段起作用的顺序. 当 sortOrder 为 none 时,sortIndex 固定为 -1 */\n sortIndex: number\n\n /** 当前列的配置 */\n column: ArtColumn\n\n /** 切换排序的回调 */\n onToggle(e: React.MouseEvent): void\n}\n\nexport interface SortFeatureOptions {\n /** (非受控用法) 默认的排序字段列表 */\n defaultSorts?: SortItem[]\n\n /** (受控用法) 排序字段列表 */\n sorts?: SortItem[]\n\n /** 更新排序字段列表的回调函数 */\n onChangeSorts?(nextSorts: SortItem[], currentSort:SortItem): void\n\n /** 排序切换顺序 */\n orders?: SortOrder[]\n\n /** 排序模式。单选 single,多选 multiple,默认为多选 */\n mode?: 'single' | 'multiple'\n\n /** 自定义排序表头 */\n SortHeaderCell?: React.ComponentType<SortHeaderCellProps>\n\n /** 是否保持 dataSource 不变 */\n keepDataSource?: boolean\n\n /** 排序激活时 是否高亮这一列的单元格 */\n highlightColumnWhenActive?: boolean\n\n /** 是否对触发 onChangeOpenKeys 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n /** sort icon 是否 hover 之后显示 */\n sortIconHoverShow?: boolean\n}\n\nconst stateKey = 'sort'\n\nexport function sort (opts: SortFeatureOptions = {}) {\n return function sortStep (pipeline: TablePipeline) {\n const {\n orders = ['desc', 'asc', 'none'],\n mode = 'multiple',\n SortHeaderCell = DefaultSortHeaderCell,\n keepDataSource,\n highlightColumnWhenActive,\n stopClickEventPropagation,\n sortIconHoverShow\n } = opts\n\n const inputSorts = opts.sorts ?? pipeline.getStateAtKey(stateKey) ?? opts.defaultSorts ?? []\n const activeSorts = inputSorts.filter((s) => s.order !== 'none')\n // 单字段排序的情况下 sorts 中只有第一个排序字段才会生效\n const sorts = mode === 'multiple' ? activeSorts : activeSorts.slice(0, 1)\n\n const onChangeSortsInMultipleMode = (nextSorts: SortItem[], currentSort:SortItem) => {\n opts.onChangeSorts?.(nextSorts, currentSort)\n pipeline.setStateAtKey(stateKey, nextSorts)\n }\n const onChangeSorts =\n mode === 'multiple'\n ? onChangeSortsInMultipleMode\n : (nextSorts: SortItem[], currentSort:SortItem) => {\n // 单字段排序的情况下,nextSorts 中只有最后一个排序字段才会生效\n const len = nextSorts.length\n onChangeSortsInMultipleMode(nextSorts.slice(len - 1), currentSort)\n }\n\n const sortOptions: SortHeaderCellProps['sortOptions'] = {\n sorts,\n onChangeSorts,\n orders,\n mode,\n keepDataSource,\n highlightColumnWhenActive,\n stopClickEventPropagation,\n sortIconHoverShow\n }\n\n const sortMap = new Map(sorts.map((sort, index) => [sort.code, { index, ...sort }]))\n\n const dataSource = pipeline.getDataSource()\n const columns = pipeline.getColumns()\n pipeline.dataSource(processDataSource(dataSource))\n pipeline.columns(processColumns(columns))\n\n return pipeline\n\n function processDataSource (dataSource: any[]) {\n if (keepDataSource) {\n return dataSource\n }\n\n if (sortMap.size === 0) {\n return dataSource\n }\n\n const sortColumnsMap = new Map(\n collectNodes(columns, 'leaf-only')\n .filter((col) => col.features?.sortable !== false && col.features?.sortable != null)\n .map((col) => [col.code, col])\n )\n\n return layeredSort(dataSource, (x, y) => {\n for (const { code, order } of sorts) {\n const column = sortColumnsMap.get(code)\n // 如果 code 对应的 column 不可排序,我们跳过该 code\n if (column == null) {\n continue\n }\n const sortable = column.features.sortable\n const compareFn = typeof sortable === 'function' ? sortable : smartCompare\n const xValue = internals.safeGetValue(column, x, -1)\n const yValue = internals.safeGetValue(column, y, -1)\n const cmp = compareFn(xValue, yValue, x, y)\n if (cmp !== 0) {\n return cmp * (order === 'asc' ? 1 : -1)\n }\n }\n return 0\n })\n }\n\n // 在「升序 - 降序 - 不排序」之间不断切换\n function toggle (code: string) {\n const sort = sortMap.get(code) as any\n let currentSort:SortItem\n if (sort == null) {\n currentSort = { code, order: orders[0] }\n onChangeSorts(sorts.concat([currentSort]), currentSort)\n } else {\n const index = sorts.findIndex((s) => s.code === code)\n const nextSorts = sorts.slice(0, index + 1)\n const nextOrder = getNextOrder(sort.order)\n currentSort = {code, order: nextOrder }\n if (nextOrder === 'none') {\n nextSorts.pop()\n } else {\n nextSorts[index] = { ...nextSorts[index], order: nextOrder }\n }\n onChangeSorts(nextSorts, currentSort)\n }\n }\n\n function processColumns (columns: ArtColumn[]) {\n return columns.map(dfs)\n\n function dfs (col: ArtColumn): ArtColumn {\n const result = { ...col }\n\n const sortable = col.code && (col.features?.sortable || sortMap.has(col.code))\n const active = sortable && sortMap.has(col.code)\n\n if (sortable) {\n let sortIndex = -1\n let sortOrder: SortOrder = 'none'\n\n if (active) {\n const { order, index } = sortMap.get(col.code) as any\n sortOrder = order\n sortIndex = index\n\n if (highlightColumnWhenActive) {\n result.headerCellProps = mergeCellProps(col.headerCellProps, {\n style: { background: 'var(--header-highlight-bgcolor)' } as any\n })\n result.getCellProps = (value, row, rowIndex) => {\n const prevCellProps = internals.safeGetCellProps(col, row, rowIndex)\n return mergeCellProps(prevCellProps, {\n style: { background: 'var(--highlight-bgcolor)' } as any\n })\n }\n }\n }\n\n const sortNode = (\n <SortHeaderCell\n onToggle={(e) => {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(col.code)\n }}\n sortOrder={sortOrder}\n column={col}\n sortIndex={sortIndex}\n sortOptions={sortOptions}\n >\n {internals.safeRenderHeader({ ...col, title: col.title && col.title[0] ? col.title[0] : col.title })}\n </SortHeaderCell>\n )\n const _sortNodeWithoutTitle = (\n <SortHeaderCell\n onToggle={(e) => {\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n toggle(col.code)\n }}\n sortOrder={sortOrder}\n column={col}\n sortIndex={sortIndex}\n sortOptions={sortOptions}\n >\n </SortHeaderCell>\n )\n // 开启标题行高自适应后,修改表头的渲染结构\n if(col.renderHeader){\n result.title = col.renderHeader(result.title,_sortNodeWithoutTitle )\n } else{\n if (result.title && result.title[0]) {\n result.title[0] = sortNode\n } else {\n result.title = sortNode\n }\n }\n }\n\n if (!isLeafNode(col)) {\n result.children = col.children.map(dfs)\n }\n\n return result\n }\n }\n\n function getNextOrder (order: SortOrder) {\n const idx = orders.indexOf(order)\n return orders[idx === orders.length - 1 ? 0 : idx + 1]\n }\n }\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { icons } from '../../common-views'\nimport { internals } from '../../internals'\nimport { makeRecursiveMapper } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nimport { swapRTLDirection } from '../../base/utils'\n\nconst HeaderCellWithTips = styled.div`\n display: flex;\n align-items: center;\n\n .tip-icon-wrapper {\n margin-${props => swapRTLDirection(props.direction, 'left')}: 2px;\n }\n\n .tip-icon {\n display: flex;\n fill: currentColor;\n }\n`\n\nexport function tips () {\n return function tipsSteap (pipeline: TablePipeline) {\n const Balloon = pipeline.ctx.components.Balloon\n const Tooltip = pipeline.ctx.components.Tooltip\n\n if (Balloon == null && Tooltip == null) {\n throw new Error('使用 tips 之前需要通过 pipeline context 设置 components.Balloon / components.Tooltip')\n }\n\n return pipeline.mapColumns(\n makeRecursiveMapper((col) => {\n if (!col.features?.tips) {\n return col\n }\n\n const justifyContent = col.align === 'right' ? 'flex-end' : col.align === 'center' ? 'center' : 'flex-start'\n\n return {\n ...col,\n title: (\n <HeaderCellWithTips style={{ justifyContent }} direction={pipeline.ctx.direction}>\n {internals.safeRenderHeader(col)}\n {Balloon ? (\n // fusion/hippo\n <Balloon\n closable={false}\n trigger={\n <div className=\"tip-icon-wrapper\">\n <icons.Info className=\"tip-icon\" />\n </div>\n }\n >\n {col.features.tips}\n </Balloon>\n ) : (\n // antd\n <Tooltip title={col.features.tips}>\n <div className=\"tip-icon-wrapper\">\n <icons.Info className=\"tip-icon\" />\n </div>\n </Tooltip>\n )}\n </HeaderCellWithTips>\n )\n }\n })\n )\n }\n}\n","import { AbstractTreeNode } from '../../interfaces'\nimport isLeafNode from '../isLeafNode'\nimport { arrayUtils } from '../others'\n\nclass Wrapper<N extends AbstractTreeNode> {\n constructor(input?: Partial<Wrapper<N>>) {\n Object.assign(this, input)\n }\n\n /** 是否为根节点 */\n root?: boolean\n\n /** 子节点数组 */\n children?: Wrapper<N>[]\n\n /** 父节点 (parent wrapper node) */\n parent?: Wrapper<N>\n\n /** 指向对应的普通节点 */\n node: N\n\n /** 该节点是否「选中」 */\n checked?: boolean\n}\n\nexport interface StrictTreeDataHelperOptions<N extends AbstractTreeNode> {\n tree: N[]\n getNodeValue(node: N): string\n value: string[]\n}\n\nexport default class StrictTreeDataHelper<N extends AbstractTreeNode> {\n private readonly opts: StrictTreeDataHelperOptions<N>\n private readonly valueSet: ReadonlySet<string>\n\n private wrapperMap: Map<string, Wrapper<N>>\n private rootWrapper: Wrapper<N>\n\n constructor(opts: StrictTreeDataHelperOptions<N>) {\n this.opts = opts\n this.valueSet = new Set(opts.value)\n this.initWrapperTree()\n }\n\n private initWrapperTree() {\n const { getNodeValue } = this.opts\n\n this.rootWrapper = new Wrapper<N>({ root: true, children: [] })\n this.wrapperMap = new Map<string, Wrapper<N>>()\n\n const dfs = (parentWrapper: Wrapper<N>, nodes: N[]) => {\n for (const node of nodes) {\n const wrapper = new Wrapper<N>({\n parent: parentWrapper,\n node,\n checked: this.valueSet.has(getNodeValue(node)),\n })\n this.wrapperMap.set(getNodeValue(node), wrapper)\n parentWrapper.children.push(wrapper)\n\n if (!isLeafNode(node)) {\n wrapper.children = []\n dfs(wrapper, node.children as N[])\n }\n }\n }\n\n dfs(this.rootWrapper, this.opts.tree)\n }\n\n private get value() {\n return this.opts.value\n }\n\n public isIndeterminate(nodeValue: string) {\n return false\n }\n\n public isChecked(nodeValue: string) {\n return this.valueSet.has(nodeValue)\n }\n\n public getValueAfterCheck(nodeValue: string) {\n if (!this.isChecked(nodeValue)) {\n return arrayUtils.merge(this.value, [nodeValue])\n }\n return this.value\n }\n\n public getValueAfterUncheck(nodeValue: string) {\n if (this.isChecked(nodeValue)) {\n return arrayUtils.diff(this.value, [nodeValue])\n }\n return this.value\n }\n\n public getValueAfterToggle(nodeValue: string) {\n if (this.isChecked(nodeValue)) {\n return this.getValueAfterUncheck(nodeValue)\n } else {\n return this.getValueAfterCheck(nodeValue)\n }\n }\n\n public getNode(nodeValue: string) {\n return this.wrapperMap.get(nodeValue)?.node\n }\n\n public getCleanValue() {\n return this.value\n }\n}\n","import { AbstractTreeNode } from '../../interfaces'\nimport isLeafNode from '../isLeafNode'\nimport { arrayUtils } from '../others'\nimport console from '../console'\n\nclass Wrapper<N extends AbstractTreeNode> {\n constructor(input?: Partial<Wrapper<N>>) {\n Object.assign(this, input)\n }\n\n /** 是否为根节点 */\n root?: boolean\n\n /** 子节点数组 */\n children?: Wrapper<N>[]\n\n /** 父节点 (parent wrapper node) */\n parent?: Wrapper<N>\n\n /** 指向对应的普通节点 */\n node: N\n\n /** 是否与其父节点脱离关联 */\n detached?: boolean\n\n /** 是否「选中」 */\n checked?: boolean\n\n /** 该节点是否「恰好选中」 (即节点的值是否在 value 数组中) */\n exactChecked?: boolean\n\n /** 父节点是否被选中 */\n parentChecked?: boolean\n\n /** 是否有任意子孙节点被选中 */\n anyDescendentsChecked?: boolean\n\n /** 该节点的所有子孙节点是否均为选中 */\n allChildrenChecked?: boolean\n}\n\nexport type CheckedStrategy = 'all' | 'parent' | 'child'\n\nexport interface TreeDataHelperOptions<N extends AbstractTreeNode> {\n tree: N[]\n getNodeValue(node: N): string\n value: string[]\n checkedStrategy: CheckedStrategy\n isDetached?(node: N): boolean\n}\n\nexport default class TreeDataHelper<N extends AbstractTreeNode> {\n private readonly opts: TreeDataHelperOptions<N>\n private readonly valueSet: ReadonlySet<string>\n\n private wrapperMap: Map<string, Wrapper<N>>\n private rootWrapper: Wrapper<N>\n\n constructor(opts: TreeDataHelperOptions<N>) {\n this.opts = opts\n this.valueSet = new Set(opts.value)\n this.initWrapperTree()\n }\n\n private get value() {\n return this.opts.value\n }\n\n private isDetached = (node: N) => {\n return this.opts.isDetached?.(node) ?? false\n }\n\n private initWrapperTree() {\n const valueSet = new Set(this.value)\n this.rootWrapper = new Wrapper<N>({ root: true, children: [] })\n this.wrapperMap = new Map<string, Wrapper<N>>()\n\n const getNodeValue = this.opts.getNodeValue\n const { isDetached, wrapperMap } = this\n\n dfs(this.rootWrapper, this.opts.tree, false)\n\n function dfs(parentWrapper: Wrapper<N>, nodes: N[], inheritParentChecked: boolean) {\n // allChildrenChecked 先默认设置为 true\n // dfs 过程中可能会更新 allChildrenChecked\n parentWrapper.allChildrenChecked = true\n if (process.env.NODE_ENV !== 'production') {\n if (nodes.every(isDetached)) {\n console.warn(\n 'TreeDataHelper 检测到部分节点的下所有子节点均为 detached 状态,这将导致该节点变为「无效节点」',\n parentWrapper.node,\n )\n }\n }\n\n for (const node of nodes) {\n const detached = isDetached(node)\n\n const exactChecked = valueSet.has(getNodeValue(node))\n if (exactChecked && !detached) {\n parentWrapper.anyDescendentsChecked = true\n }\n\n const parentChecked = !detached && inheritParentChecked\n const checked = exactChecked || parentChecked\n const wrapper = new Wrapper<N>({\n parent: parentWrapper,\n node,\n checked,\n exactChecked,\n parentChecked,\n anyDescendentsChecked: checked,\n detached,\n })\n wrapperMap.set(getNodeValue(node), wrapper)\n parentWrapper.children.push(wrapper)\n\n if (!isLeafNode(node)) {\n wrapper.children = []\n\n dfs(wrapper, node.children as N[], checked)\n\n if (wrapper.anyDescendentsChecked && !detached) {\n parentWrapper.anyDescendentsChecked = true\n }\n if (wrapper.allChildrenChecked) {\n wrapper.checked = true\n // 当一个节点因为「子节点被全选」而变为 checked 时,我们需要更新子节点的 parentChecked 字段\n for (const child of wrapper.children) {\n if (!child.detached) {\n child.parentChecked = true\n }\n }\n }\n }\n if (!wrapper.checked && !detached) {\n parentWrapper.allChildrenChecked = false\n }\n }\n }\n }\n\n public isIndeterminate(nodeValue: string) {\n const wrapper = this.wrapperMap.get(nodeValue)\n return !wrapper.checked && wrapper.anyDescendentsChecked\n }\n\n public isChecked(nodeValue: string) {\n const wrapper = this.wrapperMap.get(nodeValue)\n return wrapper.checked\n }\n\n public getValueAfterCheck(nodeValue: string) {\n if (this.isChecked(nodeValue)) {\n return this.getCleanValue()\n }\n const nextValue = arrayUtils.merge(this.value, [nodeValue])\n return new TreeDataHelper({ ...this.opts, value: nextValue }).getCleanValue()\n }\n\n public getValueAfterUncheck(nodeValue: string) {\n if (!this.isChecked(nodeValue)) {\n return this.getCleanValue()\n }\n\n const wrapper = this.wrapperMap.get(nodeValue)\n const { getNodeValue } = this.opts\n\n const appendArray = getAppendArray(wrapper)\n const removeSet = getRemoveSet(wrapper)\n\n const nextValue = arrayUtils.diff(this.value.concat(appendArray), removeSet)\n\n return new TreeDataHelper({ ...this.opts, value: nextValue }).getCleanValue()\n\n function getAppendArray(startWrapper: Wrapper<N>) {\n let result: string[] = []\n\n let current = startWrapper\n while (current.parentChecked && !current.detached) {\n for (const sibling of current.parent.children) {\n if (sibling === current || sibling.exactChecked || sibling.detached) {\n continue\n }\n result.push(getNodeValue(sibling.node))\n }\n current = current.parent\n }\n\n return result\n }\n\n function getRemoveSet(startWrapper: Wrapper<N>) {\n const result = new Set<string>()\n\n let wrapper = startWrapper\n // 不断向上收集选中的父节点\n while (true) {\n result.add(getNodeValue(wrapper.node))\n if (wrapper.detached || !wrapper.parentChecked) {\n break\n }\n wrapper = wrapper.parent\n }\n\n function dfs(wrappers: Wrapper<N>[]) {\n if (wrappers == null) {\n return\n }\n for (const wrapper of wrappers) {\n if (wrapper.detached || !wrapper.checked) {\n continue\n }\n result.add(getNodeValue(wrapper.node))\n if (!isLeafNode(wrapper) && wrapper.anyDescendentsChecked) {\n dfs(wrapper.children)\n }\n }\n }\n // 收集所有的子孙节点\n dfs(startWrapper.children)\n\n return result\n }\n }\n\n public getValueAfterToggle(nodeValue: string) {\n if (this.isChecked(nodeValue)) {\n return this.getValueAfterUncheck(nodeValue)\n } else {\n return this.getValueAfterCheck(nodeValue)\n }\n }\n\n public getNode(nodeValue: string) {\n return this.wrapperMap.get(nodeValue)?.node\n }\n\n public getCleanValue() {\n const { checkedStrategy, getNodeValue } = this.opts\n\n const result = this.value.filter((nodeValue) => {\n return !this.wrapperMap.has(nodeValue)\n })\n\n dfs(this.rootWrapper.children)\n\n return result\n\n function dfs(wrappers: Wrapper<N>[]) {\n for (const wrapper of wrappers) {\n if (wrapper.checked) {\n if (checkedStrategy === 'all') {\n result.push(getNodeValue(wrapper.node))\n } else if (checkedStrategy === 'parent') {\n if (!wrapper.parentChecked) {\n result.push(getNodeValue(wrapper.node))\n }\n } else {\n // checkedStrategy === 'child'\n if (isLeafNode(wrapper)) {\n result.push(getNodeValue(wrapper.node))\n }\n }\n }\n if (!isLeafNode(wrapper)) {\n dfs(wrapper.children)\n }\n }\n }\n }\n}\n","import React from 'react'\nimport { ArtColumn, CellProps } from '../../interfaces'\nimport { always } from '../../utils/others'\nimport StrictTreeDataHelper from '../../utils/tree-data-helpers/StrictTreeDataHelper'\nimport TreeDataHelper from '../../utils/tree-data-helpers/TreeDataHelper'\nimport { TablePipeline } from '../pipeline'\n\nexport interface TreeSelectFeatureOptions {\n /** 完整的树 */\n tree: any[]\n\n /** 虚拟的根节点值;该参数非空时,treeSelect 将会在 tree 参数之上再添加一个父节点 */\n rootKey?: string\n\n /** 父子节点选中状态是否不再关联。设置为 true 之后,父节点和子节点的 value 独立管理,不再联动 */\n checkStrictly?: boolean\n\n /**\n * 定义选中时回填的方式,可选值:\n * - 'all'(返回所有选中的节点)\n * - 'parent'(父子节点都选中时只返回父节点)\n * - 'child'(父子节点都选中时只返回子节点)\n */\n checkedStrategy?: 'all' | 'parent' | 'child'\n\n /** 复选框所在列的位置 */\n checkboxPlacement?: 'start' | 'end'\n\n /** 复选框所在列的 column 配置,可指定 width,lock, title, align, features 等属性 */\n checkboxColumn?: Partial<ArtColumn>\n\n /** 受控用法:当前选中的值 */\n value?: string[]\n\n /** 非受控用法:默认选中的值 */\n defaultValue?: string[]\n\n /** 受控用法:状态改变回调 */\n onChange?(nextValue: string[]): void\n\n /** 点击事件的响应区域 */\n clickArea?: 'checkbox' | 'cell' | 'row'\n\n /** 是否对触发 onChange 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n /** 被选中时是否高亮整行 */\n highlightRowWhenSelected?: boolean\n\n /** 是否禁用该节点的交互 */\n isDisabled?(row: any): boolean\n\n /** 是否让该节点对应的子树 与其父节点脱离联动 */\n idDetached?(row: any): boolean\n}\n\nconst STATE_KEY = 'treeSelect'\n\nexport function treeSelect (opts: TreeSelectFeatureOptions) {\n return function treeSelectStep (pipeline: TablePipeline) {\n const Checkbox = pipeline.ctx.components.Checkbox\n if (Checkbox == null) {\n throw new Error('使用 treeSelect 之前需要通过 pipeline context 设置 components.Checkbox')\n }\n const primaryKey = pipeline.ensurePrimaryKey('treeSelect') as string\n if (typeof primaryKey !== 'string') {\n throw new Error('treeSelect 仅支持字符串作为 primaryKey')\n }\n const clickArea = opts.clickArea ?? 'checkbox'\n const isDisabled = opts.isDisabled ?? always(false)\n const isDetached = opts.idDetached ?? always(false)\n\n const value = opts.value ?? pipeline.getStateAtKey(STATE_KEY) ?? opts.defaultValue ?? []\n const tree = opts.rootKey != null ? [{ [primaryKey]: opts.rootKey, children: opts.tree }] : opts.tree\n const getNodeValue = (node: any) => node[primaryKey]\n\n const treeDataHelper = opts.checkStrictly\n ? new StrictTreeDataHelper({ value, getNodeValue, tree })\n : new TreeDataHelper({\n value,\n getNodeValue,\n isDetached,\n tree,\n checkedStrategy: opts.checkedStrategy ?? 'parent'\n })\n\n const onToggleKey = (key: string) => {\n const nextValue = treeDataHelper.getValueAfterToggle(key)\n pipeline.setStateAtKey(STATE_KEY, nextValue)\n opts.onChange?.(nextValue)\n }\n\n const makeCheckbox = (key: string, root: boolean, row?: any) => {\n return (\n <Checkbox\n checked={treeDataHelper.isChecked(key)}\n indeterminate={treeDataHelper.isIndeterminate(key)}\n disabled={!root && isDisabled(row)}\n onChange={clickArea === 'checkbox' || root ? () => onToggleKey(key) : undefined}\n />\n )\n }\n\n const checkboxColumn: ArtColumn = {\n name: '',\n width: 50,\n align: 'center',\n title: opts.rootKey != null ? makeCheckbox(opts.rootKey, true) : undefined,\n ...opts.checkboxColumn,\n render(value, record) {\n return makeCheckbox(record[primaryKey], false, record)\n },\n getCellProps(value: any, row: any): CellProps {\n const rowKey = row[primaryKey]\n if (clickArea !== 'cell') {\n return\n }\n\n const disabled = isDisabled(row)\n if (disabled) {\n return { style: { cursor: 'not-allowed' } }\n }\n\n return {\n style: { cursor: 'pointer' },\n onClick(e) {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n onToggleKey(rowKey)\n },\n }\n },\n }\n\n const nextColumns = pipeline.getColumns().slice()\n const checkboxPlacement = opts.checkboxPlacement ?? 'start'\n if (checkboxPlacement === 'start') {\n nextColumns.unshift(checkboxColumn)\n } else {\n nextColumns.push(checkboxColumn)\n }\n pipeline.columns(nextColumns)\n\n if (clickArea === 'row') {\n pipeline.appendRowPropsGetter((row) => {\n const disabled = isDisabled(row)\n if (!disabled) {\n return {\n style: { cursor: 'pointer' },\n onClick(e) {\n if (opts.stopClickEventPropagation) {\n e.stopPropagation()\n }\n onToggleKey(row[primaryKey])\n },\n }\n }\n })\n }\n\n if (opts.highlightRowWhenSelected) {\n pipeline.appendRowPropsGetter((row) => {\n if (treeDataHelper.isChecked(row[primaryKey])) {\n return { className: 'highlight' }\n }\n })\n }\n\n return pipeline\n }\n}\n","// 统一获取事件坐标的函数\nexport function getEventCoordinates (event: MouseEvent | TouchEvent) {\n if ('touches' in event && event.touches.length > 0) {\n return {\n clientX: event.touches[0].clientX,\n clientY: event.touches[0].clientY\n }\n } else if ('changedTouches' in event && event.changedTouches.length > 0) {\n return {\n clientX: event.changedTouches[0].clientX,\n clientY: event.changedTouches[0].clientY\n }\n } else {\n return {\n clientX: (event as MouseEvent).clientX,\n clientY: (event as MouseEvent).clientY\n }\n }\n}\n\n// 获取事件目标元素\nexport function getEventTarget (event: MouseEvent | TouchEvent) {\n if ('touches' in event && event.touches.length > 0) {\n return document.elementFromPoint(event.touches[0].clientX, event.touches[0].clientY)\n }\n // 处理touchend事件,此时touches为空,需要使用changedTouches\n if ('changedTouches' in event && event.changedTouches.length > 0) {\n return document.elementFromPoint(event.changedTouches[0].clientX, event.changedTouches[0].clientY)\n }\n return event.target\n}\n\n// 判断是否为触摸事件\nexport function isTouchEvent (event: MouseEvent | TouchEvent): event is TouchEvent {\n return 'touches' in event\n}\n\n// 为元素添加统一的指针事件监听器\nexport function addPointerEventListeners (\n element: Element | Window | Document,\n handlers: {\n onPointerMove: (e: MouseEvent | TouchEvent) => void\n onPointerUp: (e: MouseEvent | TouchEvent) => void\n },\n isTouchStart: boolean\n) {\n if (isTouchStart) {\n element.addEventListener('touchmove', handlers.onPointerMove as any, { passive: false })\n element.addEventListener('touchend', handlers.onPointerUp as any, { passive: false })\n } else {\n element.addEventListener('mousemove', handlers.onPointerMove as any)\n element.addEventListener('mouseup', handlers.onPointerUp as any)\n }\n}\n\n// 移除统一的指针事件监听器\nexport function removePointerEventListeners (\n element: Element | Window | Document,\n handlers: {\n onPointerMove: (e: MouseEvent | TouchEvent) => void\n onPointerUp: (e: MouseEvent | TouchEvent) => void\n },\n isTouchStart: boolean\n) {\n if (isTouchStart) {\n element.removeEventListener('touchmove', handlers.onPointerMove as any)\n element.removeEventListener('touchend', handlers.onPointerUp as any)\n } else {\n element.removeEventListener('mousemove', handlers.onPointerMove as any)\n element.removeEventListener('mouseup', handlers.onPointerUp as any)\n }\n}\n\n// 检查是否移动了足够的距离(用于区分点击和拖拽)\nexport function hasMovedEnough (\n startX: number,\n startY: number,\n endX: number,\n endY: number,\n threshold = 5\n): boolean {\n const xDiff = endX - startX\n const yDiff = endY - startY\n return Math.sqrt(xDiff * xDiff + yDiff * yDiff) > threshold\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { fromEvent } from 'rxjs'\nimport * as op from 'rxjs/operators'\nimport { ArtColumn } from '../../interfaces'\nimport { mergeCellProps, collectNodes, makeRecursiveMapper, isGroupColumn } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nimport { internals } from '../../internals'\nimport { Classes } from '../../base/styles'\nimport { swapRTLDirection } from '../../base/utils'\nimport { getEventCoordinates } from './utils/touchEventUtils'\n\nconst TableHeaderCellResize = styled.div`\n position: absolute;\n top: 0;\n ${props => swapRTLDirection(props.direction, 'right')}: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n ${props => swapRTLDirection(props.direction, 'left')}: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n`\n\nconst TableHeaderGroupCellResize = styled(props => <TableHeaderCellResize {...props}/>)`\n &:after {\n height: 100%;\n top: 0;\n }\n`\n\ninterface ColumnSize {\n [key: string]: number\n}\n\ninterface ChangedColumnSize {\n code: string\n width: number\n}\nexport interface ColumnResizeOptions {\n columnSize?: ColumnSize\n /** 列的最小宽度,默认为 60 */\n minSize?: number\n /** 如果列宽数组中没有提供有效的宽度,fallbackSize 将作为该列的宽度,默认为 150 */\n fallbackSize?: number\n /** 列的最大宽度,默认为 1000 */\n maxSize?: number\n\n doubleClickCallback?(e: React.MouseEvent<HTMLSpanElement>, col: ArtColumn):void\n\n onChangeSize?(nextSize: ColumnSize): void\n afterChangeSize?(nextSize: ColumnSize, changedColumnSize: ChangedColumnSize[]): void\n}\n\nfunction clamp (min: number, x: number, max: number) {\n return Math.max(min, Math.min(max, x))\n}\n\nfunction disableSelect (event) {\n event.preventDefault()\n}\n\nconst stateKey = 'columnResize'\nexport const COLUMN_SIZE_KEY = 'columnResize'\nexport const RESIZED_COLUMN_KEY = 'resizedColumn'\nexport const LAST_RESIZED_COLUMN_KEY = 'lastResizedColumn'\n\nexport function columnResize (opts: ColumnResizeOptions = {}) {\n const minSize = opts.minSize ?? 60\n const fallbackSize = opts.fallbackSize ?? 150\n const maxSize = opts.maxSize ?? 1000\n return function columnResizeFeature (pipeline: TablePipeline) {\n const columnSize: ColumnSize = opts.columnSize ?? pipeline.getStateAtKey(stateKey) ?? {}\n const leafColumns = collectNodes(pipeline.getColumns(), 'leaf-only')\n leafColumns.forEach(({ code, width }) => {\n if (columnSize[code] === undefined) {\n if (typeof width === 'number') {\n columnSize[code] = width\n } else {\n columnSize[code] = fallbackSize\n }\n }\n })\n\n // 实时存储一份最新的columnSize,与autoFill共用一份数据\n // 存在state里可能存到取不到最新的\n pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize)\n\n const onChangeSize = (nextColumnSize: ColumnSize) => {\n window.requestAnimationFrame(() => {\n pipeline.setStateAtKey(stateKey, nextColumnSize)\n opts?.onChangeSize?.(nextColumnSize)\n })\n }\n\n const handleDoubleClick = (e: React.MouseEvent<HTMLSpanElement>, col: ArtColumn) => {\n opts.doubleClickCallback?.(e, col)\n }\n\n // 通用的拖拽处理逻辑\n const handleResize = (startEvent: MouseEvent | TouchEvent, col: ArtColumn, eventType: 'mouse' | 'touch') => {\n window.addEventListener('selectstart', disableSelect)\n const changedColumnSize = {}\n const startCoordinates = getEventCoordinates(startEvent)\n const startX = startCoordinates.clientX\n const { children, code, features = {} } = col\n const { minWidth, maxWidth } = features\n const realMinSize = typeof minWidth === 'number' ? minWidth : minSize\n const realMaxSize = typeof maxWidth === 'number' ? maxWidth : maxSize\n const columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY)\n let recordColumnSize = columnSize\n\n // 根据事件类型选择不同的事件监听器\n const moveEventName = eventType === 'mouse' ? 'mousemove' : 'touchmove'\n const endEventName = eventType === 'mouse' ? 'mouseup' : 'touchend'\n const moveEventOptions = eventType === 'touch' ? { passive: false } : undefined\n const endEventOptions = eventType === 'touch' ? { passive: false } : undefined\n\n const nextSize$ = fromEvent<MouseEvent | TouchEvent>(window, moveEventName, moveEventOptions).pipe(\n op.takeUntil(fromEvent(window, endEventName, endEventOptions)),\n op.map((e) => {\n // 触摸事件需要阻止默认行为,防止页面滚动\n if (eventType === 'touch' && e.cancelable) {\n e.preventDefault()\n }\n const coordinates = getEventCoordinates(e)\n const movingX = coordinates.clientX\n const nextColumnSize = { ...columnSize }\n const deltaSum = pipeline.ctx.direction === 'rtl' ? startX - movingX : movingX - startX\n let deltaRemaining = deltaSum\n if (children?.length > 0) {\n const leafChildColumns = collectNodes(children, 'leaf-only')\n const childrenWidthSum = leafChildColumns.reduce((sum, { code }) => { return sum + columnSize[code] }, 0)\n leafChildColumns.forEach(({ code }, index) => {\n const startSize = columnSize[code]\n const currentDeltaWidth = Math.round(deltaSum * startSize / childrenWidthSum)\n if (index < leafChildColumns.length - 1) {\n nextColumnSize[code] = clamp(realMinSize, startSize + currentDeltaWidth, realMaxSize)\n changedColumnSize[code] = nextColumnSize[code]\n deltaRemaining -= currentDeltaWidth\n } else {\n nextColumnSize[code] = clamp(realMinSize, startSize + deltaRemaining, realMaxSize)\n changedColumnSize[code] = nextColumnSize[code]\n }\n })\n } else {\n const startSize = columnSize[code]\n nextColumnSize[code] = clamp(realMinSize, startSize + deltaSum, realMaxSize)\n changedColumnSize[code] = nextColumnSize[code]\n }\n recordColumnSize = nextColumnSize\n return nextColumnSize\n })\n )\n\n nextSize$.subscribe({\n next: nextColumnSize => {\n onChangeSize(nextColumnSize)\n // 由于COLUMN_RESIZE_KEY记录的是全量的列宽,此处记录被改变过的列宽\n const resizedColumnSet = pipeline.getFeatureOptions(RESIZED_COLUMN_KEY) || new Set()\n Object.keys(changedColumnSize).forEach(code => {\n resizedColumnSet.add(code, changedColumnSize[code])\n })\n pipeline.setFeatureOptions(RESIZED_COLUMN_KEY, resizedColumnSet)\n pipeline.setFeatureOptions(LAST_RESIZED_COLUMN_KEY, code)\n },\n complete () {\n const changedColumnSizes = Object.keys(changedColumnSize).map(code => {\n return { code, width: changedColumnSize[code] }\n })\n window.requestAnimationFrame(() => {\n opts?.afterChangeSize?.(recordColumnSize, changedColumnSizes)\n })\n window.removeEventListener('selectstart', disableSelect)\n }\n })\n }\n\n const handleMouseDown = (e: React.MouseEvent<HTMLSpanElement>, col: ArtColumn) => {\n e.stopPropagation()\n handleResize(e.nativeEvent, col, 'mouse')\n }\n\n // 触摸事件处理函数\n const handleTouchStart = (e: React.TouchEvent<HTMLSpanElement>, col: ArtColumn) => {\n // 阻止触摸事件的默认行为\n if (e.cancelable) {\n e.preventDefault()\n }\n e.stopPropagation()\n handleResize(e.nativeEvent, col, 'touch')\n }\n\n const isGroup = isGroupColumn(pipeline.getColumns())\n\n return pipeline.mapColumns(makeRecursiveMapper((col) => {\n const prevTitle = internals.safeRenderHeader(col)\n const { code, features, width } = col\n return {\n ...col,\n width: columnSize[code] ?? width,\n title: (\n <>\n {prevTitle}\n {features?.resizeable !== false && (\n isGroup\n ? <TableHeaderGroupCellResize\n direction={pipeline.ctx.direction}\n className={Classes.tableHeaderCellResize}\n onDoubleClick={(e: React.MouseEvent<HTMLSpanElement>) => handleDoubleClick(e, col)}\n onMouseDown={(e: React.MouseEvent<HTMLSpanElement>) => handleMouseDown(e, col)}\n onTouchStart={(e: React.TouchEvent<HTMLSpanElement>) => handleTouchStart(e, col)}\n />\n : <TableHeaderCellResize\n direction={pipeline.ctx.direction}\n className={Classes.tableHeaderCellResize}\n onDoubleClick={(e: React.MouseEvent<HTMLSpanElement>) => handleDoubleClick(e, col)}\n onMouseDown={(e: React.MouseEvent<HTMLSpanElement>) => handleMouseDown(e, col)}\n onTouchStart={(e: React.TouchEvent<HTMLSpanElement>) => handleTouchStart(e, col)}\n />\n )}\n </>\n ),\n headerCellProps: mergeCellProps(col.headerCellProps, {\n className: 'resizeable'\n })\n }\n }))\n }\n}\n","import { getLeftNestedLockCount } from '../../base/calculations'\nimport { isLeafNode, makeRecursiveMapper } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nimport { Classes } from '../../base/styles'\nimport { COLUMN_SIZE_KEY, LAST_RESIZED_COLUMN_KEY, RESIZED_COLUMN_KEY } from './columnResizeWidth'\nimport { ArtColumn } from '../../interfaces'\n\nexport const FILL_COLUMN_CODE = '$_fill_column_&'\n\nexport const tableWidthKey = 'tableWidth'\n\nconst FLEX_COLUMN_COUNT = Symbol('flexCount')\n\nexport const autoFillTableWidth = () => (pipeline: TablePipeline) => {\n const flexColumnResult = findFlexColumns(pipeline)\n const flexCount = flexColumnResult.get(FLEX_COLUMN_COUNT)\n\n if (flexCount) { // 设置了flex宽度,flex列平分剩余宽度\n const remainingWidth = getTableRemainingWidth(pipeline) || 0\n if (remainingWidth > 0) {\n // 保存剩余的flex总和和剩余宽度总和宽度\n let residualFlexCount = flexCount\n let residualFlexWidth = remainingWidth\n const columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY)\n const enableColumnResizeWidthFeature = !!columnSize\n pipeline.mapColumns(\n makeRecursiveMapper((col, recursiveFlatMapInfo) => {\n const { isLeaf } = recursiveFlatMapInfo\n if (isLeaf && isValidFlexColumn(col, pipeline)) {\n const { code, features = {} } = col\n const { flex, minWidth = 0, maxWidth = Number.MAX_SAFE_INTEGER } = features\n const usedRemainingWidth = Math.floor(remainingWidth * flex / flexCount)\n const preColWidth = col.width\n // 如果当前已经是最后一个flex列,将剩余的宽度添加到该列,其他计算相应的列\n col.width = clamp(minWidth, preColWidth + (residualFlexCount === flex ? residualFlexWidth : usedRemainingWidth), maxWidth)\n residualFlexCount -= flex\n residualFlexWidth -= (col.width - preColWidth)\n if (enableColumnResizeWidthFeature) {\n columnSize[code] = col.width\n }\n }\n return col\n })\n )\n enableColumnResizeWidthFeature && pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize)\n }\n } else { // 未设置了flex宽度,创建占位列\n const columns = pipeline.getColumns()\n const fillColumns = columns.find(col => col.code === FILL_COLUMN_CODE)\n const width = getTableRemainingWidth(pipeline) || 0\n if (fillColumns) {\n fillColumns.width = width\n } else {\n const rightNestedLockCount = getLeftNestedLockCount(columns.slice().reverse())\n const spliceIndex = columns.length - rightNestedLockCount\n const fillColumns = {\n name: '',\n code: FILL_COLUMN_CODE,\n width: width,\n features: {\n resizeable: false\n },\n getCellProps: (value: any, record: any, rowIndex: number) => {\n return {\n className: Classes.emptyColCell\n }\n }\n }\n columns.splice(spliceIndex || columns.length, 0, fillColumns)\n }\n pipeline.columns(columns)\n }\n\n return pipeline\n\n function findFlexColumns (pipeline: TablePipeline) {\n const result = new Map([[FLEX_COLUMN_COUNT, 0]])\n dfs(pipeline.getColumns(), result)\n return result\n function dfs (columns: ArtColumn[], result: Map<any, any>) {\n columns.forEach(col => {\n if (isLeafNode(col)) {\n if (isValidFlexColumn(col, pipeline)) {\n result.set(FLEX_COLUMN_COUNT, result.get(FLEX_COLUMN_COUNT) + col.features.flex)\n }\n } else {\n dfs(col.children, result)\n }\n })\n }\n }\n}\n\nfunction getColumnWidthSum (pipeline: TablePipeline) {\n return dfs(pipeline.getColumns())\n function dfs (columns: ArtColumn[]) {\n return columns.reduce((acc, col) => {\n const { width, code } = col\n if (isLeafNode(col) && code !== FILL_COLUMN_CODE) {\n const resizeColumn = pipeline.getFeatureOptions(COLUMN_SIZE_KEY)\n return acc + ((resizeColumn && resizeColumn[code]) || width)\n } else {\n return acc + dfs(col.children)\n }\n }, 0)\n }\n}\n\nfunction getTableRemainingWidth (pipeline: TablePipeline) {\n const tableWidth = pipeline.ref.current.domHelper?.tableBody?.clientWidth || pipeline.getStateAtKey(tableWidthKey)\n if (!tableWidth) return\n const remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline))\n return remainingWidth > 0 ? remainingWidth : 0\n}\n\nfunction isAfterLastResizeCol (column: ArtColumn, pipeline: TablePipeline) {\n const lastResizedColumnCode = pipeline.getFeatureOptions(LAST_RESIZED_COLUMN_KEY)\n if (lastResizedColumnCode === undefined) return true\n const lastResizedColumnIndex = pipeline.getColumns().findIndex(col => col.code === lastResizedColumnCode)\n const colIndex = pipeline.getColumns().findIndex(col => col.code === column.code)\n return colIndex > lastResizedColumnIndex\n}\n\nfunction isValidFlexColumn (col: ArtColumn, pipeline: TablePipeline) {\n const resizeColumn = pipeline.getFeatureOptions(RESIZED_COLUMN_KEY)\n // 拖拽列自动禁止flex\n if (resizeColumn?.has(col.code)) {\n return false\n }\n const flex = col.features?.flex\n return typeof flex === 'number' && flex > 0 && isAfterLastResizeCol(col, pipeline)\n}\n\nfunction clamp (min: number, x: number, max: number) {\n return Math.max(min, Math.min(max, x))\n}\n","import { TablePipeline } from '../pipeline'\nimport { makeRecursiveMapper, mergeCellProps, collectNodes, isLeafNode, isSelectColumn } from '../../utils'\nimport { ArtColumn, CellProps } from '../../interfaces'\nimport { FILL_COLUMN_CODE } from './autoFill'\nimport { getEventCoordinates, hasMovedEnough, addPointerEventListeners, removePointerEventListeners } from './utils/touchEventUtils'\n\nconst stateKey = 'columnDrag'\nconst SCROLL_SIZE = 30\n\nfunction disableSelect (event) {\n event.preventDefault()\n}\nexport interface ColumnDragOptions {\n onColumnDragStopped?: (columnMoved: boolean, columns: ArtColumn[]) => void,\n onColumnDragStart?:(startColumn: ArtColumn) => void\n}\n\nfunction sortColumns (columns: any[], sort: any) {\n const res = new Array(columns.length)\n const lastColumns = [...columns]\n while (columns.length) {\n const cloumn = columns.pop()\n res[sort[cloumn.code]] = cloumn\n }\n if (res.filter(Boolean).length !== lastColumns.length) {\n return lastColumns\n }\n return res\n}\n\nfunction stopClickPropagation (e) {\n e.stopPropagation()\n}\n\nfunction adjustTranslation (isRTL: boolean) {\n return (value: number): number => {\n return isRTL ? -value : value\n }\n}\n\nexport function columnDrag (opts: ColumnDragOptions = {}) {\n return (pipeline: TablePipeline) => {\n const { direction } = pipeline.ctx\n const _adjustTranslation = adjustTranslation(direction === 'rtl')\n const { cloumnsTranslateData } = pipeline.getStateAtKey(stateKey, {} as any)\n const columns = pipeline.getColumns()\n const tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody\n // if (cloumnsSortData) {\n // columns = sortColumns(columns, cloumnsSortData)\n // }\n\n pipeline.columns(columns.filter(column => column))\n\n return pipeline.mapColumns(\n makeRecursiveMapper((col, recursiveFlatMapInfo) => {\n const { path, isLeaf } = recursiveFlatMapInfo\n const style: any = cloumnsTranslateData ? {\n transition: '.3s',\n transform: `translate3d(${cloumnsTranslateData[col.code]}px, 0px, 0px)`\n } : null\n const prevGetCellProps = col.getCellProps\n // !col.code: 选择列 col.lock: 固定列 不允许拖拽\n if (col.lock || !col.code) return col\n\n // 没有拖拽进行时,不包装 getCellProps,避免每个 cell 多一层函数调用\n if (style == null) {\n return {\n ...col,\n headerCellProps: mergeCellProps(col.headerCellProps, {\n ...((isLeaf && path.length === 1) ? {\n onMouseDown: (e: React.MouseEvent<HTMLElement>) => {\n if (e.button !== 0 || !e.currentTarget.contains(e.target as HTMLElement)) {\n return\n }\n handlePointerDown(e.nativeEvent, false, e.currentTarget as HTMLElement)\n },\n onTouchStart: (e: React.TouchEvent<HTMLElement>) => {\n if (e.cancelable) {\n e.preventDefault()\n }\n handlePointerDown(e.nativeEvent, true, e.currentTarget as HTMLElement)\n }\n } : {})\n })\n }\n }\n\n return {\n ...col,\n getCellProps (value: any, record: any, rowIndex: number): CellProps {\n const prevCellProps = prevGetCellProps?.(value, record, rowIndex)\n if (style == null) return prevCellProps\n return mergeCellProps(prevCellProps, {\n style: style as any\n })\n },\n headerCellProps: mergeCellProps(col.headerCellProps, {\n // 通用的拖拽处理逻辑\n ...((isLeaf && path.length === 1) ? {\n onMouseDown: (e: React.MouseEvent<HTMLElement>) => {\n if (e.button !== 0 || !e.currentTarget.contains(e.target as HTMLElement)) {\n return\n }\n handlePointerDown(e.nativeEvent, false, e.currentTarget as HTMLElement)\n },\n onTouchStart: (e: React.TouchEvent<HTMLElement>) => {\n // 阻止触摸事件的默认行为\n if (e.cancelable) {\n e.preventDefault()\n }\n handlePointerDown(e.nativeEvent, true, e.currentTarget as HTMLElement)\n }\n } : {}),\n style\n })\n }\n\n // 统一的拖拽处理函数\n function handlePointerDown (startEvent: MouseEvent | TouchEvent, isTouch: boolean, currentTarget: HTMLElement) {\n window.addEventListener('selectstart', disableSelect)\n let columnMoved = false\n const columns = pipeline.getColumns()\n let { cloumnsTranslateData } = pipeline.getStateAtKey(stateKey, {} as any)\n const cloumnsSortData = {}\n columns.forEach((item, index) => {\n cloumnsSortData[item.code] = index\n })\n\n const rect = currentTarget.parentElement?.getClientRects()[0]\n if (!rect) return\n const startX = direction === 'rtl' ? rect.right : rect.left\n const startCoordinates = getEventCoordinates(startEvent)\n const mouseDownClientX = startCoordinates.clientX\n const mouseDownClientY = startCoordinates.clientY\n let moveData = []\n\n const allColumns = collectNodes(columns)\n const tableBodyClientRect = tableBody.getBoundingClientRect()\n const startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft\n\n const updateScrollPosition = (client: { clientX: number; clientY: number }) => {\n const { clientX } = client\n const { left, width } = tableBodyClientRect\n if (clientX + SCROLL_SIZE >= left + width) {\n pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE\n }\n if (clientX - SCROLL_SIZE <= left) {\n pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE\n }\n }\n\n function handlePointerMove (e: MouseEvent | TouchEvent) {\n // 触摸事件需要阻止默认行为,防止页面滚动\n if (isTouch && e.cancelable) {\n e.preventDefault()\n }\n\n const coordinates = getEventCoordinates(e)\n const client = {\n clientX: coordinates.clientX,\n clientY: coordinates.clientY\n }\n const scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft\n const startPosition = startX - scrollDistance // 表头最左边起点\n const offsetDistance = direction === 'rtl' ? startPosition - coordinates.clientX : coordinates.clientX - startPosition\n updateScrollPosition(client)\n if (offsetDistance < 20) {\n return\n } else {\n e.stopPropagation()\n }\n document.body.style.userSelect = 'none'\n currentTarget.style.cursor = 'move'\n\n // 重置位置信息\n cloumnsTranslateData = {}\n allColumns.forEach((item) => {\n cloumnsTranslateData[item.code] = 0\n })\n\n // 计算平移位置\n let replaceIndex = 0\n\n let totalWitdth = getColumnWidth(columns[replaceIndex])\n while (totalWitdth < offsetDistance && replaceIndex < columns.length - 1) {\n replaceIndex++\n totalWitdth += getColumnWidth(columns[replaceIndex])\n }\n\n // 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)\n let startIndex\n columns.forEach((column, index) => {\n if (column.code === col.code) {\n startIndex = index\n }\n })\n\n const optionColumn = columns[startIndex]\n let index = replaceIndex\n if (startIndex > replaceIndex) { // 左移\n while (index < startIndex) {\n const { code, lock, width, children } = columns[index]\n if (enableMove({ code, lock })) {\n cloumnsTranslateData[code] += _adjustTranslation(optionColumn.width)\n if (isLeafNode(columns[index])) {\n cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(width)\n } else {\n cloumnsTranslateData[optionColumn.code] -= _adjustTranslation(getColumnWidth(columns[index]))\n moveAllChildren(children, cloumnsTranslateData, _adjustTranslation(optionColumn.width))\n }\n columnMoved = true\n }\n index++\n }\n } else if (startIndex < replaceIndex) { // 右移\n while (startIndex < index) {\n const { code, lock, width, children } = columns[index]\n if (enableMove({ code, lock })) {\n cloumnsTranslateData[code] -= _adjustTranslation(optionColumn.width)\n if (isLeafNode(columns[index])) {\n cloumnsTranslateData[optionColumn.code] += _adjustTranslation(width)\n } else {\n cloumnsTranslateData[optionColumn.code] += _adjustTranslation(getColumnWidth(columns[index]))\n moveAllChildren(children, cloumnsTranslateData, _adjustTranslation(optionColumn.width), true)\n }\n columnMoved = true\n }\n index--\n }\n }\n\n window.requestAnimationFrame(() => {\n pipeline.setStateAtKey(stateKey, {\n cloumnsTranslateData\n })\n moveData = [startIndex, replaceIndex]\n })\n }\n\n function handlePointerUp (e: MouseEvent | TouchEvent) {\n removePointerEventListeners(document.body, {\n onPointerMove: handlePointerMove,\n onPointerUp: handlePointerUp\n }, isTouch)\n window.removeEventListener('selectstart', disableSelect)\n\n const endCoordinates = getEventCoordinates(e)\n if (hasMovedEnough(mouseDownClientX, mouseDownClientY, endCoordinates.clientX, endCoordinates.clientY)) {\n e.stopPropagation() // 存在移动就阻止冒泡\n currentTarget.addEventListener('click', stopClickPropagation) // 阻止列头点击事件,防止拖动后触发列头过滤事件\n }\n window.requestAnimationFrame(() => {\n // 取消阻止列头点击事件\n currentTarget.removeEventListener('click', stopClickPropagation)\n currentTarget = null\n\n const [startIndex, replaceIndex] = moveData\n const optionColumn = columns[startIndex]\n let index = replaceIndex\n if (startIndex > replaceIndex) { // 左移\n while (index < startIndex) {\n const { code, lock } = columns[index]\n if (enableMove({ code, lock })) {\n cloumnsSortData[code] += 1\n cloumnsSortData[optionColumn.code] -= 1\n columnMoved = true\n }\n index++\n }\n } else if (startIndex < replaceIndex) { // 右移\n while (index > startIndex) {\n const { code, lock } = columns[index]\n if (enableMove({ code, lock })) {\n cloumnsSortData[code] -= 1\n cloumnsSortData[optionColumn.code] += 1\n columnMoved = true\n }\n index--\n }\n }\n const { onColumnDragStopped } = opts\n // 拖拽结束返回列顺序\n if (onColumnDragStopped) {\n const isRowDragColumn = (code: string) => {\n const rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey')\n return code === rowDragColumnKey\n }\n const newColumns = sortColumns(columns, cloumnsSortData).filter((column) => column.code !== FILL_COLUMN_CODE && !isRowDragColumn(column.code) && !isSelectColumn(column))\n // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的\n onColumnDragStopped(columnMoved, newColumns)\n }\n pipeline.setStateAtKey(stateKey, {\n cloumnsTranslateData: null\n })\n })\n document.body.style.userSelect = ''\n currentTarget.style.opacity = ''\n currentTarget.style.cursor = ''\n }\n\n const { onColumnDragStart } = opts\n onColumnDragStart && onColumnDragStart(col)\n\n addPointerEventListeners(document.body, {\n onPointerMove: handlePointerMove,\n onPointerUp: handlePointerUp\n }, isTouch)\n }\n })\n )\n }\n}\n\nfunction enableMove ({ lock, code }) {\n return code && code !== FILL_COLUMN_CODE && !lock\n}\n\nfunction getColumnWidth (col : ArtColumn) : number {\n if (col.children) {\n return col.children.reduce((acc, col) => {\n return acc + getColumnWidth(col)\n }, 0)\n }\n return col.width\n}\n\nfunction moveAllChildren (cols:ArtColumn[], cloumnsTranslateData, width: number, isMinus?:boolean) {\n cols.forEach(col => {\n const { code, children } = col\n const movedWidth = cloumnsTranslateData[code] ?? 0\n cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width)\n if (!isLeafNode(col)) {\n moveAllChildren(children, cloumnsTranslateData, width)\n }\n })\n}\n","import React, { useRef, useLayoutEffect, useState } from 'react'\nimport ReactDOM from 'react-dom'\nimport cx from 'classnames'\nimport { ContextMenuStyleWrap } from '../../common-views'\nimport { copyDataToClipboard, executeOnTempElement, console, getEventPath, isElementInEventPath, getTargetEleInEventPath } from '../../utils'\nimport { findByTree } from '../../utils/others'\nimport { TablePipeline } from '../pipeline'\nimport { internals } from '../../internals'\nimport { MenuClasses } from '../../base/styles'\n\ninterface ContextMenuItem {\n key?: string\n name: string\n action: () => void\n disabled?: boolean\n className?: string\n}\n\ninterface positionForMenuParams {\n offsetX?: number\n offsetY?: number\n}\n\nexport interface ContextMenuFeatureOptions {\n /** 获得自定义菜单 */\n getContextMenuItems?: (params: any) => ContextMenuItem[],\n /** 弹出框的父容器 */\n popupParent?: HTMLElement\n /** 右键菜单className */\n menuClassName?: string\n}\n\nexport function contextMenu (opts: ContextMenuFeatureOptions = {}) {\n return function step (pipeline: TablePipeline) {\n const popupParent = opts.popupParent || document.body\n const menuClassName = opts.menuClassName\n const menuHelper = new MenuHelper()\n\n const addPopup = (menu) => {\n const ePopupDiv = document.createElement('div')\n ePopupDiv.setAttribute('class', 'kd-table-popup')\n popupParent.appendChild(ePopupDiv)\n\n let popupHidden = false\n const eventList = ['mousedown', 'contextmenu']\n\n const hidePopup = (event?: MouseEvent) => {\n if (\n isEventFromCurrentPopup(event, ePopupDiv) ||\n popupHidden\n ) {\n return\n }\n popupHidden = true\n popupParent.removeChild(ePopupDiv)\n eventList.forEach(eventType => {\n window.removeEventListener(eventType, hidePopup, true)\n })\n }\n\n ReactDOM.render(menu, ePopupDiv, () => {\n setTimeout(() => {\n eventList.forEach(eventType => {\n window.addEventListener(eventType, hidePopup, true)\n })\n }, 0)\n })\n\n return hidePopup\n }\n\n const onContextMenu = (e: React.MouseEvent<HTMLTableElement, MouseEvent>) => {\n if (canShowContextMenu(e, pipeline)) {\n e.preventDefault()\n e.stopPropagation()\n showContextMenu(e)\n }\n }\n\n pipeline.addTableProps({ onContextMenu })\n\n const getContextMenuOptions = (record, column, value, event) => {\n const defaultMenuOptions = []\n if (column) {\n defaultMenuOptions.push(getCopyItem(value))\n }\n if (opts.getContextMenuItems) {\n const params = {\n record,\n column,\n value,\n event\n }\n return opts.getContextMenuItems(params)\n }\n return defaultMenuOptions\n }\n\n const hideContextMenu = () => {\n menuHelper.destroy()\n }\n\n const getPopupParent = () => popupParent\n\n const showContextMenu = (e: React.MouseEvent<HTMLTableElement, MouseEvent>) => {\n const path = getEventPath(e)\n const cellEle = getCellEleInEventPath(path)\n let code\n let rowIndex\n let isInFooter\n if (cellEle) {\n code = cellEle.getAttribute('data-code')\n rowIndex = cellEle.getAttribute('data-rowindex')\n isInFooter = isElementInsideTheFooter(cellEle)\n } else {\n const rowEle = getRowEleInEventPath(path)\n rowIndex = rowEle?.getAttribute('data-rowindex')\n isInFooter = isElementInsideTheFooter(rowEle)\n }\n\n const dataSource = isInFooter ? (pipeline.getFooterDataSource() || []) : pipeline.getDataSource()\n const record = dataSource[rowIndex]\n const column = code !== undefined && findByTree(pipeline.getColumns(), item => item.code === code)\n const value = column && record && internals.safeGetValue(column, record, rowIndex)\n\n const options = getContextMenuOptions(record, column, value, e)\n if (options.length === 0) {\n console.warn('context menu options is empty')\n return\n }\n const position = positionForMenu(e, popupParent)\n const menu = <Menu options={options} hideContextMenu={hideContextMenu} position={position} getPopupParent={getPopupParent} className={menuClassName} direction={pipeline.ctx.direction}/>\n const _hidePopup = addPopup(menu)\n menuHelper.init(_hidePopup)\n }\n\n return pipeline\n }\n}\n\nfunction getMenuItemKey ({ name, index }) {\n if (name) {\n let _key = 0\n name = name + ''\n for (let i = 0; i < name.length; i++) {\n _key += name.charCodeAt(name[i])\n }\n return `${_key}_${index}`\n }\n\n return index\n}\n\nfunction Menu (props) {\n const { className, options = [], hideContextMenu, position, getPopupParent } : {\n className?: string\n options: ContextMenuItem[]\n hideContextMenu: () => void\n position: {x:number, y:number}\n getPopupParent: () => HTMLElement,\n direction?: string\n } = props\n const menuRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (menuRef.current) {\n const popupParent = getPopupParent()\n let { x, y } = position\n const isRTL = props.direction === 'rtl'\n if (isRTL) {\n x -= menuRef.current.offsetWidth\n }\n const { x: _x, y: _y } = keepWithinBounds(popupParent, menuRef.current, x, y)\n\n menuRef.current.style.left = _x + 'px'\n menuRef.current.style.top = _y + 'px'\n }\n }, [position, props.direction])\n\n return <ContextMenuStyleWrap className={cx(MenuClasses.menu, className)} ref={menuRef} style={{ left: position.x, top: position.y }}>\n <div className={MenuClasses.menuList}>\n {\n options.map((item, index) => <MenuItem\n key={item.key ? item.key : getMenuItemKey({ name: item.name, index })}\n name={item.name}\n action={item.action}\n className={item.className}\n disabled={item.disabled}\n hideContextMenu={hideContextMenu} />\n )\n }\n </div>\n </ContextMenuStyleWrap>\n}\n\nfunction MenuItem (props) {\n const { name, action, className, disabled, hideContextMenu } = props\n\n const itemRef = useRef()\n\n const handleClick = () => {\n if (disabled) {\n return\n }\n hideContextMenu()\n typeof action === 'function' && action()\n }\n\n const handleMouseEnter = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (disabled) {\n return\n }\n const itemDom = itemRef.current as HTMLElement\n if (itemDom) {\n itemDom.classList.add(MenuClasses.menuOptionActive)\n }\n }\n\n const handleMouseLeave = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (disabled) {\n return\n }\n const itemDom = itemRef.current as HTMLElement\n if (itemDom) {\n setTimeout(() => {\n itemDom.classList.remove(MenuClasses.menuOptionActive)\n }, 10)\n }\n }\n\n return <div className={cx(MenuClasses.menuOption, className, { [MenuClasses.menuOptionDisable]: disabled })} ref={itemRef} onClick={handleClick} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n <span className={MenuClasses.menuOptionText}>{name}</span>\n </div>\n}\n\nclass MenuHelper {\n hidePopup: () => void\n\n constructor () {\n }\n\n init = (hidePopup) => {\n this.hidePopup = hidePopup\n }\n\n destroy = () => {\n this.hidePopup && this.hidePopup()\n this.hidePopup = null\n }\n}\n\n/** 是否点击是外部 start */\n\nfunction isEventFromCurrentPopup (event?: MouseEvent, ele?: HTMLElement) {\n if (!event || !ele) {\n return false\n }\n\n if (isElementInEventPath(ele, event)) {\n return true\n }\n\n return false\n}\n\n/** 是否点击是外部 end */\n\n/** 计算位置 start */\nfunction calculatePointerRelative (event: React.MouseEvent<HTMLTableElement, MouseEvent>, popupParent: HTMLElement) {\n const parentRect = popupParent.getBoundingClientRect()\n const documentRect = document.documentElement.getBoundingClientRect()\n\n return {\n x: event.clientX - (popupParent === document.body ? documentRect.left : parentRect.left),\n y: event.clientY - (popupParent === document.body ? documentRect.top : parentRect.top)\n }\n}\n\nfunction positionForMenu (event: React.MouseEvent<HTMLTableElement, MouseEvent>, popupParent: HTMLElement, params?: positionForMenuParams) {\n let { x, y } = calculatePointerRelative(event, popupParent)\n if (params) {\n const { offsetX, offsetY } = params\n if (offsetX) {\n x -= offsetX\n }\n if (offsetY) {\n y -= offsetY\n }\n }\n return { x, y }\n}\n\nfunction keepWithinBounds (popupParent: HTMLElement, ePopup: HTMLElement, x: number, y: number) {\n const parentRect = popupParent.getBoundingClientRect()\n const docElement = document.documentElement\n const documentRect = docElement.getBoundingClientRect()\n const ePopupRect = ePopup.getBoundingClientRect()\n let parentWidth = parentRect.width\n let parentHeight = parentRect.height\n if (popupParent === document.body) {\n parentWidth = documentRect.width\n parentWidth -= Math.abs(documentRect.left - parentRect.left)\n parentHeight = documentRect.height + docElement.scrollTop\n parentHeight -= Math.abs(documentRect.top - parentRect.top)\n }\n if (x) {\n const minWidth = Math.min(ePopupRect.width, 120)\n ePopup.style.minWidth = minWidth + 'px'\n const maxX = parentWidth - minWidth\n x = Math.min(Math.max(x, 0), Math.abs(maxX)) // 目前位置,最大支持的位置\n }\n\n if (y) {\n const maxY = parentHeight - ePopupRect.height\n y = Math.min(Math.max(y, 0), Math.abs(maxY)) // 目前位置,最大支持的位置\n }\n\n return { x, y }\n}\n\n/** 计算位置 end */\n\n/** 获得点击的元素 start */\n\nfunction getCellEleInEventPath (path: Array<HTMLElement>) {\n return getTargetEleInEventPath(path, ele => ele && ele.getAttribute('data-role') === 'table-cell')\n}\n\nfunction getRowEleInEventPath (path: Array<HTMLElement>) {\n return getTargetEleInEventPath(path, ele => ele && ele.getAttribute('data-role') === 'table-row')\n}\n\n/** 获得点击的元素 end */\n\nfunction isElementInsideTheFooter (ele: HTMLElement): boolean {\n let pointer = ele\n while (pointer) {\n if (pointer.tagName === 'TFOOT') {\n return true\n }\n if (pointer.tagName === 'TABLE' || pointer.tagName === 'TBODY') {\n return false\n }\n pointer = pointer.parentElement\n }\n return false\n}\n\nfunction canShowContextMenu (e: React.MouseEvent<HTMLTableElement, MouseEvent>, pipeline: TablePipeline) {\n return pipeline.ref.current.domHelper?.tableBody.contains(e.target) ||\n pipeline.ref.current.domHelper?.tableFooter.contains(e.target)\n}\n\n// 默认选项\nfunction getCopyItem (v) {\n return {\n name: '复制',\n action: () => {\n executeOnTempElement(copyDataToClipboard(v))\n }\n }\n}\n","import React from 'react'\n\nexport default function DefaultFilterIcon ({\n width,\n height\n} :{\n width:string | number\n height:string | number\n}) {\n return <svg\n width={width}\n height={height}\n style={{ verticalAlign: 'middle' }}\n viewBox=\"0 0 1024 1024\"\n focusable=\"false\"\n data-icon=\"filter\"\n fill=\"currentColor\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M891.448889 159.573333L626.460444 460.231111v443.221333c0 32.881778-25.429333 63.658667-55.864888 63.658667l-170.268445-172.942222V456.419556L132.266667 159.857778A59.619556 59.619556 0 0 1 173.511111 56.888889h676.977778c32.995556 0 59.733333 26.680889 59.733333 59.562667 0 17.066667-7.224889 32.312889-18.773333 43.121777z\"></path>\n </svg>\n}\n","\nconst KeyCode = {\n ENTER: 13,\n ESC: 27\n}\n\nexport default KeyCode\n","import React, { CSSProperties, ReactNode, useEffect, useState, useRef } from 'react'\nimport styled from 'styled-components'\nimport { isElementInEventPath, keepWithinBounds } from '../../../utils/'\nimport DefaultFilterIcon from './DefaultFilterIcon'\nimport { Classes } from '../../../base/styles'\nimport KeyCode from '../../../utils/keyCode'\n\nconst FilterPanelStyle = styled.div`\n display: flex;\n flex-direction: column;\n max-height: 450px;\n min-width: 160px;\n border-radius: 2px;\n background-color: #fff;\n box-shadow: 0 0 5px 0 rgba(154,154,154,.5);\n cursor: default;\n\n .${Classes.popupHeader} {\n display: flex;\n background-color: #ebedf1;\n\n .${Classes.filterIcon} {\n display: flex;\n color:#666;\n background-color: #fff;\n padding: 8px 16px 8px 16px;\n border-right: 1px solid transparent;\n border-left: 1px solid transparent;\n border-top: 1px solid transparent;\n border-top-right-radius: 2px;\n border-top-left-radius: 2px;\n }\n }\n\n .${Classes.popupBody} {\n display: flex;\n }\n`\n\nconst useWindowEvents = (func, evens) => {\n React.useEffect(() => {\n evens.forEach(event => window.addEventListener(event, func, true))\n return () => evens.forEach(event => window.removeEventListener(event, func, true))\n }, [evens, func])\n}\n\ninterface PositionType {\n x:number;\n y:number;\n}\nexport interface FilterPanel {\n onClose: () => any\n position: PositionType\n style?: CSSProperties\n filterIcon:ReactNode\n children?: ReactNode,\n direction?: string\n}\n\nfunction FilterPanel ({ style, children, position, filterIcon, onClose, hideFilterPopupHeader, direction }) {\n const [perfectPosition, setPerfectPosition] = useState(position)\n const [visible, setVisible] = useState(false)\n const ref = React.useRef<HTMLDivElement>(null)\n const isContainPanel = (e) => {\n return isElementInEventPath(ref.current, e)\n }\n useEffect(() => {\n const isRTL = direction === 'rtl'\n let { x, y } = position\n if (isRTL) {\n x -= ref.current?.offsetWidth\n }\n setPerfectPosition(keepWithinBounds(document.body, ref.current, x, y, true))\n setVisible(true)\n }, [position, direction])\n\n const hasPopupMouseEvent = useRef(false)\n const handleMouseEvent = () => {\n // 当弹出的过滤面板内部发生鼠标按下、抬起事件时,标记当前事件,并在click捕获期清除标记,用来确定鼠标按下、抬起发生在过滤面板内部\n // 利用了React.createPortal冒泡是根据React Tree的特性:\n // https://jwwnz.medium.com/react-portals-and-event-bubbling-8df3e35ca3f1\n hasPopupMouseEvent.current = true\n }\n\n useWindowEvents((e) => {\n !isContainPanel(e) && !hasPopupMouseEvent.current && onClose()\n hasPopupMouseEvent.current = false\n }, ['click'])\n\n const handleKeyDown = (e) => {\n if (e.currentTarget.contains(e.target as HTMLElement) && e.keyCode === KeyCode.ESC) {\n onClose()\n }\n }\n\n return (\n <FilterPanelStyle\n className={Classes.popup}\n style={{\n ...style,\n left: visible ? perfectPosition.x : 0,\n top: visible ? perfectPosition.y : 0,\n opacity: visible ? 1 : 0,\n direction: direction\n }}\n onMouseDown={handleMouseEvent}\n onMouseUp={handleMouseEvent}\n onKeyDown={handleKeyDown}\n ref={ref}\n tabIndex={-1}\n direction={direction}\n >\n {\n !hideFilterPopupHeader ? <div className={Classes.popupHeader}>\n <span className={Classes.filterIcon}>\n {\n filterIcon || <DefaultFilterIcon width={12} height={12} />\n }\n </span>\n </div> : null\n }\n <div className={Classes.popupBody}>\n {children}\n </div>\n </FilterPanelStyle>\n )\n}\n\nexport default FilterPanel\n","const DEFAULT_FILTER_OPTIONS = [\n {\n title: '包含',\n key: 'contain',\n filter: (value) => (data) => {\n if (data == null) {\n return false\n }\n if (typeof data === 'number') {\n data = data + ''\n }\n return data.includes(value[0])\n }\n },\n {\n title: '不包含',\n key: 'notContain',\n filter: (value) => (data) => {\n if (data == null) {\n return true\n }\n if (typeof data === 'number') {\n data = data + ''\n }\n return !data.includes(value[0])\n }\n },\n {\n title: '等于',\n key: 'equal',\n filter: (value) => (data) => {\n return value[0] === data\n }\n },\n {\n title: '不等于',\n key: 'notEqual',\n filter: (value) => (data) => {\n return value[0] !== data\n }\n },\n {\n title: '为空',\n key: 'isNull',\n filter: () => (data) => {\n return !data\n }\n },\n {\n title: '不为空',\n key: 'notIsNull',\n filter: () => (data) => {\n return !!data\n }\n }\n]\n\nexport { DEFAULT_FILTER_OPTIONS }\n","import React, { useEffect, useRef } from 'react'\nimport styled from 'styled-components'\nimport cx from 'classnames'\n\nimport { DefaultFilterPanelProps } from '../../../interfaces'\nimport { DEFAULT_FILTER_OPTIONS } from './util'\nimport { Classes, ButtonCSS } from '../../../base/styles'\nimport KeyCode from '../../../utils/keyCode'\n\nconst DefaultFilterContentStyle = styled.div`\n display: flex;\n flex-direction: column;\n background-color: #ffffff;\n border-radius: 2px;\n width: 100%;\n\n ${ButtonCSS}\n .filter-option-list {\n display: flex;\n flex-direction: column;\n margin-top: 8px;\n ul {\n margin: 0;\n padding: 0;\n li {\n display: flex;\n position: relative;\n flex-shrink: 0;\n height: 32px;\n align-items: center;\n border-radius: 2px;\n font-size: 12px;\n color: var(--color);\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n &:hover{\n background-color: var(--primary-color-level1);\n }\n }\n li.active{\n background-color: var(--primary-color-level1);\n }\n }\n }\n\n .filter-search {\n display: flex;\n padding: 6px 12px;\n\n .filter-search-inner {\n width: 100%;\n font-size: 12px;\n color: #333333;\n height: 28px;\n line-height: 28px;\n padding: 0 8px;\n outline: none;\n background-color: #FAFAFA;\n border-radius: 2px;\n border: 1px solid var(--strong-border-color);\n &:hover{\n border-color: var(--primary-color)\n } \n &:focus{\n border-color: var(--primary-color)\n } \n }\n }\n\n .filter-footer {\n display: flex;\n flex-direction: row;\n padding: 8px 12px;\n justify-content: space-between;\n\n .filter-btn {\n text-align: center;\n font-size: 12px;\n width: 60px;\n height: 24px;\n line-height: 24px;\n }\n \n }\n`\n\nfunction DefaultFilterContent ({ setFilterModel, filterModel, hidePanel, localeText={} }: DefaultFilterPanelProps) {\n const [selectedValue, setSelectedValue] = React.useState(filterModel?.filterCondition || 'contain')\n const [innerValue, setInnerValue] = React.useState(filterModel?.filter || [])\n const inputRef = useRef<HTMLInputElement>()\n const handleClick = React.useCallback((option) => {\n setSelectedValue(option.key)\n }, [])\n const reset = () => {\n hidePanel()\n setFilterModel()\n }\n const confirm = () => {\n hidePanel()\n setFilterModel({\n filter: innerValue,\n filterCondition: selectedValue\n })\n }\n\n const handleKeyDown = (e) => {\n if (e.keyCode === KeyCode.ENTER) {\n confirm()\n }\n }\n\n useEffect(() => {\n setSelectedValue(filterModel?.filterCondition || 'contain')\n setInnerValue(filterModel?.filter || [])\n }, [filterModel])\n\n useEffect(() => {\n // 兼容设置焦点后发生滚动\n setTimeout(() => {\n inputRef.current?.focus({ preventScroll: true })\n })\n }, [])\n\n return (\n <DefaultFilterContentStyle>\n <div className='filter-option-list'>\n <ul>\n {\n DEFAULT_FILTER_OPTIONS.map((option, index) => (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <li\n key={option.key}\n className={option.key === selectedValue ? 'active' : ''}\n onClick={() => handleClick(option)}\n >\n {localeText[option.key] ?? option.title}\n </li>\n ))\n }\n </ul>\n </div>\n {\n (selectedValue !== 'notIsNull' && selectedValue !== 'isNull') && (\n <div className='filter-search'>\n <input\n className='filter-search-inner'\n value={innerValue[0]}\n onChange={(e) => { setInnerValue([e.target.value]) }}\n onKeyDown={handleKeyDown}\n ref={inputRef}\n />\n </div>\n )\n }\n <div className='filter-footer'>\n <button\n className={cx({\n 'filter-btn': true,\n [Classes.button]: true\n })}\n onClick={reset}\n >\n {localeText.resetFilter ?? '重置'}\n </button>\n <button\n className={cx({\n 'filter-btn': true,\n [Classes.button]: true,\n [Classes.buttonPrimary]: true\n })}\n onClick={confirm}\n >\n {localeText.confirmFilter ?? '确定'}\n </button>\n </div>\n </DefaultFilterContentStyle>\n )\n}\n\nexport default DefaultFilterContent\n","import React, { CSSProperties, ReactNode, useEffect } from 'react'\nimport { createPortal } from 'react-dom'\nimport styled from 'styled-components'\nimport cx from 'classnames'\nimport { Classes } from '../../../base/styles'\n\nimport { FilterPanel as FilterPanelType, DefaultFilterPanelProps, CustomeFilterPanelProps } from '../../../interfaces'\nimport FilterPanel from './FilterPanel'\nimport DefaultFilterContent from './DefaultFilterContent'\nimport DefaultFilterIcon from './DefaultFilterIcon'\n\nimport { calculatePopupRelative } from '../../../utils'\nimport { addResizeObserver } from '../../../base/utils'\nimport KeyCode from '../../../utils/keyCode'\n\nconst HEADER_ICON_OFFSET_Y = 8 + 1 // padding-top + border\nconst HEADER_ICON_OFFSET_X = 16 + 1 // padding-left+ border\n\ninterface FilterProps{\n style?: CSSProperties\n className?: string\n size?: number\n isFilterActive:boolean,\n FilterPanelContent?: FilterPanelType\n filterIcon?:ReactNode | ((filtered: boolean) => ReactNode)\n setFilterModel: DefaultFilterPanelProps['setFilterModel']\n filterModel: DefaultFilterPanelProps['filterModel']\n setFilter: CustomeFilterPanelProps['setFilter']\n onClick?: (e: React.MouseEvent) => any\n stopClickEventPropagation?: boolean\n stopESCKeyDownEventPropagation?: boolean\n hideFilterPopupHeader?: boolean\n getPopupParent? : (triggerElement: HTMLElement) => HTMLElement\n localeText?: {[key: string]: string},\n direction?: string\n}\n\ninterface FilterPanelProps {\n ele: HTMLElement\n filterIcon: ReactNode\n hidePanel: () => void\n renderPanelContent: () => JSX.Element\n hideFilterPopupHeader?: boolean\n popupParent? : HTMLElement,\n direction?: string\n}\n\nconst FilterIconSpanStyle = styled.span`\n // position: absolute;\n // right: 4px;\n // cursor: pointer;\n // transform: translateY(-50%);\n // top: 50%;\n // height: 12px; \n > .${Classes.filterIcon} {\n display: flex\n }\n`\n\nfunction Panel ({ ele, filterIcon, hidePanel, renderPanelContent, hideFilterPopupHeader, popupParent, direction }: FilterPanelProps) {\n const filterPanelRef = React.useRef(null)\n const [position, setPosition] = React.useState(calculatePopupRelative(ele, popupParent, _getPanelOffset(ele, hideFilterPopupHeader), direction))\n const style = {\n position: 'absolute',\n zIndex: 1050\n }\n\n const handleFilterPanelResize = (resize) => {\n setPosition(calculatePopupRelative(ele, popupParent, _getPanelOffset(ele, hideFilterPopupHeader), direction))\n }\n\n useEffect(() => {\n const resizeObserver = addResizeObserver(filterPanelRef.current.children[0], handleFilterPanelResize)\n return () => {\n resizeObserver && resizeObserver.disconnect()\n }\n }, [])\n\n return (\n <div ref={filterPanelRef}>\n <FilterPanel\n style={style}\n onClose={hidePanel}\n position={position}\n filterIcon={filterIcon}\n hideFilterPopupHeader={hideFilterPopupHeader}\n direction={direction}\n >\n {renderPanelContent()}\n </FilterPanel>\n </div>\n )\n}\n\nfunction Filter ({\n size = 12, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive,\n stopClickEventPropagation, stopESCKeyDownEventPropagation, hideFilterPopupHeader, getPopupParent, localeText, direction\n}: FilterProps) {\n const [showPanel, setShowPanel] = React.useState(false)\n const iconRef = React.useRef(null)\n const iconWrapRef = React.useRef<HTMLElement>()\n\n const hidePanel = () => setShowPanel(false)\n\n const renderPanelContent = () => {\n if (FilterPanelContent) {\n return <FilterPanelContent\n setFilter={setFilter}\n filterModel={filterModel}\n isFilterActive={isFilterActive}\n hidePanel={hidePanel}\n />\n } else {\n return <DefaultFilterContent\n setFilterModel={setFilterModel}\n filterModel={filterModel}\n isFilterActive={isFilterActive}\n hidePanel={hidePanel}\n localeText={localeText}\n />\n }\n }\n\n const handleIconClick = (e) => {\n // 只有当icon区域点击会触发面板展开\n // 防止 createPortal 区域的点击触发该事件\n if (e.currentTarget.contains(e.target as HTMLElement)) {\n setShowPanel(true)\n }\n if (stopClickEventPropagation) {\n e.stopPropagation()\n }\n }\n const handleKeyDown = (e) => {\n if (e.keyCode === KeyCode.ESC) {\n if (e.currentTarget.contains(e.target as HTMLElement)) {\n setShowPanel(false)\n }\n if (stopESCKeyDownEventPropagation) {\n e.stopPropagation()\n }\n }\n }\n const iconClassName = cx({\n [className]: true,\n 'filter-panel-open': showPanel\n })\n\n const displayFilterIcon: ReactNode = typeof filterIcon === 'function' ? filterIcon(isFilterActive) : filterIcon\n const popupParent:HTMLElement = getPopupParent?.(iconWrapRef.current) || document.body\n return (\n <FilterIconSpanStyle\n style={style}\n className={iconClassName}\n onClick={handleIconClick}\n onKeyDown={handleKeyDown}\n ref={iconWrapRef}\n tabIndex={-1}\n >\n <span ref={iconRef} className={Classes.filterIcon}>\n {\n displayFilterIcon || <DefaultFilterIcon width={size} height={size} />\n }\n </span>\n {showPanel &&\n createPortal(\n <Panel\n ele={hideFilterPopupHeader ? iconWrapRef.current : iconRef.current}\n filterIcon={displayFilterIcon}\n hidePanel={hidePanel}\n renderPanelContent={renderPanelContent}\n hideFilterPopupHeader={hideFilterPopupHeader}\n popupParent={popupParent}\n direction={direction}\n />, popupParent)}\n </FilterIconSpanStyle>\n )\n}\n\nfunction _getPanelOffset (ele: HTMLElement, hideFilterPopupHeader?: boolean) : {\n x: number\n y: number\n} {\n if (hideFilterPopupHeader) {\n return { x: 0, y: 0 - ele.offsetHeight }\n }\n return { x: HEADER_ICON_OFFSET_X, y: HEADER_ICON_OFFSET_Y }\n}\n\nexport default Filter\n","import React, { ReactNode } from 'react'\nimport cx from 'classnames'\n\nimport { ArtColumn, Filters, FilterPanel, FilterItem, AbstractTreeNode } from '../../interfaces'\nimport { internals } from '../../internals'\nimport { isLeafNode, collectNodes } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nimport { Filter, DEFAULT_FILTER_OPTIONS } from './filter'\nimport { Classes } from '../../base/styles'\n\nexport interface FilterFeatureOptions {\n /** (非受控用法) 默认的过滤字段列表 */\n defaultFilters?: Filters\n\n /** (受控用法) 过滤字段列表 */\n filters?: Filters\n\n /** 更新过滤字段列表的回调函数 */\n onChangeFilters?(nextFilters: Filters, currentFilter:FilterItem): void\n /** 是否保持 dataSource 不变 */\n keepDataSource?: boolean\n\n /** 过滤模式。单列过滤 single,多列过滤 multiple,默认为多选 */\n mode?: 'single' | 'multiple'\n\n /** 过滤图标 */\n filterIcon?: ReactNode | ((filtered: boolean) => ReactNode)\n\n /** 是否对触发弹出过滤面板 的 click 事件调用 event.stopPropagation() */\n stopClickEventPropagation?: boolean\n\n /** 是否对按ESC键时关闭面板的 keydown 事件调用 event.stopPropagation() */\n stopESCKeyDownEventPropagation?: boolean\n\n /** 是否隐藏过滤面板的header区域 */\n hideFilterPopupHeader?: boolean\n\n /** 指定过滤面板渲染的父节点 */\n getPopupParent? : (triggerElement: HTMLElement) => HTMLElement\n}\n\nconst stateKey = 'filter'\n\nexport function filter (opts: FilterFeatureOptions = {}) {\n return function step (pipeline: TablePipeline) {\n const dataSource = pipeline.getDataSource()\n const columns = pipeline.getColumns()\n\n const {\n filters,\n defaultFilters,\n onChangeFilters,\n keepDataSource,\n mode,\n filterIcon,\n stopClickEventPropagation,\n stopESCKeyDownEventPropagation,\n hideFilterPopupHeader,\n getPopupParent\n } = opts\n\n let inputFilters = filters ?? pipeline.getStateAtKey(stateKey) ?? defaultFilters ?? []\n inputFilters = mode === 'single' ? inputFilters.slice(0, 1) : inputFilters\n const inputFiltersMap = new Map(inputFilters.map((filterItem) => [filterItem.code, { ...filterItem }]))\n const localeText: {[key: string]: string} | undefined = pipeline.ctx.localeText\n\n function processColumns(columns: ArtColumn[]) {\n return columns.map(dfs)\n\n function dfs(col: ArtColumn): ArtColumn {\n const result = { ...col }\n\n const filterable = col.code && col.features?.filterable\n const filterActive = !!(filterable && inputFiltersMap?.get(col.code))\n\n if (filterable) {\n const handleFilterChanged = function (filterItem?: FilterItem) {\n const nextFiltersMap = new Map(inputFiltersMap)\n const currentFilter = { code: col.code, ...filterItem }\n if (filterItem == null) {\n nextFiltersMap.delete(col.code)\n } else {\n if (mode === 'single') {\n nextFiltersMap.clear()\n }\n nextFiltersMap.set(col.code, currentFilter)\n }\n const nextFilters = Array.from(nextFiltersMap.values())\n onChangeFilters?.(nextFilters, currentFilter)\n pipeline.setStateAtKey(stateKey, nextFilters)\n }\n\n const setFilter = (filter?: any[], filterCondition?: string) => {\n handleFilterChanged(!filter ? undefined : { code: col.code, filter, filterCondition })\n }\n\n const filterPanel: FilterPanel = col.features?.filterPanel\n\n const colFilterIcon: React.ReactNode = col.features?.filterIcon ?? filterIcon\n const _Filter = (<Filter\n key={`${col.code}_filter`}\n FilterPanelContent={filterPanel}\n filterIcon={colFilterIcon}\n filterModel={inputFiltersMap.get(col.code)}\n setFilterModel={handleFilterChanged}\n setFilter={setFilter}\n isFilterActive={filterActive}\n className={cx({\n [Classes.tableFilterTrigger]: true,\n active: filterActive\n })}\n stopClickEventPropagation={stopClickEventPropagation}\n stopESCKeyDownEventPropagation={stopESCKeyDownEventPropagation}\n hideFilterPopupHeader={hideFilterPopupHeader}\n getPopupParent={getPopupParent}\n localeText={localeText}\n direction={pipeline.ctx.direction}\n />)\n if (col.renderHeader) {\n result.title = col.renderHeader(result.title, _Filter)\n } else {\n result.title = [\n ...([].concat(result.title ?? [internals.safeRenderHeader({ ...col })])),\n _Filter\n ]\n }\n\n // result.headerCellProps = mergeCellProps(col.headerCellProps, {\n // style: {\n // paddingRight: '18px'\n // }\n // })\n }\n\n if (!isLeafNode(col)) {\n result.children = col.children.map(dfs)\n }\n\n return result\n }\n }\n\n function processDataSource (dataSource: any[]) {\n const filtersKeys = []\n inputFiltersMap.forEach((value, key) => {\n filtersKeys.push(key)\n })\n\n if (keepDataSource || filtersKeys.length <= 0) {\n return dataSource\n }\n\n const columns = pipeline.getColumns()\n const columnsMap = new Map(\n collectNodes(columns, 'leaf-only')\n .filter((col) => col.features?.filterable !== false && col.features?.filterable != null)\n .map((col) => [col.code, col])\n )\n\n const defaultFilterOptionsMap = new Map(DEFAULT_FILTER_OPTIONS.map(item => [item.key, { ...item }]))\n\n function isMatchedFilterCondition (record) {\n return filtersKeys.every(key => {\n const filterItem = inputFiltersMap.get(key)\n const filterable = columnsMap.get(key)?.features?.filterable\n let comparisonFn\n if (typeof filterable === 'function') {\n comparisonFn = filterable\n } else if (defaultFilterOptionsMap.get(filterItem.filterCondition)) {\n comparisonFn = defaultFilterOptionsMap.get(filterItem.filterCondition).filter\n } else {\n console.warn(`列[${key}]未配置筛选函数,请设置 column.features.filterable 来作为该列的筛选函数, 目前使用默认包含筛选函数`)\n comparisonFn = defaultFilterOptionsMap.get('contain').filter\n }\n return comparisonFn(filterItem.filter, filterItem)(\n internals.safeGetValue(columnsMap.get(key), record, -1),\n record\n )\n })\n }\n return layeredFilter(dataSource, isMatchedFilterCondition)\n }\n\n pipeline.dataSource(processDataSource(dataSource))\n pipeline.columns(processColumns(columns))\n return pipeline\n }\n}\n\nfunction layeredFilter<T extends AbstractTreeNode> (array: T[], matchFn: (x: T) => boolean): T[] {\n return dfs(array)\n\n function dfs (rows: T[], parentMatched = false): T[] {\n return rows\n .map(row => {\n const currentMatched = matchFn(row)\n if (isLeafNode(row)) {\n return (parentMatched || currentMatched) && { ...row }\n }\n const { children } = row\n const rowAfterFilterChildren = { ...row, children: dfs(children as T[], parentMatched || currentMatched) }\n const matchedByChildren = !isLeafNode(rowAfterFilterChildren)\n return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren\n }).filter(Boolean)\n }\n}\n","import React from 'react'\nimport { TablePipeline } from '../pipeline'\nimport { mergeCellProps, makeRecursiveMapper, isElementInEventPath, collectNodes } from '../../utils'\nimport { findByTree } from '../../utils/others'\nimport { CellProps, ArtColumn } from '../../interfaces'\nimport { fromEvent } from 'rxjs'\nimport { map, takeUntil } from 'rxjs/operators'\nimport { Classes } from '../../base/styles'\nimport cx from 'classnames'\n\nexport interface RangeSelectionFeatureOptions {\n /** 范围选中回调函数 */\n rangeSelectedChange?(cellRanges: CellRange[], isFinished:boolean) : void\n /** 是否阻止keydown的默认行为 */\n preventkDefaultOfKeyDownEvent?: boolean\n /** 是否禁止多范围框选 */\n suppressMultiRangeSelection?:boolean\n}\n\ninterface DragCell {\n rowIndex : number,\n rowSpan: number,\n code: string,\n column: ArtColumn,\n isFooterCell:boolean\n}\n\ninterface FooterRowRange{\n startRow: number,\n endRow: number,\n}\n\ninterface CellRange {\n startRow: number,\n endRow: number,\n columns: ArtColumn[],\n startColumn: ArtColumn,\n footerRowRange: FooterRowRange | null\n}\nexport const rangeSelectionKey = 'rangeSelection'\nexport const lastClickCellKey = 'lastClickCell'\n\nconst startSelectedCellRangesKey = 'startSelectedCellRanges'\nconst SCROLL_OFFSET = 30\n\nexport function rangeSelection (opts:RangeSelectionFeatureOptions) {\n return function step (pipeline:TablePipeline) {\n const tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody\n const tableFooter = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableFooter\n const artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable\n if (!tableBody) {\n return pipeline\n }\n\n const columns = pipeline.getColumns()\n const dataSource = pipeline.getDataSource()\n const rangeSelectedChange = (rangeSelection: CellRange[], isFinished: boolean) => {\n if (isFinished) {\n pipeline.setFeatureOptions(startSelectedCellRangesKey, rangeSelection)\n }\n pipeline.setStateAtKey(rangeSelectionKey, rangeSelection)\n opts?.rangeSelectedChange ?.(rangeSelection, isFinished)\n }\n\n const setRangeSelection = (startDragCell:DragCell, draggingCell:DragCell, isFinished: boolean) => {\n if (!startDragCell || !draggingCell) return\n const rangeColumns = getRangeColumns(startDragCell, draggingCell, columns)\n const { startRow, endRow, footerRowRange } = getRangeSelectionRowInfo(startDragCell, draggingCell, dataSource)\n const cellRange = {\n startRow,\n endRow,\n columns: rangeColumns,\n startColumn: startDragCell.column,\n footerRowRange\n }\n\n let cellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? [...pipeline.getFeatureOptions(startSelectedCellRangesKey)] : []\n if (isCellRangeSingleCell([cellRange])) {\n const singleCellRangeId = getCellRangeId(cellRange)\n cellRanges = cellRanges.filter(item => getCellRangeId(item) !== singleCellRangeId)\n }\n cellRanges.push(cellRange)\n if (isCellRangeSingleCell(cellRanges)) {\n artTable.classList.remove(cx(Classes.rangeSelection))\n } else {\n artTable.classList.add(cx(Classes.rangeSelection))\n }\n rangeSelectedChange(cellRanges, isFinished)\n }\n\n const shiftKeySelect = (event: React.MouseEvent<HTMLTableElement, MouseEvent>) => {\n const target = event.target\n const clickCell = getTargetCell(target, columns)\n if (clickCell) {\n const _lastClickCell = pipeline.getFeatureOptions(lastClickCellKey)\n if (_lastClickCell) {\n setRangeSelection(_lastClickCell, clickCell, true)\n } else {\n // 第一次进来就按住shift键,这时候要记住点击的单元格\n pipeline.setFeatureOptions(lastClickCellKey, clickCell)\n }\n }\n }\n\n const updateScrollPosition = (client) => {\n const { clientX, clientY } = client\n const tableBodyClientRect = tableBody.getBoundingClientRect()\n\n const { left, top, height, width } = tableBodyClientRect\n\n if (clientX + SCROLL_OFFSET >= left + width) {\n pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_OFFSET\n }\n if (clientX - SCROLL_OFFSET <= left) {\n pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_OFFSET\n }\n if (clientY + SCROLL_OFFSET >= top + height) {\n pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET\n }\n if (clientY + SCROLL_OFFSET <= top) {\n pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET\n }\n }\n\n const setStartSelectedCellRanges = (isCtrlKey, isShiftKey) => {\n if (opts?.suppressMultiRangeSelection) {\n pipeline.setFeatureOptions(startSelectedCellRangesKey, [])\n return\n }\n // ctrl 和shift 同时按时,优先生效shift\n // 没有点击ctrl 或者shift时,每次点击开始时都清空选中范围\n if (!isCtrlKey && !isShiftKey) {\n pipeline.setFeatureOptions(startSelectedCellRangesKey, [])\n }\n\n // shift 点击框选,要保留之前的选中结果。最新的框选范围覆盖最后一次的框选范围\n if (isShiftKey) {\n const _startDragCellRanges = pipeline.getFeatureOptions(startSelectedCellRangesKey) ? [...pipeline.getFeatureOptions(startSelectedCellRangesKey)] : []\n _startDragCellRanges.pop()\n pipeline.setFeatureOptions(startSelectedCellRangesKey, _startDragCellRanges)\n }\n }\n\n const onMouseDown = (mouseDownEvent: React.MouseEvent<HTMLTableElement, MouseEvent>) => {\n if (mouseDownEvent.button !== 0 || !(isElementInEventPath(tableBody, mouseDownEvent.nativeEvent) || isElementInEventPath(tableFooter, mouseDownEvent.nativeEvent))) return\n // mouseDownEvent.preventDefault()\n\n const isCtrlKey = mouseDownEvent.ctrlKey || mouseDownEvent.metaKey\n const isShiftKey = mouseDownEvent.shiftKey\n const target = mouseDownEvent.target\n\n const startDragCell = getTargetCell(target, columns)\n\n if (!startDragCell) return\n\n // 每次点击时先确认初始生效的框选范围\n setStartSelectedCellRanges(isCtrlKey, isShiftKey)\n\n if (isShiftKey) {\n shiftKeySelect(mouseDownEvent)\n return\n }\n\n pipeline.setFeatureOptions(lastClickCellKey, startDragCell)\n let draggingCell = startDragCell\n\n const mousemove$ = fromEvent<MouseEvent>(window, 'mousemove')\n const mouseup$ = fromEvent<MouseEvent>(window, 'mouseup')\n\n const rangeSelected$ = mousemove$.pipe(\n map((mouseMoveEvent:MouseEvent) => {\n const target = mouseMoveEvent.target || mouseMoveEvent.srcElement\n draggingCell = getTargetCell(target, columns)\n const client = {\n clientX: mouseMoveEvent.clientX,\n clientY: mouseMoveEvent.clientY\n }\n if (!draggingCell?.isFooterCell) {\n updateScrollPosition(client)\n }\n\n return {\n startDragCell: startDragCell,\n draggingCell: draggingCell\n }\n }),\n takeUntil(mouseup$)\n )\n\n rangeSelected$.subscribe({\n next: ({ startDragCell, draggingCell }) => {\n setRangeSelection(startDragCell, draggingCell, false)\n },\n complete () {\n setRangeSelection(startDragCell, draggingCell, true)\n }\n })\n }\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLTableElement>) => {\n if (!(isElementInEventPath(tableBody, e.nativeEvent) || isElementInEventPath(tableFooter, e.nativeEvent))) return\n\n if ((e.ctrlKey || e.metaKey) && e.key === 'a') {\n const rowLen = pipeline.getDataSource().length\n const footerDataSource = pipeline.getFooterDataSource() || []\n // 焦点位于可编辑的单元格内不做全选\n if (columns.length && rowLen && !getElementEditable(e.target)) {\n opts.preventkDefaultOfKeyDownEvent !== false && e.preventDefault()\n artTable.classList.add(cx(Classes.rangeSelection))\n rangeSelectedChange([\n {\n startRow: 0,\n endRow: rowLen - 1,\n columns: collectNodes(columns, 'leaf-only'),\n startColumn: columns[0],\n footerRowRange: footerDataSource.length > 0 ? { startRow: 0, endRow: footerDataSource.length - 1 } : null\n }\n ], true)\n }\n }\n }\n\n pipeline.addTableProps({ onMouseDown, onKeyDown, tabIndex: -1 }) // todo: 后面可以把mousedown放到一个流里面\n\n return pipeline.mapColumns(makeRecursiveMapper((col) => {\n const cellRanges = pipeline.getStateAtKey(rangeSelectionKey) || []\n\n // 没有选区时,不包装 getCellProps,避免每个 cell 多一层函数调用和 isCellInRange 检查\n if (cellRanges.length === 0) return col\n\n const prevGetCellProps = col.getCellProps\n return {\n ...col,\n getCellProps (value: any, record: any, rowIndex: number): CellProps {\n const prevCellProps = prevGetCellProps?.(value, record, rowIndex)\n const isFooterCell = record[pipeline.getFeatureOptions('footerRowMetaKey')]\n if (!cellRanges.some(cellRange => isCellInRange(cellRange, rowIndex, col, isFooterCell))) return prevCellProps\n const className = getCellRangesClassName(cellRanges, { isFooterCell, rowIndex, col, record })\n return mergeCellProps(prevCellProps, {\n className: className\n })\n }\n }\n }))\n }\n}\n\nfunction getTargetCell (target, columns:ArtColumn[]) :DragCell {\n while (target) {\n if (target.getAttribute('data-role') === 'table-cell') {\n const columnCode = target.getAttribute('data-code')\n const column = findByTree(columns, (item, index) => item.code === columnCode)\n if (!column) return null\n return {\n rowIndex: parseInt(target.getAttribute('data-rowindex')),\n rowSpan: parseInt(target.getAttribute('rowspan') || 1),\n code: columnCode,\n column: column,\n isFooterCell: isEleInFooter(target)\n }\n }\n target = target.parentElement\n }\n return null\n}\n\nfunction isSameCell (cell1:DragCell, cell2:DragCell) {\n return cell1.rowIndex === cell2.rowIndex && cell1.code === cell2.code && cell1.isFooterCell === cell2.isFooterCell\n}\n\nfunction isEleInFooter (target) {\n while (target && !target.classList.contains(Classes.artTable)) {\n if (target.classList.contains(Classes.tableFooter)) {\n return true\n }\n target = target.parentElement\n }\n return false\n}\n\nfunction getRangeColumns (startCell:DragCell, endCell:DragCell, columns:ArtColumn[]) {\n const flatColumns = collectNodes(columns, 'leaf-only')\n const startIndex = flatColumns.findIndex((col) => col.code === startCell.code)\n const endIndex = flatColumns.findIndex((col) => col.code === endCell.code)\n if (startIndex < endIndex) {\n return flatColumns.slice(startIndex, endIndex + 1)\n } else {\n return flatColumns.slice(endIndex, startIndex + 1)\n }\n}\n\nfunction getRangeSelectionRowInfo (startCell:DragCell, endCell:DragCell, dataSource:any[]) {\n let footerRowRange = null\n let startRow = -1\n let endRow = -1\n const { startRow: _startRow, endRow: _endRow } = getCellRangeRow(startCell, endCell)\n // 两个单元格都在表体\n if (!startCell.isFooterCell && !endCell.isFooterCell) {\n startRow = _startRow\n endRow = _endRow\n } else if (startCell.isFooterCell && endCell.isFooterCell) { // 两个单元格都在表底\n footerRowRange = {\n startRow: _startRow,\n endRow: _endRow\n }\n } else {\n // 一个单元格在表体,一个在表底\n if (startCell.isFooterCell) {\n startRow = dataSource.length - 1\n endRow = endCell.rowIndex\n footerRowRange = {\n startRow: startCell.rowIndex,\n endRow: 0\n }\n } else {\n startRow = startCell.rowIndex\n endRow = dataSource.length - 1\n footerRowRange = {\n startRow: 0,\n endRow: endCell.rowIndex\n }\n }\n }\n\n return {\n startRow,\n endRow,\n footerRowRange\n }\n}\n\n/**\n * 获取框选范围的起始结束行\n * @param startCell 起始单元格\n * @param endCell 结束单元格\n * @returns\n */\nfunction getCellRangeRow (startCell:DragCell, endCell:DragCell) {\n if (isSameCell(startCell, endCell)) {\n return { startRow: startCell.rowIndex, endRow: startCell.rowIndex }\n }\n const isTopToBottom = startCell.rowIndex <= endCell.rowIndex\n const startRow = isTopToBottom ? startCell.rowIndex : startCell.rowIndex + startCell.rowSpan - 1\n const endRow = isTopToBottom ? endCell.rowIndex + endCell.rowSpan - 1 : endCell.rowIndex\n return { startRow, endRow }\n}\n\n/**\n * 框选范围是否只包含单个单元格\n * @param cellRanges\n * @returns\n */\nfunction isCellRangeSingleCell (cellRanges:CellRange[]) {\n if (cellRanges.length !== 1) return false\n const { startRow, endRow, columns, footerRowRange } = cellRanges[0]\n const isBodySingleCell = !footerRowRange && startRow === endRow && columns.length === 1\n const isFooterSingleCell = startRow === -1 && footerRowRange.startRow === footerRowRange.endRow && columns.length === 1\n\n return isBodySingleCell || isFooterSingleCell\n}\n\nfunction getRowIndex (startRow:number, endRow:number) {\n const isReverse = startRow > endRow\n const startRowIndex = isReverse ? endRow : startRow\n const endRowIndex = isReverse ? startRow : endRow\n return { startRowIndex, endRowIndex }\n}\n\nfunction getFooterRowIndex (footerRowRange:FooterRowRange) {\n if (footerRowRange) {\n return getRowIndex(footerRowRange.startRow, footerRowRange.endRow)\n }\n return { startRowIndex: -1, endRowIndex: -1 }\n}\n\nfunction getElementEditable (target) {\n if (!target) return\n if (['input', 'textarea'].includes(target.tagName.toLowerCase())) {\n if (target.type === 'checkbox') return\n return !target.disabled && !target.readOnly\n }\n}\n\n/**\n * 判断单元格是否在框选范围内\n * @param cellRange\n * @param rowIndex\n * @param col\n * @param isFooterCell\n * @returns\n */\nfunction isCellInRange (cellRange, rowIndex, col, isFooterCell) {\n const { startRow, endRow, columns, footerRowRange } = cellRange\n const isColInRanges = columns.findIndex(item => item.code === col.code) !== -1\n if (!isColInRanges) return false\n const { startRowIndex, endRowIndex } = getRowIndex(startRow, endRow)\n const { startRowIndex: footerStartRowIndex, endRowIndex: footerEndRowIndex } = getFooterRowIndex(footerRowRange)\n const bodyMatch = !isFooterCell && rowIndex >= startRowIndex && rowIndex <= endRowIndex\n const footerMatch = isFooterCell && footerRowRange && rowIndex >= footerStartRowIndex && rowIndex <= footerEndRowIndex\n const isRowInRange = footerMatch || bodyMatch\n return isRowInRange\n}\n\n/**\n * 获取框选范围唯一标识\n * @param {*} cellRange\n * @returns\n */\nexport function getCellRangeId (cellRange: CellRange) {\n const { startRow, endRow, footerRowRange, columns } = cellRange\n const { startRowIndex, endRowIndex } = getRowIndex(startRow, endRow)\n const { startRowIndex: footerStartRowIndex, endRowIndex: footerEndRowIndex } = getFooterRowIndex(footerRowRange)\n const firstColId = columns[0].code\n const endColId = columns[columns.length - 1].code\n return startRowIndex + '_' + endRowIndex + '_' + footerStartRowIndex + '_' + footerEndRowIndex + '_' + firstColId + '_' + endColId\n}\n\n/**\n * 获取框选范围中单元格的样式\n * @param cellRanges\n * @param param1\n * @returns\n */\nfunction getCellRangesClassName (cellRanges, { isFooterCell, rowIndex, col, record }) {\n const {\n matchCellRangeTop,\n matchCellRangeLeft,\n matchCellRangeBottom,\n matchCellRangeRight\n } = getMatchBorderStyle(cellRanges, { isFooterCell, rowIndex, col, record })\n\n const isSingleCell = isCellRangeSingleCell(cellRanges)\n const className = cx(\n {\n [Classes.tableCellRangeSingleCell]: isSingleCell,\n [Classes.tableCellRangeSelected]: !isSingleCell,\n [Classes.tableCellRangeTop]: !isSingleCell && matchCellRangeTop,\n [Classes.tableCellRangeLeft]: !isSingleCell && matchCellRangeLeft,\n [Classes.tableCellRangeBottom]: !isSingleCell && matchCellRangeBottom,\n [Classes.tableCellRangeRight]: !isSingleCell && matchCellRangeRight\n }\n )\n\n return className\n}\n\nfunction getMatchBorderStyle (cellRanges, { isFooterCell, rowIndex, col, record }) {\n return cellRanges.reduce((obj, cellRange) => {\n if (!isCellInRange(cellRange, rowIndex, col, isFooterCell)) return obj\n const { startRow, endRow, columns, footerRowRange } = cellRange\n const { startRowIndex, endRowIndex } = getRowIndex(startRow, endRow)\n\n const { startRowIndex: footerStartRowIndex, endRowIndex: footerEndRowIndex } = getFooterRowIndex(footerRowRange)\n const startCol = columns[0]\n const endCol = columns[columns.length - 1]\n\n const matchCellRangeTop = isFooterCell ? (startRowIndex !== -1 ? false : rowIndex === footerStartRowIndex) : rowIndex === startRowIndex\n const matchCellRangeLeft = col.code === startCol.code\n const matchCellRangeBottom = isFooterCell ? rowIndex === footerEndRowIndex : (footerRowRange ? false : rowIndex === endRowIndex)\n const matchCellRangeRight = col.code === endCol.code\n\n // 如果样式已经匹配上了,就不需要再取计算的样式\n obj.matchCellRangeTop = obj.matchCellRangeTop || matchCellRangeTop\n obj.matchCellRangeLeft = obj.matchCellRangeLeft || matchCellRangeLeft\n obj.matchCellRangeBottom = obj.matchCellRangeBottom || matchCellRangeBottom\n obj.matchCellRangeRight = obj.matchCellRangeRight || matchCellRangeRight\n\n return obj\n }, {\n matchCellRangeTop: false,\n matchCellRangeLeft: false,\n matchCellRangeBottom: false,\n matchCellRangeRight: false\n })\n}\n","import { isLeafNode, makeRecursiveMapper, mergeCellProps } from '../../utils'\nimport { TablePipeline } from '../pipeline'\nexport function mergeCellHover () {\n return (pipeline: TablePipeline) => {\n const onMouseEnter = (e: React.MouseEvent<HTMLTableCellElement, MouseEvent>) => {\n const InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e)\n InRangeRow.forEach((row: HTMLTableRowElement) => {\n row.classList.add('row-hover')\n })\n }\n const onMouseLeave = (e: React.MouseEvent<HTMLTableCellElement, MouseEvent>) => {\n const InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e)\n InRangeRow.forEach((row: HTMLTableRowElement) => {\n row.classList.remove('row-hover')\n })\n }\n const hoverHandlers = { onMouseEnter, onMouseLeave }\n\n return pipeline.mapColumns(\n makeRecursiveMapper((col) => {\n if (!isLeafNode(col)) {\n return col\n }\n const prevGetCellProps = col.getCellProps\n return {\n ...col,\n getCellProps (value: any, record: any, rowIndex: number) {\n // 大多数列没有自定义 getCellProps,直接返回静态 handlers 避免 mergeCellProps 开销\n if (!prevGetCellProps) return hoverHandlers\n const prevCellProps = prevGetCellProps(value, record, rowIndex)\n if (!prevCellProps) return hoverHandlers\n return mergeCellProps(prevCellProps, hoverHandlers)\n }\n }\n })\n )\n }\n}\n","import { TablePipeline } from '../pipeline'\n\nexport interface FooterDataSourceFeatureOptions {\n\n /** 指定表格页脚每一行元信息的记录字段 */\n footerRowMetaKey?: string | symbol\n\n /** 表格页脚数据源 */\n dataSource?: any[]\n\n}\n\nexport const footerRowMetaSymbol = Symbol('footer-row')\n\nexport function footerDataSource (opts: FooterDataSourceFeatureOptions = {}) {\n return function footerDataSourceStep (pipeline: TablePipeline) {\n const footerDataSource = opts.dataSource ?? pipeline.getFooterDataSource()\n const footerRowMetaKey = opts.footerRowMetaKey ?? footerRowMetaSymbol\n pipeline.setFeatureOptions('footerRowMetaKey', footerRowMetaKey)\n\n if (footerDataSource) {\n pipeline.footerDataSource(footerDataSource.map(row => ({ [footerRowMetaKey]: true, ...row })))\n } else {\n console.warn(\n '调用 pipeline.use(features.footerDataSource()) 前请先设置页脚数据源,设置方法有:pipeline.use(features.footerDataSource({dataSource:any[]})) 或者 pipeline.footerDataSource(any[])'\n )\n }\n\n return pipeline\n }\n}\n","import { TablePipeline } from '../pipeline'\nimport React, { CSSProperties, ReactNode, useEffect } from 'react'\nimport { ArtColumn } from '../../interfaces'\nimport styled from 'styled-components'\nimport { internals } from '../../internals'\nimport { isLeafNode, makeRecursiveMapper } from '../../utils'\nimport cx from 'classnames'\nimport { Classes } from '../../base/styles'\nimport { swapRTLDirection } from '../../base/utils'\nexport interface colGroupExtendOption {\n onChangeExtendStatus?({ }: any, { }: any): void,\n extendStatus?: {},\n extendIcon?: ReactNode | ((extendStatus: boolean) => ReactNode)\n}\n\ninterface ExpandProps {\n style?: CSSProperties\n className?: string\n size?: number\n isExtend?: boolean\n}\nconst ExtendIconStyle = styled.span`\n font-size:12px;\n margin-${props => swapRTLDirection(props.direction, 'left')}:4px;\n`\nconst stateKey = 'colExtend'\nconst ExpandIcon = ({ style, className, size, isExtend }: ExpandProps) => {\n return (\n isExtend\n ? <svg className={className} width={size} height={size} style={style} viewBox=\"96 96 896 896\">\n <path d=\"M678.347087 178.347087C690.550972 166.143203 690.550972 146.356797 678.347087 134.152913C666.143203 121.949029 646.356797 121.949029 634.152913 134.152913L290.402913 477.902913C278.199029 490.106797 278.199029 509.893203 290.402913 522.097087L634.152913 865.847087C646.356797 878.050972 666.143203 878.050972 678.347087 865.847087C690.550972 853.643203 690.550972 833.856797 678.347087 821.652913L356.694175 500L678.347087 178.347087z\"></path>\n </svg> : <svg className={className} width={size} height={size} style={style} viewBox=\"96 96 896 896\">\n <path d=\"M321.652913 178.347087C309.449029 166.143203 309.449029 146.356797 321.652913 134.152913C333.856797 121.949029 353.643203 121.949029 365.847088 134.152913L709.597087 477.902913C721.800972 490.106797 721.800972 509.893203 709.597087 522.097087L365.847088 865.847087C353.643203 878.050972 333.856797 878.050972 321.652913 865.847087C309.449029 853.643203 309.449029 833.856797 321.652913 821.652913L643.305825 500L321.652913 178.347087z\"></path>\n </svg>\n )\n}\n\nexport const colGroupExtendable = (opts: colGroupExtendOption = {}) => (pipeline: TablePipeline) => {\n const columns = pipeline.getColumns()\n const curState = opts.extendStatus ?? pipeline.getStateAtKey(stateKey) ?? {}\n const processColumns = (columns: ArtColumn[]) => {\n // 当组合列可伸缩,且处于收缩状态时,只渲染一个子列,其他不渲染\n const toggle = (col) => {\n // 对应的 col 进行状态切换\n const changedValue = { [col.code]: !curState[col.code] }\n curState[col.code] = !curState[col.code]\n pipeline.setStateAtKey(stateKey, { ...curState })\n opts?.onChangeExtendStatus && opts.onChangeExtendStatus(curState, changedValue)\n }\n const addIcon = (col: ArtColumn) => {\n const result = { ...col }\n const curColState = curState[col.code]\n const displaycolExtendIcon: ReactNode = typeof opts.extendIcon === 'function' ? opts.extendIcon(curColState) : opts.extendIcon\n const addIconNode = (\n <>\n {internals.safeRenderHeader({ ...col })}\n <ExtendIconStyle\n onClick={() => { toggle(col) }}\n direction={pipeline.ctx.direction}\n >\n {\n displaycolExtendIcon || <ExpandIcon\n style={{ userSelect: 'none', marginLeft: 2, flexShrink: 0, cursor: 'pointer', verticalAlign: 'middle' }}\n className={cx({\n [Classes.tableExtendIcon]: true\n })}\n size={14}\n isExtend={curColState}\n />\n }\n </ExtendIconStyle>\n </>\n )\n result.title = addIconNode\n return result\n }\n return makeRecursiveMapper((col: ArtColumn) => {\n const { showExtendIcon } = col?.features || {}\n if (showExtendIcon === true && col.children?.length > 1) {\n col = addIcon(col)\n curState[col.code] === false && col.children.splice(1, col.children.length)\n }\n return col\n })(columns)\n }\n pipeline.columns(processColumns(columns))\n return pipeline\n}\n","\nexport const FeatureName = {\n rowDrag: 'rowDrag'\n}\n","import React from 'react'\nimport { fromEvent } from 'rxjs'\nimport { map, takeUntil, filter } from 'rxjs/operators'\n\nimport { TablePipeline } from '../pipeline'\nimport { ArtColumn, CellProps, RowDragEvent, DragEvent, RowDropZoneParams } from '../../interfaces'\nimport cx from 'classnames'\nimport { Classes } from '../../base/styles'\nimport { FeatureName } from '../const'\nimport { internals } from '../../internals'\nimport { getEventCoordinates, getEventTarget } from './utils/touchEventUtils'\n\nexport interface RowDragFeatureOptions {\n /** 拖拽开始事件 */\n onDragStart?:(event:RowDragEvent) => void,\n\n /** 拖拽移动事件 */\n onDragMove?:(event:RowDragEvent) => void,\n\n /** 拖拽结束事件 */\n onDragEnd?:(event:RowDragEvent) => void,\n\n /** 拖拽离开事件 */\n onDragLeave?:(event:RowDragEvent) => void,\n\n /** 拖拽进入事件 */\n onDragEnter?:(event:RowDragEvent) => void,\n\n /** 判断一行是否要禁用拖拽 */\n isDisabled?:(row: any, rowIndex: number) => boolean,\n\n /** 拖拽时显示的文本 */\n rowDragText:(row:any, rowIndex: number) => string,\n\n /** 拖拽列定义 */\n rowDragColumn?: ArtColumn,\n\n /** 拖拽过程中是否禁止滚动条滚动 */\n suppressScrollMove?:boolean,\n\n /** 树型表格是否允许拖拽插入行 */\n allowDragIntoRow?: boolean,\n\n /** 公共参数,作为拖拽回调参数,可在此提供业务层取数接口 */\n commonParams?:any\n\n}\n\nexport const ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&'\nexport const rowDragKey = 'rowDragKey'\nexport const rowDragOptionsKey = 'rowDragOptions'\nconst SCROLL_OFFSET = 30\nconst SCROLL_START_OFFSET = 20\n\nconst defaultRowDragColumn: ArtColumn = {\n name: '拖拽列',\n code: ROW_DRAG_COLUMN_CODE,\n lock: true,\n title: '',\n width: 40,\n align: 'center',\n getCellProps (value: any, row: any, rowIndex: number) : CellProps {\n return {\n className: cx(Classes.rowDragCell)\n }\n },\n render (value: any, row: any, rowIndex: number) {\n return (\n <svg\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/1999/xlink\"\n data-icon=\"drag\"\n width=\"16\"\n height=\"16\"\n >\n <path d=\"M298.688 192a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0zM298.688 512a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m-298.624 320a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m298.624 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z\" />\n </svg>\n )\n }\n}\n\nexport function rowDrag (opt:RowDragFeatureOptions) {\n return function rowDragStep (pipeline:TablePipeline) {\n const tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody\n const artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable\n const rowDragApi = pipeline.addFeatureApi(FeatureName.rowDrag)\n pipeline.setFeatureOptions(rowDragOptionsKey, opt)\n\n if (!tableBody) return pipeline\n\n const dataSource = pipeline.getDataSource()\n\n const getRowDragEvent = (dropTargetEvent, isFinished): RowDragEvent => {\n const { dragItem, x, y, dropZoneTarget, startDropZoneTagret, commonParams, startCommonParams, event, dropZoneTableParams } = dropTargetEvent\n const { getDataSource, getTreeModeOptions, getRowDragOptions } = dropZoneTableParams\n const dataSource = getDataSource()\n const treeModeOptions = getTreeModeOptions()\n const rowDragOptions = getRowDragOptions()\n\n const allowDragIntoRow = !!treeModeOptions && rowDragOptions?.allowDragIntoRow\n\n const isLeave = !isPointerOnDropTarget(event, dropZoneTarget)\n\n let overIndex = -1\n let direction = 'bottom'\n\n if (!isLeave && dataSource.length > 0) {\n const overDragItem = getDragRowItem(getEventTarget(event), dropZoneTarget, dataSource)\n\n if (overDragItem) {\n const { rowIndex, cell } = overDragItem\n overIndex = rowIndex\n direction = getDirection(cell, getEventCoordinates(event).clientY, allowDragIntoRow)\n }\n }\n\n if (overIndex === -1 && dataSource.length > 0 && dropZoneTarget.contains(getEventTarget(event))) {\n overIndex = dataSource.length - 1\n direction = 'bottom'\n }\n const overRow = overIndex >= 0 ? dataSource[overIndex] : null\n\n return {\n startRowIndex: dragItem.rowIndex,\n startRow: dragItem.row,\n endRowIndex: overIndex,\n endRow: overRow,\n startDropZoneTagret,\n startCommonParams,\n commonParams,\n dropZoneTarget,\n event,\n dragPosition: direction,\n isFinished,\n x,\n y\n }\n }\n\n const onDragging = (event: DragEvent) => {\n const rowDragEvent = getRowDragEvent(event, false)\n opt?.onDragMove?.(rowDragEvent)\n pipeline.setStateAtKey(rowDragKey, rowDragEvent)\n }\n\n const onDragStop = (event: DragEvent) => {\n const rowDragEvent = getRowDragEvent(event, true)\n\n pipeline.setStateAtKey(rowDragKey, rowDragEvent)\n opt?.onDragEnd?.(rowDragEvent)\n }\n\n const onDragStart = (event: DragEvent) => {\n const rowDragEvent = getRowDragEvent(event, false)\n opt?.onDragStart?.(rowDragEvent)\n }\n\n const onDragLeave = (event: DragEvent) => {\n const rowDragEvent = getRowDragEvent(event, false)\n pipeline.setStateAtKey(rowDragKey, rowDragEvent)\n opt?.onDragLeave?.(rowDragEvent)\n }\n\n const onDragEnter = (event: DragEvent) => {\n const rowDragEvent = getRowDragEvent(event, false)\n pipeline.setStateAtKey(rowDragKey, rowDragEvent)\n opt?.onDragEnter?.(rowDragEvent)\n }\n\n const currentDropZone: RowDropZoneParams = {\n getContainer: () => {\n const lastPipeline = pipeline.getLastPipeline()\n return lastPipeline.ref.current.domHelper.tableBody\n },\n onDragEnter: onDragEnter,\n onDragLeave: onDragLeave,\n onDragging: onDragging,\n onDragStop: onDragStop,\n isTable: true,\n tableParams: {\n getDataSource: () => {\n const lastPipeline = pipeline.getLastPipeline()\n return lastPipeline.getDataSource()\n },\n getTreeModeOptions: () => {\n const lastPipeline = pipeline.getLastPipeline()\n return lastPipeline.getFeatureOptions('treeModeOptions')\n },\n getRowDragOptions: () => {\n const lastPipeline = pipeline.getLastPipeline()\n return lastPipeline.getFeatureOptions('rowDragOptions')\n }\n }\n }\n\n const onMouseDown = (event: React.MouseEvent<HTMLTableElement, MouseEvent>) => {\n handlePointerDown(event.nativeEvent)\n }\n\n // PC 单据移动端显示,兼容移动端的拖拽事件\n const onTouchStart = (event: React.TouchEvent<HTMLTableElement>) => {\n // 尝试阻止触摸事件的默认行为,防止页面滚动\n try {\n if (event.cancelable) {\n event.preventDefault()\n }\n } catch (error) {\n // 忽略passive event listener错误\n console.warn('preventDefault failed in passive touch event listener')\n }\n handlePointerDown(event.nativeEvent)\n }\n\n // 统一的拖拽处理函数\n const handlePointerDown = (startEvent: MouseEvent | TouchEvent) => {\n const startDataItem = getDragRowItem(getEventTarget(startEvent), tableBody, dataSource)\n if (!startDataItem || startDataItem.code !== rowDragColumn.code) return\n\n if (opt?.isDisabled?.(startDataItem.row, startDataItem.rowIndex)) return\n\n let isValidDrag = false\n let isDragging = false\n let dragElement = null\n let dragLine = null\n let lastDropTarget = null\n let timeoutId = null\n let intervalId = null\n let expandRowTimeoutId = null\n const expandRowCallBackList = []\n\n const updateScrollPosition = (tableBody:Element, moveEvent: MouseEvent | TouchEvent) => {\n if (opt?.suppressScrollMove) return\n\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n if (intervalId) {\n clearInterval(intervalId)\n }\n\n if (!tableBody) return\n\n const moveOffset = getScrollMoveOffset(tableBody, moveEvent)\n if (moveOffset === 0) {\n return\n }\n\n timeoutId = setTimeout(() => {\n intervalId = setInterval(() => {\n tableBody.scrollTop += moveOffset\n }, 50)\n }, 500)\n }\n\n const handleDragStart = (event: MouseEvent | TouchEvent) => {\n // 屏蔽默认事件,防止文本选择、框选等\n try {\n if (event.cancelable) {\n event.preventDefault()\n }\n } catch (error) {\n // 忽略passive event listener错误\n console.warn('preventDefault failed in passive event listener')\n }\n // 禁用页面的文本选择\n document.body.style.userSelect = 'none'\n document.body.style.webkitUserSelect = 'none'\n\n // 添加拖拽状态的CSS类,可以在样式中进一步控制\n document.body.classList.add('row-dragging')\n\n dragElement = createDragElement(event, tableBody) // 创建拖拽悬浮框\n const isTreeTable = !!pipeline.getFeatureOptions('treeModeOptions')\n dragLine = createDragLine(isTreeTable) // 创建拖拽插入指示线\n const dragText = opt?.rowDragText ? opt?.rowDragText?.(startDataItem.row, startDataItem.rowIndex) : `第${startDataItem.rowIndex}行内容`\n setDragText(dragElement, dragText) // 设置悬浮框显示文本\n artTable.classList.add(cx(Classes.rowDragging))\n rowDragApi.setDragStatus('start')\n\n const dragEvent = createDropTargetEvent(currentDropZone, event, startDataItem, currentDropZone)\n onDragStart(dragEvent)\n }\n\n const handleDragMove = (moveEvent: MouseEvent | TouchEvent) => {\n // 尝试屏蔽默认事件,在passive监听器中可能会失败\n try {\n if (moveEvent.cancelable) {\n moveEvent.preventDefault()\n }\n } catch (error) {\n // 忽略passive event listener错误\n console.warn('preventDefault failed in passive event listener')\n }\n\n const isRTL = pipeline.ctx.direction === 'rtl'\n positionDragElemment(dragElement, moveEvent, isRTL) // 更新拖拽悬浮框位置\n rowDragApi.setDragStatus('dragging')\n setDragElementIcon(dragElement, 'move')\n\n const rowDropZones = rowDragApi.getRowDropZone()\n const validDropZones = rowDropZones.concat(currentDropZone) // 可放置区域加上自身\n const dropTarget = validDropZones.find(zone => isPointerOnDropTarget(moveEvent, zone.getContainer())) || null\n\n updateScrollPosition(dropTarget?.getContainer(), moveEvent) // 拖拽到底时让滚动条可以滚动\n\n if (dropTarget !== lastDropTarget) {\n // 拖拽离开表格\n if (lastDropTarget !== null && dropTarget === null) {\n if (lastDropTarget.onDragLeave) {\n setDragElementIcon(dragElement, 'notAllowed')\n hiddenDragLine(dragLine)\n lastDropTarget.getContainer().classList.remove(Classes.rowDragNoData)\n const dragEvent = createDropTargetEvent(lastDropTarget, moveEvent, startDataItem, currentDropZone)\n lastDropTarget.onDragLeave(dragEvent)\n }\n }\n\n // 拖拽进入表格\n if (lastDropTarget === null && dropTarget !== null) {\n if (dropTarget.onDragEnter) {\n setDragElementIcon(dragElement, 'move')\n if (dropTarget.isTable) {\n showDragLine(dragLine)\n\n const { getTreeModeOptions } = dropTarget.tableParams\n const treeModeOptions = getTreeModeOptions()\n const isTreeTable = !!treeModeOptions\n // 判断拖拽进入的表格是否是树形表格,控制指示线样式\n if (isTreeTable) {\n dragLine.classList.add(Classes.treeTableRowDragLine)\n } else {\n dragLine.classList.remove(Classes.treeTableRowDragLine)\n }\n }\n const dragEvent = createDropTargetEvent(dropTarget, moveEvent, startDataItem, currentDropZone)\n dropTarget.onDragEnter(dragEvent)\n }\n }\n\n lastDropTarget = dropTarget\n }\n if (dropTarget) {\n // 拖拽区域在表格中,更新拖拽插入指示线位置\n if (dropTarget.isTable) {\n positionDragLine({\n lineElement: dragLine,\n dragZone: dropTarget,\n event: moveEvent,\n isRTL\n })\n }\n\n // 树形表格悬停1s展开对应行节点\n if (dropTarget?.tableParams?.getTreeModeOptions()) {\n if (expandRowTimeoutId) {\n clearTimeout(expandRowTimeoutId)\n }\n\n expandRowTimeoutId = setTimeout(() => {\n const treeModeOptions = dropTarget.tableParams.getTreeModeOptions()\n const { treeMetaKey, onExpand, isExpanded, onCollapse } = treeModeOptions\n // 鼠标悬停所在的拖拽行信息\n const dataSource = dropTarget.tableParams.getDataSource()\n const dragItem = getDragRowItem(getEventTarget(moveEvent), dropTarget.getContainer(), dataSource)\n\n if (!dragItem) return\n\n const { row } = dragItem\n const { rowKey, isLeaf } = row[treeMetaKey]\n\n if (!isLeaf && !isExpanded(rowKey)) {\n onExpand(rowKey)\n expandRowCallBackList.push(() => onCollapse(rowKey))\n }\n }, 1000)\n }\n\n if (dropTarget.onDragging) {\n const dragEvent = createDropTargetEvent(dropTarget, moveEvent, startDataItem, currentDropZone)\n dropTarget.onDragging(dragEvent)\n }\n }\n }\n\n const handleDragStop = (endEvent: MouseEvent | TouchEvent) => {\n if (!isValidDrag) {\n return\n }\n\n // 恢复默认的文本选择功能\n document.body.style.userSelect = ''\n document.body.style.webkitUserSelect = ''\n\n // 移除拖拽状态的CSS类\n document.body.classList.remove('row-dragging')\n\n removeElement(dragElement)\n removeElement(dragLine)\n artTable.classList.remove(cx(Classes.rowDragging))\n rowDragApi.setDragStatus('finished')\n clearTimeout(timeoutId)\n clearInterval(intervalId)\n clearTimeout(expandRowTimeoutId)\n\n const rowDropZones = rowDragApi.getRowDropZone()\n rowDropZones.forEach(dropzone => {\n const container = dropzone.getContainer()\n container && container.classList.remove(Classes.rowDragNoData)\n })\n\n const validDropZones = rowDropZones.concat(currentDropZone)\n const dropTarget = validDropZones.find(zone => isPointerOnDropTarget(endEvent, zone.getContainer()))\n\n if (dropTarget && dropTarget.onDragStop) {\n const dragEvent = createDropTargetEvent(dropTarget, endEvent, startDataItem, currentDropZone)\n dropTarget.onDragStop(dragEvent)\n }\n\n while (expandRowCallBackList.length > 0) {\n const callback = expandRowCallBackList.pop()\n callback()\n }\n }\n\n // 判断是鼠标事件还是触摸事件,分别监听对应的移动和结束事件\n const isTouchEvent = 'touches' in startEvent\n\n if (isTouchEvent) {\n // 触摸事件处理\n const touchmove$ = fromEvent<TouchEvent>(window, 'touchmove', { passive: false })\n const touchend$ = fromEvent<TouchEvent>(window, 'touchend', { passive: false })\n\n const touchDragMove$ = touchmove$.pipe(\n filter((moveEvent: TouchEvent) => {\n const coordinates = getEventCoordinates(moveEvent)\n const startCoordinates = getEventCoordinates(startEvent)\n const moveClientY = coordinates.clientY\n const startClientY = startCoordinates.clientY\n // 上下移动偏移量大于5才是有效的拖拽\n if (Math.abs(moveClientY - startClientY) > 5) {\n isValidDrag = true\n }\n return isValidDrag\n }),\n map((moveEvent: TouchEvent) => {\n if (!isDragging) {\n isDragging = true\n handleDragStart(startEvent)\n handleDragMove(startEvent)\n }\n handleDragMove(moveEvent)\n }),\n takeUntil(touchend$)\n )\n\n touchDragMove$.subscribe()\n\n const touchDragEnd$ = touchend$.pipe(\n map((endEvent: TouchEvent) => {\n handleDragStop(endEvent)\n })\n ).subscribe({\n next: () => {\n touchDragEnd$.unsubscribe()\n }\n })\n } else {\n // 鼠标事件处理\n const mousemove$ = fromEvent<MouseEvent>(window, 'mousemove')\n const mouseup$ = fromEvent<MouseEvent>(window, 'mouseup')\n\n const rowDragMove$ = mousemove$.pipe(\n filter((moveEvent: MouseEvent) => {\n const coordinates = getEventCoordinates(moveEvent)\n const startCoordinates = getEventCoordinates(startEvent)\n const moveClientY = coordinates.clientY\n const startClientY = startCoordinates.clientY\n // 上下移动偏移量大于5才是有效的拖拽\n if (Math.abs(moveClientY - startClientY) > 5) {\n isValidDrag = true\n }\n return isValidDrag\n }),\n map((moveEvent: MouseEvent) => {\n if (!isDragging) {\n isDragging = true\n handleDragStart(startEvent)\n handleDragMove(startEvent)\n }\n handleDragMove(moveEvent)\n }),\n takeUntil(mouseup$)\n )\n\n rowDragMove$.subscribe()\n\n const rowDragEnd$ = mouseup$.pipe(\n map((endEvent: MouseEvent) => {\n handleDragStop(endEvent)\n })\n ).subscribe({\n next: () => {\n rowDragEnd$.unsubscribe()\n }\n })\n }\n }\n\n const rowDragColumn = opt?.rowDragColumn || defaultRowDragColumn\n pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code)\n\n rowDragApi.setRowDropZoneParams(currentDropZone)\n\n const nextColumns = pipeline.getColumns().slice()\n nextColumns.unshift(rowDragColumn)\n pipeline.columns(nextColumns)\n\n pipeline.addTableProps({\n onMouseDown,\n onTouchStart\n })\n\n pipeline.appendRowPropsGetter((row, rowIndex) => {\n const rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {}\n const dragStatus = rowDragApi.getDragStatus()\n\n const { startRowIndex, endRowIndex, endRow, isFinished, dragPosition } = rowDragEvent\n\n const isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')]\n const treeModeOptions = pipeline.getFeatureOptions('treeModeOptions')\n const isTreeTable = !!treeModeOptions\n\n if (isFooterCell || isFinished || (!isTreeTable && rowIndex !== startRowIndex && rowIndex !== endRowIndex)) return\n\n let parentRowKeyIndex = -1\n if (isTreeTable && endRow) {\n const { treeMetaKey } = treeModeOptions\n const { parentRowKey } = endRow[treeMetaKey]\n const primaryKey = pipeline.ensurePrimaryKey('rowDrag')\n parentRowKeyIndex = pipeline.getDataSource().findIndex(row => internals.safeGetRowKey(primaryKey, row, -1) === parentRowKey)\n }\n\n const className = cx({\n [Classes.rowDragStart]: rowIndex === startRowIndex && dragStatus !== 'finished',\n [Classes.rowDragEnd]: rowIndex === endRowIndex,\n [Classes.rowDragEndParent]: isTreeTable && rowIndex === parentRowKeyIndex && dragPosition !== 'into',\n [Classes.rowDragEndInto]: rowIndex === endRowIndex && dragPosition === 'into',\n [Classes.rowDragEndToTop]: rowIndex === endRowIndex && dragPosition === 'top',\n [Classes.rowDragEndToBottom]: rowIndex === endRowIndex && dragPosition === 'bottom'\n })\n\n return { className }\n })\n\n return pipeline\n }\n}\n\nfunction getDragRowItem (target, tableBody, record) {\n while (target && tableBody.contains(target)) {\n if (target.getAttribute('data-role') === 'table-cell') {\n const code = target.getAttribute('data-code')\n const rowIndex = parseInt(target.getAttribute('data-rowindex'))\n const row = record[rowIndex]\n const isFooterCell = isEleInFooter(target)\n\n if (!row || isFooterCell) return null\n return {\n rowIndex,\n row,\n code,\n cell: target\n }\n }\n target = target.parentElement\n }\n return null\n}\n\nfunction findTargetRow (target, tableBody) {\n while (target && tableBody.contains(target)) {\n if (target.getAttribute('data-role') === 'table-row') {\n return target\n }\n target = target.parentElement\n }\n return null\n}\n\nfunction isEleInFooter (target) {\n while (target && !target.classList.contains(Classes.artTable)) {\n if (target.classList.contains(Classes.tableFooter)) {\n return true\n }\n target = target.parentElement\n }\n return false\n}\n\nfunction createDragElement (event: MouseEvent | TouchEvent, tableBody:Element) {\n const ELEMENT_TEMPLATE = (\n `<div class='${Classes.rowDragElement}'>\n <span class='${Classes.rowDragElementIcon}'></span>\n <div class='${Classes.rowDragElementLabel}'></div>\n </div>`\n )\n\n const element = document.createElement('div')\n element.innerHTML = ELEMENT_TEMPLATE\n const dragElement = element.firstChild as HTMLElement\n\n const targetRow = findTargetRow(getEventTarget(event), tableBody)\n if (targetRow) {\n const rect = targetRow.getBoundingClientRect()\n dragElement.style.height = rect.height + 'px'\n }\n const bodyRect = tableBody.getBoundingClientRect()\n dragElement.style.maxWidth = bodyRect.width + 'px'\n\n document.body.appendChild(dragElement)\n return dragElement\n}\n\nfunction createDragLine (isTreeTable) {\n const dragLine = document.createElement('div')\n dragLine.classList.add(Classes.rowDragLine)\n if (isTreeTable) {\n dragLine.classList.add(Classes.treeTableRowDragLine)\n }\n document.body.appendChild(dragLine)\n return dragLine\n}\n\nfunction positionDragLine ({ lineElement, dragZone, event, isRTL }) {\n const tableContainer = dragZone.getContainer()\n\n const { getDataSource, getTreeModeOptions, getRowDragOptions } = dragZone.tableParams\n const dataSource = getDataSource()\n const treeModeOptions = getTreeModeOptions()\n const rowDragOptions = getRowDragOptions() || {}\n const { allowDragIntoRow } = rowDragOptions\n\n const isTreeTable = !!treeModeOptions\n\n const bodyRect = tableContainer.getBoundingClientRect()\n const offsetParentSize = getElementRectWithOffset(document.body)\n\n if (dataSource.length === 0) {\n tableContainer.classList.add(Classes.rowDragNoData)\n lineElement.style.display = 'none'\n } else {\n tableContainer.classList.remove(Classes.rowDragNoData)\n lineElement.style.display = 'block'\n }\n // 鼠标悬停所在的拖拽行信息\n const dragItem = getDragRowItem(getEventTarget(event), tableContainer, dataSource)\n\n if (!dragItem) {\n if (dataSource.length > 0 && tableContainer.contains(getEventTarget(event))) {\n const rowIndex = dataSource.length - 1\n const row = dataSource[rowIndex]\n const direction = 'bottom'\n const targetCell = isTreeTable ? tableContainer.querySelector(`tr[data-rowindex=\"${rowIndex}\"] .${Classes.tableExtendCell}`) : tableContainer.querySelector(`tr[data-rowindex=\"${rowIndex}\"] .${Classes.rowDragCell}`)\n if (!targetCell) return\n const { top, left, width } = getLinePosition({ treeModeOptions, cell: targetCell, row, direction, offsetParentSize, bodyRect, isRTL })\n lineElement.style.left = `${left}px`\n lineElement.style.top = `${top}px`\n lineElement.style.width = `${width}px`\n }\n\n return\n }\n\n const { cell, rowIndex, row } = dragItem\n\n const allowDragInto = isTreeTable && allowDragIntoRow\n const direction = getDirection(cell, getEventCoordinates(event).clientY, allowDragInto)\n\n const targetCell = isTreeTable ? tableContainer.querySelector(`tr[data-rowindex=\"${rowIndex}\"] .${Classes.tableExtendCell}`) : cell\n if (!targetCell) return\n const { top, left, width } = getLinePosition({ treeModeOptions, cell: targetCell, row, direction, offsetParentSize, bodyRect, isRTL })\n\n lineElement.style.left = `${left}px`\n lineElement.style.top = `${top}px`\n lineElement.style.width = `${width}px`\n\n if (direction === 'into') {\n lineElement.style.display = 'none'\n } else {\n lineElement.style.display = 'block'\n }\n}\n\nfunction showDragLine (lineElement) {\n lineElement.style.display = 'block'\n}\n\nfunction hiddenDragLine (lineElement) {\n lineElement.style.display = 'none'\n}\n\nfunction positionDragElemment (element: HTMLElement, event: MouseEvent | TouchEvent, isRTL: boolean) {\n if (!element) return\n const elementRect = element.getBoundingClientRect()\n const eleHeight = elementRect.height\n const browserWidth = document.body?.clientWidth ?? (window.innerHeight || document.documentElement?.clientWidth || 0)\n const browserHeight = document.body?.clientHeight ?? (window.innerHeight || document.documentElement?.clientHeight || 0)\n const offsetParentSize = getElementRectWithOffset(element.offsetParent)\n const { clientX, clientY } = getEventCoordinates(event)\n let top = clientY - offsetParentSize.top - eleHeight / 2\n let left = clientX - offsetParentSize.left\n let right = Math.max(browserWidth - clientX, 0)\n const windowScrollX = window.pageXOffset || window.scrollX\n const windowScrollY = window.pageYOffset || window.scrollY\n\n if (browserWidth > 0 && left + element.clientWidth > browserWidth + windowScrollX) {\n left = Math.max(browserWidth + windowScrollX - element.clientWidth, 0)\n }\n if (browserHeight > 0 && top + element.clientHeight > browserHeight + windowScrollY) {\n top = Math.max(browserHeight + windowScrollY - element.clientHeight, 0)\n }\n if (browserWidth > 0 && right + element.clientWidth > browserWidth + windowScrollX) {\n right = Math.max(browserWidth + windowScrollX - element.clientWidth, 0)\n }\n\n if (isRTL) {\n element.style.right = right + 'px'\n } else {\n element.style.left = left + 'px'\n }\n element.style.top = top + 'px'\n}\n\nfunction getElementRectWithOffset (el) {\n const offsetElementRect = el.getBoundingClientRect()\n const { borderTopWidth, borderLeftWidth, borderRightWidth, borderBottomWidth } = _getElementSize(el)\n return {\n top: offsetElementRect.top + (borderTopWidth || 0),\n left: offsetElementRect.left + (borderLeftWidth || 0),\n right: offsetElementRect.right + (borderRightWidth || 0),\n bottom: offsetElementRect.bottom + (borderBottomWidth || 0)\n }\n}\n\nfunction _getElementSize (el) {\n const {\n height,\n width,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n boxSizing\n } = window.getComputedStyle(el)\n return {\n height: parseFloat(height || '0'),\n width: parseFloat(width || '0'),\n borderTopWidth: parseFloat(borderTopWidth || '0'),\n borderRightWidth: parseFloat(borderRightWidth || '0'),\n borderBottomWidth: parseFloat(borderBottomWidth || '0'),\n borderLeftWidth: parseFloat(borderLeftWidth || '0'),\n paddingTop: parseFloat(paddingTop || '0'),\n paddingRight: parseFloat(paddingRight || '0'),\n paddingBottom: parseFloat(paddingBottom || '0'),\n paddingLeft: parseFloat(paddingLeft || '0'),\n marginTop: parseFloat(marginTop || '0'),\n marginRight: parseFloat(marginRight || '0'),\n marginBottom: parseFloat(marginBottom || '0'),\n marginLeft: parseFloat(marginLeft || '0'),\n boxSizing\n }\n}\n\nfunction removeElement (element) {\n document.body.removeChild(element)\n}\n\nfunction setDragElementIcon (element, iconName) {\n const elementIcon = element.querySelector(`.${Classes.rowDragElementIcon}`)\n clearElementChildren(elementIcon)\n iconName = iconName || 'notAllowed'\n\n const iconElement = document.createElement('span')\n if (iconName === 'move') {\n iconElement.classList.add(Classes.iconMove)\n } else if (iconName === 'notAllowed') {\n iconElement.classList.add(Classes.iconNotAllowed)\n }\n elementIcon.appendChild(iconElement)\n}\n\nfunction clearElementChildren (element) {\n while (element?.firstChild) {\n element.removeChild(element.firstChild)\n }\n}\n\nfunction getScrollMoveOffset (tableBody: Element, moveEvent: MouseEvent | TouchEvent) {\n const { clientY } = getEventCoordinates(moveEvent)\n const tableBodyClientRect = tableBody.getBoundingClientRect()\n\n const { top, height } = tableBodyClientRect\n\n if (clientY >= top + height - SCROLL_START_OFFSET && clientY <= top + height) {\n return SCROLL_OFFSET\n }\n if (clientY >= top && clientY <= top + SCROLL_START_OFFSET) {\n return -SCROLL_OFFSET\n }\n return 0\n}\n\nfunction setDragText (element, dragText): void {\n const dragTextString = dragText.toString()\n const elementIcon = element.querySelector(`.${Classes.rowDragElementLabel}`)\n const stringNode = document.createTextNode(dragTextString)\n elementIcon.appendChild(stringNode)\n}\n\nfunction isPointerOnDropTarget (pointerEvent: MouseEvent | TouchEvent, target): boolean {\n const eventTarget = getEventTarget(pointerEvent)\n return target.contains(eventTarget)\n}\n\nfunction createDropTargetEvent (dropZone, event, dragItem, startDropZone): DragEvent {\n const dropZoneTarget = dropZone.getContainer()\n const startDropZoneTagret = startDropZone.getContainer()\n const rect = dropZoneTarget.getBoundingClientRect()\n const { clientX, clientY } = getEventCoordinates(event)\n const x = clientX - rect.left\n const y = clientY - rect.top\n const startDropZoneOptions = startDropZone.tableParams.getRowDragOptions()\n const startCommonParams = startDropZoneOptions?.commonParams\n const targetEvent:DragEvent = {\n dragItem,\n startDropZoneTagret,\n startCommonParams,\n dropZoneTarget,\n event,\n x,\n y\n }\n if (dropZone.isTable) {\n const dropZoneOptions = dropZone.tableParams.getRowDragOptions()\n const commonParams = dropZoneOptions?.commonParams\n targetEvent.dropZoneTableParams = dropZone.tableParams\n targetEvent.commonParams = commonParams\n }\n return targetEvent\n}\n\nfunction getDirection (cell, clientY, isTreeTable = false) : string {\n const { height, y } = cell.getBoundingClientRect()\n\n let direction = 'bottom'\n\n if (isTreeTable) {\n if (y + height / 4 > clientY) {\n direction = 'top'\n } else if (y + height * 3 / 4 > clientY) {\n direction = 'into'\n }\n } else if (y + height / 2 > clientY) {\n direction = 'top'\n }\n\n return direction\n}\n\nconst getLinePosition = ({ treeModeOptions, cell, row, direction, offsetParentSize, bodyRect, isRTL }) => {\n const isTreeTable = !!treeModeOptions\n\n if (isTreeTable) {\n const {\n iconWidth,\n iconIndent,\n iconGap,\n indentSize,\n treeMetaKey\n } = treeModeOptions\n const { paddingLeft, paddingRight } = _getElementSize(cell)\n const expandCellRect = cell.getBoundingClientRect()\n const { depth, isLeaf } = row[treeMetaKey]\n const addWidth = isLeaf ? iconWidth + iconGap : 0\n const indent = iconIndent + depth * indentSize + addWidth\n const { x, y, height } = expandCellRect\n\n const top = direction === 'bottom' ? y + height - offsetParentSize.top : y - offsetParentSize.top\n const offsetX = Math.max(x + paddingLeft + indent - bodyRect.x, 0)\n const left = bodyRect.x + offsetX - offsetParentSize.left\n const width = bodyRect.width - offsetX\n\n if (isRTL) {\n const expandCellOffsetRight = bodyRect.right - expandCellRect.right // 展示收起单元格相较于表格右边的距离\n const _left = bodyRect.x - offsetParentSize.left\n // 表格的宽度 - expandCellOffsetRight - 表格的paddingRight - 计算得出的缩进\n const _width = bodyRect.width - expandCellOffsetRight - paddingRight - indent\n return {\n top,\n left: _left,\n width: _width\n }\n }\n return {\n top,\n left,\n width\n\n }\n }\n\n // 根据鼠标悬停位置所在单元格和显示位置计算拖拽线的位置\n const rect = cell.getBoundingClientRect()\n const { y, height } = rect\n const top = direction === 'bottom' ? y + height - offsetParentSize.top : y - offsetParentSize.top\n const left = bodyRect.x - offsetParentSize.left\n const width = bodyRect.width\n\n return { top, left, width }\n}\n","\nimport { TablePipeline } from '../../pipeline'\nimport { RowDropZoneParams } from '../../../interfaces'\nconst ROW_DRAG_STATUS = 'rowDragStatus'\n\n\nexport default class RowDragApi {\n private pipeline: TablePipeline\n private rowDropZoneParams: RowDropZoneParams\n private rowDropZones: RowDropZoneParams[]\n private dragStatus:string\n\n constructor (pipeline) {\n this.pipeline = pipeline\n this.rowDropZoneParams = null\n this.rowDropZones = []\n this.dragStatus = 'finished'\n }\n\n public getRowDropZoneParams () {\n return this.rowDropZoneParams\n }\n\n public setRowDropZoneParams (params) {\n this.rowDropZoneParams = params\n }\n\n public addRowDropZone (rowDropZone) {\n if(!rowDropZone || !rowDropZone?.getContainer()){\n return \n }\n const isExist = this.rowDropZones.some(zone => zone.getContainer() === rowDropZone.getContainer())\n if(isExist){\n return\n }\n this.rowDropZones.push(rowDropZone)\n }\n\n public getRowDropZone(){\n return this.rowDropZones\n }\n\n public removeRowDropZone (rowDropZone) {\n this.rowDropZones = this.rowDropZones.filter(zone => zone.getContainer() !== rowDropZone.getContainer())\n }\n\n private setDragStatus(status){\n const currentStatus = this.dragStatus\n this.dragStatus = status\n \n if (currentStatus!== status){\n this.pipeline.setStateAtKey(ROW_DRAG_STATUS, status)\n }\n }\n\n private getDragStatus(){\n return this.dragStatus\n }\n}\n","import { useState, useRef } from 'react'\nimport { TableProps, PrimaryKey } from '../base'\nimport { ArtColumn, TableTransform, Transform } from '../interfaces'\nimport { mergeCellProps } from '../utils'\nimport { autoFillTableWidth, tableWidthKey } from './features/autoFill'\nimport { createFeatureApi } from './features/featureApi/utils'\n\ntype RowPropsGetter = TableProps['getRowProps']\n\ninterface PipelineSnapshot {\n dataSource: any[]\n columns: ArtColumn[]\n rowPropsGetters: RowPropsGetter[]\n}\n\nexport interface TablePipelineIndentsConfig {\n iconIndent: number\n iconWidth: 16\n iconGap: number\n indentSize: number\n}\n\nexport interface TablePipelineCtx {\n primaryKey?: PrimaryKey\n components: { [name: string]: any }\n indents: TablePipelineIndentsConfig\n\n [key: string]: any\n}\n\n/**\n * 表格数据处理流水线。TablePipeline 提供了表格数据处理过程中的一些上下方与工具方法,包括……\n *\n * 1. ctx:上下文环境对象,step(流水线上的一步)可以对 ctx 中的字段进行读写。\n * ctx 中部分字段名称有特定的含义(例如 primaryKey 表示行的主键),使用自定义的上下文信息时注意避开这些名称。\n *\n * 2. rowPropsGetters:getRowProps 回调队列,step 可以通过 pipeline.appendRowPropsGetter 向队列中追加回调函数,\n * 在调用 pipeline.props() 队列中的所有函数会组合形成最终的 getRowProps\n *\n * 3. 当前流水线的状态,包括 dataSource, columns, rowPropsGetters 三个部分\n *\n * 4. snapshots,调用 pipeline.snapshot(name) 可以记录当前的状态,后续可以通过 name 来读取保存的状态\n * */\nexport class TablePipeline {\n ref?: React.MutableRefObject<any>\n\n private readonly _snapshots: { [key: string]: PipelineSnapshot } = {}\n\n private readonly _rowPropsGetters: Array<RowPropsGetter> = []\n\n private _tableProps: React.HTMLAttributes<HTMLTableElement> = {}\n\n private _dataSource: any[]\n\n private _isSameInputDataSource: boolean\n\n private _columns: any[]\n\n private _footerDataSource?: any[]\n\n static defaultIndents: TablePipelineIndentsConfig = {\n iconIndent: -8,\n iconWidth: 16,\n iconGap: 0,\n indentSize: 16\n }\n\n readonly ctx: TablePipelineCtx = {\n components: {},\n indents: TablePipeline.defaultIndents\n }\n\n private readonly state: any\n\n private readonly setState: (fn: (prevState: any) => any, stateKey: string, partialState: any, extraInfo?: any) => any\n\n constructor ({\n state,\n setState,\n ctx,\n ref\n }: {\n state: any\n setState: TablePipeline['setState']\n ctx: Partial<TablePipelineCtx>\n ref?: React.MutableRefObject<any>\n }) {\n this.state = state\n this.setState = setState\n this.ref = ref\n Object.assign(this.ctx, ctx)\n }\n\n // Generate a pseudo-GUID by concatenating random hexadecimal.\n guid () {\n function S4 () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)\n }\n return (S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4())\n }\n\n appendRowPropsGetter (getter: RowPropsGetter) {\n this._rowPropsGetters.push(getter)\n return this\n }\n\n addTableProps (props:React.HTMLAttributes<HTMLTableElement>) {\n this._tableProps = mergeCellProps(this._tableProps as any, props as any) as any\n }\n\n getDataSource (name?: string) {\n if (name == null) {\n return this._dataSource\n } else {\n return this._snapshots[name].dataSource\n }\n }\n\n isSameInputDataSource () {\n return this._isSameInputDataSource\n }\n\n getColumns (name?: string) {\n if (name == null) {\n return this._columns\n } else {\n return this._snapshots[name].columns\n }\n }\n\n getFooterDataSource () {\n return this._footerDataSource\n }\n\n getStateAtKey<T = any> (stateKey: string, defaultValue?: T): T {\n return this.state[stateKey] ?? defaultValue\n }\n\n /** 将 stateKey 对应的状态设置为 partialState */\n setStateAtKey (stateKey: string, partialState: any, extraInfo?: any) {\n this.setState((prev: any) => ({ ...prev, [stateKey]: partialState }), stateKey, partialState, extraInfo)\n }\n\n /** 确保 primaryKey 已被设置,并返回 primaryKey */\n ensurePrimaryKey (hint?: string): PrimaryKey {\n if (this.ctx.primaryKey == null) {\n throw new Error(hint ? `使用 ${hint} 之前必须先设置 primaryKey` : '必须先设置 primaryKey')\n }\n return this.ctx.primaryKey\n }\n\n /** 设置流水线的输入数据 */\n input (input: { dataSource: any[]; columns: ArtColumn[] }) {\n if (this._dataSource != null || this._columns != null) {\n throw new Error('input 不能调用两次')\n }\n // 在 pipeline 中识别本次更新是否有数据变化\n this._isSameInputDataSource = input.dataSource === this.ref.current._lastInputDataSource\n\n this._dataSource = input.dataSource\n\n this.ref.current._lastInputDataSource = input.dataSource\n this.ref.current.lastPipeline = this\n\n this._columns = input.columns.map(col => ({ ...col, key: this.guid() }))\n\n this.snapshot('input')\n return this\n }\n\n /** 设置 dataSource */\n dataSource (rows: any[]) {\n this._dataSource = rows\n return this\n }\n\n /** 设置 columns */\n columns (cols: ArtColumn[]) {\n this._columns = cols\n return this\n }\n\n /** 设置主键 */\n primaryKey (key: PrimaryKey) {\n this.ctx.primaryKey = key\n return this\n }\n\n /** 设置页脚数据 */\n footerDataSource (rows: any[]) {\n this._footerDataSource = rows\n return this\n }\n\n /** 保存快照 */\n snapshot (name: string) {\n this._snapshots[name] = {\n dataSource: this._dataSource,\n columns: this._columns,\n rowPropsGetters: this._rowPropsGetters.slice()\n }\n return this\n }\n\n /** @deprecated\n * 应用一个 kd-table Table transform */\n useTransform (transform: TableTransform) {\n const next = transform({\n dataSource: this.getDataSource(),\n columns: this.getColumns()\n })\n return this.dataSource(next.dataSource).columns(next.columns)\n }\n\n /** 使用 pipeline 功能拓展 */\n use (step: (pipeline: this) => this) {\n return step(this)\n }\n\n /** 转换 dataSource */\n mapDataSource (mapper: Transform<any[]>) {\n return this.dataSource(mapper(this.getDataSource()))\n }\n\n /** 转换 columns */\n mapColumns (mapper: Transform<ArtColumn[]>) {\n return this.columns(mapper(this.getColumns()))\n }\n\n /** 获取featureOptions 内容 */\n getFeatureOptions (optionKey:string) {\n return this.ref.current.featureOptions?.[optionKey]\n }\n\n /** 设置pipelineOptions 内容 */\n setFeatureOptions (optionKey:string, value:any) {\n this.ref.current.featureOptions[optionKey] = value\n }\n\n /** 获取 BaseTable 的 props,结果中包含 dataSource/columns/primaryKey/getRowProps 四个字段 */\n getProps (this: TablePipeline) {\n this.use(autoFillTableWidth())\n const result: TableProps = {\n dataSource: this._dataSource,\n columns: this._columns\n }\n if (this.ctx.primaryKey) {\n result.primaryKey = this.ctx.primaryKey\n }\n\n if (this._footerDataSource) {\n result.footerDataSource = this._footerDataSource\n }\n\n if (this._rowPropsGetters.length > 0) {\n result.getRowProps = (row, rowIndex) => {\n return this._rowPropsGetters.reduce<any>((res, get) => {\n return mergeCellProps(res, get(row, rowIndex) as any)\n }, {})\n }\n }\n\n result.getTableProps = () => this._tableProps\n result.setTableWidth = (tableWidth: number) => {\n const preTableWidth = this.getStateAtKey(tableWidthKey)\n if (preTableWidth !== tableWidth) {\n tableWidth && this.setStateAtKey(tableWidthKey, tableWidth)\n }\n }\n result.setTableDomHelper = (domHelper) => {\n this.ref.current.domHelper = domHelper\n }\n\n result.setRowHeightManager = (rowHeightManager) => {\n this.ref.current.rowHeightManager = rowHeightManager\n }\n\n return result\n }\n\n getFeatureApi(featureName: string){\n return this.ref.current.featureApi?.[featureName]\n }\n addFeatureApi(featureName:string){\n if(!this.getFeatureApi(featureName)){\n this.ref.current.featureApi[featureName] = createFeatureApi(featureName, this)\n }\n return this.ref.current.featureApi[featureName]\n }\n\n getLastPipeline(){\n return this.ref.current.lastPipeline\n }\n}\n\nexport function useTablePipeline (ctx?: Partial<TablePipelineCtx>) {\n const [state, setState] = useState<any>({})\n const ref = useRef<any>({ featureOptions: {}, featureApi:{} })\n return new TablePipeline({ state, setState, ctx, ref })\n}\n","import RowDragApi from './RowDragApi'\nimport { FeatureName } from '../../const'\n\nexport function createFeatureApi (type, pipeline) {\n switch (type) {\n case FeatureName.rowDrag:\n return new RowDragApi(pipeline)\n default:\n break\n }\n}\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 204);\n"],"sourceRoot":""}