@kdcloudjs/kdesign 1.7.46 → 1.7.47

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 (73) hide show
  1. package/CHANGELOG.md +1794 -0
  2. package/dist/kdesign-complete.less +247 -0
  3. package/dist/kdesign.css +368 -1
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +570 -7
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +2 -2
  8. package/dist/kdesign.min.js +6 -6
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/breadcrumb/breadcrumb.d.ts +7 -0
  11. package/es/breadcrumb/breadcrumb.js +204 -0
  12. package/es/breadcrumb/breadcrumbItem.d.ts +4 -0
  13. package/es/breadcrumb/breadcrumbItem.js +53 -0
  14. package/es/breadcrumb/index.d.ts +3 -0
  15. package/es/breadcrumb/index.js +3 -0
  16. package/es/breadcrumb/interface.d.ts +33 -0
  17. package/es/breadcrumb/interface.js +2 -0
  18. package/es/breadcrumb/style/css.js +2 -0
  19. package/es/breadcrumb/style/index.css +174 -0
  20. package/es/breadcrumb/style/index.d.ts +2 -0
  21. package/es/breadcrumb/style/index.js +2 -0
  22. package/es/breadcrumb/style/index.less +71 -0
  23. package/es/breadcrumb/style/mixin.less +7 -0
  24. package/es/breadcrumb/style/token.less +27 -0
  25. package/es/config-provider/compDefaultProps.d.ts +10 -0
  26. package/es/config-provider/compDefaultProps.js +10 -0
  27. package/es/divider/divider.d.ts +22 -0
  28. package/es/divider/divider.js +66 -0
  29. package/es/divider/index.d.ts +3 -0
  30. package/es/divider/index.js +3 -0
  31. package/es/divider/style/css.js +2 -0
  32. package/es/divider/style/index.css +191 -0
  33. package/es/divider/style/index.d.ts +2 -0
  34. package/es/divider/style/index.js +2 -0
  35. package/es/divider/style/index.less +105 -0
  36. package/es/divider/style/mixin.less +19 -0
  37. package/es/divider/style/token.less +12 -0
  38. package/es/index.d.ts +2 -0
  39. package/es/index.js +3 -1
  40. package/es/select/select.js +5 -5
  41. package/lib/breadcrumb/breadcrumb.d.ts +7 -0
  42. package/lib/breadcrumb/breadcrumb.js +217 -0
  43. package/lib/breadcrumb/breadcrumbItem.d.ts +4 -0
  44. package/lib/breadcrumb/breadcrumbItem.js +66 -0
  45. package/lib/breadcrumb/index.d.ts +3 -0
  46. package/lib/breadcrumb/index.js +27 -0
  47. package/lib/breadcrumb/interface.d.ts +33 -0
  48. package/lib/breadcrumb/interface.js +9 -0
  49. package/lib/breadcrumb/style/css.js +4 -0
  50. package/lib/breadcrumb/style/index.css +174 -0
  51. package/lib/breadcrumb/style/index.d.ts +2 -0
  52. package/lib/breadcrumb/style/index.js +4 -0
  53. package/lib/breadcrumb/style/index.less +71 -0
  54. package/lib/breadcrumb/style/mixin.less +7 -0
  55. package/lib/breadcrumb/style/token.less +27 -0
  56. package/lib/config-provider/compDefaultProps.d.ts +10 -0
  57. package/lib/config-provider/compDefaultProps.js +10 -0
  58. package/lib/divider/divider.d.ts +22 -0
  59. package/lib/divider/divider.js +82 -0
  60. package/lib/divider/index.d.ts +3 -0
  61. package/lib/divider/index.js +27 -0
  62. package/lib/divider/style/css.js +4 -0
  63. package/lib/divider/style/index.css +191 -0
  64. package/lib/divider/style/index.d.ts +2 -0
  65. package/lib/divider/style/index.js +4 -0
  66. package/lib/divider/style/index.less +105 -0
  67. package/lib/divider/style/mixin.less +19 -0
  68. package/lib/divider/style/token.less +12 -0
  69. package/lib/index.d.ts +2 -0
  70. package/lib/index.js +14 -0
  71. package/lib/select/select.js +5 -5
  72. package/lib/style/components.less +2 -0
  73. package/package.json +1 -1
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
14
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
15
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
16
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
17
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/json/stringify"));
18
+ var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
19
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _classnames = _interopRequireDefault(require("classnames"));
22
+ var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
23
+ var _utils = require("../_utils");
24
+ var _breadcrumbItem = _interopRequireDefault(require("./breadcrumbItem"));
25
+ var _icon = _interopRequireDefault(require("../icon"));
26
+ var _tooltip = _interopRequireDefault(require("../tooltip"));
27
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
30
+ var t = {};
31
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
32
+ if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
33
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
34
+ }
35
+ return t;
36
+ };
37
+ var Breadcrumb = function Breadcrumb(props) {
38
+ // prefixCls 是默认提供的类名前缀,默认值是'kd';
39
+ // compDefaultProps存放了所有组件全局化配置的默认值,用户可以通过ConfigProvider这个组件区去做修改;
40
+ var _useContext = (0, _react.useContext)(_ConfigContext.default),
41
+ getPrefixCls = _useContext.getPrefixCls,
42
+ prefixCls = _useContext.prefixCls,
43
+ userDefaultProps = _useContext.compDefaultProps;
44
+ // 这里将用户传入的 props 和 Breadcrumb 组件的全局化默认配置 userDefaultProps 做了合并处理,得到最终 Breadcrumb 组件渲染的prop
45
+ var breadcrumbProps = (0, _utils.getCompProps)('Breadcrumb', userDefaultProps, props);
46
+ // 解构获取需要的操作的属性值 customPrefixcls最终组件的默认类名前缀,如果用户不通过ConfigProvider全局化配置传入,则默认为‘kd’,否则为用户传入值
47
+ var className = breadcrumbProps.className,
48
+ customPrefixcls = breadcrumbProps.prefixCls,
49
+ items = breadcrumbProps.items,
50
+ separator = breadcrumbProps.separator,
51
+ colorModel = breadcrumbProps.colorModel,
52
+ onItemClick = breadcrumbProps.onItemClick,
53
+ others = __rest(breadcrumbProps, ["className", "prefixCls", "items", "separator", "colorModel", "onItemClick"]);
54
+ var breadcrumbRef = (0, _react.useRef)(null);
55
+ var breadcrumbHideIconRef = (0, _react.useRef)(null);
56
+ var _React$useState = _react.default.useState(items),
57
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
58
+ itemsConfig = _React$useState2[0],
59
+ setItemsConfig = _React$useState2[1];
60
+ var _React$useState3 = _react.default.useState(),
61
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
62
+ itemsArray = _React$useState4[0],
63
+ setItemsArray = _React$useState4[1];
64
+ var _React$useState5 = _react.default.useState(),
65
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
66
+ breadcrumbWidth = _React$useState6[0],
67
+ setBreadcrumbWidth = _React$useState6[1];
68
+ var _React$useState7 = _react.default.useState(false),
69
+ _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
70
+ openEllipsis = _React$useState8[0],
71
+ setOpenEllipsis = _React$useState8[1];
72
+ // 获取组件的基类样式前缀,此时breadcrumbPrefixCls的值为 kd-breadcrumb ,后续的Breadcrumb组件的样式名都以此开头,使用中划线连接
73
+ var breadcrumbPrefixCls = getPrefixCls(prefixCls, 'breadcrumb', customPrefixcls);
74
+ // 混合用户传入的类名 与 组件内部定义的样式名
75
+ var breadcrumbClass = (0, _classnames.default)(breadcrumbPrefixCls, className);
76
+ var breadcrumbPopperClass = (0, _classnames.default)("".concat(breadcrumbPrefixCls, "-popper"));
77
+ var breadcrumbMorePanelClass = (0, _classnames.default)("".concat(breadcrumbPrefixCls, "-more-panel"));
78
+ var breadcrumbSeparatorClass = (0, _classnames.default)("".concat(breadcrumbPrefixCls, "-item-separator"));
79
+ var breadcrumbHideIconClass = (0, _classnames.default)("".concat(breadcrumbPrefixCls, "-hide-icon"));
80
+ var getBreadcrumbItemClass = function getBreadcrumbItemClass(item, isLast) {
81
+ var _context, _context2, _classNames;
82
+ return (0, _classnames.default)(item.className, "".concat(breadcrumbPrefixCls, "-item"), (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(breadcrumbPrefixCls, "-item-link"), (item === null || item === void 0 ? void 0 : item.path) || (item === null || item === void 0 ? void 0 : item.href)), (0, _defineProperty2.default)(_classNames, (0, _concat.default)(_context = "".concat(breadcrumbPrefixCls, "-item-")).call(_context, colorModel || 'emphasize', "-model-current"), isLast), (0, _defineProperty2.default)(_classNames, (0, _concat.default)(_context2 = "".concat(breadcrumbPrefixCls, "-item-")).call(_context2, colorModel || 'emphasize', "-model"), !isLast), _classNames));
83
+ };
84
+ var minItem = 3; // 加上more只显示3个元素的时候,末尾元素开启省略号
85
+ var isLastItem = function isLastItem(index, items) {
86
+ return index === (items === null || items === void 0 ? void 0 : items.length) - 1;
87
+ };
88
+ var getSeparator = function getSeparator(index, items) {
89
+ if (isLastItem(index, items)) {
90
+ return null;
91
+ } else {
92
+ return /*#__PURE__*/_react.default.createElement("span", {
93
+ className: breadcrumbSeparatorClass
94
+ }, separator);
95
+ }
96
+ };
97
+ var getMoreIconContent = function getMoreIconContent(items) {
98
+ var MoreItems = function MoreItems() {
99
+ return /*#__PURE__*/_react.default.createElement("div", {
100
+ className: breadcrumbMorePanelClass
101
+ }, (0, _map.default)(items).call(items, function (item, index) {
102
+ return /*#__PURE__*/_react.default.createElement(_breadcrumbItem.default, {
103
+ key: index,
104
+ index: index,
105
+ item: (0, _extends2.default)((0, _extends2.default)({}, item), {
106
+ className: getBreadcrumbItemClass(item, false)
107
+ }),
108
+ separator: getSeparator(index, items)
109
+ });
110
+ }));
111
+ };
112
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
113
+ popperClassName: breadcrumbPopperClass,
114
+ arrow: false,
115
+ tip: /*#__PURE__*/_react.default.createElement(MoreItems, null),
116
+ trigger: "hover",
117
+ placement: "bottomLeft"
118
+ }, /*#__PURE__*/_react.default.createElement(_icon.default, {
119
+ type: "more"
120
+ })));
121
+ };
122
+ var getElementWidth = function getElementWidth(ref) {
123
+ if (ref.current) {
124
+ return ref.current.offsetWidth;
125
+ } else {
126
+ return 0;
127
+ }
128
+ };
129
+ var getItemsConfig = function getItemsConfig(widthArr, breadcrumbWidth) {
130
+ var difference = getElementWidth(breadcrumbRef) - breadcrumbWidth;
131
+ if (difference < 0) {
132
+ var number = -difference;
133
+ var removeItem = widthArr === null || widthArr === void 0 ? void 0 : widthArr.reduce(function (acc, cur, ind) {
134
+ if (ind > 0 && ind < widthArr.length - 1) {
135
+ if (acc.width < number + getElementWidth(breadcrumbHideIconRef)) {
136
+ acc.width += cur.width;
137
+ acc.index = ind;
138
+ return acc;
139
+ } else {
140
+ return acc;
141
+ }
142
+ } else {
143
+ return acc;
144
+ }
145
+ }, {
146
+ width: 0,
147
+ index: 0
148
+ });
149
+ if (removeItem.index > 0 && removeItem.index < itemsConfig.length - 1) {
150
+ var _context3;
151
+ var newItemsConfig = JSON.parse((0, _stringify.default)(itemsConfig));
152
+ (0, _splice.default)(newItemsConfig).call(newItemsConfig, 1, removeItem.index, {
153
+ title: getMoreIconContent((0, _splice.default)(_context3 = JSON.parse((0, _stringify.default)(itemsConfig))).call(_context3, 1, removeItem.index))
154
+ });
155
+ setItemsConfig(newItemsConfig);
156
+ }
157
+ } else {
158
+ setItemsConfig(items);
159
+ }
160
+ };
161
+ (0, _react.useEffect)(function () {
162
+ var isMore = itemsConfig === null || itemsConfig === void 0 ? void 0 : itemsConfig.some(function (item) {
163
+ var _a, _b;
164
+ return ((_b = (_a = item === null || item === void 0 ? void 0 : item.title) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.children.type.displayName) === 'Tooltip';
165
+ });
166
+ setOpenEllipsis(isMore && itemsConfig.length === minItem);
167
+ }, [itemsConfig]);
168
+ (0, _react.useEffect)(function () {
169
+ if (breadcrumbRef === null || breadcrumbRef === void 0 ? void 0 : breadcrumbRef.current) {
170
+ var _itemsArray = (0, _from.default)(breadcrumbRef.current.children, function (item, index) {
171
+ return {
172
+ width: item.offsetWidth,
173
+ index: index
174
+ };
175
+ });
176
+ var _breadcrumbWidth = _itemsArray.reduce(function (acc, cur) {
177
+ return acc + cur.width;
178
+ }, 0);
179
+ setItemsArray(_itemsArray);
180
+ setBreadcrumbWidth(_breadcrumbWidth);
181
+ getItemsConfig(_itemsArray, _breadcrumbWidth);
182
+ }
183
+ }, []);
184
+ (0, _react.useEffect)(function () {
185
+ if (itemsArray && breadcrumbWidth) {
186
+ window.addEventListener('resize', function () {
187
+ getItemsConfig(itemsArray, breadcrumbWidth);
188
+ });
189
+ }
190
+ }, [itemsArray, breadcrumbWidth]);
191
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
192
+ className: breadcrumbClass
193
+ }, others, {
194
+ ref: breadcrumbRef
195
+ }), (itemsConfig === null || itemsConfig === void 0 ? void 0 : itemsConfig.length) > 0 && (0, _map.default)(itemsConfig).call(itemsConfig, function (item, index) {
196
+ return /*#__PURE__*/_react.default.createElement(_breadcrumbItem.default, {
197
+ key: index,
198
+ item: (0, _extends2.default)((0, _extends2.default)({}, item), {
199
+ className: getBreadcrumbItemClass(item, isLastItem(index, itemsConfig))
200
+ }),
201
+ onItemClick: onItemClick,
202
+ index: index,
203
+ separator: getSeparator(index, itemsConfig),
204
+ openEllipsis: isLastItem(index, itemsConfig) ? openEllipsis : false
205
+ });
206
+ })), /*#__PURE__*/_react.default.createElement("div", {
207
+ className: breadcrumbHideIconClass,
208
+ ref: breadcrumbHideIconRef
209
+ }, /*#__PURE__*/_react.default.createElement(_icon.default, {
210
+ type: "more"
211
+ }), /*#__PURE__*/_react.default.createElement("span", {
212
+ className: breadcrumbSeparatorClass
213
+ }, separator)));
214
+ };
215
+ Breadcrumb.displayName = 'Breadcrumb';
216
+ var _default = Breadcrumb;
217
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { IBreadcrumbItems } from './interface';
3
+ declare const BreadcrumbItem: FC<IBreadcrumbItems>;
4
+ export default BreadcrumbItem;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _dropdown = _interopRequireDefault(require("../dropdown"));
14
+ var _icon = _interopRequireDefault(require("../icon"));
15
+ var _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
16
+ var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ var BreadcrumbItem = function BreadcrumbItem(props) {
20
+ var _useContext = (0, _react.useContext)(_ConfigContext.default),
21
+ getPrefixCls = _useContext.getPrefixCls,
22
+ prefixCls = _useContext.prefixCls;
23
+ var item = props.item,
24
+ index = props.index,
25
+ separator = props.separator,
26
+ openEllipsis = props.openEllipsis,
27
+ onItemClick = props.onItemClick;
28
+ var title = item.title,
29
+ className = item.className,
30
+ dropdownProps = item.dropdownProps,
31
+ href = item.href,
32
+ path = item.path,
33
+ icon = item.icon;
34
+ var breadcrumbPrefixCls = getPrefixCls(prefixCls, 'breadcrumb');
35
+ var itemTextCls = "".concat(breadcrumbPrefixCls, "-item-text");
36
+ var itemIconCls = "".concat(breadcrumbPrefixCls, "-item-icon");
37
+ var handleItemClick = function handleItemClick() {
38
+ if (href && !path) {
39
+ window.open(href, '_self');
40
+ } else if (!href && path) {
41
+ window.location.pathname = path + (title && "/".concat(title));
42
+ } else if (href && path) {
43
+ (0, _devwarning.default)(true, 'breadcrumb', '`href` and `path` not coexist within the `item` object');
44
+ }
45
+ onItemClick && onItemClick(item, index);
46
+ };
47
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
48
+ className: className,
49
+ onClick: handleItemClick
50
+ }, icon && /*#__PURE__*/_react.default.createElement("div", {
51
+ className: itemIconCls
52
+ }, icon), /*#__PURE__*/_react.default.createElement("div", {
53
+ className: itemTextCls,
54
+ title: typeof title === 'string' ? title : '',
55
+ style: {
56
+ maxWidth: openEllipsis ? '170px' : 'unset',
57
+ overflow: openEllipsis ? 'hidden' : 'inherit'
58
+ }
59
+ }, title), dropdownProps && 'menu' in dropdownProps && /*#__PURE__*/_react.default.createElement(_dropdown.default, (0, _extends2.default)({
60
+ placement: "bottomRight"
61
+ }, dropdownProps), /*#__PURE__*/_react.default.createElement(_icon.default, {
62
+ type: "arrow-down"
63
+ })), separator));
64
+ };
65
+ var _default = BreadcrumbItem;
66
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import Breadcrumb from './breadcrumb';
2
+ export * from './breadcrumb';
3
+ export default Breadcrumb;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ var _exportNames = {};
11
+ exports.default = void 0;
12
+ var _breadcrumb = _interopRequireWildcard(require("./breadcrumb"));
13
+ _Object$keys(_breadcrumb).forEach(function (key) {
14
+ if (key === "default" || key === "__esModule") return;
15
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
+ if (key in exports && exports[key] === _breadcrumb[key]) return;
17
+ Object.defineProperty(exports, key, {
18
+ enumerable: true,
19
+ get: function get() {
20
+ return _breadcrumb[key];
21
+ }
22
+ });
23
+ });
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ var _default = _breadcrumb.default;
27
+ exports.default = _default;
@@ -0,0 +1,33 @@
1
+ import { ReactNode } from 'react';
2
+ import { DropDownProps } from '../dropdown';
3
+ export declare const ColorModelTypes: ["emphasize", "weaken"];
4
+ export declare type ColorModelType = typeof ColorModelTypes[number];
5
+ export interface IBreadcrumbProps {
6
+ style?: Record<string, unknown>;
7
+ className?: string;
8
+ colorModel?: ColorModelType;
9
+ prefixCls?: string;
10
+ items: Array<IBreadcrumbItem>;
11
+ separator?: ReactNode;
12
+ children?: ReactNode;
13
+ onItemClick?: (item: IBreadcrumbItem, index: number) => void;
14
+ }
15
+ export interface IBreadcrumbItems {
16
+ item: IBreadcrumbItem;
17
+ index: number;
18
+ separator?: ReactNode;
19
+ openEllipsis?: boolean;
20
+ onItemClick?: (item: IBreadcrumbItem, index: number) => void;
21
+ }
22
+ export interface IBreadcrumbItem {
23
+ className?: string;
24
+ title?: ReactNode;
25
+ dropdownProps?: DropDownProps;
26
+ href?: string;
27
+ path?: string;
28
+ icon?: ReactNode;
29
+ }
30
+ export interface IItemsWidth {
31
+ width: number;
32
+ index: number;
33
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorModelTypes = void 0;
7
+ var _type = require("../_utils/type");
8
+ var ColorModelTypes = (0, _type.tuple)('emphasize', 'weaken');
9
+ exports.ColorModelTypes = ColorModelTypes;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("../../style/index.css");
4
+ require("./index.css");
@@ -0,0 +1,174 @@
1
+ /* ----------- color ——————---- start */
2
+ /* ----------- color ——————---- end */
3
+ /* ----------- motion ——————---- start */
4
+ /* ----------- motion ——————---- end */
5
+ /* ----------- transition ——————---- start */
6
+ /* ----------- transition ——————---- end */
7
+ /* ----------- font ——————---- start */
8
+ /* ----------- font ——————---- end */
9
+ /* ----------- zIndex ——————---- start */
10
+ /*
11
+ 普通组件内部自身层级应设置在0-100间
12
+ */
13
+ /* ----------- zIndex ——————---- end */
14
+ /* ----------- Button ——————---- start */
15
+ /* ----------- Button ——————---- end */
16
+ /* ----------- Collapse ——————---- start */
17
+ /* ----------- Collapse ——————---- end */
18
+ /* ----------- Card ——————---- start */
19
+ /* ----------- Card ——————---- end */
20
+ /* ----------- Carousel ——————---- start */
21
+ /* ----------- Carousel ——————---- end */
22
+ /* ----------- Cascader ——————---- start */
23
+ /* ----------- Cascader ——————---- end */
24
+ /* ----------- Switch ——————---- start */
25
+ /* ----------- Switch ——————---- end */
26
+ /* ----------- Input ——————---- start */
27
+ /* ----------- Input ——————---- end */
28
+ /* ----------- InputNumber ——————---- start */
29
+ /* ----------- InputNumber ——————---- end */
30
+ /* ----------- checkbox ——————---- start */
31
+ /* ----------- checkbox ——————---- start */
32
+ /* ----------- checkbox ——————---- end */
33
+ /* ----------- Radio ——————---- start */
34
+ /* ----------- Radio ——————---- end */
35
+ /* ----------- icon ——————---- start */
36
+ /* ----------- icon ——————---- end */
37
+ /* ----------- Popconfirm ——————---- start */
38
+ /* ----------- Popconfirm ——————---- end */
39
+ /* ----------- Progress ——————---- start */
40
+ /* ----------- Progress ——————---- end */
41
+ /* ----------- Pagination ——————---- start */
42
+ /* ----------- Pagination ——————---- end */
43
+ /* ----------- Timeline ——————---- start */
44
+ /* ----------- Timeline ——————---- end */
45
+ /* ----------- Tabs ——————---- start */
46
+ /* ----------- Tabs ——————---- end */
47
+ /* ----------- Select ——————---- start */
48
+ /* ----------- Select ——————---- end */
49
+ /* ----------- Rate ——————---- start */
50
+ /* ----------- Rate ——————---- end */
51
+ /* ----------- Dropdown ——————---- start */
52
+ /* ----------- Dropdown ——————---- end */
53
+ /* ----------- Tooltip ——————---- start */
54
+ /* ----------- Tooltip ——————---- end */
55
+ /* ----------- Transfer ——————---- start */
56
+ /* ----------- Transfer ——————---- end */
57
+ /* ----------- DatePicker ——————---- start */
58
+ /* ----------- DatePicker ——————---- end */
59
+ /* ----------- ColorPicker ——————---- start */
60
+ /* ----------- ColorPicker ——————---- end */
61
+ /* ----------- Tree ——————---- start */
62
+ /* ----------- Tree ——————---- end */
63
+ /* ----------- Alert ——————---- start */
64
+ /* ----------- Alert ——————---- end */
65
+ /* ----------- Split-Panel ——————---- start */
66
+ /* ----------- Split-Panel ——————---- end */
67
+ /* ----------- Modal ——————---- start */
68
+ /* ----------- Modal ——————---- end */
69
+ /* ----------- Steps ——————---- start */
70
+ /* ----------- Steps ——————---- end */
71
+ /* ----------- Form ——————---- start */
72
+ /* ----------- Form ——————---- end */
73
+ /* ----------- Tag ——————---- start */
74
+ /* ----------- Tag ——————---- end */
75
+ /* ----------- Menu ——————---- start */
76
+ /* ----------- Menu ——————---- end */
77
+ /* ----------- notice ——————---- start */
78
+ /* ----------- message ——————---- end */
79
+ /* ----------- Spin ——————---- start */
80
+ /* ----------- Spin ——————---- end */
81
+ /* ----------- Spin ——————---- start */
82
+ /* ----------- Spin ——————---- end */
83
+ /* ----------- Layout ——————---- start */
84
+ /* ----------- Layout ——————---- end */
85
+ /* ----------- Typography ——————---- start */
86
+ /* ----------- Typography ——————---- start */
87
+ /* ----------- Search ——————---- start */
88
+ /* ----------- Search ——————---- start */
89
+ /* ----------- Badge ——————---- start */
90
+ /* ----------- Badge ——————---- end */
91
+ /* ----------- Anchor ——————---- start */
92
+ /* ----------- Anchor ——————---- end */
93
+ /* ----------- Avatar ——————---- start */
94
+ /* ----------- Avatar ——————---- end */
95
+ /* ----------- AdvancedSelector ——————---- start */
96
+ /* ----------- AdvancedSelector ——————---- end */
97
+ /* ----------- motion ——————---- start */
98
+ /* ----------- motion ——————---- end */
99
+ /* ----------- transition ——————---- start */
100
+ /* ----------- transition ——————---- end */
101
+ /* ----------- zIndex ——————---- start */
102
+ /*
103
+ 普通组件内部自身层级应设置在0-100间
104
+ */
105
+ /* ----------- zIndex ——————---- end */
106
+ .kd-breadcrumb,
107
+ .kd-breadcrumb-more-panel {
108
+ color: var(--kd-c-breadcrumb-color-text, #737373);
109
+ font-size: var(--kd-c-breadcrumb-font-size, var(--kd-g-font-size-middle, 14px));
110
+ font-weight: var(--kd-c-breadcrumb-font-weight, var(--kd-g-font-weight, 400));
111
+ display: -webkit-box;
112
+ display: -ms-flexbox;
113
+ display: flex;
114
+ height: 22px;
115
+ }
116
+ .kd-breadcrumb-hide-icon,
117
+ .kd-breadcrumb-more-panel-hide-icon {
118
+ position: absolute;
119
+ z-index: -999999;
120
+ top: -999999px;
121
+ visibility: hidden;
122
+ }
123
+ .kd-breadcrumb-item,
124
+ .kd-breadcrumb-more-panel-item {
125
+ display: -webkit-box;
126
+ display: -ms-flexbox;
127
+ display: flex;
128
+ cursor: text;
129
+ }
130
+ .kd-breadcrumb-item-separator,
131
+ .kd-breadcrumb-more-panel-item-separator {
132
+ padding: 0 var(--kd-c-breadcrumb-separator-spacing-padding-horizontal, 8px);
133
+ color: var(--kd-c-breadcrumb-separator-color-text, #b2b2b2);
134
+ }
135
+ .kd-breadcrumb-item-link:hover,
136
+ .kd-breadcrumb-more-panel-item-link:hover {
137
+ color: #3987ed;
138
+ cursor: pointer;
139
+ }
140
+ .kd-breadcrumb-item-emphasize-model,
141
+ .kd-breadcrumb-more-panel-item-emphasize-model {
142
+ color: var(--kd-c-breadcrumb-color-text, #737373);
143
+ }
144
+ .kd-breadcrumb-item-emphasize-model-current,
145
+ .kd-breadcrumb-more-panel-item-emphasize-model-current {
146
+ color: var(--kd-c-breadcrumb-active-color-text, #111111);
147
+ }
148
+ .kd-breadcrumb-item-weaken-model,
149
+ .kd-breadcrumb-more-panel-item-weaken-model {
150
+ color: var(--kd-c-breadcrumb-active-color-text, #111111);
151
+ }
152
+ .kd-breadcrumb-item-weaken-model-current,
153
+ .kd-breadcrumb-more-panel-item-weaken-model-current {
154
+ color: var(--kd-c-breadcrumb-color-text, #737373);
155
+ }
156
+ .kd-breadcrumb-item-text,
157
+ .kd-breadcrumb-more-panel-item-text {
158
+ white-space: nowrap;
159
+ }
160
+ .kd-breadcrumb-item-text:last-child,
161
+ .kd-breadcrumb-more-panel-item-text:last-child {
162
+ text-overflow: ellipsis;
163
+ }
164
+ .kd-breadcrumb-item-icon,
165
+ .kd-breadcrumb-more-panel-item-icon {
166
+ margin-right: 4px;
167
+ }
168
+ .kd-breadcrumb .kd-dropdown-trigger,
169
+ .kd-breadcrumb-more-panel .kd-dropdown-trigger {
170
+ margin-left: 4px;
171
+ }
172
+ .kd-breadcrumb-popper {
173
+ max-width: none !important;
174
+ }
@@ -0,0 +1,2 @@
1
+ import '../../style/index.less';
2
+ import './index.less';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("../../style/index.less");
4
+ require("./index.less");
@@ -0,0 +1,71 @@
1
+ @import '../../style/themes/index';
2
+ @import './mixin.less';
3
+ @breadcrumb-prefix-cls: ~'@{kd-prefix}-breadcrumb';
4
+
5
+ .@{breadcrumb-prefix-cls},
6
+ .@{breadcrumb-prefix-cls}-more-panel {
7
+ .breadcrumb;
8
+
9
+ display: flex;
10
+ height: 22px;
11
+
12
+ &-hide-icon {
13
+ position: absolute;
14
+ z-index: -999999;
15
+ top: -999999px;
16
+ visibility: hidden;
17
+ }
18
+
19
+ &-item {
20
+ display: flex;
21
+ cursor: text;
22
+
23
+ &-separator {
24
+ padding: 0 @breadcrumb-separator-spacing-padding-horizontal;
25
+ color: @breadcrumb-separator-color-text;
26
+ }
27
+
28
+ &-link {
29
+ &:hover {
30
+ color: #3987ed;
31
+ cursor: pointer;
32
+ }
33
+ }
34
+
35
+ &-emphasize-model {
36
+ color: @breadcrumb-color-text;
37
+ }
38
+
39
+ &-emphasize-model-current {
40
+ color: @breadcrumb-active-color-text;
41
+ }
42
+
43
+ &-weaken-model {
44
+ color: @breadcrumb-active-color-text;
45
+ }
46
+
47
+ &-weaken-model-current {
48
+ color: @breadcrumb-color-text;
49
+ }
50
+
51
+ &-text {
52
+ white-space: nowrap;
53
+
54
+ &:last-child {
55
+ text-overflow: ellipsis;
56
+ }
57
+ }
58
+
59
+ &-icon {
60
+ margin-right: 4px;
61
+ }
62
+ }
63
+
64
+ .kd-dropdown-trigger {
65
+ margin-left: 4px;
66
+ }
67
+ }
68
+
69
+ .@{breadcrumb-prefix-cls}-popper {
70
+ max-width: none !important;
71
+ }
@@ -0,0 +1,7 @@
1
+ @import './token.less';
2
+
3
+ .breadcrumb() {
4
+ color: @breadcrumb-color-text;
5
+ font-size: @breadcrumb-font-size;
6
+ font-weight: @breadcrumb-font-weight;
7
+ }
@@ -0,0 +1,27 @@
1
+ @import '../../style/themes/token.less';
2
+
3
+ @breadcrumb-custom-prefix: ~'--@{kd-prefix}-c-breadcrumb';
4
+
5
+ // color
6
+ @breadcrumb-color-text: var(~'@{breadcrumb-custom-prefix}-color-text', #737373);
7
+ @breadcrumb-active-color-text: var(~'@{breadcrumb-custom-prefix}-active-color-text', #111111);
8
+ @breadcrumb-separator-color-text: var(~'@{breadcrumb-custom-prefix}-separator-color-text', #b2b2b2);
9
+
10
+ // font
11
+ @breadcrumb-font-size: var(~'@{breadcrumb-custom-prefix}-font-size', @font-size-middle);
12
+ @breadcrumb-font-weight: var(~'@{breadcrumb-custom-prefix}-font-weight', @font-weight-light);
13
+
14
+ // line-height
15
+
16
+ // motion
17
+
18
+ // radius
19
+
20
+ // shadow
21
+
22
+ // sizing
23
+
24
+ // spacing
25
+ @breadcrumb-separator-spacing-padding-horizontal: var(~'@{breadcrumb-custom-prefix}-separator-spacing-padding-horizontal', 8px);
26
+
27
+ // z-index