@bitrise/bitkit-v2 0.1.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.
package/README.md ADDED
@@ -0,0 +1,66 @@
1
+ # @bitrise/bitkit-v2
2
+
3
+ [![npm version](https://badge.fury.io/js/%40bitrise%2Fbitkit-v2.svg)](https://www.npmjs.com/package/@bitrise/bitkit-v2)
4
+
5
+ Bitrise Design System Components built with Chakra UI v3.
6
+
7
+ ## Features
8
+
9
+ - 🎨 **Custom Design System**: Complete Bitrise brand implementation
10
+ - 🔧 **Built with Chakra UI v3**: Latest Chakra UI features and performance
11
+ - 📱 **Responsive**: Mobile-first responsive design
12
+ - 🎯 **TypeScript**: Full TypeScript support with auto-generated types
13
+ - 🎨 **Custom Fonts**: Self-hosted Figtree and Source Code Pro fonts
14
+ - 🧩 **Zero External Dependencies**: Everything bundled (except React)
15
+ - âš¡ **Simple Installation**: Just `npm install @bitrise/bitkit-v2`
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ npm install @bitrise/bitkit-v2
21
+ ```
22
+
23
+ That's it! All Chakra UI, Emotion, and Framer Motion dependencies are bundled within the library.
24
+
25
+ ### Requirements
26
+
27
+ - React 16.8+ (peer dependency)
28
+ - React DOM 16.8+ (peer dependency)
29
+
30
+ ## Quick Start
31
+
32
+ ```tsx
33
+ import { BitkitProvider, Button } from '@bitrise/bitkit-v2';
34
+
35
+ function App() {
36
+ return (
37
+ <BitkitProvider>
38
+ <Button variant="primary">Hello Bitrise!</Button>
39
+ </BitkitProvider>
40
+ );
41
+ }
42
+ ```
43
+
44
+ ## Development
45
+
46
+ ```bash
47
+ # Install dependencies
48
+ npm install
49
+
50
+ # Start Storybook
51
+ npm run storybook
52
+
53
+ # Build the library
54
+ npm run build
55
+
56
+ # Generate theme types
57
+ npm run theme:generate-types
58
+ ```
59
+
60
+ ## License
61
+
62
+ MIT
63
+
64
+ ## Contributing
65
+
66
+ Please see our [contributing guidelines](CONTRIBUTING.md).
@@ -0,0 +1,4 @@
1
+ import { ButtonProps as ChakraButtonProps } from '@chakra-ui/react';
2
+ export type ButtonProps = ChakraButtonProps;
3
+ export declare const Button: (props: ButtonProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default Button;
@@ -0,0 +1,167 @@
1
+ declare const _default: import('@chakra-ui/react').RecipeDefinition<{
2
+ variant: {
3
+ primary: {
4
+ bg: "button.primary.bg";
5
+ color: "button.primary.fg";
6
+ _hover: {
7
+ bg: "button.primary.bgHover";
8
+ color: "button.primary.fgHover";
9
+ _disabled: {
10
+ bg: "button.primary.bgDisabled";
11
+ color: "button.primary.fgDisabled";
12
+ };
13
+ };
14
+ _active: {
15
+ bg: "button.primary.bgActive";
16
+ color: "button.primary.fgActive";
17
+ };
18
+ _disabled: {
19
+ bg: "button.primary.bgDisabled";
20
+ color: "button.primary.fgDisabled";
21
+ };
22
+ };
23
+ secondary: {
24
+ bg: "button.secondary.bg";
25
+ color: "button.secondary.fg";
26
+ border: "1px solid";
27
+ borderColor: "border.strong";
28
+ borderWidth: "1px";
29
+ borderStyle: "solid";
30
+ _hover: {
31
+ bg: "button.secondary.bgHover";
32
+ color: "button.secondary.fgHover";
33
+ borderColor: "border.strong";
34
+ _disabled: {
35
+ bg: "button.secondary.bgDisabled";
36
+ color: "button.secondary.fgDisabled";
37
+ borderColor: "border.strong";
38
+ };
39
+ };
40
+ _active: {
41
+ bg: "button.secondary.bgActive";
42
+ color: "button.secondary.fgActive";
43
+ borderColor: "border.strong";
44
+ };
45
+ _disabled: {
46
+ bg: "button.secondary.bgDisabled";
47
+ color: "button.secondary.fgDisabled";
48
+ borderColor: "border.strong";
49
+ };
50
+ };
51
+ tertiary: {
52
+ bg: "transparent";
53
+ color: "button.tertiary.fg";
54
+ _hover: {
55
+ bg: "button.tertiary.bgHover";
56
+ color: "button.tertiary.fgHover";
57
+ _disabled: {
58
+ bg: "transparent";
59
+ color: "button.tertiary.fgDisabled";
60
+ };
61
+ };
62
+ _active: {
63
+ bg: "button.tertiary.bgActive";
64
+ color: "button.tertiary.fgActive";
65
+ };
66
+ _disabled: {
67
+ bg: "transparent";
68
+ color: "button.tertiary.fgDisabled";
69
+ };
70
+ };
71
+ 'danger-primary': {
72
+ bg: "button.dangerPrimary.bg";
73
+ color: "button.dangerPrimary.fg";
74
+ _hover: {
75
+ bg: "button.dangerPrimary.bgHover";
76
+ color: "button.dangerPrimary.fgHover";
77
+ _disabled: {
78
+ bg: "button.dangerPrimary.bgDisabled";
79
+ color: "button.dangerPrimary.fgDisabled";
80
+ };
81
+ };
82
+ _active: {
83
+ bg: "button.dangerPrimary.bgActive";
84
+ color: "button.dangerPrimary.fgActive";
85
+ };
86
+ _disabled: {
87
+ bg: "button.dangerPrimary.bgDisabled";
88
+ color: "button.dangerPrimary.fgDisabled";
89
+ };
90
+ };
91
+ 'danger-secondary': {
92
+ bg: "button.dangerSecondary.bg";
93
+ color: "button.dangerSecondary.fg";
94
+ border: "1px solid";
95
+ borderColor: "button.dangerSecondary.border";
96
+ borderWidth: "1px";
97
+ borderStyle: "solid";
98
+ _hover: {
99
+ bg: "button.dangerSecondary.bgHover";
100
+ color: "button.dangerSecondary.fgHover";
101
+ borderColor: "button.dangerSecondary.borderHover";
102
+ _disabled: {
103
+ bg: "button.dangerSecondary.bgDisabled";
104
+ color: "button.dangerSecondary.fgDisabled";
105
+ borderColor: "button.dangerSecondary.borderDisabled";
106
+ };
107
+ };
108
+ _active: {
109
+ bg: "button.dangerSecondary.bgActive";
110
+ color: "button.dangerSecondary.fgActive";
111
+ borderColor: "button.dangerSecondary.borderActive";
112
+ };
113
+ _disabled: {
114
+ bg: "button.dangerSecondary.bgDisabled";
115
+ color: "button.dangerSecondary.fgDisabled";
116
+ borderColor: "button.dangerSecondary.borderDisabled";
117
+ };
118
+ };
119
+ 'danger-tertiary': {
120
+ bg: "transparent";
121
+ color: "button.dangerTertiary.fg";
122
+ _hover: {
123
+ bg: "button.dangerTertiary.bgHover";
124
+ color: "button.dangerTertiary.fgHover";
125
+ _disabled: {
126
+ bg: "transparent";
127
+ color: "button.dangerTertiary.fgDisabled";
128
+ };
129
+ };
130
+ _active: {
131
+ bg: "button.dangerTertiary.bgActive";
132
+ color: "button.dangerTertiary.fgActive";
133
+ };
134
+ _disabled: {
135
+ bg: "transparent";
136
+ color: "button.dangerTertiary.fgDisabled";
137
+ };
138
+ };
139
+ };
140
+ size: {
141
+ sm: {
142
+ fontSize: "sm";
143
+ height: "32px";
144
+ minWidth: "32px";
145
+ paddingX: "3";
146
+ paddingY: "2";
147
+ lineHeight: "tight";
148
+ };
149
+ md: {
150
+ fontSize: "sm";
151
+ height: "40px";
152
+ minWidth: "40px";
153
+ paddingX: "4";
154
+ paddingY: "2.5";
155
+ lineHeight: "tight";
156
+ };
157
+ lg: {
158
+ fontSize: "md";
159
+ height: "48px";
160
+ minWidth: "48px";
161
+ paddingX: "6";
162
+ paddingY: "3";
163
+ lineHeight: "normal";
164
+ };
165
+ };
166
+ }>;
167
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export type { ButtonProps } from './Button';
2
+ export { Button } from './Button';
@@ -0,0 +1 @@
1
+ export * from './Button';