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.
Files changed (3) hide show
  1. package/index.d.ts +8 -0
  2. package/index.js +6 -5
  3. 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.value })), pointOffset = (() => 0) } = rangeOption;
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
- point = +point.toFixed(UT.GetPrecisionCount(step));
518
+ const { floatLength } = UT.Float(step);
519
+ point = +floatLength;
519
520
  if (point < min) {
520
521
  point = min;
521
522
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aio-range",
3
- "version": "1.0.1",
3
+ "version": "2.0.0",
4
4
  "description": "linear and circular range input",
5
5
  "main": "index.js",
6
6
  "scripts": {