@lemon-fe/components 1.5.6 → 1.5.7-alpha.1
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.
- package/es/data-grid/components/selected.d.ts +11 -5
- package/es/data-grid/components/selected.js +41 -15
- package/es/data-grid/index.js +9 -2
- package/es/data-grid/index.less +1 -1
- package/es/data-grid/typings.d.ts +22 -0
- package/es/data-grid/{utils.d.ts → utils/index.d.ts} +8 -8
- package/es/data-grid/{utils.js → utils/index.js} +17 -14
- package/es/data-grid/utils/text-width.d.ts +1 -0
- package/es/data-grid/utils/text-width.js +79 -0
- package/package.json +2 -2
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type ReactNode, type ReactElement } from 'react';
|
|
2
2
|
import { type Selection } from '../utils';
|
|
3
|
-
declare
|
|
4
|
-
selection: Selection<
|
|
3
|
+
declare type SelectedProps<T> = {
|
|
4
|
+
selection: Selection<T>;
|
|
5
5
|
onClear: () => void;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
renderSelected?: (params: {
|
|
7
|
+
selectedKeys: string[];
|
|
8
|
+
selectedRows: T[];
|
|
9
|
+
clearNode: ReactElement;
|
|
10
|
+
}) => ReactNode;
|
|
11
|
+
};
|
|
12
|
+
declare const Selected: <T = unknown>(props: SelectedProps<T>) => ReactElement | null;
|
|
13
|
+
export default Selected;
|
|
@@ -4,28 +4,54 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
4
4
|
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; }
|
|
5
5
|
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; } }
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
-
import React, { useEffect, useState, memo } from 'react';
|
|
7
|
+
import React, { useEffect, useState, memo, useMemo } from 'react';
|
|
8
8
|
import { useLocaleReceiver } from "../../locale-receiver";
|
|
9
9
|
import { parseLocalTemplate } from "../../locale/locale";
|
|
10
10
|
import { prefix } from "../utils";
|
|
11
|
-
|
|
11
|
+
function SelectedImpl(props) {
|
|
12
12
|
var selection = props.selection,
|
|
13
|
-
onClear = props.onClear
|
|
14
|
-
|
|
13
|
+
onClear = props.onClear,
|
|
14
|
+
renderSelected = props.renderSelected;
|
|
15
|
+
var _useState = useState(function () {
|
|
16
|
+
return selection.getSelected();
|
|
17
|
+
}),
|
|
15
18
|
_useState2 = _slicedToArray(_useState, 2),
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
selected = _useState2[0],
|
|
20
|
+
setSelected = _useState2[1];
|
|
18
21
|
var _useLocaleReceiver = useLocaleReceiver('DataGrid'),
|
|
19
22
|
_useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
|
|
20
23
|
dataGridLocale = _useLocaleReceiver2[0];
|
|
21
24
|
useEffect(function () {
|
|
22
|
-
return selection.listen(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
return selection.listen(function () {
|
|
26
|
+
setSelected(new Map(selection.getSelected()));
|
|
27
|
+
});
|
|
28
|
+
}, [selection]);
|
|
29
|
+
var _useMemo = useMemo(function () {
|
|
30
|
+
var keys = [];
|
|
31
|
+
var rows = [];
|
|
32
|
+
selected.forEach(function (val, key) {
|
|
33
|
+
if (val) {
|
|
34
|
+
rows.push(val);
|
|
35
|
+
}
|
|
36
|
+
keys.push(key);
|
|
37
|
+
});
|
|
38
|
+
return [keys, rows];
|
|
39
|
+
}, [selected]),
|
|
40
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
41
|
+
selectedKeys = _useMemo2[0],
|
|
42
|
+
selectedRows = _useMemo2[1];
|
|
43
|
+
var clearNode = /*#__PURE__*/React.createElement("a", {
|
|
29
44
|
onClick: onClear
|
|
30
|
-
}, dataGridLocale.clearSelectedText)
|
|
31
|
-
|
|
45
|
+
}, dataGridLocale.clearSelectedText);
|
|
46
|
+
return selected.size > 0 ? /*#__PURE__*/React.createElement("span", {
|
|
47
|
+
className: prefix('selected')
|
|
48
|
+
}, renderSelected ? renderSelected({
|
|
49
|
+
clearNode: clearNode,
|
|
50
|
+
selectedKeys: selectedKeys,
|
|
51
|
+
selectedRows: selectedRows
|
|
52
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, clearNode, parseLocalTemplate(dataGridLocale.selectedTipText, {
|
|
53
|
+
length: selected.size
|
|
54
|
+
}))) : null;
|
|
55
|
+
}
|
|
56
|
+
var Selected = /*#__PURE__*/memo(SelectedImpl);
|
|
57
|
+
export default Selected;
|
package/es/data-grid/index.js
CHANGED
|
@@ -57,6 +57,7 @@ import CellRenderer from "./renderer/cell-renderer";
|
|
|
57
57
|
import DetailCellRenderer from "./renderer/detali-cell-renderer";
|
|
58
58
|
import HeaderRenderer from "./renderer/header-renderer";
|
|
59
59
|
import { prefix, getColField, isColumn, withSyncRender, Store, Selection, getDefaultColumnTypes } from "./utils";
|
|
60
|
+
import { getTextWidth } from "./utils/text-width";
|
|
60
61
|
import { GridApi, ColumnApi } from 'ag-grid-community';
|
|
61
62
|
import 'ag-grid-enterprise';
|
|
62
63
|
import { AgGridReact } from 'ag-grid-react';
|
|
@@ -1052,7 +1053,9 @@ var InternalDataGrid = /*#__PURE__*/function (_Component) {
|
|
|
1052
1053
|
columns = _this$props8$columns === void 0 ? [] : _this$props8$columns,
|
|
1053
1054
|
rowActions = _this$props8.rowActions,
|
|
1054
1055
|
rowSelection = _this$props8.rowSelection,
|
|
1055
|
-
locale = _this$props8.locale
|
|
1056
|
+
locale = _this$props8.locale,
|
|
1057
|
+
enableEstimateInitialColumnWidth = _this$props8.enableEstimateInitialColumnWidth,
|
|
1058
|
+
keepInitialWidthWhenEstimate = _this$props8.keepInitialWidthWhenEstimate;
|
|
1056
1059
|
var leafColIds = [];
|
|
1057
1060
|
var groups = new Map();
|
|
1058
1061
|
var map = function map(cols) {
|
|
@@ -1090,6 +1093,9 @@ var InternalDataGrid = /*#__PURE__*/function (_Component) {
|
|
|
1090
1093
|
} else if (title !== undefined) {
|
|
1091
1094
|
opts.headerName = title.toString();
|
|
1092
1095
|
}
|
|
1096
|
+
if (enableEstimateInitialColumnWidth && opts.headerName && !keepInitialWidthWhenEstimate) {
|
|
1097
|
+
opts.initialWidth = getTextWidth(opts.headerName) * 14 + 36 + (opts.headerComponentParams !== undefined ? 24 : 0);
|
|
1098
|
+
}
|
|
1093
1099
|
|
|
1094
1100
|
// render
|
|
1095
1101
|
if (render !== undefined) {
|
|
@@ -1856,7 +1862,8 @@ var InternalDataGrid = /*#__PURE__*/function (_Component) {
|
|
|
1856
1862
|
footer.push( /*#__PURE__*/React.createElement(Selected, {
|
|
1857
1863
|
selection: this.selected,
|
|
1858
1864
|
onClear: this.handleClearSelected,
|
|
1859
|
-
key: "selection"
|
|
1865
|
+
key: "selection",
|
|
1866
|
+
renderSelected: rowSelection.renderSelected
|
|
1860
1867
|
}));
|
|
1861
1868
|
}
|
|
1862
1869
|
} else {
|
package/es/data-grid/index.less
CHANGED
|
@@ -87,6 +87,20 @@ export declare type RowSelectionType<T = any> = {
|
|
|
87
87
|
* @description 是否按页面显示的数据进行全选
|
|
88
88
|
*/
|
|
89
89
|
headerCheckboxSelectionFilteredOnly?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* @description 自定义已选结果显示
|
|
92
|
+
* @param params.selectedKeys 当前选中的行 key 列表(包含没有加载数据的 key)
|
|
93
|
+
* @param params.selectedRows 当前已有数据的选中行列表(已过滤掉为 null 的项)
|
|
94
|
+
* @param params.clearNode 触发清空选中项的交互节点
|
|
95
|
+
* 为什么选择 keys 和 rows 分成两个属性:
|
|
96
|
+
* 因为 rowSelection 的初始 selectedRowKeys 可能会被赋值,此时部分已选择项由于没有数据都是 null,
|
|
97
|
+
* 为了便于外部处理,selectedRows 中已经过滤掉了这些项。
|
|
98
|
+
*/
|
|
99
|
+
renderSelected?: (params: {
|
|
100
|
+
selectedKeys: string[];
|
|
101
|
+
selectedRows: T[];
|
|
102
|
+
clearNode: ReactElement;
|
|
103
|
+
}) => ReactNode;
|
|
90
104
|
};
|
|
91
105
|
export declare type PaginationType = {
|
|
92
106
|
current?: number;
|
|
@@ -282,4 +296,12 @@ export interface DataGridProps<TData> extends Omit<AgGridReactProps<TData>, 'row
|
|
|
282
296
|
defaultColDef?: ColDef<TData> & {
|
|
283
297
|
useValueFormatterForExport?: boolean;
|
|
284
298
|
};
|
|
299
|
+
/**
|
|
300
|
+
* @depscription 启用预估初始列宽 启用后根据字符长度计算宽度
|
|
301
|
+
*/
|
|
302
|
+
enableEstimateInitialColumnWidth?: boolean;
|
|
303
|
+
/**
|
|
304
|
+
* @depscription 与enableEstimateInitialColumnWidth搭配使用,如果col传入了initialWidth,则不会进行预估初始列宽设置
|
|
305
|
+
*/
|
|
306
|
+
keepInitialWidthWhenEstimate?: boolean;
|
|
285
307
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { DataGridLocale } from '
|
|
2
|
-
import type { ColType, ColGroupType, PathType } from '
|
|
1
|
+
import type { DataGridLocale } from '../locale/locale';
|
|
2
|
+
import type { ColType, ColGroupType, PathType } from '../typings';
|
|
3
3
|
import { Subject } from '@lemon-fe/utils';
|
|
4
4
|
import type { ColDef, ColGroupDef } from 'ag-grid-community';
|
|
5
5
|
export declare const prefix: (val?: string | undefined) => string;
|
|
@@ -36,18 +36,18 @@ export declare class Selection<T> {
|
|
|
36
36
|
private dirty;
|
|
37
37
|
private observers;
|
|
38
38
|
constructor(keys?: string[]);
|
|
39
|
-
flush(): readonly [string[], T[]];
|
|
40
|
-
get(id: string): T | undefined;
|
|
39
|
+
flush(): readonly [string[], (T | null)[]];
|
|
40
|
+
get(id: string): T | null | undefined;
|
|
41
41
|
has(id: string): boolean;
|
|
42
|
-
set(id: string, data: T): void;
|
|
42
|
+
set(id: string, data: T | null): void;
|
|
43
43
|
delete(id: string): void;
|
|
44
44
|
clear(): void;
|
|
45
|
-
clone(data: Map<string, T>): void;
|
|
45
|
+
clone(data: Map<string, T | null>): void;
|
|
46
46
|
isSameKeys(keys: string[]): boolean;
|
|
47
47
|
isDirty(): boolean;
|
|
48
|
-
|
|
48
|
+
getSelected(): Map<string, T | null>;
|
|
49
49
|
forEach(cb: (key: string) => void): void;
|
|
50
|
-
listen(cb: (
|
|
50
|
+
listen(cb: () => void): () => void;
|
|
51
51
|
}
|
|
52
52
|
export declare const columnTypes: Record<string, ColDef>;
|
|
53
53
|
export declare function getDefaultColumnTypes(locale: DataGridLocale): Record<string, ColDef<any>>;
|
|
@@ -13,9 +13,9 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
13
13
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
15
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
-
import { prefixClassName } from "
|
|
17
|
-
import CellDeleteRender from "
|
|
18
|
-
import CellIndexRender from "
|
|
16
|
+
import { prefixClassName } from "../../utils";
|
|
17
|
+
import CellDeleteRender from "../renderer/cell-delete-renderer";
|
|
18
|
+
import CellIndexRender from "../renderer/cell-index-renderer";
|
|
19
19
|
import { Subject } from '@lemon-fe/utils';
|
|
20
20
|
import { get as _get, set as _set } from 'lodash';
|
|
21
21
|
import moment from 'moment';
|
|
@@ -116,21 +116,20 @@ export var Store = /*#__PURE__*/function () {
|
|
|
116
116
|
}();
|
|
117
117
|
export var Selection = /*#__PURE__*/function () {
|
|
118
118
|
function Selection() {
|
|
119
|
-
var
|
|
119
|
+
var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
120
120
|
_classCallCheck(this, Selection);
|
|
121
121
|
_defineProperty(this, "record", void 0);
|
|
122
122
|
_defineProperty(this, "keys", void 0);
|
|
123
123
|
_defineProperty(this, "dirty", false);
|
|
124
124
|
_defineProperty(this, "observers", new Set());
|
|
125
|
-
this.record = new Map(
|
|
125
|
+
this.record = new Map(keys.map(function (key) {
|
|
126
126
|
return [key, null];
|
|
127
127
|
}));
|
|
128
|
-
this.keys =
|
|
128
|
+
this.keys = keys;
|
|
129
129
|
}
|
|
130
130
|
_createClass(Selection, [{
|
|
131
131
|
key: "flush",
|
|
132
132
|
value: function flush() {
|
|
133
|
-
var _this2 = this;
|
|
134
133
|
var result = _toConsumableArray(this.record);
|
|
135
134
|
var keys = [];
|
|
136
135
|
var values = [];
|
|
@@ -141,7 +140,7 @@ export var Selection = /*#__PURE__*/function () {
|
|
|
141
140
|
this.keys = keys;
|
|
142
141
|
this.dirty = false;
|
|
143
142
|
_toConsumableArray(this.observers).forEach(function (cb) {
|
|
144
|
-
return cb(
|
|
143
|
+
return cb();
|
|
145
144
|
});
|
|
146
145
|
return [keys, values];
|
|
147
146
|
}
|
|
@@ -185,6 +184,8 @@ export var Selection = /*#__PURE__*/function () {
|
|
|
185
184
|
if (this.dirty) {
|
|
186
185
|
this.flush();
|
|
187
186
|
}
|
|
187
|
+
|
|
188
|
+
/** 提高比较的效率,浅比较虽然比较安全,但是大部分场景这样足矣 */
|
|
188
189
|
return this.keys === keys;
|
|
189
190
|
}
|
|
190
191
|
}, {
|
|
@@ -193,22 +194,24 @@ export var Selection = /*#__PURE__*/function () {
|
|
|
193
194
|
return this.dirty;
|
|
194
195
|
}
|
|
195
196
|
}, {
|
|
196
|
-
key: "
|
|
197
|
-
value: function
|
|
198
|
-
return this.
|
|
197
|
+
key: "getSelected",
|
|
198
|
+
value: function getSelected() {
|
|
199
|
+
return this.record;
|
|
199
200
|
}
|
|
200
201
|
}, {
|
|
201
202
|
key: "forEach",
|
|
202
203
|
value: function forEach(cb) {
|
|
203
|
-
this.
|
|
204
|
+
this.record.forEach(function (val, key) {
|
|
205
|
+
return cb(key);
|
|
206
|
+
});
|
|
204
207
|
}
|
|
205
208
|
}, {
|
|
206
209
|
key: "listen",
|
|
207
210
|
value: function listen(cb) {
|
|
208
|
-
var
|
|
211
|
+
var _this2 = this;
|
|
209
212
|
this.observers.add(cb);
|
|
210
213
|
return function () {
|
|
211
|
-
|
|
214
|
+
_this2.observers.delete(cb);
|
|
212
215
|
};
|
|
213
216
|
}
|
|
214
217
|
}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getTextWidth(text: string): number;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
2
|
+
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); }
|
|
3
|
+
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; }
|
|
4
|
+
export function getTextWidth(text) {
|
|
5
|
+
var width = 0;
|
|
6
|
+
var _iterator = _createForOfIteratorHelper(text),
|
|
7
|
+
_step;
|
|
8
|
+
try {
|
|
9
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
10
|
+
var char = _step.value;
|
|
11
|
+
var code = char.codePointAt(0);
|
|
12
|
+
|
|
13
|
+
// 东南亚文字中的组合音标 / 附加符号不单独占宽
|
|
14
|
+
if (isCombiningMark(code)) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// CJK 中文、日文、韩文及其全角标点 / 符号
|
|
19
|
+
if (isCJK(code) || isCJKSymbol(code) || isFullWidthSymbol(code)) {
|
|
20
|
+
width += 1;
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// 泰文、高棉文、缅甸文、老挝文;马来文 / 越南语 / 英文使用拉丁字符规则
|
|
25
|
+
if (isSEAComplexScript(code)) {
|
|
26
|
+
width += 1;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// 拉丁字母、数字、标点;覆盖英文、马来文、越南语预组合字符
|
|
31
|
+
width += 0.6;
|
|
32
|
+
}
|
|
33
|
+
} catch (err) {
|
|
34
|
+
_iterator.e(err);
|
|
35
|
+
} finally {
|
|
36
|
+
_iterator.f();
|
|
37
|
+
}
|
|
38
|
+
return width;
|
|
39
|
+
}
|
|
40
|
+
function isCJK(code) {
|
|
41
|
+
return code >= 0x3400 && code <= 0x4dbf ||
|
|
42
|
+
// CJK扩展
|
|
43
|
+
code >= 0x4e00 && code <= 0x9fff ||
|
|
44
|
+
// 中文
|
|
45
|
+
code >= 0x20000 && code <= 0x2ebef ||
|
|
46
|
+
// CJK扩展B-I
|
|
47
|
+
code >= 0x3040 && code <= 0x30ff ||
|
|
48
|
+
// 日文
|
|
49
|
+
code >= 0xac00 && code <= 0xd7af // 韩文
|
|
50
|
+
;
|
|
51
|
+
}
|
|
52
|
+
function isCJKSymbol(code) {
|
|
53
|
+
return code >= 0x3000 && code <= 0x303f;
|
|
54
|
+
}
|
|
55
|
+
function isSEAComplexScript(code) {
|
|
56
|
+
return code >= 0x0e00 && code <= 0x0e7f ||
|
|
57
|
+
// Thai
|
|
58
|
+
code >= 0x1780 && code <= 0x17ff ||
|
|
59
|
+
// Khmer
|
|
60
|
+
code >= 0x1000 && code <= 0x109f ||
|
|
61
|
+
// Myanmar
|
|
62
|
+
code >= 0x0e80 && code <= 0x0eff // Lao
|
|
63
|
+
;
|
|
64
|
+
}
|
|
65
|
+
function isCombiningMark(code) {
|
|
66
|
+
return code >= 0x0300 && code <= 0x036f ||
|
|
67
|
+
// Vietnamese and other Latin combining marks
|
|
68
|
+
code === 0x0e31 || code >= 0x0e34 && code <= 0x0e3a || code >= 0x0e47 && code <= 0x0e4e ||
|
|
69
|
+
// Thai vowels and tones
|
|
70
|
+
code === 0x0eb1 || code >= 0x0eb4 && code <= 0x0ebc || code >= 0x0ec8 && code <= 0x0ece ||
|
|
71
|
+
// Lao vowels and tones
|
|
72
|
+
code >= 0x102b && code <= 0x103e ||
|
|
73
|
+
// Myanmar vowel signs and marks
|
|
74
|
+
code >= 0x17b4 && code <= 0x17d3 // Khmer vowel signs and signs
|
|
75
|
+
;
|
|
76
|
+
}
|
|
77
|
+
function isFullWidthSymbol(code) {
|
|
78
|
+
return code >= 0xff01 && code <= 0xff60;
|
|
79
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemon-fe/components",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.7-alpha.1",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"registry": "https://registry.npmjs.org"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "71b81afd6fac9ca7e66b3f527c9e6f104e9e30bd"
|
|
62
62
|
}
|