aio-range 1.0.1 → 2.0.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.
- package/index.d.ts +8 -0
- package/index.js +6 -5
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type AI_label = {
|
|
|
24
24
|
setting: (value: number, p: {
|
|
25
25
|
angle: number;
|
|
26
26
|
disabled: boolean;
|
|
27
|
+
index: number;
|
|
27
28
|
}) => AI_labelItem;
|
|
28
29
|
};
|
|
29
30
|
export type AI_labelItem = {
|
|
@@ -78,6 +79,12 @@ export type I_Range = {
|
|
|
78
79
|
disabled: boolean;
|
|
79
80
|
angle: number;
|
|
80
81
|
}) => ReactNode | false | undefined;
|
|
82
|
+
pointContent?: (p: {
|
|
83
|
+
index: number;
|
|
84
|
+
value: number;
|
|
85
|
+
disabled: boolean;
|
|
86
|
+
angle: number;
|
|
87
|
+
}) => ReactNode;
|
|
81
88
|
pointOffset?: (p: {
|
|
82
89
|
index: number;
|
|
83
90
|
value: number;
|
|
@@ -127,6 +134,7 @@ export default AIORange;
|
|
|
127
134
|
export type I_RangeLabelItem = {
|
|
128
135
|
label: AI_label;
|
|
129
136
|
itemValue: number;
|
|
137
|
+
index: number;
|
|
130
138
|
};
|
|
131
139
|
declare const useRange: (PROPS: I_Range) => {
|
|
132
140
|
values: number[];
|
package/index.js
CHANGED
|
@@ -242,13 +242,13 @@ const RangeLabel = (props) => {
|
|
|
242
242
|
if (!init && !dynamic) {
|
|
243
243
|
return def;
|
|
244
244
|
}
|
|
245
|
-
return (_jsx("div", { className: 'ai-range-labels', style: { zIndex }, children: getList().map((itemValue) => _jsx(RangeLabelItem, { label: label, itemValue: itemValue }, itemValue)) }));
|
|
245
|
+
return (_jsx("div", { className: 'ai-range-labels', style: { zIndex }, children: getList().map((itemValue, index) => _jsx(RangeLabelItem, { label: label, itemValue: itemValue, index: index }, itemValue)) }));
|
|
246
246
|
}
|
|
247
247
|
return _jsx(_Fragment, { children: RENDER(false) });
|
|
248
248
|
};
|
|
249
249
|
const RangeLabelItem = (props) => {
|
|
250
250
|
let { rangeHook } = useRangeProvider();
|
|
251
|
-
let { label, itemValue } = props;
|
|
251
|
+
let { label, itemValue, index } = props;
|
|
252
252
|
let { round, vertical, size } = rangeHook.rootProps;
|
|
253
253
|
let angle;
|
|
254
254
|
if (round) {
|
|
@@ -274,7 +274,7 @@ const RangeLabelItem = (props) => {
|
|
|
274
274
|
return Object.assign({ width: 0, height: 0 }, res);
|
|
275
275
|
}
|
|
276
276
|
function getDetails() {
|
|
277
|
-
let item = label.setting(itemValue, { disabled, angle });
|
|
277
|
+
let item = label.setting(itemValue, { disabled, angle, index });
|
|
278
278
|
let { offset = 0, html = '', config } = item;
|
|
279
279
|
let distance = { [round || vertical ? 'left' : 'top']: size * offset / 100 / 2 };
|
|
280
280
|
if (round) {
|
|
@@ -320,7 +320,7 @@ const AIRangePoint = (props) => {
|
|
|
320
320
|
containers.css({ zIndex: 10 });
|
|
321
321
|
containers.eq(index).css({ zIndex: 100 });
|
|
322
322
|
}
|
|
323
|
-
const { pointHtml = (() => _jsx("div", { className: 'ai-range-point', children: props
|
|
323
|
+
const { pointContent = (() => props.value), pointHtml = (() => _jsx("div", { className: 'ai-range-point', children: pointContent(props) })), pointOffset = (() => 0) } = rangeOption;
|
|
324
324
|
const point = pointHtml(props);
|
|
325
325
|
if (point === false) {
|
|
326
326
|
return null;
|
|
@@ -515,7 +515,8 @@ const useRange = (PROPS) => {
|
|
|
515
515
|
for (let i = 0; i < value.length; i++) {
|
|
516
516
|
let point = value[i] || 0;
|
|
517
517
|
point = Math.round((point - start) / step) * step + start;
|
|
518
|
-
|
|
518
|
+
const { floatLength } = UT.Float(step);
|
|
519
|
+
point = +floatLength;
|
|
519
520
|
if (point < min) {
|
|
520
521
|
point = min;
|
|
521
522
|
}
|