@designbasekorea/ui 0.2.13 → 0.2.16

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/dist/index.esm.js CHANGED
@@ -9362,7 +9362,7 @@ const ProgressStep = ({ items, size = 'm', layout = 'vertical', currentStep = 0,
9362
9362
  }) }));
9363
9363
  };
9364
9364
 
9365
- const RangeSlider = ({ value, range, min = 0, max = 100, step = 1, size = 'm', variant = 'default', showValue = false, showMarks = false, marks = [], markLabels = {}, disabled = false, readOnly = false, fullWidth = false, vertical = false, onChange, onRangeChange, className, ...props }) => {
9365
+ const RangeSlider = ({ value, range, min = 0, max = 100, step = 1, size = 'm', variant = 'default', showValue = false, valuePosition = 'top', showMarks = false, marks = [], markLabels = {}, disabled = false, readOnly = false, fullWidth = false, vertical = false, onChange, onRangeChange, className, ...props }) => {
9366
9366
  const [internalValue, setInternalValue] = useState(value ?? min);
9367
9367
  const [internalRange, setInternalRange] = useState(range ?? [min, max]);
9368
9368
  const [isDragging, setIsDragging] = useState(false);
@@ -9373,6 +9373,8 @@ const RangeSlider = ({ value, range, min = 0, max = 100, step = 1, size = 'm', v
9373
9373
  const isControlled = value !== undefined || range !== undefined;
9374
9374
  const currentValue = isControlled ? (value ?? internalValue) : internalValue;
9375
9375
  const currentRange = isControlled ? (range ?? internalRange) : internalRange;
9376
+ // 범위 슬라이더는 기본적으로 양끝에 값 표시, 단일 슬라이더는 우측에 표시
9377
+ const effectiveValuePosition = range !== undefined ? 'top' : (valuePosition === 'top' ? 'right' : valuePosition);
9376
9378
  // 값 정규화
9377
9379
  const normalizeValue = useCallback((val) => {
9378
9380
  return Math.max(min, Math.min(max, val));
@@ -9542,7 +9544,7 @@ const RangeSlider = ({ value, range, min = 0, max = 100, step = 1, size = 'm', v
9542
9544
  }, "aria-hidden": "true", children: markLabels[mark] && (jsx("span", { className: "designbase-range-slider__mark-label", children: markLabels[mark] })) }, mark));
9543
9545
  });
9544
9546
  };
9545
- const classes = clsx('designbase-range-slider', `designbase-range-slider--${size}`, `designbase-range-slider--${variant}`, {
9547
+ const classes = clsx('designbase-range-slider', `designbase-range-slider--${size}`, `designbase-range-slider--${variant}`, `designbase-range-slider--value-${effectiveValuePosition}`, {
9546
9548
  'designbase-range-slider--disabled': disabled,
9547
9549
  'designbase-range-slider--readonly': readOnly,
9548
9550
  'designbase-range-slider--full-width': fullWidth,
@@ -9561,7 +9563,7 @@ const RangeSlider = ({ value, range, min = 0, max = 100, step = 1, size = 'm', v
9561
9563
  : {
9562
9564
  [vertical ? 'height' : 'width']: `${getPercentage(currentValue)}%`,
9563
9565
  };
9564
- return (jsxs("div", { className: classes, ...props, children: [showValue && (jsx("div", { className: "designbase-range-slider__values", children: range !== undefined ? (jsxs(Fragment, { children: [jsx("span", { className: "designbase-range-slider__value", children: currentRange[0] }), jsx("span", { className: "designbase-range-slider__value", children: currentRange[1] })] })) : (jsx("span", { className: "designbase-range-slider__value", children: currentValue })) })), jsx("div", { ref: containerRef, className: "designbase-range-slider__container", role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": range !== undefined ? currentRange[0] : currentValue, "aria-valuetext": range !== undefined ? `${currentRange[0]} to ${currentRange[1]}` : currentValue.toString(), "aria-disabled": disabled, "aria-readonly": readOnly, tabIndex: disabled || readOnly ? -1 : 0, onKeyDown: (e) => handleKeyDown(e), children: jsxs("div", { ref: trackRef, className: trackClasses, onClick: handleTrackClick, children: [jsx("div", { className: "designbase-range-slider__fill", style: fillStyle }), renderMarks(), range !== undefined ? (jsxs(Fragment, { children: [jsx("div", { className: clsx('designbase-range-slider__thumb', {
9566
+ return (jsxs("div", { className: classes, ...props, children: [showValue && (jsx("div", { className: "designbase-range-slider__values", children: range !== undefined ? (jsxs(Fragment, { children: [jsx("span", { className: "designbase-range-slider__value designbase-range-slider__value--min", children: currentRange[0] }), jsx("span", { className: "designbase-range-slider__value designbase-range-slider__value--max", children: currentRange[1] })] })) : (jsx("span", { className: "designbase-range-slider__value designbase-range-slider__value--single", children: currentValue })) })), jsx("div", { ref: containerRef, className: "designbase-range-slider__container", role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": range !== undefined ? currentRange[0] : currentValue, "aria-valuetext": range !== undefined ? `${currentRange[0]} to ${currentRange[1]}` : currentValue.toString(), "aria-disabled": disabled, "aria-readonly": readOnly, tabIndex: disabled || readOnly ? -1 : 0, onKeyDown: (e) => handleKeyDown(e), children: jsxs("div", { ref: trackRef, className: trackClasses, onClick: handleTrackClick, children: [jsx("div", { className: "designbase-range-slider__fill", style: fillStyle }), renderMarks(), range !== undefined ? (jsxs(Fragment, { children: [jsx("div", { className: clsx('designbase-range-slider__thumb', {
9565
9567
  'designbase-range-slider__thumb--active': activeThumb === 'min',
9566
9568
  }), style: {
9567
9569
  [vertical ? 'bottom' : 'left']: `${getPercentage(currentRange[0])}%`,