hc-busin-components 1.0.4 → 1.0.7

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 (77) hide show
  1. package/README.md +31 -0
  2. package/dist/Actions/index.css +36 -0
  3. package/dist/Actions/index.js +46 -87
  4. package/dist/Actions/index.less +33 -0
  5. package/dist/CascaderCluster/index.css +127 -0
  6. package/dist/ComponentUninstalled/index.css +106 -0
  7. package/dist/DataCountPopover/index.css +58 -0
  8. package/dist/DateRangePicker/index.css +180 -0
  9. package/dist/DeleteConfirm/index.css +44 -0
  10. package/dist/DeleteConfirm/index.js +4 -3
  11. package/dist/DeleteConfirm/index.less +8 -0
  12. package/dist/HCCascader/assets/loading-black.gif +0 -0
  13. package/dist/HCCascader/assets/loading-blue.gif +0 -0
  14. package/dist/HCCascader/assets/loading-re.gif +0 -0
  15. package/dist/HCCascader/components/CascaderPanel.d.ts +29 -0
  16. package/dist/HCCascader/components/CascaderPanel.js +236 -0
  17. package/dist/HCCascader/components/InfinityLoading.css +14 -0
  18. package/dist/HCCascader/components/InfinityLoading.d.ts +12 -0
  19. package/dist/HCCascader/components/InfinityLoading.js +39 -0
  20. package/dist/HCCascader/components/InfinityLoading.less +15 -0
  21. package/dist/HCCascader/index.css +6 -0
  22. package/dist/HCCascader/index.d.ts +6 -0
  23. package/dist/HCCascader/index.js +325 -0
  24. package/dist/HCCascader/index.less +12 -0
  25. package/dist/HCCascader/style/index.d.ts +32 -0
  26. package/dist/HCCascader/style/index.js +46 -0
  27. package/dist/HCCascader/types.d.ts +56 -0
  28. package/dist/HCCascader/types.js +1 -0
  29. package/dist/HCCascader/utils.d.ts +22 -0
  30. package/dist/HCCascader/utils.js +229 -0
  31. package/dist/HCDrawer/index.css +23 -0
  32. package/dist/HCModal/index.css +22 -0
  33. package/dist/Icon/index.css +10 -0
  34. package/dist/IconPopTips/index.css +25 -0
  35. package/dist/IconText/index.css +30 -0
  36. package/dist/LogCenter/index.css +434 -0
  37. package/dist/LogCenter/select-with-all.css +72 -0
  38. package/dist/LogicalResourceFilter/index.css +102 -0
  39. package/dist/MetadataCount/index.css +40 -0
  40. package/dist/MetadataForm/index.css +94 -0
  41. package/dist/MetadataPopoverList/index.css +68 -0
  42. package/dist/MetadataTags/index.css +23 -0
  43. package/dist/PageHeader/index.css +78 -0
  44. package/dist/PageHeader/index.less +1 -1
  45. package/dist/ResourceProgress/index.css +73 -0
  46. package/dist/Terminal/index.css +33 -0
  47. package/dist/TextCopy/index.css +35 -0
  48. package/dist/TextEllipsis/index.css +3 -0
  49. package/dist/ThemeForm/index.css +9 -0
  50. package/dist/ThemeSubmit/index.css +21 -0
  51. package/dist/UsageCycle/index.css +47 -0
  52. package/dist/Yaml/index.css +158 -0
  53. package/dist/index.d.ts +5 -0
  54. package/dist/index.js +3 -0
  55. package/dist/umd/index.css +1 -0
  56. package/dist/umd/index.js +329667 -0
  57. package/dist/umd/index.min.css +1 -0
  58. package/dist/umd/index.min.js +1 -0
  59. package/dist/umd/static/back.bc428fe0.png +0 -0
  60. package/dist/umd/static/comp-unintall-bg.3e8d54bb.png +0 -0
  61. package/dist/umd/static/excel.e65df84a.png +0 -0
  62. package/dist/umd/static/folder.ce6450d2.png +0 -0
  63. package/dist/umd/static/jpeg.5bbd1a0a.png +0 -0
  64. package/dist/umd/static/jpg.94ce866e.png +0 -0
  65. package/dist/umd/static/loading-black.95f34d48.gif +0 -0
  66. package/dist/umd/static/loading-blue.dab47538.gif +0 -0
  67. package/dist/umd/static/loading-re.d56cdf97.gif +0 -0
  68. package/dist/umd/static/normal.12136b30.png +0 -0
  69. package/dist/umd/static/png.659e267b.png +0 -0
  70. package/dist/umd/static/tar.5c4ce847.png +0 -0
  71. package/dist/umd/static/text.edd65df9.png +0 -0
  72. package/dist/umd/static/zip.4ebb6070.png +0 -0
  73. package/dist/utils/storage/index.d.ts +11 -0
  74. package/dist/utils/storage/index.js +67 -0
  75. package/dist/utils/tree/index.d.ts +59 -0
  76. package/dist/utils/tree/index.js +375 -0
  77. package/package.json +13 -2
package/README.md CHANGED
@@ -9,6 +9,37 @@ A react library developed with dumi
9
9
 
10
10
  TODO
11
11
 
12
+ ### CDN / HTML
13
+
14
+ 构建后会额外产出浏览器可直接引用的 UMD 版本和编译后的 CSS:
15
+
16
+ - `dist/umd/index.min.js`
17
+ - `dist/umd/index.min.css`
18
+
19
+ UMD 全局变量名是 `HCBusinComponents`。纯 HTML 场景可按下面方式引用:
20
+
21
+ ```html
22
+ <link rel="stylesheet" href="https://unpkg.com/hc-busin-components/dist/umd/index.min.css" />
23
+
24
+ <script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
25
+ <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
26
+ <script src="https://unpkg.com/dayjs/dayjs.min.js"></script>
27
+ <script src="https://unpkg.com/antd/dist/antd.min.js"></script>
28
+ <script src="https://unpkg.com/@ant-design/icons/dist/index.umd.js"></script>
29
+ <script src="https://unpkg.com/hc-busin-components/dist/umd/index.min.js"></script>
30
+
31
+ <script>
32
+ const { ThemeSubmit } = HCBusinComponents;
33
+ </script>
34
+ ```
35
+
36
+ 说明:
37
+
38
+ - `antd` 通过它自己的 UMD 版本暴露全局变量 `antd`。
39
+ - `@ant-design/icons` 的 UMD 全局变量名是 `icons`。
40
+ - 组件库内部 `less` 会在 UMD 构建时编译并抽取为 CSS,适合 `<link>` 直接引入。
41
+ - `npm run build` 结束后还会执行一层 `postbuild`,把 `dist/**/*.less` 额外编译成同目录 `.css`,例如 `dist/ThemeSubmit/index.css`。
42
+
12
43
  ## Options
13
44
 
14
45
  TODO
@@ -0,0 +1,36 @@
1
+ .name-link {
2
+ color: var(--ant-color-link);
3
+ cursor: pointer;
4
+ }
5
+ .displayed-name {
6
+ color: var(--ant-color-text-disabled);
7
+ cursor: not-allowed;
8
+ }
9
+ .actions-dropdown-content {
10
+ display: inline-block;
11
+ width: fit-content;
12
+ min-width: unset;
13
+ max-width: max-content;
14
+ padding: 4px 0;
15
+ background: var(--ant-color-bg-elevated, #fff);
16
+ border-radius: var(--ant-border-radius-lg, 8px);
17
+ box-shadow: var(--ant-box-shadow-secondary, 0 6px 16px 0 rgba(0, 0, 0, 0.08));
18
+ overflow: hidden;
19
+ }
20
+ .actions-dropdown-item {
21
+ padding: 5px 12px;
22
+ white-space: nowrap;
23
+ line-height: 22px;
24
+ transition: background-color 0.2s;
25
+ }
26
+ .actions-dropdown-item:hover {
27
+ background: var(--ant-control-item-bg-hover, rgba(0, 0, 0, 0.04));
28
+ }
29
+ .actions-dropdown-item .name-link,
30
+ .actions-dropdown-item .displayed-name {
31
+ display: inline-block;
32
+ width: 100%;
33
+ }
34
+ .actions-dropdown .ant-dropdown-arrow::before {
35
+ background: var(--ant-color-bg-elevated, #fff);
36
+ }
@@ -1,19 +1,11 @@
1
1
  var _excluded = ["disabled", "children", "onClick", "style"],
2
- _excluded2 = ["onClick", "disabled", "children"],
3
- _excluded3 = ["onClick", "disabled", "style", "children"],
4
- _excluded4 = ["onClick", "disabled", "children"];
5
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2
+ _excluded2 = ["onClick", "disabled", "children"];
11
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
4
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
13
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
14
6
  import { MoreOutlined } from '@ant-design/icons';
15
7
  import { Divider, Dropdown, Space } from 'antd';
16
- import React, { useEffect, useState } from 'react';
8
+ import React from 'react';
17
9
  import "./index.less";
18
10
  var LinkButton = function LinkButton(_ref) {
19
11
  var _ref$disabled = _ref.disabled,
@@ -28,29 +20,38 @@ var LinkButton = function LinkButton(_ref) {
28
20
  onClick: disabled ? undefined : onClick
29
21
  }, args), linkChildren);
30
22
  };
23
+ var isLinkButtonElement = function isLinkButtonElement(item) {
24
+ return /*#__PURE__*/React.isValidElement(item) && item.type === LinkButton;
25
+ };
26
+ var normalizeChildren = function normalizeChildren(children) {
27
+ return React.Children.toArray(children).filter(React.isValidElement);
28
+ };
29
+ var renderInlineAction = function renderInlineAction(item, index) {
30
+ var _item$key2;
31
+ if (isLinkButtonElement(item)) {
32
+ var _item$key;
33
+ var _item$props = item.props,
34
+ onClick = _item$props.onClick,
35
+ _item$props$disabled = _item$props.disabled,
36
+ disabled = _item$props$disabled === void 0 ? false : _item$props$disabled,
37
+ linkChildren = _item$props.children,
38
+ rest = _objectWithoutProperties(_item$props, _excluded2);
39
+ return /*#__PURE__*/React.createElement(LinkButton, _extends({
40
+ key: (_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : index,
41
+ onClick: onClick,
42
+ disabled: disabled
43
+ }, rest), linkChildren);
44
+ }
45
+ return /*#__PURE__*/React.createElement(React.Fragment, {
46
+ key: (_item$key2 = item.key) !== null && _item$key2 !== void 0 ? _item$key2 : index
47
+ }, item);
48
+ };
31
49
  var Actions = function Actions(_ref2) {
32
50
  var children = _ref2.children,
33
51
  _ref2$threshold = _ref2.threshold,
34
52
  threshold = _ref2$threshold === void 0 ? 3 : _ref2$threshold;
35
- var _useState = useState([]),
36
- _useState2 = _slicedToArray(_useState, 2),
37
- list = _useState2[0],
38
- setList = _useState2[1];
39
- useEffect(function () {
40
- if (!children) {
41
- setList([]);
42
- return;
43
- }
44
- if (Array.isArray(children)) {
45
- var lt = children.filter(function (item) {
46
- return item !== null && typeof item !== 'boolean' && /*#__PURE__*/React.isValidElement(item);
47
- });
48
- setList(lt);
49
- } else if ( /*#__PURE__*/React.isValidElement(children) && children.props.children) {
50
- setList([children]);
51
- } else {
52
- setList([]);
53
- }
53
+ var list = React.useMemo(function () {
54
+ return normalizeChildren(children);
54
55
  }, [children]);
55
56
  if (list.length <= threshold) {
56
57
  return /*#__PURE__*/React.createElement(Space, {
@@ -61,51 +62,10 @@ var Actions = function Actions(_ref2) {
61
62
  split: /*#__PURE__*/React.createElement(Divider, {
62
63
  type: "vertical"
63
64
  })
64
- }, list.map(function (item, index) {
65
- var _item$props = item.props,
66
- onClick = _item$props.onClick,
67
- _item$props$disabled = _item$props.disabled,
68
- disabled = _item$props$disabled === void 0 ? false : _item$props$disabled,
69
- linkChildren = _item$props.children,
70
- rest = _objectWithoutProperties(_item$props, _excluded2);
71
- return /*#__PURE__*/React.createElement(LinkButton, _extends({
72
- key: index,
73
- onClick: onClick,
74
- disabled: disabled
75
- }, rest), linkChildren);
76
- }));
65
+ }, list.map(renderInlineAction));
77
66
  }
78
67
  var l1 = list.slice(0, threshold);
79
68
  var l2 = list.slice(threshold);
80
- var items = l2.map(function (item, index) {
81
- var _item$props2 = item.props,
82
- onClick = _item$props2.onClick,
83
- _item$props2$disabled = _item$props2.disabled,
84
- disabled = _item$props2$disabled === void 0 ? false : _item$props2$disabled,
85
- style = _item$props2.style,
86
- labelChildren = _item$props2.children,
87
- rest = _objectWithoutProperties(_item$props2, _excluded3);
88
- void onClick;
89
- return {
90
- key: String(index),
91
- disabled: disabled,
92
- label: /*#__PURE__*/React.createElement("span", _extends({
93
- className: disabled ? 'displayed-name' : '',
94
- style: style
95
- }, rest), labelChildren)
96
- };
97
- });
98
- var onMenuClick = function onMenuClick(_ref3) {
99
- var key = _ref3.key,
100
- domEvent = _ref3.domEvent;
101
- domEvent === null || domEvent === void 0 || domEvent.stopPropagation();
102
- var idx = Number(key);
103
- var item = l2[idx];
104
- if (item && !item.props.disabled) {
105
- var _item$props$onClick, _item$props3;
106
- (_item$props$onClick = (_item$props3 = item.props).onClick) === null || _item$props$onClick === void 0 || _item$props$onClick.call(_item$props3);
107
- }
108
- };
109
69
  return /*#__PURE__*/React.createElement(Space, {
110
70
  align: "center",
111
71
  style: {
@@ -114,23 +74,22 @@ var Actions = function Actions(_ref2) {
114
74
  split: /*#__PURE__*/React.createElement(Divider, {
115
75
  type: "vertical"
116
76
  })
117
- }, l1.map(function (item, index) {
118
- var _item$props4 = item.props,
119
- onClick = _item$props4.onClick,
120
- _item$props4$disabled = _item$props4.disabled,
121
- disabled = _item$props4$disabled === void 0 ? false : _item$props4$disabled,
122
- linkChildren = _item$props4.children,
123
- rest = _objectWithoutProperties(_item$props4, _excluded4);
124
- return /*#__PURE__*/React.createElement(LinkButton, _extends({
125
- key: index,
126
- onClick: onClick,
127
- disabled: disabled
128
- }, rest), linkChildren);
129
- }), /*#__PURE__*/React.createElement(Dropdown, {
77
+ }, l1.map(renderInlineAction), /*#__PURE__*/React.createElement(Dropdown, {
130
78
  trigger: ['click'],
131
- menu: {
132
- items: items,
133
- onClick: onMenuClick
79
+ overlayClassName: "actions-dropdown",
80
+ dropdownRender: function dropdownRender() {
81
+ return /*#__PURE__*/React.createElement("div", {
82
+ className: "actions-dropdown-content",
83
+ onClick: function onClick(event) {
84
+ return event.stopPropagation();
85
+ }
86
+ }, l2.map(function (item, index) {
87
+ var _item$key3;
88
+ return /*#__PURE__*/React.createElement("div", {
89
+ key: (_item$key3 = item.key) !== null && _item$key3 !== void 0 ? _item$key3 : index,
90
+ className: "actions-dropdown-item"
91
+ }, renderInlineAction(item, index));
92
+ }));
134
93
  }
135
94
  }, /*#__PURE__*/React.createElement(MoreOutlined, {
136
95
  style: {
@@ -7,3 +7,36 @@
7
7
  color: var(--ant-color-text-disabled);
8
8
  cursor: not-allowed;
9
9
  }
10
+
11
+ .actions-dropdown-content {
12
+ display: inline-block;
13
+ width: fit-content;
14
+ min-width: unset;
15
+ max-width: max-content;
16
+ padding: 4px 0;
17
+ background: var(--ant-color-bg-elevated, #fff);
18
+ border-radius: var(--ant-border-radius-lg, 8px);
19
+ box-shadow: var(--ant-box-shadow-secondary, 0 6px 16px 0 rgb(0 0 0 / 8%));
20
+ overflow: hidden;
21
+ }
22
+
23
+ .actions-dropdown-item {
24
+ padding: 5px 12px;
25
+ white-space: nowrap;
26
+ line-height: 22px;
27
+ transition: background-color 0.2s;
28
+ }
29
+
30
+ .actions-dropdown-item:hover {
31
+ background: var(--ant-control-item-bg-hover, rgb(0 0 0 / 4%));
32
+ }
33
+
34
+ .actions-dropdown-item .name-link,
35
+ .actions-dropdown-item .displayed-name {
36
+ display: inline-block;
37
+ width: 100%;
38
+ }
39
+
40
+ .actions-dropdown .ant-dropdown-arrow::before {
41
+ background: var(--ant-color-bg-elevated, #fff);
42
+ }
@@ -0,0 +1,127 @@
1
+ .ldc-cascader-cluster-wrap {
2
+ display: flex;
3
+ align-items: center;
4
+ }
5
+ .filter-dropdown-items.ant-dropdown {
6
+ min-width: 150px;
7
+ padding: 4px;
8
+ background-color: #fff;
9
+ border-radius: 4px;
10
+ box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
11
+ }
12
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu {
13
+ max-height: 200px;
14
+ padding: 0;
15
+ overflow-y: auto;
16
+ box-shadow: none;
17
+ }
18
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,
19
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu {
20
+ margin: 8px 0;
21
+ border-radius: 4px;
22
+ }
23
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-active:active,
24
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-item-active:active {
25
+ color: #2869f6;
26
+ background: rgba(40, 105, 246, 0.1);
27
+ }
28
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-submenu-active .ant-dropdown-menu-submenu-title:active,
29
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-active .ant-dropdown-menu-submenu-title:active {
30
+ color: #2869f6;
31
+ background: rgba(40, 105, 246, 0.1);
32
+ }
33
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .parent-menu-item,
34
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu .parent-menu-item {
35
+ display: inline-block;
36
+ width: 100%;
37
+ min-width: 124px;
38
+ }
39
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu .hc-icon {
40
+ margin-left: 4px;
41
+ }
42
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu-item-selected,
43
+ .filter-dropdown-items.ant-dropdown .ant-dropdown-menu-submenu-title-selected {
44
+ background-color: #2869f61a;
45
+ }
46
+ .filter-dropdown-items.ant-dropdown .ant-input-affix-wrapper {
47
+ background: #f7f8fa;
48
+ }
49
+ .filter-dropdown-items.ant-dropdown .ant-input-affix-wrapper .ant-input-prefix {
50
+ font-weight: 500;
51
+ font-size: 16px;
52
+ }
53
+ .filter-dropdown-items.ant-dropdown .ant-input-affix-wrapper .ant-input {
54
+ background: none;
55
+ }
56
+ .filter-dropdown-items.ant-dropdown .ant-btn-text {
57
+ display: flex;
58
+ align-items: center;
59
+ width: 100%;
60
+ height: auto;
61
+ padding: 5px 8px;
62
+ color: rgba(0, 0, 0, 0.65);
63
+ text-align: left;
64
+ }
65
+ .filter-dropdown-items.ant-dropdown .ant-btn-text:focus,
66
+ .filter-dropdown-items.ant-dropdown .ant-btn-text:hover {
67
+ background: rgba(0, 0, 0, 0.03);
68
+ }
69
+ .filter-dropdown-items.ant-dropdown .ant-btn-text:active,
70
+ .filter-dropdown-items.ant-dropdown .ant-btn-text.active {
71
+ color: #2869f6;
72
+ background: rgba(40, 105, 246, 0.1);
73
+ }
74
+ .filter-dropdown-items.ant-dropdown .ant-btn-text .hc-icon {
75
+ margin-left: 4px;
76
+ font-size: 16px;
77
+ }
78
+ .filter-dropdown-items.ant-dropdown .ant-divider-horizontal {
79
+ margin: 4px 0;
80
+ }
81
+ .filter-dropdown-items .no-data {
82
+ padding: 16px 24px 24px;
83
+ text-align: center;
84
+ }
85
+ .filter-dropdown-items .no-data .hc-icon {
86
+ display: block;
87
+ margin: 0 auto;
88
+ color: #333;
89
+ font-size: 72px;
90
+ }
91
+ .filter-dropdown-header {
92
+ color: rgba(0, 0, 0, 0.65);
93
+ cursor: pointer;
94
+ }
95
+ .filter-dropdown-header .placeholder {
96
+ color: #bfbfbf;
97
+ }
98
+ .filter-dropdown-header .hc-icon {
99
+ font-size: 16px;
100
+ }
101
+ .filter-dropdown-header .hc-icon:first-child {
102
+ margin-right: 4px;
103
+ }
104
+ .filter-dropdown-header .hc-icon:last-child {
105
+ margin-left: 4px;
106
+ }
107
+ .filter-dropdown-header.ant-dropdown-open .hc-icon:last-child {
108
+ color: #2869f6;
109
+ }
110
+ .filter-dropdown-popover.ant-popover {
111
+ z-index: 1051;
112
+ }
113
+ .filter-dropdown-popover.ant-popover .ant-popover-inner-content {
114
+ color: rgba(0, 0, 0, 0.65);
115
+ }
116
+ .ldc-sub-menu-item {
117
+ min-width: 124px;
118
+ }
119
+ .ant-dropdown-menu-submenu-popup {
120
+ border-radius: 4px;
121
+ }
122
+ .ant-dropdown-menu-submenu-popup .ant-dropdown-menu {
123
+ padding: 4px;
124
+ }
125
+ .ant-dropdown-menu-submenu-popup .ant-dropdown-menu .ant-dropdown-menu-item {
126
+ border-radius: 4px;
127
+ }
@@ -0,0 +1,106 @@
1
+ .component-uninstalled-prompt-wrapper.fixed-mask {
2
+ position: fixed;
3
+ top: 128px;
4
+ right: 0;
5
+ z-index: 98;
6
+ width: calc(100% - 208px);
7
+ height: calc(100% - 56px);
8
+ padding: 0 18px;
9
+ overflow-y: auto;
10
+ background: #fff;
11
+ transition: all 0.1s;
12
+ }
13
+ .component-uninstalled-prompt-wrapper.fixed-mask::-webkit-scrollbar,
14
+ .component-uninstalled-prompt-wrapper.fixed-mask::-webkit-scrollbar:active {
15
+ width: 0;
16
+ }
17
+ .component-uninstalled-prompt-wrapper main {
18
+ width: 100%;
19
+ height: 100%;
20
+ background: url('./assets/comp-unintall-background.png') repeat-x 56px 0 #fff;
21
+ }
22
+ .component-uninstalled-prompt-wrapper .content {
23
+ padding: 50px 24px 24px;
24
+ background: url('./assets/comp-unintall-bg.png') no-repeat top right;
25
+ }
26
+ .component-uninstalled-prompt-wrapper .components {
27
+ margin-bottom: 24px;
28
+ color: rgba(0, 0, 0, 0.65);
29
+ }
30
+ .component-uninstalled-prompt-wrapper .components h2 {
31
+ margin-bottom: 24px;
32
+ color: rgba(0, 0, 0, 0.85);
33
+ font-size: 28px;
34
+ }
35
+ .component-uninstalled-prompt-wrapper .components .items {
36
+ display: flex;
37
+ align-items: baseline;
38
+ }
39
+ .component-uninstalled-prompt-wrapper .components .items h5 {
40
+ color: rgba(0, 0, 0, 0.65);
41
+ font-weight: 400;
42
+ font-size: 13px;
43
+ white-space: nowrap;
44
+ }
45
+ .component-uninstalled-prompt-wrapper .components .items .hc-icon {
46
+ margin-right: 4px;
47
+ font-size: 16px;
48
+ }
49
+ .component-uninstalled-prompt-wrapper .components .items ul {
50
+ display: flex;
51
+ flex-wrap: wrap;
52
+ gap: 8px;
53
+ align-items: center;
54
+ padding: 8px 0;
55
+ }
56
+ .component-uninstalled-prompt-wrapper .components .items ul li {
57
+ padding: 2px 8px;
58
+ background: rgba(0, 0, 0, 0.03);
59
+ border-radius: 4px;
60
+ }
61
+ .component-uninstalled-prompt-wrapper .solutions {
62
+ padding: 20px;
63
+ background: rgba(255, 255, 255, 0.1);
64
+ border: 1px solid #fff;
65
+ border-radius: 4px;
66
+ box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.08);
67
+ backdrop-filter: blur(10px);
68
+ }
69
+ .component-uninstalled-prompt-wrapper .solutions h4 {
70
+ margin-bottom: 24px;
71
+ padding: 0;
72
+ color: rgba(0, 0, 0, 0.85);
73
+ font-size: 16px;
74
+ }
75
+ .component-uninstalled-prompt-wrapper .solutions dl {
76
+ margin-bottom: 32px;
77
+ }
78
+ .component-uninstalled-prompt-wrapper .solutions dl:last-child {
79
+ margin-bottom: 0;
80
+ }
81
+ .component-uninstalled-prompt-wrapper .solutions dl dt {
82
+ display: flex;
83
+ align-items: center;
84
+ }
85
+ .component-uninstalled-prompt-wrapper .solutions dl dt .hc-icon {
86
+ margin-right: 8px;
87
+ font-size: 20px;
88
+ }
89
+ .component-uninstalled-prompt-wrapper .solutions dl dt .name {
90
+ display: block;
91
+ height: 18px;
92
+ line-height: 20px;
93
+ border-bottom: 4px solid #b0c7f6;
94
+ }
95
+ .component-uninstalled-prompt-wrapper .solutions dl dd {
96
+ display: flex;
97
+ flex-wrap: wrap;
98
+ gap: 8px;
99
+ padding: 8px 0 0 28px;
100
+ }
101
+ .component-uninstalled-prompt-wrapper .solutions dl dd .ant-tag {
102
+ margin: 0;
103
+ background: rgba(0, 0, 0, 0.05);
104
+ border: none;
105
+ border-radius: 4px;
106
+ }
@@ -0,0 +1,58 @@
1
+ .data-count-popover-wrap {
2
+ display: flex;
3
+ align-items: center;
4
+ min-height: 24px;
5
+ }
6
+ .data-count-popover-wrap .count-icon {
7
+ font-size: 16px;
8
+ }
9
+ .data-count-popover-wrap button.ant-btn {
10
+ margin-left: 4px;
11
+ padding: 1.6px 3px;
12
+ }
13
+ .data-count-popover-wrap button.ant-btn.ant-popover-open,
14
+ .data-count-popover-wrap button.ant-btn:active {
15
+ color: #2869f6;
16
+ background: rgba(40, 105, 246, 0.1);
17
+ }
18
+ .data-count-popover-wrap button.ant-btn.ant-popover-open > span,
19
+ .data-count-popover-wrap button.ant-btn:active > span {
20
+ color: #2869f6;
21
+ }
22
+ .data-count-popover-wrap button.ant-btn.ant-popover-open > span::after,
23
+ .data-count-popover-wrap button.ant-btn:active > span::after {
24
+ color: #2869f6;
25
+ }
26
+ .data-count-popover-wrap button.ant-btn.ant-btn-icon-only {
27
+ display: none;
28
+ font-size: 16px;
29
+ line-height: 16px;
30
+ }
31
+ .data-count-popover-wrap button.ant-btn.ant-btn-icon-only.ant-btn-sm > * {
32
+ font-size: 16px;
33
+ }
34
+ .data-count-popover-wrap:hover button.ant-btn.ant-btn-icon-only,
35
+ .data-count-popover-wrap:focus button.ant-btn.ant-btn-icon-only {
36
+ display: block;
37
+ }
38
+ .metadata-tag-popover .ant-popover-inner-content {
39
+ padding: 8px;
40
+ }
41
+ .metadata-tag-popover .tag-list-wrapper {
42
+ display: flex;
43
+ flex-wrap: wrap;
44
+ gap: 8px;
45
+ max-width: 330px;
46
+ max-height: 250px;
47
+ overflow-y: auto;
48
+ }
49
+ .metadata-tag-popover .tag-list-wrapper .data-count-tag {
50
+ margin-right: 0;
51
+ padding: 0 7px;
52
+ color: rgba(0, 0, 0, 0.65);
53
+ font-size: 12px;
54
+ line-height: 20px;
55
+ background: #f0f2f5;
56
+ border: 1px solid #d9d9d9;
57
+ border-radius: 2px;
58
+ }