@next-libs/cmdb-instances 7.27.2 → 7.28.0

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 (51) hide show
  1. package/dist/cjs/i18n/constants.js +4 -0
  2. package/dist/cjs/i18n/constants.js.map +1 -1
  3. package/dist/cjs/i18n/locales/en.js +5 -1
  4. package/dist/cjs/i18n/locales/en.js.map +1 -1
  5. package/dist/cjs/i18n/locales/zh.js +5 -1
  6. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  7. package/dist/cjs/instance-list/InstanceList.js +2 -1
  8. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  9. package/dist/cjs/instance-list-drawer/InstanceListDrawer.js +1 -4
  10. package/dist/cjs/instance-list-drawer/InstanceListDrawer.js.map +1 -1
  11. package/dist/cjs/instance-list-table/DisplaySettingsModal.js +50 -10
  12. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  13. package/dist/cjs/instance-list-table/InstanceListTable.js +5 -13
  14. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  15. package/dist/cjs/instance-list-table/MoreButtonsContainer.js +1 -0
  16. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  17. package/dist/cjs/instance-list-table/SortSettings.js +145 -0
  18. package/dist/cjs/instance-list-table/SortSettings.js.map +1 -0
  19. package/dist/cjs/instance-list-table/TableTooltip.js +39 -0
  20. package/dist/cjs/instance-list-table/TableTooltip.js.map +1 -0
  21. package/dist/esm/i18n/constants.js +4 -0
  22. package/dist/esm/i18n/constants.js.map +1 -1
  23. package/dist/esm/i18n/locales/en.js +5 -1
  24. package/dist/esm/i18n/locales/en.js.map +1 -1
  25. package/dist/esm/i18n/locales/zh.js +5 -1
  26. package/dist/esm/i18n/locales/zh.js.map +1 -1
  27. package/dist/esm/instance-list/InstanceList.js +2 -1
  28. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  29. package/dist/esm/instance-list-drawer/InstanceListDrawer.js +1 -4
  30. package/dist/esm/instance-list-drawer/InstanceListDrawer.js.map +1 -1
  31. package/dist/esm/instance-list-table/DisplaySettingsModal.js +51 -10
  32. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  33. package/dist/esm/instance-list-table/InstanceListTable.js +5 -13
  34. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  35. package/dist/esm/instance-list-table/InstanceListTable.module.css +0 -11
  36. package/dist/esm/instance-list-table/MoreButtonsContainer.js +1 -0
  37. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  38. package/dist/esm/instance-list-table/SortSettings.js +141 -0
  39. package/dist/esm/instance-list-table/SortSettings.js.map +1 -0
  40. package/dist/esm/instance-list-table/SortSettings.module.css +15 -0
  41. package/dist/esm/instance-list-table/TableTooltip.js +30 -0
  42. package/dist/esm/instance-list-table/TableTooltip.js.map +1 -0
  43. package/dist/esm/instance-list-table/TableTooltip.module.css +4 -0
  44. package/dist/types/i18n/constants.d.ts +5 -1
  45. package/dist/types/instance-list-table/DisplaySettingsModal.d.ts +4 -0
  46. package/dist/types/instance-list-table/MoreButtonsContainer.d.ts +4 -0
  47. package/dist/types/instance-list-table/SortSettings.d.ts +13 -0
  48. package/dist/types/instance-list-table/SortSettings.spec.d.ts +1 -0
  49. package/dist/types/instance-list-table/TableTooltip.d.ts +6 -0
  50. package/dist/types/instance-list-table/TableTooltip.spec.d.ts +1 -0
  51. package/package.json +2 -2
@@ -0,0 +1,141 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["index", "moveRow", "acceptType", "className", "style"];
5
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
6
+ /* eslint-disable react-hooks/exhaustive-deps */
7
+ import React, { useCallback, useState } from "react";
8
+ import { useTranslation } from "react-i18next";
9
+ import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
10
+ import { Table } from "antd";
11
+ import { UnorderedListOutlined } from "@ant-design/icons";
12
+ import { DndProvider, useDrag, useDrop } from "react-dnd";
13
+ import { HTML5Backend } from "react-dnd-html5-backend";
14
+ import update from "immutability-helper";
15
+ import classNames from "classnames";
16
+ import { getBatchEditableFields } from "@next-libs/cmdb-utils";
17
+ import styles from "./SortSettings.module.css";
18
+ import { includes } from "lodash";
19
+ var type = "DraggableBodyRow";
20
+ var sortField = function () {
21
+ var dataSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
22
+ var order = arguments.length > 1 ? arguments[1] : undefined;
23
+ return dataSource === null || dataSource === void 0 ? void 0 : dataSource.sort((a, b) => {
24
+ var indexA = order.indexOf(a.id);
25
+ var indexB = order.indexOf(b.id);
26
+ return indexA - indexB;
27
+ });
28
+ };
29
+ export function SortSettings(props) {
30
+ var {
31
+ modelData,
32
+ currentFields,
33
+ rowKey,
34
+ onSortEnd
35
+ } = props;
36
+ var attrAndRelationList = getBatchEditableFields(modelData);
37
+ var sortAttrList = attrAndRelationList.filter(item => includes(currentFields, item.id));
38
+ var {
39
+ t
40
+ } = useTranslation(NS_LIBS_CMDB_INSTANCES);
41
+ var [data, setData] = useState(sortField(sortAttrList, currentFields));
42
+ var columns = [{
43
+ title: t(K.ID),
44
+ dataIndex: "id",
45
+ key: "id"
46
+ }, {
47
+ title: t(K.NAME),
48
+ dataIndex: "name",
49
+ key: "name"
50
+ }, {
51
+ title: t(K.SORT),
52
+ width: 80,
53
+ render: () => {
54
+ return /*#__PURE__*/React.createElement(UnorderedListOutlined, null);
55
+ }
56
+ }];
57
+ var DraggableBodyRow = _ref => {
58
+ var {
59
+ index,
60
+ moveRow,
61
+ acceptType,
62
+ className,
63
+ style
64
+ } = _ref,
65
+ restProps = _objectWithoutProperties(_ref, _excluded);
66
+ var ref = React.useRef();
67
+ var [{
68
+ isOver,
69
+ dropClassName
70
+ }, drop] = useDrop({
71
+ accept: acceptType || type,
72
+ collect: monitor => {
73
+ var {
74
+ index: dragIndex
75
+ } = monitor.getItem() || {};
76
+ if (dragIndex === index) {
77
+ return {};
78
+ }
79
+ return {
80
+ isOver: monitor.isOver(),
81
+ dropClassName: dragIndex < index ? "".concat(styles.dropOverDownward) : "".concat(styles.dropOverUpward)
82
+ };
83
+ },
84
+ drop: item => {
85
+ moveRow(item.index, index);
86
+ }
87
+ });
88
+ var [, drag] = useDrag({
89
+ item: {
90
+ type: acceptType || type,
91
+ index
92
+ },
93
+ collect: monitor => ({
94
+ isDragging: monitor.isDragging()
95
+ })
96
+ });
97
+ drop(drag(ref));
98
+ return /*#__PURE__*/React.createElement("tr", _extends({
99
+ ref: ref,
100
+ className: classNames(className, {
101
+ [dropClassName]: isOver
102
+ }),
103
+ style: _objectSpread({
104
+ cursor: "move"
105
+ }, style)
106
+ }, restProps));
107
+ };
108
+ var components = {
109
+ body: {
110
+ row: DraggableBodyRow
111
+ }
112
+ };
113
+ var moveRow = useCallback((dragIndex, hoverIndex) => {
114
+ var dragRow = data[dragIndex];
115
+ var newData = update(data, {
116
+ $splice: [[dragIndex, 1], [hoverIndex, 0, dragRow]]
117
+ });
118
+ setData(newData);
119
+ var sortFields = newData.map(item => item.id);
120
+ onSortEnd === null || onSortEnd === void 0 ? void 0 : onSortEnd(sortFields);
121
+ }, [data]);
122
+ return /*#__PURE__*/React.createElement(DndProvider, {
123
+ backend: HTML5Backend,
124
+ context: window
125
+ }, /*#__PURE__*/React.createElement(Table, {
126
+ className: styles.customDropTable,
127
+ columns: columns,
128
+ dataSource: data,
129
+ rowKey: rowKey,
130
+ components: components,
131
+ onRow: (_, index) => ({
132
+ index,
133
+ moveRow
134
+ }),
135
+ pagination: false,
136
+ scroll: {
137
+ y: 400
138
+ }
139
+ }));
140
+ }
141
+ //# sourceMappingURL=SortSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortSettings.js","names":["React","useCallback","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","Table","UnorderedListOutlined","DndProvider","useDrag","useDrop","HTML5Backend","update","classNames","getBatchEditableFields","styles","includes","type","sortField","dataSource","arguments","length","undefined","order","sort","a","b","indexA","indexOf","id","indexB","SortSettings","props","modelData","currentFields","rowKey","onSortEnd","attrAndRelationList","sortAttrList","filter","item","t","data","setData","columns","title","ID","dataIndex","key","NAME","SORT","width","render","createElement","DraggableBodyRow","_ref","index","moveRow","acceptType","className","style","restProps","_objectWithoutProperties","_excluded","ref","useRef","isOver","dropClassName","drop","accept","collect","monitor","dragIndex","getItem","concat","dropOverDownward","dropOverUpward","drag","isDragging","_extends","_objectSpread","cursor","components","body","row","hoverIndex","dragRow","newData","$splice","sortFields","map","backend","context","window","customDropTable","onRow","_","pagination","scroll","y"],"sources":["../../../src/instance-list-table/SortSettings.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { Table } from \"antd\";\nimport { UnorderedListOutlined } from \"@ant-design/icons\";\nimport { DndProvider, useDrag, useDrop } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport update from \"immutability-helper\";\nimport classNames from \"classnames\";\nimport { getBatchEditableFields } from \"@next-libs/cmdb-utils\";\nimport styles from \"./SortSettings.module.css\";\nimport { includes } from \"lodash\";\n\nexport interface SortSettingsProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n currentFields: string[];\n sortFields?: { field: string; order: number }[];\n rowKey?: string;\n onSortEnd?: (data: any[]) => void;\n}\n\ninterface DraggableBodyRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n index: number;\n acceptType: string;\n moveRow: (dragIndex: number, hoverIndex: number) => void;\n}\n\nconst type = \"DraggableBodyRow\";\n\nconst sortField = (dataSource: any[] = [], order: string[]) => {\n return dataSource?.sort((a: any, b: any) => {\n const indexA = order.indexOf(a.id);\n const indexB = order.indexOf(b.id);\n return indexA - indexB;\n });\n};\n\nexport function SortSettings(props: SortSettingsProps): React.ReactElement {\n const { modelData, currentFields, rowKey, onSortEnd } = props;\n\n const attrAndRelationList = getBatchEditableFields(modelData);\n const sortAttrList = attrAndRelationList.filter((item: any) =>\n includes(currentFields, item.id)\n );\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const [data, setData] = useState(sortField(sortAttrList, currentFields));\n const columns = [\n {\n title: t(K.ID),\n dataIndex: \"id\",\n key: \"id\",\n },\n {\n title: t(K.NAME),\n dataIndex: \"name\",\n key: \"name\",\n },\n {\n title: t(K.SORT),\n width: 80,\n render: () => {\n return <UnorderedListOutlined />;\n },\n },\n ];\n\n const DraggableBodyRow = ({\n index,\n moveRow,\n acceptType,\n className,\n style,\n ...restProps\n }: DraggableBodyRowProps): React.ReactElement => {\n const ref = React.useRef();\n const [{ isOver, dropClassName }, drop] = useDrop({\n accept: acceptType || type,\n collect: (monitor) => {\n const { index: dragIndex } = monitor.getItem() || {};\n if (dragIndex === index) {\n return {};\n }\n return {\n isOver: monitor.isOver(),\n dropClassName:\n dragIndex < index\n ? `${styles.dropOverDownward}`\n : `${styles.dropOverUpward}`,\n };\n },\n drop: (item: any) => {\n moveRow(item.index, index);\n },\n });\n const [, drag] = useDrag({\n item: {\n type: acceptType || type,\n index,\n },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n drop(drag(ref));\n return (\n <tr\n ref={ref}\n className={classNames(className, {\n [dropClassName]: isOver,\n })}\n style={{ cursor: \"move\", ...style }}\n {...restProps}\n />\n );\n };\n\n const components = {\n body: {\n row: DraggableBodyRow,\n },\n };\n\n const moveRow = useCallback(\n (dragIndex: number, hoverIndex: number) => {\n const dragRow = data[dragIndex];\n const newData = update(data, {\n $splice: [\n [dragIndex, 1],\n [hoverIndex, 0, dragRow],\n ],\n });\n setData(newData);\n const sortFields = newData.map((item: any) => item.id);\n onSortEnd?.(sortFields);\n },\n [data]\n );\n\n return (\n <DndProvider backend={HTML5Backend} context={window}>\n <Table\n className={styles.customDropTable}\n columns={columns}\n dataSource={data}\n rowKey={rowKey}\n components={components}\n onRow={(_, index) =>\n ({\n index,\n moveRow,\n } as React.HTMLAttributes<any>)\n }\n pagination={false}\n scroll={{ y: 400 }}\n />\n </DndProvider>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ .customDropTable {
2
+ :global(.ant-table-tbody) {
3
+ tr.dropOverDownward {
4
+ td {
5
+ border-bottom: 2px dashed var(--antd-table-drop-hover-border-color);
6
+ }
7
+ }
8
+
9
+ tr.dropOverUpward {
10
+ td {
11
+ border-top: 2px dashed var(--antd-table-drop-hover-border-color);
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,30 @@
1
+ import React, { useState } from "react";
2
+ import { Tooltip } from "antd";
3
+ import { NS_LIBS_CMDB_INSTANCES, K } from "../i18n/constants";
4
+ import i18n from "i18next";
5
+ import { GeneralIcon } from "@next-libs/basic-components";
6
+ import styles from "./TableTooltip.module.css";
7
+ export var TableTooltip = props => {
8
+ var [visible, setVisible] = useState(false);
9
+ var handleClick = () => {
10
+ var _props$onClick;
11
+ setVisible(false);
12
+ props === null || props === void 0 ? void 0 : (_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props);
13
+ };
14
+ return /*#__PURE__*/React.createElement(Tooltip, {
15
+ title: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.RELATION_INSTANCE_TOOLTIP)),
16
+ placement: "top",
17
+ visible: visible
18
+ }, /*#__PURE__*/React.createElement(GeneralIcon, {
19
+ icon: {
20
+ lib: "easyops",
21
+ category: "patch-manager",
22
+ icon: "patch-list"
23
+ },
24
+ onMouseEnter: () => setVisible(true),
25
+ onMouseLeave: () => setVisible(false),
26
+ iconClassName: styles.relationMoreIcon,
27
+ onClick: handleClick
28
+ }));
29
+ };
30
+ //# sourceMappingURL=TableTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableTooltip.js","names":["React","useState","Tooltip","NS_LIBS_CMDB_INSTANCES","K","i18n","GeneralIcon","styles","TableTooltip","props","visible","setVisible","handleClick","_props$onClick","onClick","call","createElement","title","t","concat","RELATION_INSTANCE_TOOLTIP","placement","icon","lib","category","onMouseEnter","onMouseLeave","iconClassName","relationMoreIcon"],"sources":["../../../src/instance-list-table/TableTooltip.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Tooltip } from \"antd\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport i18n from \"i18next\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport styles from \"./TableTooltip.module.css\";\n\ninterface TableTooltipProps {\n onClick?: () => void;\n}\nexport const TableTooltip = (props: TableTooltipProps): React.ReactElement => {\n const [visible, setVisible] = useState(false);\n const handleClick = (): void => {\n setVisible(false);\n props?.onClick?.();\n };\n return (\n <Tooltip\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RELATION_INSTANCE_TOOLTIP}`)}\n placement=\"top\"\n visible={visible}\n >\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"patch-manager\",\n icon: \"patch-list\",\n }}\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n iconClassName={styles.relationMoreIcon}\n onClick={handleClick}\n />\n </Tooltip>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,sBAAsB,EAAEC,CAAC,QAAQ,mBAAmB;AAC7D,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,WAAW,QAAQ,6BAA6B;AACzD,OAAOC,MAAM,MAAM,2BAA2B;AAK9C,OAAO,IAAMC,YAAY,GAAIC,KAAwB,IAAyB;EAC5E,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAC7C,IAAMW,WAAW,GAAGA,CAAA,KAAY;IAAA,IAAAC,cAAA;IAC9BF,UAAU,CAAC,KAAK,CAAC;IACjBF,KAAK,aAALA,KAAK,wBAAAI,cAAA,GAALJ,KAAK,CAAEK,OAAO,cAAAD,cAAA,uBAAdA,cAAA,CAAAE,IAAA,CAAAN,KAAiB,CAAC;EACpB,CAAC;EACD,oBACET,KAAA,CAAAgB,aAAA,CAACd,OAAO;IACNe,KAAK,EAAEZ,IAAI,CAACa,CAAC,IAAAC,MAAA,CAAIhB,sBAAsB,OAAAgB,MAAA,CAAIf,CAAC,CAACgB,yBAAyB,CAAE,CAAE;IAC1EC,SAAS,EAAC,KAAK;IACfX,OAAO,EAAEA;EAAQ,gBAEjBV,KAAA,CAAAgB,aAAA,CAACV,WAAW;IACVgB,IAAI,EAAE;MACJC,GAAG,EAAE,SAAS;MACdC,QAAQ,EAAE,eAAe;MACzBF,IAAI,EAAE;IACR,CAAE;IACFG,YAAY,EAAEA,CAAA,KAAMd,UAAU,CAAC,IAAI,CAAE;IACrCe,YAAY,EAAEA,CAAA,KAAMf,UAAU,CAAC,KAAK,CAAE;IACtCgB,aAAa,EAAEpB,MAAM,CAACqB,gBAAiB;IACvCd,OAAO,EAAEF;EAAY,CACtB,CACM,CAAC;AAEd,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ .relationMoreIcon {
2
+ margin-left: 4px;
3
+ display: inline;
4
+ }
@@ -46,6 +46,7 @@ export declare enum K {
46
46
  SET_DEFAULT_DISPLAY_SUCCESS = "SET_DEFAULT_DISPLAY_SUCCESS",
47
47
  DEFAULT_DISPLAY = "DEFAULT_DISPLAY",
48
48
  CONFIRM = "CONFIRM",
49
+ SORT_SETTINGS = "SORT_SETTINGS",
49
50
  ONLY_ONE_INSTANCE_TO_ALLOWED = "ONLY_ONE_INSTANCE_TO_ALLOWED",
50
51
  OPERATOR_CONTAIN_DEFINE = "OPERATOR_CONTAIN_DEFINE",
51
52
  OPERATOR_NOT_CONTAIN_DEFINE = "OPERATOR_NOT_CONTAIN_DEFINE",
@@ -119,7 +120,10 @@ export declare enum K {
119
120
  UPLOAD = "UPLOAD",
120
121
  BACKGROUND_SEARCH = "BACKGROUND_SEARCH",
121
122
  BACK = "BACK",
122
- RELATION_INSTANCE_TOOLTIP = "RELATION_INSTANCE_TOOLTIP"
123
+ RELATION_INSTANCE_TOOLTIP = "RELATION_INSTANCE_TOOLTIP",
124
+ NAME = "NAME",
125
+ ID = "ID",
126
+ SORT = "SORT"
123
127
  }
124
128
  export declare type Locale = {
125
129
  [key in K]: string;
@@ -10,6 +10,10 @@ export interface DisplaySettingsModalProps extends DisplaySettingsProps {
10
10
  defaultFields?: string[];
11
11
  saveFieldsBackend?: boolean;
12
12
  useExternalCmdbApi?: boolean;
13
+ sortFields?: {
14
+ field: string;
15
+ order: number;
16
+ }[];
13
17
  onOk?(data: DisplaySettingsModalData): void;
14
18
  onCancel?(): void;
15
19
  }
@@ -14,6 +14,10 @@ interface MoreButtonsContainerProps {
14
14
  handleToggleFixHeader?: () => void;
15
15
  fixedHeader?: boolean;
16
16
  showFixedHeader?: boolean;
17
+ sortFields?: {
18
+ field: string;
19
+ order: number;
20
+ }[];
17
21
  }
18
22
  interface MoreButtonsContainerState {
19
23
  visible?: boolean;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { CmdbModels } from "@next-sdk/cmdb-sdk";
3
+ export interface SortSettingsProps {
4
+ modelData: Partial<CmdbModels.ModelCmdbObject>;
5
+ currentFields: string[];
6
+ sortFields?: {
7
+ field: string;
8
+ order: number;
9
+ }[];
10
+ rowKey?: string;
11
+ onSortEnd?: (data: any[]) => void;
12
+ }
13
+ export declare function SortSettings(props: SortSettingsProps): React.ReactElement;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface TableTooltipProps {
3
+ onClick?: () => void;
4
+ }
5
+ export declare const TableTooltip: (props: TableTooltipProps) => React.ReactElement;
6
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.27.2",
3
+ "version": "7.28.0",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
6
6
  "license": "GPL-3.0",
@@ -52,5 +52,5 @@
52
52
  "js-base64": "^3.7.7",
53
53
  "marked": "^2.1.3"
54
54
  },
55
- "gitHead": "e02beae0d145a88865dba929e5f8c8abe98b8952"
55
+ "gitHead": "61f905fea64357009141432fed318b33929efc20"
56
56
  }