tntd 3.0.0-beta.16 → 3.0.0-beta.19

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 (121) hide show
  1. package/es/descriptions/descriptions.js +20 -16
  2. package/es/descriptions/descriptions.js.map +1 -1
  3. package/es/descriptions/descriptions.less +6 -2
  4. package/es/descriptions/style/index.less +1 -0
  5. package/es/drawer/drawer.js +9 -3
  6. package/es/drawer/drawer.js.map +1 -1
  7. package/es/handle-icon/index.js +11 -5
  8. package/es/handle-icon/index.js.map +1 -1
  9. package/es/handle-icon/index.less +7 -2
  10. package/es/page-container/index.js +1 -1
  11. package/es/page-container/index.js.map +1 -1
  12. package/es/page-loading/index.js +1 -1
  13. package/es/page-loading/index.js.map +1 -1
  14. package/es/query-form/Field/Checkbox.js +1 -1
  15. package/es/query-form/Field/Checkbox.js.map +1 -1
  16. package/es/query-form/Field/SelectInput.js +4 -22
  17. package/es/query-form/Field/SelectInput.js.map +1 -1
  18. package/es/query-form/Field/fieldsMap.js +2 -2
  19. package/es/query-form/Field/fieldsMap.js.map +1 -1
  20. package/es/query-form/Field/index.js +0 -1
  21. package/es/query-form/Field/index.js.map +1 -1
  22. package/es/query-form/index.js +332 -149
  23. package/es/query-form/index.js.map +1 -1
  24. package/es/query-form/index.less +60 -17
  25. package/es/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  26. package/es/query-form-backup/Field/Composition/index.less +114 -0
  27. package/es/query-form-backup/index.less +90 -0
  28. package/es/table/expand.less +51 -0
  29. package/es/table/hooks/index.js +2 -1
  30. package/es/table/hooks/index.js.map +1 -1
  31. package/es/table/hooks/use-expand-fixed.js +76 -0
  32. package/es/table/hooks/use-expand-fixed.js.map +1 -0
  33. package/es/table/index.js +1 -0
  34. package/es/table/index.js.map +1 -1
  35. package/es/table/style/index.less +17 -31
  36. package/es/table/table.js +115 -14
  37. package/es/table/table.js.map +1 -1
  38. package/es/table/table.less +8 -19
  39. package/es/table/utils.js +11 -0
  40. package/es/table/utils.js.map +1 -1
  41. package/es/table-container/index.js +1 -1
  42. package/es/table-container/index.js.map +1 -1
  43. package/es/tabs-container/index.js +1 -1
  44. package/es/tabs-container/index.js.map +1 -1
  45. package/es/title/index.js +4 -3
  46. package/es/title/index.js.map +1 -1
  47. package/es/tntd-action/Action.js +57 -11
  48. package/es/tntd-action/Action.js.map +1 -1
  49. package/es/tntd-action/index.less +5 -3
  50. package/lib/descriptions/descriptions.d.ts.map +1 -1
  51. package/lib/descriptions/descriptions.js +23 -18
  52. package/lib/descriptions/descriptions.js.map +1 -1
  53. package/lib/descriptions/descriptions.less +6 -2
  54. package/lib/descriptions/style/index.less +1 -0
  55. package/lib/drawer/drawer.d.ts +2 -0
  56. package/lib/drawer/drawer.d.ts.map +1 -1
  57. package/lib/drawer/drawer.js +8 -2
  58. package/lib/drawer/drawer.js.map +1 -1
  59. package/lib/handle-icon/index.d.ts.map +1 -1
  60. package/lib/handle-icon/index.js +11 -4
  61. package/lib/handle-icon/index.js.map +1 -1
  62. package/lib/handle-icon/index.less +7 -2
  63. package/lib/page-container/index.js +1 -1
  64. package/lib/page-container/index.js.map +1 -1
  65. package/lib/page-loading/index.js +1 -1
  66. package/lib/page-loading/index.js.map +1 -1
  67. package/lib/query-form/Field/Checkbox.js +1 -1
  68. package/lib/query-form/Field/Checkbox.js.map +1 -1
  69. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  70. package/lib/query-form/Field/SelectInput.js +3 -15
  71. package/lib/query-form/Field/SelectInput.js.map +1 -1
  72. package/lib/query-form/Field/fieldsMap.d.ts +3 -6
  73. package/lib/query-form/Field/fieldsMap.js +2 -2
  74. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  75. package/lib/query-form/Field/index.d.ts.map +1 -1
  76. package/lib/query-form/Field/index.js +0 -1
  77. package/lib/query-form/Field/index.js.map +1 -1
  78. package/lib/query-form/index.d.ts +27 -15
  79. package/lib/query-form/index.d.ts.map +1 -1
  80. package/lib/query-form/index.js +356 -171
  81. package/lib/query-form/index.js.map +1 -1
  82. package/lib/query-form/index.less +60 -17
  83. package/lib/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  84. package/lib/query-form-backup/Field/Composition/index.less +114 -0
  85. package/lib/query-form-backup/index.less +90 -0
  86. package/lib/table/expand.less +51 -0
  87. package/lib/table/hooks/index.d.ts +1 -0
  88. package/lib/table/hooks/index.d.ts.map +1 -1
  89. package/lib/table/hooks/index.js +11 -0
  90. package/lib/table/hooks/index.js.map +1 -1
  91. package/lib/table/hooks/use-expand-fixed.d.ts +4 -0
  92. package/lib/table/hooks/use-expand-fixed.d.ts.map +1 -0
  93. package/lib/table/hooks/use-expand-fixed.js +106 -0
  94. package/lib/table/hooks/use-expand-fixed.js.map +1 -0
  95. package/lib/table/index.d.ts +1 -0
  96. package/lib/table/index.d.ts.map +1 -1
  97. package/lib/table/index.js +1 -0
  98. package/lib/table/index.js.map +1 -1
  99. package/lib/table/style/index.less +17 -31
  100. package/lib/table/table.d.ts +4 -1
  101. package/lib/table/table.d.ts.map +1 -1
  102. package/lib/table/table.js +112 -11
  103. package/lib/table/table.js.map +1 -1
  104. package/lib/table/table.less +8 -19
  105. package/lib/table/utils.d.ts +1 -0
  106. package/lib/table/utils.d.ts.map +1 -1
  107. package/lib/table/utils.js +13 -0
  108. package/lib/table/utils.js.map +1 -1
  109. package/lib/table-container/index.d.ts.map +1 -1
  110. package/lib/table-container/index.js +1 -1
  111. package/lib/table-container/index.js.map +1 -1
  112. package/lib/tabs-container/index.js +1 -1
  113. package/lib/tabs-container/index.js.map +1 -1
  114. package/lib/title/index.d.ts +1 -0
  115. package/lib/title/index.d.ts.map +1 -1
  116. package/lib/title/index.js +3 -2
  117. package/lib/title/index.js.map +1 -1
  118. package/lib/tntd-action/Action.js +62 -12
  119. package/lib/tntd-action/Action.js.map +1 -1
  120. package/lib/tntd-action/index.less +5 -3
  121. package/package.json +3 -2
@@ -42,9 +42,10 @@ function WarpAction(_a) {
42
42
  return _react["default"].createElement(_LocaleReceiver["default"], {
43
43
  componentName: "TntdAction"
44
44
  }, function (locale) {
45
- return _react["default"].createElement(Action, Object.assign({}, other, {
46
- locale: locale,
47
- getContainer: _getContainer
45
+ return _react["default"].createElement(Action, Object.assign({
46
+ getPopupContainer: _getContainer
47
+ }, other, {
48
+ locale: locale
48
49
  }));
49
50
  });
50
51
  });
@@ -53,31 +54,80 @@ function Action(_ref2) {
53
54
  var title = _ref2.title,
54
55
  hidden = _ref2.hidden,
55
56
  data = _ref2.data,
57
+ afterClose = _ref2.afterClose,
56
58
  locale = _ref2.locale,
57
59
  className = _ref2.className,
58
- getContainer = _ref2.getContainer;
60
+ _ref2$width = _ref2.width,
61
+ width = _ref2$width === void 0 ? 700 : _ref2$width,
62
+ getPopupContainer = _ref2.getPopupContainer;
59
63
  var _useState = (0, _react.useState)(false),
60
64
  _useState2 = _slicedToArray(_useState, 2),
61
65
  visible = _useState2[0],
62
66
  setVisible = _useState2[1];
67
+ var _useState3 = (0, _react.useState)({
68
+ left: 400,
69
+ bottom: 100,
70
+ width: width
71
+ }),
72
+ _useState4 = _slicedToArray(_useState3, 2),
73
+ offset = _useState4[0],
74
+ setOffset = _useState4[1];
63
75
  var ref = (0, _react.useRef)();
76
+ var refDom = (0, _react.useRef)();
64
77
  (0, _react.useEffect)(function () {
65
- ref.current = getContainer();
66
- }, [getContainer]);
78
+ ref.current = getPopupContainer();
79
+ }, [getPopupContainer]);
67
80
  (0, _react.useEffect)(function () {
68
- setVisible(data.length > 0);
69
- }, [data]);
81
+ var visible = data.length > 0;
82
+ if (visible && ref.current) {
83
+ var _offset = ref.current.getBoundingClientRect();
84
+ setOffset({
85
+ left: _offset.left + (_offset.width - width) / 2,
86
+ bottom: 100,
87
+ width: width
88
+ });
89
+ }
90
+ setVisible(visible);
91
+ }, [data, width]);
92
+ var onMouseDown = function onMouseDown(e) {
93
+ var startX = e.clientX - offset.left;
94
+ var startY = e.clientY + offset.bottom;
95
+ var onmousemove = function onmousemove(e) {
96
+ refDom.current.style.left = e.clientX - startX + 'px';
97
+ refDom.current.style.bottom = startY - e.clientY + 'px';
98
+ };
99
+ var onmouseup = function onmouseup(e) {
100
+ setOffset(function (offset) {
101
+ return Object.assign(Object.assign({}, offset), {
102
+ left: e.clientX - startX,
103
+ bottom: startY - e.clientY
104
+ });
105
+ });
106
+ document.removeEventListener('mousemove', onmousemove);
107
+ document.removeEventListener('mouseup', onmouseup);
108
+ };
109
+ document.addEventListener('mousemove', onmousemove);
110
+ document.addEventListener('mouseup', onmouseup);
111
+ };
70
112
  if (ref.current && visible && !hidden) {
71
113
  return _reactDom["default"].createPortal(_react["default"].createElement("div", {
72
- className: (0, _classnames["default"])('tnt-action', className)
114
+ className: (0, _classnames["default"])('tnt-action', className),
115
+ style: offset,
116
+ onMouseDown: onMouseDown,
117
+ ref: refDom
73
118
  }, _react["default"].createElement("div", {
74
- className: "fr"
119
+ className: "fr",
120
+ onClick: function onClick(e) {
121
+ e.stopPropagation();
122
+ }
75
123
  }, data), _react["default"].createElement(_button.Button, {
76
124
  shape: "circle",
77
125
  icon: "close",
78
126
  type: "tertiary",
79
- onClick: function onClick() {
80
- return setVisible(false);
127
+ onClick: function onClick(e) {
128
+ e.stopPropagation();
129
+ setVisible(false);
130
+ afterClose && afterClose();
81
131
  }
82
132
  }), _react["default"].createElement("span", {
83
133
  className: "tnt-action-text"
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/tntd-action/Action.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0D;AAC1D,0DAAgC;AAChC,6DAAwD;AACxD,4FAAmE;AACnE,4DAAmC;AACnC,sCAAkC;AAElC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAA;AAE/C,SAAwB,UAAU,CAAC,EAAgD;QAAhD,EAAE,YAAY,GAAG,mBAAmB,OAAY,EAAP,KAAK,cAA9C,gBAAgD,CAAF;IAC/E,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,EAAE,EAAE;QACjE,MAAM,aAAa,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,YAAY,CAAA;QAE1F,OAAO,CACL,8BAAC,wBAAc,IAAC,aAAa,EAAC,YAAY,IACvC,CAAC,MAAM,EAAE,EAAE;YACV,OAAO,8BAAC,MAAM,oBAAK,KAAK,IAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,IAAI,CAAA;QAC3E,CAAC,CACc,CAClB,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC;AAhBD,6BAgBC;AAED,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,IAAA,cAAM,GAAE,CAAA;IAEpB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,GAAG,YAAY,EAAE,CAAA;IAC9B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;QACrC,OAAO,mBAAQ,CAAC,YAAY,CAC1B,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,YAAY,EAAE,SAAS,CAAC;YACjD,uCAAK,SAAS,EAAC,IAAI,IAAE,IAAI,CAAO;YAChC,8BAAC,eAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAI;YACxF,wCAAM,SAAS,EAAC,iBAAiB,IAAE,KAAK,CAAQ,CAC5C,EACN,GAAG,CAAC,OAAO,CACZ,CAAA;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC","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.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 {...other} locale={locale} getContainer={_getContainer} />\n }}\n </LocaleReceiver>\n )\n }}\n </ConfigConsumer>\n )\n}\n\nfunction Action({ title, hidden, data, locale, className, getContainer }) {\n const [visible, setVisible] = useState(false)\n const ref = useRef()\n\n useEffect(() => {\n ref.current = getContainer()\n }, [getContainer])\n\n useEffect(() => {\n setVisible(data.length > 0)\n }, [data])\n\n if (ref.current && visible && !hidden) {\n return ReactDOM.createPortal(\n <div className={classNames('tnt-action', className)}>\n <div className=\"fr\">{data}</div>\n <Button shape=\"circle\" icon=\"close\" type=\"tertiary\" onClick={() => setVisible(false)} />\n <span className=\"tnt-action-text\">{title}</span>\n </div>,\n ref.current\n )\n }\n return null\n}\n"]}
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.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 refDom.current.style.left = e.clientX - startX + 'px'\n refDom.current.style.bottom = startY - e.clientY + 'px'\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 ref.current\n )\n }\n return null\n}\n"]}
@@ -1,16 +1,18 @@
1
1
  .tnt-action {
2
2
  position: fixed;
3
- bottom: 100px;
4
- width: @tnt-action-width;
5
- left: calc(50vw - @tnt-action-width / 2);
3
+ // bottom: 100px;
4
+ // width: @tnt-action-width;
5
+ // left: calc(50vw - @tnt-action-width / 2);
6
6
  padding: 10px 16px;
7
7
  background-color: @text-color;
8
8
  border-radius: @border-radius-base;
9
9
  z-index: 200;
10
+ cursor: grab;
10
11
  &-text {
11
12
  color: @white;
12
13
  margin-left: 20px;
13
14
  font-size: 14px;
15
+ user-select: none;
14
16
  .num {
15
17
  display: inline-block;
16
18
  width: 16px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "3.0.0-beta.16",
3
+ "version": "3.0.0-beta.19",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "start": "heft start --storybook",
@@ -37,7 +37,8 @@
37
37
  "rc-field-form": "~1.34.0",
38
38
  "scroll-into-view-if-needed": "^2.2.25",
39
39
  "@tntd/icons": "^1.0.6",
40
- "@ant-design/colors": "^3.1.0"
40
+ "@ant-design/colors": "^3.1.0",
41
+ "rc-resize-observer": "~1.4.0"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@react-types/shared": "^3.10.1",