tntd 2.8.33 → 2.8.35

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 (132) hide show
  1. package/CHANGELOG.json +1034 -0
  2. package/CHANGELOG.md +605 -0
  3. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +4 -4
  4. package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  5. package/lib/alert/alert.d.ts +12 -0
  6. package/lib/alert/alert.d.ts.map +1 -0
  7. package/lib/alert/alert.js +147 -0
  8. package/lib/alert/alert.js.map +1 -0
  9. package/lib/alert/alert.less +128 -0
  10. package/lib/cascader/cascader.d.ts +10 -0
  11. package/lib/cascader/cascader.d.ts.map +1 -0
  12. package/lib/cascader/cascader.js +84 -0
  13. package/lib/cascader/cascader.js.map +1 -0
  14. package/lib/cascader/cascader.less +16 -0
  15. package/lib/checkbox/check.png +0 -0
  16. package/lib/checkbox/checkbox.d.ts +16 -0
  17. package/lib/checkbox/checkbox.d.ts.map +1 -0
  18. package/lib/checkbox/checkbox.js +100 -0
  19. package/lib/checkbox/checkbox.js.map +1 -0
  20. package/lib/checkbox/checkbox.less +69 -0
  21. package/lib/date-picker/DatePicker.d.ts +21 -0
  22. package/lib/date-picker/DatePicker.d.ts.map +1 -0
  23. package/lib/date-picker/DatePicker.js +163 -0
  24. package/lib/date-picker/DatePicker.js.map +1 -0
  25. package/lib/date-picker/index.less +294 -0
  26. package/lib/input-number/inputNumber.d.ts +10 -0
  27. package/lib/input-number/inputNumber.d.ts.map +1 -0
  28. package/lib/input-number/inputNumber.js +89 -0
  29. package/lib/input-number/inputNumber.js.map +1 -0
  30. package/lib/input-number/inputNumber.less +12 -0
  31. package/lib/modal/index.less +36 -0
  32. package/lib/popconfirm/index.less +32 -0
  33. package/lib/popconfirm/popconfirm.d.ts +8 -0
  34. package/lib/popconfirm/popconfirm.d.ts.map +1 -0
  35. package/lib/popconfirm/popconfirm.js +96 -0
  36. package/lib/popconfirm/popconfirm.js.map +1 -0
  37. package/lib/popover/index.less +57 -0
  38. package/lib/popover/popover.d.ts +14 -0
  39. package/lib/popover/popover.d.ts.map +1 -0
  40. package/lib/popover/popover.js +90 -0
  41. package/lib/popover/popover.js.map +1 -0
  42. package/lib/progress/progress.d.ts +12 -0
  43. package/lib/progress/progress.d.ts.map +1 -0
  44. package/lib/progress/progress.js +179 -0
  45. package/lib/progress/progress.js.map +1 -0
  46. package/lib/progress/progress.less +82 -0
  47. package/lib/query-form/Field/Composition/FieldPopover.d.ts +19 -0
  48. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -0
  49. package/lib/query-form/Field/Composition/FieldPopover.js +419 -0
  50. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -0
  51. package/lib/query-form/Field/Composition/FieldPopover.less +35 -0
  52. package/lib/query-form/Field/Composition/Select.d.ts +4 -0
  53. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -0
  54. package/lib/query-form/Field/Composition/Select.js +253 -0
  55. package/lib/query-form/Field/Composition/Select.js.map +1 -0
  56. package/lib/query-form/Field/Composition/ValueTag.d.ts +13 -0
  57. package/lib/query-form/Field/Composition/ValueTag.d.ts.map +1 -0
  58. package/lib/query-form/Field/Composition/ValueTag.js +236 -0
  59. package/lib/query-form/Field/Composition/ValueTag.js.map +1 -0
  60. package/lib/query-form/Field/Composition/index.d.ts +13 -0
  61. package/lib/query-form/Field/Composition/index.d.ts.map +1 -0
  62. package/lib/query-form/Field/Composition/index.js +425 -0
  63. package/lib/query-form/Field/Composition/index.js.map +1 -0
  64. package/lib/query-form/Field/Composition/index.less +145 -0
  65. package/lib/query-form/Field/Composition/utils.d.ts +21 -0
  66. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -0
  67. package/lib/query-form/Field/Composition/utils.js +172 -0
  68. package/lib/query-form/Field/Composition/utils.js.map +1 -0
  69. package/lib/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  70. package/lib/query-form-backup/Field/Composition/index.less +114 -0
  71. package/lib/query-form-backup/index.less +90 -0
  72. package/lib/query-form-v2/index.less +133 -0
  73. package/lib/radio/radio.d.ts +17 -0
  74. package/lib/radio/radio.d.ts.map +1 -0
  75. package/lib/radio/radio.js +110 -0
  76. package/lib/radio/radio.js.map +1 -0
  77. package/lib/radio/radio.less +43 -0
  78. package/lib/scroll-bar/Bar.d.ts +4 -0
  79. package/lib/scroll-bar/Bar.d.ts.map +1 -0
  80. package/lib/scroll-bar/Bar.js +168 -0
  81. package/lib/scroll-bar/Bar.js.map +1 -0
  82. package/lib/scroll-bar/Context.d.ts +7 -0
  83. package/lib/scroll-bar/Context.d.ts.map +1 -0
  84. package/lib/scroll-bar/Context.js +17 -0
  85. package/lib/scroll-bar/Context.js.map +1 -0
  86. package/lib/scroll-bar/ScrollBar.d.ts +4 -0
  87. package/lib/scroll-bar/ScrollBar.d.ts.map +1 -0
  88. package/lib/scroll-bar/ScrollBar.js +132 -0
  89. package/lib/scroll-bar/ScrollBar.js.map +1 -0
  90. package/lib/scroll-bar/Thumb.d.ts +3 -0
  91. package/lib/scroll-bar/Thumb.d.ts.map +1 -0
  92. package/lib/scroll-bar/Thumb.js +202 -0
  93. package/lib/scroll-bar/Thumb.js.map +1 -0
  94. package/lib/scroll-bar/index.d.ts +3 -0
  95. package/lib/scroll-bar/index.d.ts.map +1 -0
  96. package/lib/scroll-bar/index.js +14 -0
  97. package/lib/scroll-bar/index.js.map +1 -0
  98. package/lib/scroll-bar/scrollBar.less +59 -0
  99. package/lib/scroll-bar/util.d.ts +40 -0
  100. package/lib/scroll-bar/util.d.ts.map +1 -0
  101. package/lib/scroll-bar/util.js +66 -0
  102. package/lib/scroll-bar/util.js.map +1 -0
  103. package/lib/spin/spin.d.ts +9 -0
  104. package/lib/spin/spin.d.ts.map +1 -0
  105. package/lib/spin/spin.js +79 -0
  106. package/lib/spin/spin.js.map +1 -0
  107. package/lib/spin/spin.less +9 -0
  108. package/lib/steps/assets/background_left.svg +12 -0
  109. package/lib/steps/assets/background_right.svg +12 -0
  110. package/lib/steps/assets/horizontal_line.svg +3 -0
  111. package/lib/steps/assets/vertical_line.svg +3 -0
  112. package/lib/steps/stepStyle/icon.less +51 -0
  113. package/lib/steps/stepStyle/progress-dot.less +10 -0
  114. package/lib/steps/stepStyle/variables.less +8 -0
  115. package/lib/steps/stepStyle/vertical.less +41 -0
  116. package/lib/switch/index.less +45 -0
  117. package/lib/tabs/tabs.less +125 -0
  118. package/lib/time-picker/TimePicker.d.ts +9 -0
  119. package/lib/time-picker/TimePicker.d.ts.map +1 -0
  120. package/lib/time-picker/TimePicker.js +90 -0
  121. package/lib/time-picker/TimePicker.js.map +1 -0
  122. package/lib/time-picker/index.less +38 -0
  123. package/lib/tntd-action/Action.d.ts +6 -0
  124. package/lib/tntd-action/Action.d.ts.map +1 -0
  125. package/lib/tntd-action/Action.js +218 -0
  126. package/lib/tntd-action/Action.js.map +1 -0
  127. package/lib/tntd-action/index.less +61 -0
  128. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
  129. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +4 -4
  130. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  131. package/lib/tntd-select/index.less +7 -0
  132. package/package.json +2 -2
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) {
4
+ "@babel/helpers - typeof";
5
+
6
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
7
+ return typeof o;
8
+ } : function (o) {
9
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
10
+ }, _typeof(o);
11
+ }
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ var _exportNames = {};
16
+ exports["default"] = void 0;
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _icon = _interopRequireDefault(require("../icon"));
19
+ var _configProvider = require("antd/lib/config-provider");
20
+ var _timePicker = _interopRequireWildcard(require("antd/lib/time-picker"));
21
+ Object.keys(_timePicker).forEach(function (key) {
22
+ if (key === "default" || key === "__esModule") return;
23
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
24
+ if (key in exports && exports[key] === _timePicker[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _timePicker[key];
29
+ }
30
+ });
31
+ });
32
+ var _classnames = _interopRequireDefault(require("classnames"));
33
+ function _getRequireWildcardCache(e) {
34
+ if ("function" != typeof WeakMap) return null;
35
+ var r = new WeakMap(),
36
+ t = new WeakMap();
37
+ return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
38
+ return e ? t : r;
39
+ })(e);
40
+ }
41
+ function _interopRequireWildcard(e, r) {
42
+ if (!r && e && e.__esModule) return e;
43
+ if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
44
+ "default": e
45
+ };
46
+ var t = _getRequireWildcardCache(r);
47
+ if (t && t.has(e)) return t.get(e);
48
+ var n = {
49
+ __proto__: null
50
+ },
51
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
53
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
54
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
55
+ }
56
+ return n["default"] = e, t && t.set(e, n), n;
57
+ }
58
+ function _interopRequireDefault(e) {
59
+ return e && e.__esModule ? e : {
60
+ "default": e
61
+ };
62
+ }
63
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
64
+ var t = {};
65
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
66
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
67
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
68
+ }
69
+ return t;
70
+ };
71
+ var TimePicker = function TimePicker(props) {
72
+ //theme样式类型 outline | fill 默认 outline
73
+ var _props$theme = props.theme,
74
+ theme = _props$theme === void 0 ? 'outline' : _props$theme,
75
+ className = props.className,
76
+ suffixIcon = props.suffixIcon,
77
+ restProps = __rest(props, ["theme", "className", "suffixIcon"]);
78
+ var defaultIcon = _react["default"].createElement(_icon["default"], {
79
+ type: "clock-circle"
80
+ });
81
+ return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
82
+ var getPrefixCls = _ref.getPrefixCls;
83
+ var prefixCls = getPrefixCls('time-picker');
84
+ return _react["default"].createElement(_timePicker["default"], Object.assign({
85
+ suffixIcon: suffixIcon || defaultIcon,
86
+ className: (0, _classnames["default"])(className, "".concat(prefixCls, "-").concat(theme))
87
+ }, restProps));
88
+ });
89
+ };
90
+ var _default = exports["default"] = TimePicker;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/time-picker/TimePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAuC;AACvC,mDAA0B;AAE1B,6DAAwD;AACxD,sEAA+C;AAC/C,4DAAmC;AACnC,sDAAmC;AACnC,MAAM,UAAU,GAA2E,CACzF,KAAK,EACL,EAAE;IACF,sCAAsC;IACtC,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,SAAS,EAAE,UAAU,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAlE,oCAA0D,CAAQ,CAAA;IACxE,MAAM,WAAW,GAAG,8BAAC,cAAI,IAAC,IAAI,EAAC,cAAc,GAAG,CAAA;IAEhD,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;QAC7C,OAAO,CACL,8BAAC,qBAAa,kBACZ,UAAU,EAAE,UAAU,IAAI,WAAW,EACrC,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC,IACrD,SAAS,EACb,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA","sourcesContent":["import React, { useState } from 'react'\nimport Icon from '../icon'\nimport type { TimePickerProps as AntdTimePickerProps } from 'antd/lib/time-picker'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport AntTimePicker from 'antd/lib/time-picker'\nimport classNames from 'classnames'\nexport * from 'antd/lib/time-picker'\nconst TimePicker: React.FC<AntdTimePickerProps & { theme?: string; readonly?: boolean }> = (\n props\n) => {\n //theme样式类型 outline | fill 默认 outline\n const { theme = 'outline', className, suffixIcon, ...restProps } = props\n const defaultIcon = <Icon type=\"clock-circle\" />\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('time-picker')\n return (\n <AntTimePicker\n suffixIcon={suffixIcon || defaultIcon}\n className={classNames(className, `${prefixCls}-${theme}`)}\n {...restProps}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nexport default TimePicker\n"]}
@@ -0,0 +1,38 @@
1
+ @import '../style/themes/index';
2
+
3
+ @timepicker-prefix-cls: ~'@{ant-prefix}-time-picker';
4
+ .@{timepicker-prefix-cls} {
5
+ input{
6
+ border-color: @border-color-secondary;
7
+ }
8
+ &:has(input:not([value=''])),&:hover {
9
+ .@{timepicker-prefix-cls}-icon{
10
+ i{
11
+ color: @text-color-secondary;
12
+ }
13
+ }
14
+ }
15
+ &:has(input[disabled]){
16
+ .@{timepicker-prefix-cls}-icon{
17
+ i{
18
+ color: @disabled-color;
19
+ }
20
+ }
21
+ }
22
+ &-fill{
23
+ input {
24
+ background-color: @fill-color-quaternary;
25
+ border-color: @fill-color-quaternary;
26
+ &[disabled] {
27
+ border: none;
28
+ }
29
+ &:focus{
30
+ background-color: @white;
31
+ }
32
+ &:not([value='']):hover {
33
+ background-color: @white;
34
+ }
35
+ }
36
+ }
37
+ }
38
+
@@ -0,0 +1,6 @@
1
+ export default function WarpAction({ getContainer, ...other }: {
2
+ [x: string]: any;
3
+ getContainer?: (() => HTMLElement) | undefined;
4
+ }): React.JSX.Element;
5
+ import React from "react";
6
+ //# sourceMappingURL=Action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/tntd-action/Action.js"],"names":[],"mappings":"AASA;;;sBAgBC"}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) {
4
+ "@babel/helpers - typeof";
5
+
6
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
7
+ return typeof o;
8
+ } : function (o) {
9
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
10
+ }, _typeof(o);
11
+ }
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = WarpAction;
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _reactDom = _interopRequireDefault(require("react-dom"));
18
+ var _configProvider = require("antd/lib/config-provider");
19
+ var _LocaleReceiver = _interopRequireDefault(require("antd/lib/locale-provider/LocaleReceiver"));
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+ var _button = require("../button");
22
+ function _interopRequireDefault(e) {
23
+ return e && e.__esModule ? e : {
24
+ "default": e
25
+ };
26
+ }
27
+ function _getRequireWildcardCache(e) {
28
+ if ("function" != typeof WeakMap) return null;
29
+ var r = new WeakMap(),
30
+ t = new WeakMap();
31
+ return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
32
+ return e ? t : r;
33
+ })(e);
34
+ }
35
+ function _interopRequireWildcard(e, r) {
36
+ if (!r && e && e.__esModule) return e;
37
+ if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
38
+ "default": e
39
+ };
40
+ var t = _getRequireWildcardCache(r);
41
+ if (t && t.has(e)) return t.get(e);
42
+ var n = {
43
+ __proto__: null
44
+ },
45
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
47
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
48
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
49
+ }
50
+ return n["default"] = e, t && t.set(e, n), n;
51
+ }
52
+ function _slicedToArray(r, e) {
53
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
54
+ }
55
+ function _nonIterableRest() {
56
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
+ }
58
+ function _unsupportedIterableToArray(r, a) {
59
+ if (r) {
60
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
61
+ var t = {}.toString.call(r).slice(8, -1);
62
+ 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;
63
+ }
64
+ }
65
+ function _arrayLikeToArray(r, a) {
66
+ (null == a || a > r.length) && (a = r.length);
67
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
68
+ return n;
69
+ }
70
+ function _iterableToArrayLimit(r, l) {
71
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
72
+ if (null != t) {
73
+ var e,
74
+ n,
75
+ i,
76
+ u,
77
+ a = [],
78
+ f = !0,
79
+ o = !1;
80
+ try {
81
+ if (i = (t = t.call(r)).next, 0 === l) {
82
+ if (Object(t) !== t) return;
83
+ f = !1;
84
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
85
+ } catch (r) {
86
+ o = !0, n = r;
87
+ } finally {
88
+ try {
89
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
90
+ } finally {
91
+ if (o) throw n;
92
+ }
93
+ }
94
+ return a;
95
+ }
96
+ }
97
+ function _arrayWithHoles(r) {
98
+ if (Array.isArray(r)) return r;
99
+ }
100
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
101
+ var t = {};
102
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
103
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
104
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
105
+ }
106
+ return t;
107
+ };
108
+ var defaultGetContainer = function defaultGetContainer() {
109
+ return document.getElementById('subapp-viewport') || document.body;
110
+ };
111
+ function WarpAction(_a) {
112
+ var _a$getContainer = _a.getContainer,
113
+ getContainer = _a$getContainer === void 0 ? defaultGetContainer : _a$getContainer,
114
+ other = __rest(_a, ["getContainer"]);
115
+ return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
116
+ var getPrefixCls = _ref.getPrefixCls,
117
+ getContextPopupContainer = _ref.getPopupContainer;
118
+ var _getContainer = getContainer === undefined ? getContextPopupContainer : getContainer;
119
+ return _react["default"].createElement(_LocaleReceiver["default"], {
120
+ componentName: "TntdAction"
121
+ }, function (locale) {
122
+ return _react["default"].createElement(Action, Object.assign({
123
+ getPopupContainer: _getContainer
124
+ }, other, {
125
+ locale: locale
126
+ }));
127
+ });
128
+ });
129
+ }
130
+ function Action(_ref2) {
131
+ var title = _ref2.title,
132
+ hidden = _ref2.hidden,
133
+ data = _ref2.data,
134
+ afterClose = _ref2.afterClose,
135
+ locale = _ref2.locale,
136
+ className = _ref2.className,
137
+ _ref2$width = _ref2.width,
138
+ width = _ref2$width === void 0 ? 700 : _ref2$width,
139
+ getPopupContainer = _ref2.getPopupContainer;
140
+ var _useState = (0, _react.useState)(false),
141
+ _useState2 = _slicedToArray(_useState, 2),
142
+ visible = _useState2[0],
143
+ setVisible = _useState2[1];
144
+ var _useState3 = (0, _react.useState)({
145
+ left: 400,
146
+ bottom: 100,
147
+ width: width
148
+ }),
149
+ _useState4 = _slicedToArray(_useState3, 2),
150
+ offset = _useState4[0],
151
+ setOffset = _useState4[1];
152
+ var ref = (0, _react.useRef)();
153
+ var refDom = (0, _react.useRef)();
154
+ (0, _react.useEffect)(function () {
155
+ ref.current = getPopupContainer();
156
+ }, [getPopupContainer]);
157
+ (0, _react.useEffect)(function () {
158
+ var visible = data.length > 0;
159
+ if (visible && ref.current) {
160
+ var _offset = ref.current.getBoundingClientRect();
161
+ setOffset({
162
+ left: _offset.left + (_offset.width - width) / 2,
163
+ bottom: 100,
164
+ width: width
165
+ });
166
+ }
167
+ setVisible(visible);
168
+ }, [data, width]);
169
+ var onMouseDown = function onMouseDown(e) {
170
+ var startX = e.clientX - offset.left;
171
+ var startY = e.clientY + offset.bottom;
172
+ var onmousemove = function onmousemove(e) {
173
+ if (e.buttons === 1) {
174
+ refDom.current.style.left = e.clientX - startX + 'px';
175
+ refDom.current.style.bottom = startY - e.clientY + 'px';
176
+ } else {
177
+ _onmouseup(e);
178
+ }
179
+ };
180
+ var _onmouseup = function onmouseup(e) {
181
+ setOffset(function (offset) {
182
+ return Object.assign(Object.assign({}, offset), {
183
+ left: e.clientX - startX,
184
+ bottom: startY - e.clientY
185
+ });
186
+ });
187
+ document.removeEventListener('mousemove', onmousemove);
188
+ document.removeEventListener('mouseup', _onmouseup);
189
+ };
190
+ document.addEventListener('mousemove', onmousemove);
191
+ document.addEventListener('mouseup', _onmouseup);
192
+ };
193
+ if (ref.current && visible && !hidden) {
194
+ return _reactDom["default"].createPortal(_react["default"].createElement("div", {
195
+ className: (0, _classnames["default"])('tnt-action', className),
196
+ style: offset,
197
+ onMouseDown: onMouseDown,
198
+ ref: refDom
199
+ }, _react["default"].createElement("div", {
200
+ className: "fr",
201
+ onClick: function onClick(e) {
202
+ e.stopPropagation();
203
+ }
204
+ }, data), _react["default"].createElement(_button.Button, {
205
+ shape: "circle",
206
+ icon: "close",
207
+ type: "tertiary",
208
+ onClick: function onClick(e) {
209
+ e.stopPropagation();
210
+ setVisible(false);
211
+ afterClose && afterClose();
212
+ }
213
+ }), _react["default"].createElement("span", {
214
+ className: "tnt-action-text"
215
+ }, title)), document.body);
216
+ }
217
+ return null;
218
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/tntd-action/Action.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport classNames from 'classnames'\nimport { Button } from '../button'\n\nconst defaultGetContainer = () => document.getElementById('subapp-viewport') || document.body\n\nexport default function WarpAction({ getContainer = defaultGetContainer, ...other }) {\n return (\n <ConfigConsumer>\n {({ getPrefixCls, getPopupContainer: getContextPopupContainer }) => {\n const _getContainer = getContainer === undefined ? getContextPopupContainer : getContainer\n\n return (\n <LocaleReceiver componentName=\"TntdAction\">\n {(locale) => {\n return <Action getPopupContainer={_getContainer} {...other} locale={locale} />\n }}\n </LocaleReceiver>\n )\n }}\n </ConfigConsumer>\n )\n}\n\nfunction Action({\n title,\n hidden,\n data,\n afterClose,\n locale,\n className,\n width = 700,\n getPopupContainer,\n}) {\n const [visible, setVisible] = useState(false)\n const [offset, setOffset] = useState({ left: 400, bottom: 100, width })\n const ref = useRef()\n const refDom = useRef()\n\n useEffect(() => {\n ref.current = getPopupContainer()\n }, [getPopupContainer])\n\n useEffect(() => {\n const visible = data.length > 0\n if (visible && ref.current) {\n const offset = ref.current.getBoundingClientRect()\n setOffset({ left: offset.left + (offset.width - width) / 2, bottom: 100, width })\n }\n setVisible(visible)\n }, [data, width])\n\n const onMouseDown = (e) => {\n const startX = e.clientX - offset.left\n const startY = e.clientY + offset.bottom\n const onmousemove = (e) => {\n if (e.buttons === 1) {\n refDom.current.style.left = e.clientX - startX + 'px'\n refDom.current.style.bottom = startY - e.clientY + 'px'\n } else {\n onmouseup(e);\n }\n }\n const onmouseup = (e) => {\n setOffset((offset) => ({ ...offset, left: e.clientX - startX, bottom: startY - e.clientY }))\n document.removeEventListener('mousemove', onmousemove)\n document.removeEventListener('mouseup', onmouseup)\n }\n document.addEventListener('mousemove', onmousemove)\n document.addEventListener('mouseup', onmouseup)\n }\n\n if (ref.current && visible && !hidden) {\n return ReactDOM.createPortal(\n <div\n className={classNames('tnt-action', className)}\n style={offset}\n onMouseDown={onMouseDown}\n ref={refDom}\n >\n <div\n className=\"fr\"\n onClick={(e) => {\n e.stopPropagation()\n }}\n >\n {data}\n </div>\n <Button\n shape=\"circle\"\n icon=\"close\"\n type=\"tertiary\"\n onClick={(e) => {\n e.stopPropagation()\n setVisible(false)\n afterClose && afterClose()\n }}\n />\n <span className=\"tnt-action-text\">{title}</span>\n </div>,\n document.body\n )\n }\n return null\n}\n"]}
@@ -0,0 +1,61 @@
1
+ .tnt-action {
2
+ position: fixed;
3
+ // bottom: 100px;
4
+ // width: @tnt-action-width;
5
+ // left: calc(50vw - @tnt-action-width / 2);
6
+ padding: 10px 16px;
7
+ background-color: @text-color;
8
+ border-radius: @border-radius-base;
9
+ z-index: 200;
10
+ cursor: grab;
11
+ box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.25), 0px 1px 1px 0px #263354 inset;
12
+ &-text {
13
+ color: @white;
14
+ margin-left: 20px;
15
+ font-size: 14px;
16
+ user-select: none;
17
+ .num {
18
+ display: inline-block;
19
+ width: 16px;
20
+ height: 16px;
21
+ background: #454f64;
22
+ border-radius: 8px;
23
+ font-size: 10px;
24
+ margin-right: 4px;
25
+ vertical-align: text-bottom;
26
+ text-align: center;
27
+ }
28
+ }
29
+ > .tnt-btn-tertiary {
30
+ opacity: 0.5;
31
+ background: #454f64;
32
+ color: @white;
33
+ border-width: 0;
34
+ width: @tnt-action-close-width;
35
+ height: @tnt-action-close-width;
36
+ min-width: @tnt-action-close-width;
37
+ line-height: @tnt-action-close-width;
38
+ margin-top: 4px;
39
+ font-size: 14px;
40
+ &:hover {
41
+ opacity: 0.8;
42
+ }
43
+ }
44
+ .fr {
45
+ float: right;
46
+ .ant-btn {
47
+ margin-left: 10px;
48
+ .tntd-anticon {
49
+ margin-right: 4px;
50
+ }
51
+ }
52
+ .ant-btn:not(.ant-btn-danger) {
53
+ background: rgba(69, 79, 100, 0.5);
54
+ color: @white;
55
+ border-width: 0;
56
+ &:hover {
57
+ background: rgba(69, 79, 100, 0.8);
58
+ }
59
+ }
60
+ }
61
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAA;IACvB,2CAA2C;IAC3C,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAA;IACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,eAAe,EACf,YAAY,EACZ,OAAO,EACP,UAAc,GACf,EAAE,WAAW,qBAsNb"}
1
+ {"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAA;IACvB,2CAA2C;IAC3C,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAA;IACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,eAAe,EACf,YAAY,EACZ,OAAO,EACP,UAAc,GACf,EAAE,WAAW,qBAqNb"}
@@ -135,7 +135,7 @@ function Column(_ref) {
135
135
  }
136
136
  return 180;
137
137
  }, [optionsNum, optionHeight]);
138
- var dropDownVisibleRef = React.useRef(dropdownVisible);
138
+ var initDropRenderRef = React.useRef(dropdownVisible);
139
139
  var _React$useContext = React.useContext(_context["default"]),
140
140
  fieldNames = _React$useContext.fieldNames,
141
141
  changeOnSelect = _React$useContext.changeOnSelect,
@@ -146,12 +146,12 @@ function Column(_ref) {
146
146
  var hoverOpen = expandTrigger === 'hover';
147
147
  // 将drop展示赋值给ref
148
148
  React.useEffect(function () {
149
- dropDownVisibleRef.current = dropdownVisible;
149
+ initDropRenderRef.current = dropdownVisible;
150
150
  }, [dropdownVisible]);
151
151
  /** 单选情况下滚动到相应的位置 */
152
152
  React.useEffect(function () {
153
153
  var timer = null;
154
- if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible && dropDownVisibleRef.current) {
154
+ if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible && initDropRenderRef.current) {
155
155
  var index = options.findIndex(function (it) {
156
156
  return it[fieldNames.value] === activeValue;
157
157
  });
@@ -160,7 +160,6 @@ function Column(_ref) {
160
160
  ref.current.scrollTo((optionHeight || 36) * index);
161
161
  }, 5);
162
162
  }
163
- dropDownVisibleRef.current = false;
164
163
  }
165
164
  return function () {
166
165
  if (timer) {
@@ -237,6 +236,7 @@ function Column(_ref) {
237
236
  };
238
237
  // >>>>> Selection
239
238
  var triggerSelect = function triggerSelect() {
239
+ initDropRenderRef.current = false;
240
240
  if (isSelectable(option)) {
241
241
  onSelect(fullPath, isMergedLeaf);
242
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { isLeaf, toPathKey } from '../utils/commonUtil'\nimport CascaderContext from '../context'\nimport Checkbox from './Checkbox'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport { SEARCH_MARK } from '../hooks/useSearchOptions'\nimport List, { ListRef } from 'rc-virtual-list'\nimport type { RenderItem } from '../context'\n\nexport const FIX_LABEL = '__cascader_fix_label__'\n\nexport interface ColumnProps {\n prefixCls: string\n multiple?: boolean\n options: DefaultOptionType[]\n /** Current Column opened item key */\n activeValue?: React.Key\n /** The value path before current column */\n prevValuePath: React.Key[]\n onToggleOpen: (open: boolean) => void\n onSelect: (valuePath: SingleValueType, leaf: boolean) => void\n onActive: (valuePath: SingleValueType) => void\n checkedSet: Set<React.Key>\n halfCheckedSet: Set<React.Key>\n loadingKeys: React.Key[]\n isSelectable: (option: DefaultOptionType) => boolean\n renderItem?: (item: RenderItem) => React.ReactNode\n searchValue?: string\n level?: number\n dropdownVisible?: boolean\n optionHeight?: number\n}\n\nexport default function Column({\n prefixCls,\n multiple,\n options,\n activeValue,\n prevValuePath,\n onToggleOpen,\n onSelect,\n onActive,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n renderItem,\n searchValue,\n level,\n dropdownVisible,\n optionHeight,\n isEmpty,\n optionsNum = 7,\n}: ColumnProps) {\n const ref = React.useRef<ListRef>(null)\n const menuPrefixCls = `${prefixCls}-menu ${prefixCls}-menu-${level}`\n const menuItemPrefixCls = `${prefixCls}-menu-item`\n\n const listHeight = React.useMemo(() => {\n if (optionsNum) {\n return Math.ceil((optionHeight || 36) * optionsNum) || 180\n }\n return 180\n }, [optionsNum, optionHeight])\n\n const dropDownVisibleRef = React.useRef(dropdownVisible)\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n // 将drop展示赋值给ref\n React.useEffect(() => {\n dropDownVisibleRef.current = dropdownVisible\n }, [dropdownVisible])\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n\n if (\n ref.current &&\n ref.current.scrollTo &&\n !multiple &&\n dropdownVisible &&\n dropDownVisibleRef.current\n ) {\n const index = options.findIndex((it) => it[fieldNames.value] === activeValue)\n\n if (index > 0 && !isNaN(index)) {\n timer = window.setTimeout(() => {\n ref.current.scrollTo((optionHeight || 36) * index)\n }, 5)\n }\n\n dropDownVisibleRef.current = false\n }\n\n return () => {\n if (timer) {\n window.clearTimeout(timer)\n }\n timer = null\n }\n }, [multiple, activeValue, options, fieldNames, dropdownVisible, optionHeight])\n\n // ============================ Option ============================\n const optionInfoList = React.useMemo(\n () =>\n options.map((option) => {\n const { disabled } = option\n const searchOptions = option[SEARCH_MARK]\n const label = option[FIX_LABEL] ?? option[fieldNames.label]\n const value = option[fieldNames.value]\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n\n // Get real value of option. Search option is different way.\n const fullPath = searchOptions\n ? // @ts-ignore\n searchOptions.map((opt) => opt[fieldNames.value])\n : [...prevValuePath, value]\n const fullPathKey = toPathKey(fullPath)\n\n const isLoading = loadingKeys.includes(fullPathKey)\n\n // >>>>> checked\n const checked = checkedSet.has(fullPathKey)\n\n // >>>>> halfChecked\n const halfChecked = halfCheckedSet.has(fullPathKey)\n\n return {\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }\n }),\n [options, checkedSet, fieldNames, halfCheckedSet, loadingKeys, prevValuePath]\n )\n // ============================ Render ============================\n return (\n <ul className={menuPrefixCls} role=\"menu\" style={!isEmpty ? { height: listHeight + 'px' } : {}}>\n <List\n className={\n optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue\n ? 'rc-virtual-list-full'\n : ''\n }\n data={optionInfoList}\n height={isEmpty ? 'auto' : listHeight}\n itemHeight={optionHeight || 36}\n itemKey=\"fullPathKey\"\n ref={ref}\n >\n {({\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }) => {\n // >>>>> Open\n const triggerOpenPath = () => {\n if (!disabled && (!hoverOpen || !isMergedLeaf)) {\n onActive(fullPath)\n }\n }\n\n // >>>>> Selection\n const triggerSelect = () => {\n if (isSelectable(option)) {\n onSelect(fullPath, isMergedLeaf)\n }\n }\n\n // >>>>> Title\n let title: string\n if (typeof option.title === 'string') {\n title = option.title\n } else if (typeof label === 'string') {\n title = label\n }\n return (\n <li\n key={fullPathKey}\n className={classNames(menuItemPrefixCls, {\n [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,\n [`${menuItemPrefixCls}-active`]: activeValue === value,\n [`${menuItemPrefixCls}-disabled`]: disabled,\n [`${menuItemPrefixCls}-loading`]: isLoading,\n })}\n style={dropdownMenuColumnStyle}\n role=\"menuitemcheckbox\"\n // @ts-ignore\n title={title}\n aria-checked={checked}\n data-path-key={fullPathKey}\n onClick={() => {\n triggerOpenPath()\n if (!multiple || isMergedLeaf) {\n triggerSelect()\n }\n }}\n onDoubleClick={() => {\n if (changeOnSelect) {\n onToggleOpen(false)\n }\n }}\n onMouseEnter={() => {\n if (hoverOpen) {\n triggerOpenPath()\n }\n }}\n onMouseDown={(e) => {\n // Prevent selector from blurring\n e.preventDefault()\n }}\n >\n {multiple && (\n <Checkbox\n prefixCls={`${prefixCls}-checkbox`}\n checked={checked}\n halfChecked={halfChecked}\n disabled={disabled}\n onClick={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation()\n triggerSelect()\n }}\n />\n )}\n <div className={`${menuItemPrefixCls}-content`}>\n {optionInfoList[0].fullPathKey !== '__EMPTY__' && renderItem\n ? renderItem(option, level)\n : label}\n </div>\n {!isLoading && expandIcon && !isMergedLeaf && (\n <div className={`${menuItemPrefixCls}-expand-icon`}>{expandIcon}</div>\n )}\n {isLoading && loadingIcon && (\n <div className={`${menuItemPrefixCls}-loading-icon`}>{loadingIcon}</div>\n )}\n </li>\n )\n }}\n </List>\n </ul>\n )\n}\n"]}
1
+ {"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { isLeaf, toPathKey } from '../utils/commonUtil'\nimport CascaderContext from '../context'\nimport Checkbox from './Checkbox'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport { SEARCH_MARK } from '../hooks/useSearchOptions'\nimport List, { ListRef } from 'rc-virtual-list'\nimport type { RenderItem } from '../context'\n\nexport const FIX_LABEL = '__cascader_fix_label__'\n\nexport interface ColumnProps {\n prefixCls: string\n multiple?: boolean\n options: DefaultOptionType[]\n /** Current Column opened item key */\n activeValue?: React.Key\n /** The value path before current column */\n prevValuePath: React.Key[]\n onToggleOpen: (open: boolean) => void\n onSelect: (valuePath: SingleValueType, leaf: boolean) => void\n onActive: (valuePath: SingleValueType) => void\n checkedSet: Set<React.Key>\n halfCheckedSet: Set<React.Key>\n loadingKeys: React.Key[]\n isSelectable: (option: DefaultOptionType) => boolean\n renderItem?: (item: RenderItem) => React.ReactNode\n searchValue?: string\n level?: number\n dropdownVisible?: boolean\n optionHeight?: number\n}\n\nexport default function Column({\n prefixCls,\n multiple,\n options,\n activeValue,\n prevValuePath,\n onToggleOpen,\n onSelect,\n onActive,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n renderItem,\n searchValue,\n level,\n dropdownVisible,\n optionHeight,\n isEmpty,\n optionsNum = 7,\n}: ColumnProps) {\n const ref = React.useRef<ListRef>(null)\n const menuPrefixCls = `${prefixCls}-menu ${prefixCls}-menu-${level}`\n const menuItemPrefixCls = `${prefixCls}-menu-item`\n\n const listHeight = React.useMemo(() => {\n if (optionsNum) {\n return Math.ceil((optionHeight || 36) * optionsNum) || 180\n }\n return 180\n }, [optionsNum, optionHeight])\n\n const initDropRenderRef = React.useRef(dropdownVisible)\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n // 将drop展示赋值给ref\n React.useEffect(() => {\n initDropRenderRef.current = dropdownVisible\n }, [dropdownVisible])\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n\n if (\n ref.current &&\n ref.current.scrollTo &&\n !multiple &&\n dropdownVisible &&\n initDropRenderRef.current\n ) {\n const index = options.findIndex((it) => it[fieldNames.value] === activeValue)\n\n if (index > 0 && !isNaN(index)) {\n timer = window.setTimeout(() => {\n ref.current.scrollTo((optionHeight || 36) * index)\n }, 5)\n }\n }\n\n return () => {\n if (timer) {\n window.clearTimeout(timer)\n }\n timer = null\n }\n }, [multiple, activeValue, options, fieldNames, dropdownVisible, optionHeight])\n\n // ============================ Option ============================\n const optionInfoList = React.useMemo(\n () =>\n options.map((option) => {\n const { disabled } = option\n const searchOptions = option[SEARCH_MARK]\n const label = option[FIX_LABEL] ?? option[fieldNames.label]\n const value = option[fieldNames.value]\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n\n // Get real value of option. Search option is different way.\n const fullPath = searchOptions\n ? // @ts-ignore\n searchOptions.map((opt) => opt[fieldNames.value])\n : [...prevValuePath, value]\n const fullPathKey = toPathKey(fullPath)\n\n const isLoading = loadingKeys.includes(fullPathKey)\n\n // >>>>> checked\n const checked = checkedSet.has(fullPathKey)\n\n // >>>>> halfChecked\n const halfChecked = halfCheckedSet.has(fullPathKey)\n\n return {\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }\n }),\n [options, checkedSet, fieldNames, halfCheckedSet, loadingKeys, prevValuePath]\n )\n // ============================ Render ============================\n return (\n <ul className={menuPrefixCls} role=\"menu\" style={!isEmpty ? { height: listHeight + 'px' } : {}}>\n <List\n className={\n optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue\n ? 'rc-virtual-list-full'\n : ''\n }\n data={optionInfoList}\n height={isEmpty ? 'auto' : listHeight}\n itemHeight={optionHeight || 36}\n itemKey=\"fullPathKey\"\n ref={ref}\n >\n {({\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }) => {\n // >>>>> Open\n const triggerOpenPath = () => {\n if (!disabled && (!hoverOpen || !isMergedLeaf)) {\n onActive(fullPath)\n }\n }\n\n // >>>>> Selection\n const triggerSelect = () => {\n initDropRenderRef.current = false\n if (isSelectable(option)) {\n onSelect(fullPath, isMergedLeaf)\n }\n }\n\n // >>>>> Title\n let title: string\n if (typeof option.title === 'string') {\n title = option.title\n } else if (typeof label === 'string') {\n title = label\n }\n return (\n <li\n key={fullPathKey}\n className={classNames(menuItemPrefixCls, {\n [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,\n [`${menuItemPrefixCls}-active`]: activeValue === value,\n [`${menuItemPrefixCls}-disabled`]: disabled,\n [`${menuItemPrefixCls}-loading`]: isLoading,\n })}\n style={dropdownMenuColumnStyle}\n role=\"menuitemcheckbox\"\n // @ts-ignore\n title={title}\n aria-checked={checked}\n data-path-key={fullPathKey}\n onClick={() => {\n triggerOpenPath()\n if (!multiple || isMergedLeaf) {\n triggerSelect()\n }\n }}\n onDoubleClick={() => {\n if (changeOnSelect) {\n onToggleOpen(false)\n }\n }}\n onMouseEnter={() => {\n if (hoverOpen) {\n triggerOpenPath()\n }\n }}\n onMouseDown={(e) => {\n // Prevent selector from blurring\n e.preventDefault()\n }}\n >\n {multiple && (\n <Checkbox\n prefixCls={`${prefixCls}-checkbox`}\n checked={checked}\n halfChecked={halfChecked}\n disabled={disabled}\n onClick={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation()\n triggerSelect()\n }}\n />\n )}\n <div className={`${menuItemPrefixCls}-content`}>\n {optionInfoList[0].fullPathKey !== '__EMPTY__' && renderItem\n ? renderItem(option, level)\n : label}\n </div>\n {!isLoading && expandIcon && !isMergedLeaf && (\n <div className={`${menuItemPrefixCls}-expand-icon`}>{expandIcon}</div>\n )}\n {isLoading && loadingIcon && (\n <div className={`${menuItemPrefixCls}-loading-icon`}>{loadingIcon}</div>\n )}\n </li>\n )\n }}\n </List>\n </ul>\n )\n}\n"]}
@@ -0,0 +1,7 @@
1
+ .tntd-select-empty-container {
2
+ padding: 5px 12px;
3
+
4
+ & > .ant-empty > .ant-empty-image > svg {
5
+ width: 100%;
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "2.8.33",
3
+ "version": "2.8.35",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "start": "heft start --storybook",
@@ -32,7 +32,7 @@
32
32
  "rc-tree": "~5.7.0",
33
33
  "rc-overflow": "^1.0.0",
34
34
  "rc-trigger": "^5.0.4",
35
- "rc-virtual-list": "^3.4.13",
35
+ "rc-virtual-list": "~3.16.1",
36
36
  "rc-align": "^4.0.0",
37
37
  "react-color": "^2.17.2",
38
38
  "lodash": "~4.17.21",