@seed-design/react 1.1.5 → 1.1.7

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.
@@ -5,13 +5,20 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
 
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const scrollFog = require('@seed-design/css/recipes/scroll-fog');
8
- const reactScrollable = require('@seed-design/react-scrollable');
9
8
  const clsx = require('clsx');
10
9
  const React = require('react');
11
10
  const component = require('@seed-design/css/vars/component');
12
11
 
13
12
  const ScrollFog = React.forwardRef(
14
- ({ className, hideScrollBar, size = component.scrollFog.base.enabled.root.size, sizes, style, ...props }, ref) => {
13
+ ({
14
+ className,
15
+ hideScrollBar,
16
+ placement = ["top", "bottom"],
17
+ size = component.scrollFog.base.enabled.root.size,
18
+ sizes,
19
+ style,
20
+ ...props
21
+ }, ref) => {
15
22
  const [variantProps, restProps] = scrollFog.scrollFog.splitVariantProps({
16
23
  hideScrollBar,
17
24
  ...props
@@ -29,19 +36,24 @@ const ScrollFog = React.forwardRef(
29
36
  "--scroll-fog-size-top": finalSizes.top,
30
37
  "--scroll-fog-size-bottom": finalSizes.bottom,
31
38
  "--scroll-fog-size-left": finalSizes.left,
32
- "--scroll-fog-size-right": finalSizes.right
39
+ "--scroll-fog-size-right": finalSizes.right,
40
+ // placement에 포함된 방향만 1, 나머지는 0
41
+ "--scrollable-top": placement.includes("top") ? "1" : "0",
42
+ "--scrollable-bottom": placement.includes("bottom") ? "1" : "0",
43
+ "--scrollable-left": placement.includes("left") ? "1" : "0",
44
+ "--scrollable-right": placement.includes("right") ? "1" : "0"
33
45
  };
34
- }, [sizePx, sizes]);
46
+ }, [sizePx, sizes, placement]);
35
47
  return /* @__PURE__ */ jsxRuntime.jsx(
36
- reactScrollable.Scrollable,
48
+ "div",
37
49
  {
38
50
  ref,
39
51
  className: clsx(scrollFogClassName, className),
40
- ...restProps,
41
52
  style: {
42
53
  ...style,
43
54
  ...sizeStyle
44
- }
55
+ },
56
+ ...restProps
45
57
  }
46
58
  );
47
59
  }
@@ -1,13 +1,18 @@
1
1
  import { ScrollFogVariantProps } from '@seed-design/css/recipes/scroll-fog';
2
- import { ScrollableProps } from '@seed-design/react-scrollable';
3
2
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ type ScrollPlacement = "top" | "bottom" | "left" | "right";
4
4
  type SizesConfig = {
5
5
  top?: number;
6
6
  bottom?: number;
7
7
  left?: number;
8
8
  right?: number;
9
9
  };
10
- export interface ScrollFogProps extends ScrollFogVariantProps, ScrollableProps {
10
+ export interface ScrollFogProps extends ScrollFogVariantProps, React.HTMLAttributes<HTMLDivElement> {
11
+ /**
12
+ * Placement of fog effect
13
+ * @default ["top", "bottom"]
14
+ */
15
+ placement?: ScrollPlacement[];
11
16
  /**
12
17
  * Size of the fog effect in pixels
13
18
  * @default 20
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollFog.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollFog/ScrollFog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKjF,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,qBAAqB,EAAE,eAAe;IAC5E;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,2GAwCrB,CAAC"}
1
+ {"version":3,"file":"ScrollFog.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollFog/ScrollFog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAK5F,KAAK,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,cACf,SAAQ,qBAAqB,EAC3B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAE9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,2GAqDrB,CAAC"}
@@ -1,13 +1,20 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { scrollFog } from '@seed-design/css/recipes/scroll-fog';
4
- import { Scrollable } from '@seed-design/react-scrollable';
5
4
  import clsx from 'clsx';
6
5
  import { forwardRef, useMemo } from 'react';
7
6
  import { scrollFog as scrollFog$1 } from '@seed-design/css/vars/component';
8
7
 
9
8
  const ScrollFog = forwardRef(
10
- ({ className, hideScrollBar, size = scrollFog$1.base.enabled.root.size, sizes, style, ...props }, ref) => {
9
+ ({
10
+ className,
11
+ hideScrollBar,
12
+ placement = ["top", "bottom"],
13
+ size = scrollFog$1.base.enabled.root.size,
14
+ sizes,
15
+ style,
16
+ ...props
17
+ }, ref) => {
11
18
  const [variantProps, restProps] = scrollFog.splitVariantProps({
12
19
  hideScrollBar,
13
20
  ...props
@@ -25,19 +32,24 @@ const ScrollFog = forwardRef(
25
32
  "--scroll-fog-size-top": finalSizes.top,
26
33
  "--scroll-fog-size-bottom": finalSizes.bottom,
27
34
  "--scroll-fog-size-left": finalSizes.left,
28
- "--scroll-fog-size-right": finalSizes.right
35
+ "--scroll-fog-size-right": finalSizes.right,
36
+ // placement에 포함된 방향만 1, 나머지는 0
37
+ "--scrollable-top": placement.includes("top") ? "1" : "0",
38
+ "--scrollable-bottom": placement.includes("bottom") ? "1" : "0",
39
+ "--scrollable-left": placement.includes("left") ? "1" : "0",
40
+ "--scrollable-right": placement.includes("right") ? "1" : "0"
29
41
  };
30
- }, [sizePx, sizes]);
42
+ }, [sizePx, sizes, placement]);
31
43
  return /* @__PURE__ */ jsx(
32
- Scrollable,
44
+ "div",
33
45
  {
34
46
  ref,
35
47
  className: clsx(scrollFogClassName, className),
36
- ...restProps,
37
48
  style: {
38
49
  ...style,
39
50
  ...sizeStyle
40
- }
51
+ },
52
+ ...restProps
41
53
  }
42
54
  );
43
55
  }
@@ -69,7 +69,7 @@ const SliderValueIndicatorRoot = withContext(
69
69
  reactSlider.Slider.ValueIndicatorRoot,
70
70
  "valueIndicatorRoot"
71
71
  );
72
- const SliderValueIndicatorLabel = reactSlider.Slider.ValueIndicatorLabel;
72
+ const SliderValueIndicatorLabel = withStateProps(reactSlider.Slider.ValueIndicatorLabel);
73
73
  const SliderValueIndicatorArrow = withContext(withStateProps(reactPrimitive.Primitive.div), "valueIndicatorArrow");
74
74
  const SliderValueIndicatorArrowTip = React.forwardRef(({ tipRadius = 2, className, ...otherProps }, ref) => {
75
75
  const [valueIndicatorArrowTip, setValueIndicatorArrowTip] = React.useState(null);
@@ -36,7 +36,7 @@ export interface SliderValueIndicatorRootProps extends Slider.ValueIndicatorRoot
36
36
  export declare const SliderValueIndicatorRoot: ForwardRefExoticComponent<SliderValueIndicatorRootProps & RefAttributes<HTMLDivElement>>;
37
37
  export interface SliderValueIndicatorLabelProps extends Slider.ValueIndicatorLabelProps {
38
38
  }
39
- export declare const SliderValueIndicatorLabel: ForwardRefExoticComponent<Slider.ValueIndicatorLabelProps & RefAttributes<HTMLSpanElement>>;
39
+ export declare const SliderValueIndicatorLabel: ForwardRefExoticComponent<Omit<Slider.ValueIndicatorLabelProps & RefAttributes<HTMLSpanElement>, "ref"> & RefAttributes<HTMLSpanElement>>;
40
40
  export interface SliderValueIndicatorArrowProps extends PrimitiveProps, HTMLAttributes<HTMLDivElement> {
41
41
  }
42
42
  export declare const SliderValueIndicatorArrow: ForwardRefExoticComponent<SliderValueIndicatorArrowProps & RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAc,KAAK,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC/F,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAoB,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAkBlE,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,MAAM,CAAC,SAAS;CAAG;AAEhF,eAAO,MAAM,UAAU,4GAAqE,CAAC;AAE7F,MAAM,WAAW,kBAAmB,SAAQ,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;CAAG;AAE7F,eAAO,MAAM,aAAa,+GAGzB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;CAAG;AAE3F,eAAO,MAAM,WAAW,6GAGvB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,UAAU;CAAG;AAE9D,eAAO,MAAM,WAAW,6GAGvB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,UAAU;CAAG;AAE9D,eAAO,MAAM,WAAW,8GAgBvB,CAAC;AAGF,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,gBAAgB;CAAG;AAE1E,eAAO,MAAM,iBAAiB,sHAAqB,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,sBAAsB,EAAE,MAAM,CAAC,SAAS;CAAG;AAEpF,eAAO,MAAM,UAAU,4GAAgE,CAAC;AAExF,MAAM,WAAW,kBAAmB,SAAQ,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;CAAG;AAE7F,eAAO,MAAM,aAAa,+GAGzB,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB,EAAE,MAAM,CAAC,WAAW;CAAG;AAE1F,eAAO,MAAM,YAAY,8GAExB,CAAC;AAEF,MAAM,WAAW,6BAA8B,SAAQ,MAAM,CAAC,uBAAuB;CAAG;AAExF,eAAO,MAAM,wBAAwB,0HAGpC,CAAC;AAEF,MAAM,WAAW,8BAA+B,SAAQ,MAAM,CAAC,wBAAwB;CAAG;AAE1F,eAAO,MAAM,yBAAyB,6HAA6B,CAAC;AAEpE,MAAM,WAAW,8BACf,SAAQ,cAAc,EACpB,cAAc,CAAC,cAAc,CAAC;CAAG;AAErC,eAAO,MAAM,yBAAyB,2HAGiB,CAAC;AAExD,MAAM,WAAW,iCAAkC,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IACtF;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,4BAA4B,0IA4BvC,CAAC"}
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAc,KAAK,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC/F,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAoB,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAkBlE,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,MAAM,CAAC,SAAS;CAAG;AAEhF,eAAO,MAAM,UAAU,4GAAqE,CAAC;AAE7F,MAAM,WAAW,kBAAmB,SAAQ,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;CAAG;AAE7F,eAAO,MAAM,aAAa,+GAGzB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;CAAG;AAE3F,eAAO,MAAM,WAAW,6GAGvB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,UAAU;CAAG;AAE9D,eAAO,MAAM,WAAW,6GAGvB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,UAAU;CAAG;AAE9D,eAAO,MAAM,WAAW,8GAgBvB,CAAC;AAGF,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,gBAAgB;CAAG;AAE1E,eAAO,MAAM,iBAAiB,sHAAqB,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,sBAAsB,EAAE,MAAM,CAAC,SAAS;CAAG;AAEpF,eAAO,MAAM,UAAU,4GAAgE,CAAC;AAExF,MAAM,WAAW,kBAAmB,SAAQ,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;CAAG;AAE7F,eAAO,MAAM,aAAa,+GAGzB,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB,EAAE,MAAM,CAAC,WAAW;CAAG;AAE1F,eAAO,MAAM,YAAY,8GAExB,CAAC;AAEF,MAAM,WAAW,6BAA8B,SAAQ,MAAM,CAAC,uBAAuB;CAAG;AAExF,eAAO,MAAM,wBAAwB,0HAGpC,CAAC;AAEF,MAAM,WAAW,8BAA+B,SAAQ,MAAM,CAAC,wBAAwB;CAAG;AAE1F,eAAO,MAAM,yBAAyB,2LAA6C,CAAC;AAEpF,MAAM,WAAW,8BACf,SAAQ,cAAc,EACpB,cAAc,CAAC,cAAc,CAAC;CAAG;AAErC,eAAO,MAAM,yBAAyB,2HAGiB,CAAC;AAExD,MAAM,WAAW,iCAAkC,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IACtF;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,4BAA4B,0IA4BvC,CAAC"}
@@ -65,7 +65,7 @@ const SliderValueIndicatorRoot = withContext(
65
65
  Slider.ValueIndicatorRoot,
66
66
  "valueIndicatorRoot"
67
67
  );
68
- const SliderValueIndicatorLabel = Slider.ValueIndicatorLabel;
68
+ const SliderValueIndicatorLabel = withStateProps(Slider.ValueIndicatorLabel);
69
69
  const SliderValueIndicatorArrow = withContext(withStateProps(Primitive.div), "valueIndicatorArrow");
70
70
  const SliderValueIndicatorArrowTip = forwardRef(({ tipRadius = 2, className, ...otherProps }, ref) => {
71
71
  const [valueIndicatorArrowTip, setValueIndicatorArrowTip] = useState(null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-design/react",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/daangn/seed-design.git",
@@ -53,9 +53,8 @@
53
53
  "@seed-design/react-progress": "1.0.0",
54
54
  "@seed-design/react-pull-to-refresh": "1.0.1",
55
55
  "@seed-design/react-radio-group": "1.0.1",
56
- "@seed-design/react-scrollable": "1.0.0",
57
56
  "@seed-design/react-segmented-control": "1.0.1",
58
- "@seed-design/react-slider": "1.0.0",
57
+ "@seed-design/react-slider": "1.0.1",
59
58
  "@seed-design/react-snackbar": "1.0.0",
60
59
  "@seed-design/react-switch": "1.0.1",
61
60
  "@seed-design/react-tabs": "1.0.1",
@@ -1,9 +1,10 @@
1
1
  import { scrollFog, type ScrollFogVariantProps } from "@seed-design/css/recipes/scroll-fog";
2
- import { Scrollable, type ScrollableProps } from "@seed-design/react-scrollable";
3
2
  import clsx from "clsx";
4
3
  import { forwardRef, useMemo } from "react";
5
4
  import { scrollFog as vars } from "@seed-design/css/vars/component";
6
5
 
6
+ type ScrollPlacement = "top" | "bottom" | "left" | "right";
7
+
7
8
  type SizesConfig = {
8
9
  top?: number;
9
10
  bottom?: number;
@@ -11,12 +12,21 @@ type SizesConfig = {
11
12
  right?: number;
12
13
  };
13
14
 
14
- export interface ScrollFogProps extends ScrollFogVariantProps, ScrollableProps {
15
+ export interface ScrollFogProps
16
+ extends ScrollFogVariantProps,
17
+ React.HTMLAttributes<HTMLDivElement> {
18
+ /**
19
+ * Placement of fog effect
20
+ * @default ["top", "bottom"]
21
+ */
22
+ placement?: ScrollPlacement[];
23
+
15
24
  /**
16
25
  * Size of the fog effect in pixels
17
26
  * @default 20
18
27
  */
19
28
  size?: number;
29
+
20
30
  /**
21
31
  * Size of the fog effect for each direction in pixels
22
32
  */
@@ -25,7 +35,15 @@ export interface ScrollFogProps extends ScrollFogVariantProps, ScrollableProps {
25
35
 
26
36
  export const ScrollFog = forwardRef<HTMLDivElement, ScrollFogProps>(
27
37
  (
28
- { className, hideScrollBar, size = vars.base.enabled.root.size, sizes, style, ...props },
38
+ {
39
+ className,
40
+ hideScrollBar,
41
+ placement = ["top", "bottom"],
42
+ size = vars.base.enabled.root.size,
43
+ sizes,
44
+ style,
45
+ ...props
46
+ },
29
47
  ref,
30
48
  ) => {
31
49
  const [variantProps, restProps] = scrollFog.splitVariantProps({
@@ -48,18 +66,23 @@ export const ScrollFog = forwardRef<HTMLDivElement, ScrollFogProps>(
48
66
  "--scroll-fog-size-bottom": finalSizes.bottom,
49
67
  "--scroll-fog-size-left": finalSizes.left,
50
68
  "--scroll-fog-size-right": finalSizes.right,
51
- };
52
- }, [sizePx, sizes]);
69
+ // placement에 포함된 방향만 1, 나머지는 0
70
+ "--scrollable-top": placement.includes("top") ? "1" : "0",
71
+ "--scrollable-bottom": placement.includes("bottom") ? "1" : "0",
72
+ "--scrollable-left": placement.includes("left") ? "1" : "0",
73
+ "--scrollable-right": placement.includes("right") ? "1" : "0",
74
+ } as React.CSSProperties;
75
+ }, [sizePx, sizes, placement]);
53
76
 
54
77
  return (
55
- <Scrollable
78
+ <div
56
79
  ref={ref}
57
80
  className={clsx(scrollFogClassName, className)}
58
- {...restProps}
59
81
  style={{
60
82
  ...style,
61
83
  ...sizeStyle,
62
84
  }}
85
+ {...restProps}
63
86
  />
64
87
  );
65
88
  },
@@ -103,7 +103,7 @@ export const SliderValueIndicatorRoot = withContext<HTMLDivElement, SliderValueI
103
103
 
104
104
  export interface SliderValueIndicatorLabelProps extends Slider.ValueIndicatorLabelProps {}
105
105
 
106
- export const SliderValueIndicatorLabel = Slider.ValueIndicatorLabel;
106
+ export const SliderValueIndicatorLabel = withStateProps(Slider.ValueIndicatorLabel);
107
107
 
108
108
  export interface SliderValueIndicatorArrowProps
109
109
  extends PrimitiveProps,