@shiflo/ui 0.1.4 → 0.1.6

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.
@@ -1,3 +1,3 @@
1
- import { BottomSheetProps } from './BottomSheet.typing';
1
+ import { BottomSheetProps } from '.';
2
2
  declare function BottomSheet({ open, onClose, children, transitionDuration, maxWidth, onClick, ref, hideDragHandleBar, hideOverlay, style, dragThreshold, ...props }: BottomSheetProps): import("@emotion/react/jsx-runtime").JSX.Element;
3
3
  export default BottomSheet;
@@ -1,9 +1,9 @@
1
1
  import { jsx as o, jsxs as H } from "@emotion/react/jsx-runtime";
2
2
  import { useState as R, useRef as a, useImperativeHandle as S, useEffect as j } from "react";
3
+ import D from "../Overlay/Overlay.mjs";
3
4
  import n from "@emotion/styled";
4
- import { motion as D } from "motion/react";
5
- import I from "../Overlay/Overlay.mjs";
6
- const O = n(D.div)`
5
+ import { motion as I } from "motion/react";
6
+ const O = n(I.div)`
7
7
  width: calc(100% - ${({ theme: { spacing: t } }) => t[800]});
8
8
  max-width: ${({ maxWidth: t = "375px" }) => t};
9
9
  max-height: calc(100% - ${({ theme: { spacing: t } }) => t[800]});
@@ -30,7 +30,7 @@ const O = n(D.div)`
30
30
  palette: { common: t }
31
31
  }
32
32
  }) => t.background};
33
- transition: background-color 0.2s;
33
+ transition: background-color 0.3s;
34
34
  `, F = n.div`
35
35
  width: 24px;
36
36
  height: 4px;
@@ -40,13 +40,13 @@ const O = n(D.div)`
40
40
  palette: { border: t }
41
41
  }
42
42
  }) => t.main};
43
- transition: background-color 0.2s;
43
+ transition: background-color 0.3s;
44
44
  `;
45
45
  function z({
46
46
  open: t,
47
47
  onClose: r,
48
48
  children: m,
49
- transitionDuration: i = 0.2,
49
+ transitionDuration: i = 0.3,
50
50
  maxWidth: d = "375px",
51
51
  onClick: c,
52
52
  ref: f,
@@ -72,7 +72,7 @@ function z({
72
72
  e && cancelAnimationFrame(e);
73
73
  };
74
74
  }, [t]), /* @__PURE__ */ o(
75
- I,
75
+ D,
76
76
  {
77
77
  ref: $,
78
78
  open: t,
@@ -86,7 +86,7 @@ function z({
86
86
  ref: l,
87
87
  drag: "y",
88
88
  dragConstraints: { top: 0, bottom: 0 },
89
- dragElastic: { top: 0, bottom: 0.2 },
89
+ dragElastic: { top: 0, bottom: 0.3 },
90
90
  dragMomentum: !1,
91
91
  onDragEnd: k,
92
92
  maxWidth: d,
@@ -1,21 +1,21 @@
1
- import { jsx as c } from "@emotion/react/jsx-runtime";
2
- import m from "@emotion/styled";
3
- import a from "../../utils/getUtilityProps.mjs";
4
- import s from "../../utils/getValueByPath.mjs";
5
- const f = m.div`
1
+ import { jsx as m } from "@emotion/react/jsx-runtime";
2
+ import a from "@emotion/styled";
3
+ import f from "../../utils/getUtilityProps.mjs";
4
+ import r from "../../utils/getValueByPath.mjs";
5
+ const c = a.div`
6
6
  transition: all 0.2s;
7
7
 
8
- ${({ theme: { palette: t }, backgroundColor: r, borderColor: e, color: o, ...n }) => {
8
+ ${({ theme: { palette: t }, backgroundColor: s, borderColor: o, color: e, ...n }) => {
9
9
  const i = {};
10
- return Object.assign(i, a(n)), r && Object.assign(i, {
11
- backgroundColor: s(t, r) || "inherit"
12
- }), e && Object.assign(i, {
13
- borderColor: s(t, e) || "inherit"
10
+ return Object.assign(i, f(n)), s && Object.assign(i, {
11
+ backgroundColor: r(t, s) || "inherit"
14
12
  }), o && Object.assign(i, {
15
- color: s(t, o) || "inherit"
13
+ borderColor: r(t, o) || "inherit"
14
+ }), e && Object.assign(i, {
15
+ color: r(t, e) || "inherit"
16
16
  }), i;
17
17
  }}
18
- `, y = (t) => /* @__PURE__ */ c(f, { ...t, css: t.css });
18
+ `, y = (t) => /* @__PURE__ */ m(c, { ...t });
19
19
  export {
20
20
  y as default
21
21
  };
@@ -7,15 +7,15 @@ const m = v(f.button)`
7
7
  justify-content: center;
8
8
  gap: ${({ theme: { spacing: t } }) => t[100]};
9
9
  font-weight: 500;
10
- transition: all 0.2s;
10
+ transition: all 0.3s;
11
11
 
12
12
  ${({ theme: t, variant: l, size: d, color: c }) => {
13
13
  const {
14
14
  mode: a,
15
15
  palette: { primary: e, secondary: r, neutral: o, gradient: p },
16
- typography: { body1: s, body2: g, small1: h, small2: u },
16
+ typography: { body1: s, body2: g, small1: h, small2: b },
17
17
  spacing: n,
18
- radius: b
18
+ radius: u
19
19
  } = t, i = {};
20
20
  switch (l) {
21
21
  case "ghost":
@@ -138,7 +138,7 @@ const m = v(f.button)`
138
138
  case "large":
139
139
  Object.assign(i, {
140
140
  padding: `${n[300]} ${n[350]}`,
141
- borderRadius: b[300],
141
+ borderRadius: u[300],
142
142
  fontSize: s.fontSize,
143
143
  lineHeight: s.lineHeight,
144
144
  "& svg": {
@@ -150,7 +150,7 @@ const m = v(f.button)`
150
150
  case "small":
151
151
  Object.assign(i, {
152
152
  padding: `${n[100]} ${n[150]}`,
153
- borderRadius: b[200],
153
+ borderRadius: u[200],
154
154
  fontSize: h.fontSize,
155
155
  lineHeight: h.lineHeight,
156
156
  "& svg": {
@@ -162,19 +162,19 @@ const m = v(f.button)`
162
162
  case "xSmall":
163
163
  Object.assign(i, {
164
164
  padding: `${n[50]} ${n[100]}`,
165
- borderRadius: b[150],
166
- fontSize: u.fontSize,
167
- lineHeight: u.lineHeight,
165
+ borderRadius: u[150],
166
+ fontSize: b.fontSize,
167
+ lineHeight: b.lineHeight,
168
168
  "& svg": {
169
- width: u.fontSize,
170
- height: u.fontSize
169
+ width: b.fontSize,
170
+ height: b.fontSize
171
171
  }
172
172
  });
173
173
  break;
174
174
  default:
175
175
  Object.assign(i, {
176
176
  padding: `${n[200]} ${n[250]}`,
177
- borderRadius: b[250],
177
+ borderRadius: u[250],
178
178
  fontSize: g.fontSize,
179
179
  lineHeight: g.lineHeight,
180
180
  "& svg": {
@@ -204,14 +204,13 @@ function C({
204
204
  variant: "text",
205
205
  size: c,
206
206
  color: "secondary",
207
- layout: !0,
208
207
  whileHover: {
209
208
  scale: 1.02
210
209
  },
211
210
  whileTap: { scale: 0.98 },
212
211
  transition: {
213
212
  type: "spring",
214
- duration: 0.2,
213
+ duration: 0.3,
215
214
  bounce: 0.2
216
215
  },
217
216
  ...o,
@@ -228,14 +227,13 @@ function C({
228
227
  variant: "ghost",
229
228
  size: c,
230
229
  color: "primary",
231
- layout: !0,
232
230
  whileHover: {
233
231
  scale: 1.02
234
232
  },
235
233
  whileTap: { scale: 0.98 },
236
234
  transition: {
237
235
  type: "spring",
238
- duration: 0.2,
236
+ duration: 0.3,
239
237
  bounce: 0.2
240
238
  },
241
239
  ...o,
@@ -252,14 +250,13 @@ function C({
252
250
  variant: "gradient",
253
251
  size: c,
254
252
  color: "primary",
255
- layout: !0,
256
253
  whileHover: {
257
254
  scale: 1.02
258
255
  },
259
256
  whileTap: { scale: 0.98 },
260
257
  transition: {
261
258
  type: "spring",
262
- duration: 0.2,
259
+ duration: 0.3,
263
260
  bounce: 0.2
264
261
  },
265
262
  ...o,
@@ -276,14 +273,13 @@ function C({
276
273
  variant: d,
277
274
  size: c,
278
275
  color: a,
279
- layout: !0,
280
276
  whileHover: {
281
277
  scale: 1.02
282
278
  },
283
279
  whileTap: { scale: 0.98 },
284
280
  transition: {
285
281
  type: "spring",
286
- duration: 0.2,
282
+ duration: 0.3,
287
283
  bounce: 0.2
288
284
  },
289
285
  ...o,
@@ -21,7 +21,7 @@ function O({
21
21
  open: e,
22
22
  onClose: c,
23
23
  children: l,
24
- transitionDuration: a = 0.2,
24
+ transitionDuration: a = 0.3,
25
25
  onClick: o,
26
26
  style: $,
27
27
  maxWidth: n = "375px",
@@ -5,9 +5,9 @@ import c from "@emotion/styled";
5
5
  import d from "../../utils/getValueByPath.mjs";
6
6
  const f = c.svg`
7
7
  transition:
8
- width 0.2s,
9
- height 0.2s,
10
- color 0.2s;
8
+ width 0.3s,
9
+ height 0.3s,
10
+ color 0.3s;
11
11
 
12
12
  width: ${({ width: t }) => `${t || 24}px`};
13
13
  height: ${({ height: t }) => `${t || 24}px`};
@@ -92,7 +92,7 @@ function P({
92
92
  children: o,
93
93
  open: t,
94
94
  onClose: d,
95
- transitionDuration: s = 0.2,
95
+ transitionDuration: s = 0.3,
96
96
  placement: p,
97
97
  ref: I,
98
98
  onClick: g,
@@ -6,7 +6,7 @@ import { motion as k } from "motion/react";
6
6
  const A = n(k.div)`
7
7
  position: fixed;
8
8
  left: 50%;
9
- bottom: ${({ theme: { spacing: e } }) => `calc(${e[800]} + var(--safe-area-inset-bottom, 0px))`};
9
+ bottom: ${({ theme: { spacing: e }, bottom: t }) => `calc(${t || e[800]} + var(--safe-area-inset-bottom, 0px))`};
10
10
  display: flex;
11
11
  align-items: center;
12
12
  gap: ${({ theme: { spacing: e } }) => e[400]};
@@ -47,7 +47,7 @@ function E({
47
47
  children: e,
48
48
  open: t,
49
49
  onClose: c,
50
- transitionDuration: r = 0.2,
50
+ transitionDuration: r = 0.3,
51
51
  style: F,
52
52
  ref: I,
53
53
  startIcon: m,
@@ -9,4 +9,5 @@ export interface SnackbarProps extends PropsWithChildren<HTMLMotionProps<"div">>
9
9
  maxWidth?: string;
10
10
  autoHideDuration?: number;
11
11
  disableAutoHide?: boolean;
12
+ bottom?: string;
12
13
  }
@@ -7,7 +7,7 @@ const d = s(l.button)`
7
7
  align-items: center;
8
8
  padding: 0 ${({ theme: { spacing: t } }) => t[100]};
9
9
  border-radius: 9999px;
10
- transition: background-color 0.2s;
10
+ transition: background-color 0.3s;
11
11
  cursor: pointer;
12
12
 
13
13
  ${({ theme: { palette: t }, checked: i, disabled: r, size: a }) => {
@@ -101,7 +101,6 @@ function x({
101
101
  onClick: (o) => {
102
102
  !i && typeof a == "function" && a(o, !t), typeof e == "function" && e(o);
103
103
  },
104
- layout: !0,
105
104
  style: {
106
105
  justifyContent: t ? "flex-end" : "flex-start"
107
106
  },
@@ -1,74 +1,35 @@
1
- import { jsx as l } from "@emotion/react/jsx-runtime";
2
- import g from "@emotion/styled";
3
- import { motion as b } from "motion/react";
4
- const k = g(b.span)`
5
- transition: all 0.2s;
1
+ import { jsx as n } from "@emotion/react/jsx-runtime";
2
+ import a from "@emotion/styled";
3
+ import { motion as m } from "motion/react";
4
+ import o from "../../utils/getValueByPath.mjs";
5
+ const s = a(m.span)`
6
+ transition: all 0.3s;
6
7
  cursor: default;
7
8
 
8
- padding: ${({ theme: { spacing: r } }) => r[100]};
9
- border-radius: ${({ theme: { radius: r } }) => r[200]};
9
+ padding: ${({ theme: { spacing: t } }) => t[100]};
10
+ border-radius: ${({ theme: { radius: t } }) => t[200]};
10
11
 
11
- ${({
12
- theme: {
13
- mode: r,
14
- palette: {
15
- primary: e,
16
- secondary: o,
17
- text: i,
18
- feedback: { warning: n, error: t, info: s, success: c }
19
- }
20
- },
21
- color: m
22
- }) => {
23
- const a = {};
24
- switch (m) {
25
- case "warning":
26
- Object.assign(a, {
27
- backgroundColor: n.main,
28
- color: r === "dark" ? o.main : i.primary
29
- });
30
- break;
31
- case "error":
32
- Object.assign(a, {
33
- backgroundColor: t.main,
34
- color: r === "dark" ? o.main : i.primary
35
- });
36
- break;
37
- case "info":
38
- Object.assign(a, {
39
- backgroundColor: s.main,
40
- color: r === "dark" ? o.main : i.primary
41
- });
42
- break;
43
- case "success":
44
- Object.assign(a, {
45
- backgroundColor: c.main,
46
- color: r === "dark" ? o.main : i.primary
47
- });
48
- break;
49
- default:
50
- Object.assign(a, {
51
- backgroundColor: e.main,
52
- color: o.main
53
- });
54
- break;
55
- }
56
- return a;
12
+ ${({ theme: { palette: t }, color: r, textColor: i }) => {
13
+ const e = {};
14
+ return Object.assign(e, {
15
+ backgroundColor: o(t, r) || "inherit",
16
+ color: o(t, i) || "inherit"
17
+ }), e;
57
18
  }}
58
19
 
59
20
  ${({
60
21
  theme: {
61
- typography: { small2: r }
22
+ typography: { small2: t }
62
23
  }
63
24
  }) => ({
64
- fontSize: r.fontSize,
25
+ fontSize: t.fontSize,
65
26
  fontWeight: 700,
66
- lineHeight: r.lineHeight
27
+ lineHeight: t.lineHeight
67
28
  })};
68
29
  `;
69
- function f(r) {
70
- return /* @__PURE__ */ l(k, { ...r });
30
+ function l(t) {
31
+ return /* @__PURE__ */ n(s, { ...t });
71
32
  }
72
33
  export {
73
- f as default
34
+ l as default
74
35
  };
@@ -1,5 +1,7 @@
1
- import { UtilityProps } from '../../typings/utility';
1
+ import { ShifloTheme } from '../../theme/typing';
2
+ import { RecursionPath, UtilityProps } from '../../typings/utility';
2
3
  import { HTMLMotionProps } from 'motion/react';
3
4
  export interface TagProps extends HTMLMotionProps<"span">, Pick<UtilityProps, "css"> {
4
- color?: "primary" | "warning" | "error" | "info" | "success";
5
+ color?: RecursionPath<ShifloTheme["palette"]> | "inherit";
6
+ textColor?: RecursionPath<ShifloTheme["palette"]> | "inherit";
5
7
  }
@@ -8,7 +8,7 @@ const b = l(c.div)`
8
8
  gap: ${({ theme: { spacing: e } }) => e[200]};
9
9
  border: 1px solid transparent;
10
10
  border-radius: ${({ theme: { radius: e } }) => e[200]};
11
- transition: all 0.2s;
11
+ transition: all 0.3s;
12
12
  background-color: ${({
13
13
  theme: {
14
14
  palette: { common: e }
@@ -147,7 +147,7 @@ const b = l(c.div)`
147
147
  justify-content: center;
148
148
  white-space: nowrap;
149
149
  `;
150
- function y({
150
+ function H({
151
151
  variant: e = "outlined",
152
152
  size: n = "medium",
153
153
  fullWidth: o,
@@ -167,7 +167,6 @@ function y({
167
167
  focused: g,
168
168
  fullWidth: o,
169
169
  disabled: t,
170
- layout: !0,
171
170
  children: [
172
171
  r && /* @__PURE__ */ a(S, { children: r }),
173
172
  /* @__PURE__ */ a(w, { ...f, onFocus: (s) => {
@@ -181,5 +180,5 @@ function y({
181
180
  );
182
181
  }
183
182
  export {
184
- y as default
183
+ H as default
185
184
  };
@@ -1,18 +1,18 @@
1
- import { jsx as c } from "@emotion/react/jsx-runtime";
2
- import f from "@emotion/styled";
3
- import { motion as y } from "motion/react";
1
+ import { jsx as f } from "@emotion/react/jsx-runtime";
2
+ import y from "@emotion/styled";
3
+ import { motion as c } from "motion/react";
4
4
  import d from "../../utils/getUtilityProps.mjs";
5
5
  import r from "../../utils/getValueByPath.mjs";
6
- const h = f(y.div)`
7
- transition: all 0.2s;
6
+ const h = y(c.div)`
7
+ transition: all 0.3s;
8
8
 
9
- ${({ theme: { typography: t, palette: i }, variant: s, color: n, fontWeight: l, borderColor: e, ...a }) => {
9
+ ${({ theme: { typography: t, palette: i }, variant: s, color: n, fontWeight: a, borderColor: e, ...l }) => {
10
10
  const { fontSize: p, lineHeight: m } = t[s || "body2"], o = {
11
11
  fontSize: p,
12
12
  lineHeight: m,
13
- fontWeight: l
13
+ fontWeight: a
14
14
  };
15
- return Object.assign(o, d(a)), e && Object.assign(o, {
15
+ return Object.assign(o, d(l)), e && Object.assign(o, {
16
16
  borderColor: r(i, e) || "inherit"
17
17
  }), Object.assign(o, {
18
18
  color: r(i, n) || "inherit"
@@ -32,10 +32,10 @@ const h = f(y.div)`
32
32
  ${({ lineClamp: t }) => t ? {
33
33
  display: "-webkit-box",
34
34
  overflow: "hidden",
35
- "-webkit-line-clamp": t,
36
- "-webkit-box-orient": "vertical"
35
+ WebkitLineClamp: t,
36
+ WebkitBoxOrient: "vertical"
37
37
  } : {}};
38
- `, u = (t) => /* @__PURE__ */ c(h, { ...t });
38
+ `, j = (t) => /* @__PURE__ */ f(h, { ...t });
39
39
  export {
40
- u as default
40
+ j as default
41
41
  };
@@ -33,7 +33,7 @@ function l() {
33
33
  height: "100%",
34
34
  color: e.primary,
35
35
  backgroundColor: o.background,
36
- transition: "background-color 0.2s, color 0.2s",
36
+ transition: "background-color 0.3s, color 0.3s",
37
37
  fontFamily: `Spoqa Han Sans Neo, -apple-system, BlinkMacSystemFont, Helvetica Neue,
38
38
  Apple SD Gothic Neo, Malgun Gothic, 맑은 고딕, 나눔고딕, Nanum Gothic,
39
39
  Noto Sans KR, Noto Sans CJK KR, arial, 돋움, Dotum, Tahoma, Geneva, sans-serif`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shiflo/ui",
3
3
  "description": "Shiflo React UI Components",
4
- "version": "0.1.4",
4
+ "version": "0.1.6",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -51,14 +51,14 @@
51
51
  "prepublishOnly": "pnpm build"
52
52
  },
53
53
  "devDependencies": {
54
- "@chromatic-com/storybook": "^4.1.1",
54
+ "@chromatic-com/storybook": "^4.1.2",
55
55
  "@emotion/react": "^11.14.0",
56
56
  "@emotion/serialize": "^1.3.3",
57
57
  "@emotion/styled": "^11.14.1",
58
58
  "@eslint/js": "^9.22.0",
59
- "@storybook/addon-docs": "^9.1.7",
60
- "@storybook/addon-onboarding": "^9.1.7",
61
- "@storybook/react-vite": "^9.1.7",
59
+ "@storybook/addon-docs": "^10.0.2",
60
+ "@storybook/addon-onboarding": "^10.0.2",
61
+ "@storybook/react-vite": "^10.0.2",
62
62
  "@types/node": "^24.5.2",
63
63
  "@types/react": "^19.1.13",
64
64
  "@types/react-dom": "^19.1.9",
@@ -71,14 +71,14 @@
71
71
  "eslint-plugin-prettier": "^5.5.4",
72
72
  "eslint-plugin-react": "^7.37.5",
73
73
  "eslint-plugin-react-hooks": "^5.2.0",
74
- "eslint-plugin-storybook": "^9.1.7",
74
+ "eslint-plugin-storybook": "^10.0.2",
75
75
  "glob": "^11.0.1",
76
76
  "globals": "^16.0.0",
77
77
  "husky": "^9.1.7",
78
78
  "lint-staged": "^15.4.3",
79
79
  "motion": "^12.23.12",
80
80
  "prettier": "^3.5.3",
81
- "storybook": "^9.1.7",
81
+ "storybook": "^10.0.2",
82
82
  "typescript": "^5.7.3",
83
83
  "typescript-eslint": "^8.26.0",
84
84
  "vite": "^7.1.6",