@bitrise/bitkit-v2 0.3.58 → 0.3.59

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,25 +1,15 @@
1
- import { jsxs as s, jsx as d } from "react/jsx-runtime";
2
- import { Button as l } from "@chakra-ui/react";
3
- import { forwardRef as p, Fragment as m } from "react";
4
- const c = p((e, r) => {
5
- const { children: o, leftIcon: n, rightIcon: i, state: t, ...a } = e;
6
- return /* @__PURE__ */ s(
7
- l,
8
- {
9
- disabled: t === "disabled",
10
- loading: t === "loading",
11
- "data-skeleton": t === "skeleton" ? !0 : void 0,
12
- ref: r,
13
- ...a,
14
- children: [
15
- n,
16
- /* @__PURE__ */ d(t === "skeleton" ? "span" : m, { children: o }),
17
- i
18
- ]
19
- }
20
- );
1
+ import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
+ import { Skeleton as s, Button as p } from "@chakra-ui/react";
3
+ import { forwardRef as c, Fragment as m } from "react";
4
+ const f = c((r, n) => {
5
+ const { children: o, leftIcon: i, rightIcon: l, state: t, ...a } = r;
6
+ return /* @__PURE__ */ e(s, { asChild: !0, loading: t === "skeleton", children: /* @__PURE__ */ d(p, { disabled: t === "disabled", loading: t === "loading", ref: n, ...a, children: [
7
+ i,
8
+ /* @__PURE__ */ e(t === "skeleton" ? "span" : m, { children: o }),
9
+ l
10
+ ] }) });
21
11
  });
22
- c.displayName = "BitkitButton";
12
+ f.displayName = "BitkitButton";
23
13
  export {
24
- c as default
14
+ f as default
25
15
  };
@@ -1,5 +1,5 @@
1
- import { defineRecipe as d } from "@chakra-ui/react";
2
- import { rem as e } from "../themeUtils.js";
1
+ import { defineRecipe as l } from "@chakra-ui/react";
2
+ import { rem as r } from "../themeUtils.js";
3
3
  const s = [
4
4
  "primary",
5
5
  "secondary",
@@ -11,9 +11,9 @@ const s = [
11
11
  "ai-secondary",
12
12
  "ai-tertiary"
13
13
  ], n = s.reduce(
14
- (r, o) => {
15
- let t = o?.includes("secondary") ? `{colors.button.${o}.border}` : `{colors.button.${o}.bg}`, l = o?.includes("secondary") ? `{colors.button.${o}.border-disabled}` : `{colors.button.${o}.bg-disabled}`;
16
- return o?.includes("tertiary") && (t = "transparent", l = "transparent"), r[o] = {
14
+ (e, o) => {
15
+ let t = o?.includes("secondary") ? `{colors.button.${o}.border}` : `{colors.button.${o}.bg}`, d = o?.includes("secondary") ? `{colors.button.${o}.border-disabled}` : `{colors.button.${o}.bg-disabled}`;
16
+ return o?.includes("tertiary") && (t = "transparent", d = "transparent"), e[o] = {
17
17
  "&:hover": {
18
18
  backgroundColor: `{colors.button.${o}.bg-hover}`,
19
19
  borderColor: o?.includes("secondary") ? `{colors.button.${o}.border-hover}` : `{colors.button.${o}.bg-hover}`,
@@ -26,19 +26,19 @@ const s = [
26
26
  },
27
27
  _disabled: {
28
28
  backgroundColor: `{colors.button.${o}.bg-disabled}!`,
29
- borderColor: `${l}!`,
29
+ borderColor: `${d}!`,
30
30
  color: `{colors.button.${o}.fg-disabled}!`,
31
31
  cursor: "not-allowed"
32
32
  },
33
33
  backgroundColor: `{colors.button.${o}.bg}`,
34
34
  borderColor: t,
35
35
  borderStyle: "solid",
36
- borderWidth: e(1),
36
+ borderWidth: r(1),
37
37
  color: `{colors.button.${o}.fg}`
38
- }, r;
38
+ }, e;
39
39
  },
40
40
  {}
41
- ), b = d({
41
+ ), b = l({
42
42
  className: "button",
43
43
  base: {
44
44
  borderRadius: "4",
@@ -54,15 +54,6 @@ const s = [
54
54
  "--spinner-size": "sizes.16",
55
55
  _disabled: {
56
56
  cursor: "not-allowed"
57
- },
58
- "&[data-skeleton=true]": {
59
- borderColor: "utilities/skeleton",
60
- backgroundColor: "utilities/skeleton",
61
- cursor: "default",
62
- pointerEvents: "none",
63
- "& > *": {
64
- visibility: "hidden"
65
- }
66
57
  }
67
58
  },
68
59
  variants: {
@@ -71,21 +62,21 @@ const s = [
71
62
  sm: {
72
63
  minWidth: "32",
73
64
  height: "32",
74
- paddingInline: e(7),
75
- paddingBlock: e(5),
65
+ paddingInline: r(7),
66
+ paddingBlock: r(5),
76
67
  textStyle: "comp/button/sm"
77
68
  },
78
69
  md: {
79
70
  minWidth: "40",
80
71
  height: "40",
81
- paddingInline: e(11),
82
- paddingBlock: e(7),
72
+ paddingInline: r(11),
73
+ paddingBlock: r(7),
83
74
  textStyle: "comp/button/md"
84
75
  },
85
76
  lg: {
86
77
  minWidth: "48",
87
78
  height: "48",
88
- padding: e(11),
79
+ padding: r(11),
89
80
  textStyle: "comp/button/lg"
90
81
  }
91
82
  }
@@ -0,0 +1,24 @@
1
+ declare const skeleton: import('@chakra-ui/react').RecipeDefinition<{
2
+ loading: {
3
+ true: {
4
+ backgroundImage: "linear-gradient(270deg,var(--start-color),var(--end-color),var(--end-color),var(--start-color))";
5
+ backgroundSize: "400% 100%";
6
+ animation: "bg-position var(--duration, 10s) ease-in-out infinite";
7
+ borderRadius: "4";
8
+ borderColor: "transparent";
9
+ backgroundClip: "padding-box";
10
+ cursor: "default";
11
+ color: "transparent";
12
+ pointerEvents: "none";
13
+ userSelect: "none";
14
+ flexShrink: "0";
15
+ '&::before, &::after, *': {
16
+ visibility: "hidden";
17
+ };
18
+ };
19
+ false: {
20
+ animation: "fade-in var(--fade-duration, 0.1s) ease-out !important";
21
+ };
22
+ };
23
+ }>;
24
+ export default skeleton;
@@ -0,0 +1,39 @@
1
+ import { defineRecipe as e } from "@chakra-ui/react";
2
+ const a = e({
3
+ className: "skeleton",
4
+ base: {
5
+ "--animate-from": "200%",
6
+ "--animate-to": "-200%",
7
+ "--start-color": "colors.utilities.skeleton",
8
+ "--end-color": "colors.utilities.skeleton-strong"
9
+ },
10
+ variants: {
11
+ loading: {
12
+ true: {
13
+ backgroundImage: "linear-gradient(270deg,var(--start-color),var(--end-color),var(--end-color),var(--start-color))",
14
+ backgroundSize: "400% 100%",
15
+ animation: "bg-position var(--duration, 10s) ease-in-out infinite",
16
+ borderRadius: "4",
17
+ borderColor: "transparent",
18
+ backgroundClip: "padding-box",
19
+ cursor: "default",
20
+ color: "transparent",
21
+ pointerEvents: "none",
22
+ userSelect: "none",
23
+ flexShrink: "0",
24
+ "&::before, &::after, *": {
25
+ visibility: "hidden"
26
+ }
27
+ },
28
+ false: {
29
+ animation: "fade-in var(--fade-duration, 0.1s) ease-out !important"
30
+ }
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ loading: !0
35
+ }
36
+ });
37
+ export {
38
+ a as default
39
+ };
@@ -56,6 +56,29 @@ declare const recipes: {
56
56
  };
57
57
  };
58
58
  }>;
59
+ skeleton: import('@chakra-ui/react').RecipeDefinition<{
60
+ loading: {
61
+ true: {
62
+ backgroundImage: "linear-gradient(270deg,var(--start-color),var(--end-color),var(--end-color),var(--start-color))";
63
+ backgroundSize: "400% 100%";
64
+ animation: "bg-position var(--duration, 10s) ease-in-out infinite";
65
+ borderRadius: "4";
66
+ borderColor: "transparent";
67
+ backgroundClip: "padding-box";
68
+ cursor: "default";
69
+ color: "transparent";
70
+ pointerEvents: "none";
71
+ userSelect: "none";
72
+ flexShrink: "0";
73
+ '&::before, &::after, *': {
74
+ visibility: "hidden";
75
+ };
76
+ };
77
+ false: {
78
+ animation: "fade-in var(--fade-duration, 0.1s) ease-out !important";
79
+ };
80
+ };
81
+ }>;
59
82
  spinner: import('@chakra-ui/react').RecipeDefinition<{
60
83
  size: {
61
84
  md: {
@@ -2,16 +2,18 @@ import r from "./Button.recipe.js";
2
2
  import o from "./Input.recipe.js";
3
3
  import t from "./Link.recipe.js";
4
4
  import m from "./Separator.recipe.js";
5
- import p from "./Spinner.recipe.js";
6
- import i from "./Textarea.recipe.js";
7
- const c = {
5
+ import p from "./Skeleton.recipe.js";
6
+ import i from "./Spinner.recipe.js";
7
+ import e from "./Textarea.recipe.js";
8
+ const k = {
8
9
  button: r,
9
10
  input: o,
10
11
  link: t,
11
12
  separator: m,
12
- spinner: p,
13
- textarea: i
13
+ skeleton: p,
14
+ spinner: i,
15
+ textarea: e
14
16
  };
15
17
  export {
16
- c as default
18
+ k as default
17
19
  };
@@ -2,5 +2,14 @@ declare const animations: {
2
2
  spin: {
3
3
  value: string;
4
4
  };
5
+ ping: {
6
+ value: string;
7
+ };
8
+ pulse: {
9
+ value: string;
10
+ };
11
+ bounce: {
12
+ value: string;
13
+ };
5
14
  };
6
15
  export default animations;
@@ -1,7 +1,10 @@
1
1
  import { defineTokens as i } from "@chakra-ui/react";
2
- const a = i.animations({
3
- spin: { value: "spin 1s linear infinite" }
2
+ const n = i.animations({
3
+ spin: { value: "spin 1s linear infinite" },
4
+ ping: { value: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite" },
5
+ pulse: { value: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite" },
6
+ bounce: { value: "bounce 1s infinite" }
4
7
  });
5
8
  export {
6
- a as default
9
+ n as default
7
10
  };
@@ -0,0 +1,15 @@
1
+ declare const easings: {
2
+ 'ease-in': {
3
+ value: string;
4
+ };
5
+ 'ease-out': {
6
+ value: string;
7
+ };
8
+ 'ease-in-out': {
9
+ value: string;
10
+ };
11
+ 'ease-in-smooth': {
12
+ value: string;
13
+ };
14
+ };
15
+ export default easings;
@@ -0,0 +1,10 @@
1
+ import { defineTokens as e } from "@chakra-ui/react";
2
+ const a = e.easings({
3
+ "ease-in": { value: "cubic-bezier(0.42, 0, 1, 1)" },
4
+ "ease-out": { value: "cubic-bezier(0, 0, 0.58, 1)" },
5
+ "ease-in-out": { value: "cubic-bezier(0.42, 0, 0.58, 1)" },
6
+ "ease-in-smooth": { value: "cubic-bezier(0.32, 0.72, 0, 1)" }
7
+ });
8
+ export {
9
+ a as default
10
+ };
@@ -3,8 +3,31 @@ declare const tokens: {
3
3
  spin: {
4
4
  value: string;
5
5
  };
6
+ ping: {
7
+ value: string;
8
+ };
9
+ pulse: {
10
+ value: string;
11
+ };
12
+ bounce: {
13
+ value: string;
14
+ };
6
15
  };
7
16
  colors: Record<string, any>;
17
+ easings: {
18
+ 'ease-in': {
19
+ value: string;
20
+ };
21
+ 'ease-out': {
22
+ value: string;
23
+ };
24
+ 'ease-in-out': {
25
+ value: string;
26
+ };
27
+ 'ease-in-smooth': {
28
+ value: string;
29
+ };
30
+ };
8
31
  fonts: {
9
32
  body: {
10
33
  value: string;
@@ -1,23 +1,25 @@
1
1
  import o from "./animations.js";
2
2
  import r from "./colors.js";
3
- import m from "./fonts.js";
3
+ import m from "./easings.js";
4
+ import i from "./fonts.js";
4
5
  import t from "./fontSizes.js";
5
- import i from "./fontWeights.js";
6
- import f from "./radii.js";
6
+ import f from "./fontWeights.js";
7
+ import s from "./radii.js";
7
8
  import p from "./sizes.js";
8
- import s from "./spacing.js";
9
- import n from "./zIndex.js";
10
- const k = {
9
+ import n from "./spacing.js";
10
+ import e from "./zIndex.js";
11
+ const I = {
11
12
  animations: o,
12
13
  colors: r,
13
- fonts: m,
14
+ easings: m,
15
+ fonts: i,
14
16
  fontSizes: t,
15
- fontWeights: i,
16
- radii: f,
17
+ fontWeights: f,
18
+ radii: s,
17
19
  sizes: p,
18
- spacing: s,
19
- zIndex: n
20
+ spacing: n,
21
+ zIndex: e
20
22
  };
21
23
  export {
22
- k as default
24
+ I as default
23
25
  };
@@ -1,10 +1,160 @@
1
- import { defineKeyframes as e } from "@chakra-ui/react";
2
- const t = e({
1
+ import { defineKeyframes as t } from "@chakra-ui/react";
2
+ const e = t({
3
3
  spin: {
4
4
  "0%": { transform: "rotate(0deg)" },
5
5
  "100%": { transform: "rotate(360deg)" }
6
+ },
7
+ pulse: {
8
+ "50%": { opacity: "0.5" }
9
+ },
10
+ ping: {
11
+ "75%, 100%": {
12
+ transform: "scale(2)",
13
+ opacity: "0"
14
+ }
15
+ },
16
+ bounce: {
17
+ "0%, 100%": {
18
+ transform: "translateY(-25%)",
19
+ animationTimingFunction: "cubic-bezier(0.8,0,1,1)"
20
+ },
21
+ "50%": {
22
+ transform: "none",
23
+ animationTimingFunction: "cubic-bezier(0,0,0.2,1)"
24
+ }
25
+ },
26
+ "bg-position": {
27
+ from: { backgroundPosition: "var(--animate-from, 1rem) 0" },
28
+ to: { backgroundPosition: "var(--animate-to, 0) 0" }
29
+ },
30
+ position: {
31
+ from: {
32
+ insetInlineStart: "var(--animate-from-x)",
33
+ insetBlockStart: "var(--animate-from-y)"
34
+ },
35
+ to: {
36
+ insetInlineStart: "var(--animate-to-x)",
37
+ insetBlockStart: "var(--animate-to-y)"
38
+ }
39
+ },
40
+ "circular-progress": {
41
+ "0%": {
42
+ strokeDasharray: "1, 400",
43
+ strokeDashoffset: "0"
44
+ },
45
+ "50%": {
46
+ strokeDasharray: "400, 400",
47
+ strokeDashoffset: "-100%"
48
+ },
49
+ "100%": {
50
+ strokeDasharray: "400, 400",
51
+ strokeDashoffset: "-260%"
52
+ }
53
+ },
54
+ // collapse
55
+ "expand-height": {
56
+ from: { height: "var(--collapsed-height, 0)" },
57
+ to: { height: "var(--height)" }
58
+ },
59
+ "collapse-height": {
60
+ from: { height: "var(--height)" },
61
+ to: { height: "var(--collapsed-height, 0)" }
62
+ },
63
+ "expand-width": {
64
+ from: { width: "var(--collapsed-width, 0)" },
65
+ to: { width: "var(--width)" }
66
+ },
67
+ "collapse-width": {
68
+ from: { height: "var(--width)" },
69
+ to: { height: "var(--collapsed-width, 0)" }
70
+ },
71
+ // fade
72
+ "fade-in": {
73
+ from: { opacity: 0 },
74
+ to: { opacity: 1 }
75
+ },
76
+ "fade-out": {
77
+ from: { opacity: 1 },
78
+ to: { opacity: 0 }
79
+ },
80
+ // slide from (full)
81
+ "slide-from-left-full": {
82
+ from: { translate: "-100% 0" },
83
+ to: { translate: "0 0" }
84
+ },
85
+ "slide-from-right-full": {
86
+ from: { translate: "100% 0" },
87
+ to: { translate: "0 0" }
88
+ },
89
+ "slide-from-top-full": {
90
+ from: { translate: "0 -100%" },
91
+ to: { translate: "0 0" }
92
+ },
93
+ "slide-from-bottom-full": {
94
+ from: { translate: "0 100%" },
95
+ to: { translate: "0 0" }
96
+ },
97
+ // slide to (full)
98
+ "slide-to-left-full": {
99
+ from: { translate: "0 0" },
100
+ to: { translate: "-100% 0" }
101
+ },
102
+ "slide-to-right-full": {
103
+ from: { translate: "0 0" },
104
+ to: { translate: "100% 0" }
105
+ },
106
+ "slide-to-top-full": {
107
+ from: { translate: "0 0" },
108
+ to: { translate: "0 -100%" }
109
+ },
110
+ "slide-to-bottom-full": {
111
+ from: { translate: "0 0" },
112
+ to: { translate: "0 100%" }
113
+ },
114
+ // slide from
115
+ "slide-from-top": {
116
+ "0%": { translate: "0 -0.5rem" },
117
+ to: { translate: "0" }
118
+ },
119
+ "slide-from-bottom": {
120
+ "0%": { translate: "0 0.5rem" },
121
+ to: { translate: "0" }
122
+ },
123
+ "slide-from-left": {
124
+ "0%": { translate: "-0.5rem 0" },
125
+ to: { translate: "0" }
126
+ },
127
+ "slide-from-right": {
128
+ "0%": { translate: "0.5rem 0" },
129
+ to: { translate: "0" }
130
+ },
131
+ // slide to
132
+ "slide-to-top": {
133
+ "0%": { translate: "0" },
134
+ to: { translate: "0 -0.5rem" }
135
+ },
136
+ "slide-to-bottom": {
137
+ "0%": { translate: "0" },
138
+ to: { translate: "0 0.5rem" }
139
+ },
140
+ "slide-to-left": {
141
+ "0%": { translate: "0" },
142
+ to: { translate: "-0.5rem 0" }
143
+ },
144
+ "slide-to-right": {
145
+ "0%": { translate: "0" },
146
+ to: { translate: "0.5rem 0" }
147
+ },
148
+ // scale
149
+ "scale-in": {
150
+ from: { scale: "0.95" },
151
+ to: { scale: "1" }
152
+ },
153
+ "scale-out": {
154
+ from: { scale: "1" },
155
+ to: { scale: "0.95" }
6
156
  }
7
157
  });
8
158
  export {
9
- t as default
159
+ e as default
10
160
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitrise/bitkit-v2",
3
3
  "private": false,
4
- "version": "0.3.58",
4
+ "version": "0.3.59",
5
5
  "description": "Bitrise Design System Components built with Chakra UI v3",
6
6
  "keywords": [
7
7
  "react",
@@ -60,19 +60,19 @@
60
60
  "@figma-export/output-components-as-svg": "^6.2.4",
61
61
  "@figma-export/transform-svg-with-svgo": "^6.2.4",
62
62
  "@google-cloud/storage": "^7.17.3",
63
- "@storybook/addon-docs": "10.0.6",
64
- "@storybook/react-vite": "10.0.6",
63
+ "@storybook/addon-docs": "10.0.7",
64
+ "@storybook/react-vite": "10.0.7",
65
65
  "@svgr/plugin-jsx": "^8.1.0",
66
66
  "@types/node": "^24.10.0",
67
67
  "@types/react-dom": "^19.2.2",
68
- "@types/react": "^19.2.2",
68
+ "@types/react": "^19.2.3",
69
69
  "@vitejs/plugin-react": "^5.1.0",
70
70
  "axios": "^1.13.2",
71
71
  "es-toolkit": "^1.41.0",
72
72
  "react-dom": "^19.2.0",
73
73
  "react": "^19.2.0",
74
74
  "release-it": "^19.0.6",
75
- "storybook": "10.0.6",
75
+ "storybook": "10.0.7",
76
76
  "tsx": "^4.20.6",
77
77
  "typescript": "^5.9.3",
78
78
  "vite-plugin-dts": "^4.5.4",