@mirohq/design-system-button 0.1.0-deprecated-button-0.0.0.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/dist/main.js ADDED
@@ -0,0 +1,411 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var button = require('@react-aria/button');
8
+ var utils = require('@react-aria/utils');
9
+ var designSystemSpinner = require('@mirohq/design-system-spinner');
10
+ var link = require('@react-aria/link');
11
+ var focus = require('@react-aria/focus');
12
+ var designSystemPrimitive = require('@mirohq/design-system-primitive');
13
+ var designSystemStitches = require('@mirohq/design-system-stitches');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
+
19
+ const focusFilled = {
20
+ "&[data-focused]": {
21
+ boxShadow: "inset 0 0 0 1px white, 0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)"
22
+ }
23
+ };
24
+ const focusOutline = {
25
+ "&[data-focused]": {
26
+ boxShadow: "0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)",
27
+ borderColor: "transparent"
28
+ }
29
+ };
30
+ const focusDefault = {
31
+ "&[data-focused]": {
32
+ boxShadow: "0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)"
33
+ }
34
+ };
35
+ const pressedSelector = "&:active, &[data-pressed]";
36
+ const StyledButton = designSystemStitches.styled(designSystemPrimitive.Primitive.button, {
37
+ boxSizing: "border-box",
38
+ display: "inline-block",
39
+ outline: "none",
40
+ whiteSpace: "nowrap",
41
+ textOverflow: "ellipsis",
42
+ textAlign: "center",
43
+ verticalAlign: "middle",
44
+ userSelect: "none",
45
+ fontFamily: "inherit",
46
+ fontStyle: "normal",
47
+ fontStretch: "normal",
48
+ letterSpacing: "normal",
49
+ fontWeight: "normal",
50
+ position: "relative",
51
+ cursor: "pointer",
52
+ border: "none",
53
+ textDecoration: "none",
54
+ backgroundColor: "transparent",
55
+ "&[disabled]": {
56
+ pointerEvents: "none",
57
+ opacity: 0.4
58
+ },
59
+ variants: {
60
+ variant: {
61
+ primary: {},
62
+ secondary: {},
63
+ danger: {}
64
+ },
65
+ appearance: {
66
+ filled: {},
67
+ outlined: {},
68
+ flat: {}
69
+ },
70
+ size: {
71
+ large: {
72
+ padding: "14px 32px 18px 32px",
73
+ fontSize: "20px",
74
+ lineHeight: "28px",
75
+ height: "60px"
76
+ },
77
+ medium: {
78
+ padding: "11px 24px 13px 24px",
79
+ fontSize: "16px",
80
+ lineHeight: "24px",
81
+ height: "48px"
82
+ },
83
+ small: {
84
+ padding: "7px 16px 9px 16px",
85
+ fontSize: "14px",
86
+ lineHeight: "20px",
87
+ height: "36px"
88
+ },
89
+ "x-small": {
90
+ padding: "5px 12px 7px",
91
+ fontSize: "14px",
92
+ lineHeight: "20px",
93
+ height: "32px"
94
+ },
95
+ "xx-small": {
96
+ padding: "3px 12px",
97
+ fontSize: "12px",
98
+ lineHeight: "18px",
99
+ height: "24px"
100
+ }
101
+ },
102
+ rounded: {
103
+ true: {
104
+ borderRadius: "$half"
105
+ }
106
+ },
107
+ loading: {
108
+ true: {
109
+ "&[disabled]": {
110
+ cursor: "default",
111
+ opacity: 1,
112
+ pointerEvents: "none",
113
+ "& > span": {
114
+ visibility: "hidden"
115
+ }
116
+ }
117
+ }
118
+ },
119
+ fluid: {
120
+ true: {
121
+ width: "100%",
122
+ display: "block"
123
+ }
124
+ }
125
+ },
126
+ compoundVariants: [
127
+ {
128
+ size: "small",
129
+ rounded: true,
130
+ css: {
131
+ padding: "10px 16px",
132
+ height: "40px"
133
+ }
134
+ },
135
+ {
136
+ size: "large",
137
+ rounded: false,
138
+ css: {
139
+ borderRadius: "$50"
140
+ }
141
+ },
142
+ {
143
+ size: "medium",
144
+ rounded: false,
145
+ css: {
146
+ borderRadius: "$50"
147
+ }
148
+ },
149
+ {
150
+ size: "small",
151
+ rounded: false,
152
+ css: {
153
+ borderRadius: "$50"
154
+ }
155
+ },
156
+ {
157
+ size: "x-small",
158
+ rounded: false,
159
+ css: {
160
+ borderRadius: "$50"
161
+ }
162
+ },
163
+ {
164
+ size: "xx-small",
165
+ rounded: false,
166
+ css: {
167
+ borderRadius: "$25"
168
+ }
169
+ },
170
+ {
171
+ variant: "primary",
172
+ appearance: "filled",
173
+ css: {
174
+ color: "#FFFFFF",
175
+ backgroundColor: "#3859FF",
176
+ ...focusFilled,
177
+ "&:hover": {
178
+ color: "#FFFFFF",
179
+ backgroundColor: "#3F53D9"
180
+ },
181
+ [pressedSelector]: {
182
+ backgroundColor: "#122277"
183
+ }
184
+ }
185
+ },
186
+ {
187
+ variant: "primary",
188
+ appearance: "outlined",
189
+ css: {
190
+ color: "rgba(66, 98, 255, 1)",
191
+ border: "1px solid rgba(66, 98, 255, 1)",
192
+ ...focusOutline,
193
+ "&:hover": {
194
+ color: "rgba(66, 98, 255, 1)",
195
+ backgroundColor: "rgba(244, 246, 255, 1)"
196
+ },
197
+ [pressedSelector]: {
198
+ backgroundColor: "rgba(240, 242, 255, 1)"
199
+ }
200
+ }
201
+ },
202
+ {
203
+ variant: "primary",
204
+ appearance: "flat",
205
+ css: {
206
+ color: "rgba(66, 98, 255, 1)",
207
+ ...focusDefault,
208
+ "&:hover": {
209
+ color: "rgba(69, 91, 237, 1)",
210
+ backgroundColor: "rgba(245, 245, 247, 1)"
211
+ },
212
+ [pressedSelector]: {
213
+ color: "rgba(61, 81, 212, 1)"
214
+ }
215
+ }
216
+ },
217
+ {
218
+ variant: "secondary",
219
+ appearance: "filled",
220
+ css: {
221
+ color: "rgba(5, 0, 56, 1)",
222
+ backgroundColor: "rgba(245, 245, 247, 1)",
223
+ ...focusFilled,
224
+ "&:hover": {
225
+ color: "rgba(5, 0, 56, 1)",
226
+ backgroundColor: "rgba(240, 240, 243, 1)"
227
+ },
228
+ [pressedSelector]: {
229
+ backgroundColor: "rgba(235, 235, 239, 1)"
230
+ }
231
+ }
232
+ },
233
+ {
234
+ variant: "secondary",
235
+ appearance: "outlined",
236
+ css: {
237
+ color: "rgba(5, 0, 56, 1)",
238
+ border: "1px solid rgba(205, 204, 215, 1)",
239
+ ...focusOutline,
240
+ "&:hover": {
241
+ color: "rgba(5, 0, 56, 1)",
242
+ backgroundColor: "rgba(245, 245, 247, 1)"
243
+ },
244
+ [pressedSelector]: {
245
+ backgroundColor: "rgba(235, 235, 239, 1)"
246
+ }
247
+ }
248
+ },
249
+ {
250
+ variant: "secondary",
251
+ appearance: "flat",
252
+ css: {
253
+ color: "rgba(5, 0, 56, 1)",
254
+ ...focusDefault,
255
+ "&:hover": {
256
+ color: "rgba(5, 0, 56, 1)",
257
+ backgroundColor: "rgba(245, 245, 247, 1)"
258
+ }
259
+ }
260
+ },
261
+ {
262
+ variant: "danger",
263
+ appearance: "filled",
264
+ css: {
265
+ color: "#FFFFFF",
266
+ backgroundColor: "rgba(217, 41, 41, 1)",
267
+ ...focusFilled,
268
+ "&:hover": {
269
+ backgroundColor: "rgba(199, 20, 20, 1)"
270
+ },
271
+ [pressedSelector]: {
272
+ backgroundColor: "rgba(184, 13, 13, 1)"
273
+ }
274
+ }
275
+ },
276
+ {
277
+ variant: "danger",
278
+ appearance: "outlined",
279
+ css: {
280
+ color: "rgba(217, 41, 41, 1)",
281
+ border: "1px solid rgba(217, 41, 41, 1)",
282
+ ...focusOutline,
283
+ "&:hover": {
284
+ color: "rgba(217, 41, 41, 1)",
285
+ backgroundColor: "rgba(254, 247, 247, 1)"
286
+ },
287
+ [pressedSelector]: {
288
+ backgroundColor: "rgba(253, 242, 242, 1)"
289
+ }
290
+ }
291
+ },
292
+ {
293
+ variant: "danger",
294
+ appearance: "flat",
295
+ css: {
296
+ color: "rgba(217, 41, 41, 1)",
297
+ ...focusDefault,
298
+ "&:hover": {
299
+ color: "rgba(217, 41, 41, 1)",
300
+ backgroundColor: "rgba(245, 245, 247, 1)"
301
+ }
302
+ }
303
+ }
304
+ ]
305
+ });
306
+ const StyledSpinnerBox = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
307
+ display: "flex",
308
+ alignItems: "center",
309
+ justifyContent: "center",
310
+ position: "absolute",
311
+ top: 0,
312
+ left: 0,
313
+ bottom: 0,
314
+ right: 0,
315
+ margin: "auto"
316
+ });
317
+
318
+ const Button = React__default["default"].forwardRef(
319
+ ({
320
+ variant = "primary",
321
+ appearance = "filled",
322
+ size = "medium",
323
+ loading = false,
324
+ rounded = false,
325
+ fluid = false,
326
+ disabled = false,
327
+ href,
328
+ target,
329
+ rel,
330
+ children,
331
+ onPress,
332
+ onClick,
333
+ asChild,
334
+ ...restProps
335
+ }, forwardRef) => {
336
+ let spinnerSize;
337
+ if (typeof size === "string") {
338
+ spinnerSize = ["x-small", "xx-small"].includes(size) ? "small" : "medium";
339
+ } else {
340
+ spinnerSize = "medium";
341
+ }
342
+ const _loading = loading === "true" || loading === true;
343
+ const shouldBeDisabled = disabled === true || _loading;
344
+ const asLink = href != null;
345
+ const ref = React.useRef(null);
346
+ const refWithFallback = forwardRef != null ? forwardRef : ref;
347
+ const { buttonProps, isPressed } = button.useButton(
348
+ {
349
+ isDisabled: shouldBeDisabled,
350
+ href,
351
+ onPress: onPress != null ? onPress : onClick,
352
+ allowFocusWhenDisabled: false,
353
+ ...restProps
354
+ },
355
+ // @ts-expect-error
356
+ refWithFallback
357
+ );
358
+ const { linkProps } = link.useLink(
359
+ {
360
+ isDisabled: disabled,
361
+ onPress: onPress != null ? onPress : onClick,
362
+ ...restProps
363
+ },
364
+ // @ts-expect-error
365
+ refWithFallback
366
+ );
367
+ const Content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
368
+ _loading && /* @__PURE__ */ jsxRuntime.jsx(StyledSpinnerBox, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystemSpinner.Spinner, { size: spinnerSize }) }),
369
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children })
370
+ ] });
371
+ const tabIndexProp = shouldBeDisabled && {
372
+ tabIndex: -1
373
+ };
374
+ const { isFocusVisible, focusProps } = focus.useFocusRing();
375
+ const elementProps = utils.mergeProps(
376
+ restProps,
377
+ asLink ? linkProps : buttonProps,
378
+ focusProps
379
+ );
380
+ return /* @__PURE__ */ jsxRuntime.jsx(
381
+ StyledButton,
382
+ {
383
+ ...elementProps,
384
+ variant,
385
+ appearance,
386
+ size,
387
+ loading,
388
+ rounded,
389
+ fluid,
390
+ disabled: shouldBeDisabled,
391
+ asChild: asLink || asChild,
392
+ ...tabIndexProp,
393
+ "data-pressed": isPressed ? "" : void 0,
394
+ "data-focused": isFocusVisible ? "" : void 0,
395
+ ref: refWithFallback,
396
+ children: asLink ? /* @__PURE__ */ jsxRuntime.jsx(
397
+ "a",
398
+ {
399
+ href,
400
+ target,
401
+ rel: target === "_blank" ? "noopener noreferrer ".concat(rel) : rel,
402
+ children: Content
403
+ }
404
+ ) : Content
405
+ }
406
+ );
407
+ }
408
+ );
409
+
410
+ exports.Button = Button;
411
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sources":["../src/button.styled.ts","../src/button.tsx"],"sourcesContent":["import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const focusFilled = {\n '&[data-focused]': {\n boxShadow: `inset 0 0 0 1px white, 0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)`,\n },\n}\n\nexport const focusOutline = {\n '&[data-focused]': {\n boxShadow: `0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)`,\n borderColor: 'transparent',\n },\n}\n\nconst focusDefault = {\n '&[data-focused]': {\n boxShadow: `0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)`,\n },\n}\n\nconst pressedSelector = '&:active, &[data-pressed]'\n\nexport const StyledButton = styled(Primitive.button, {\n boxSizing: 'border-box',\n display: 'inline-block',\n outline: 'none',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n textAlign: 'center',\n verticalAlign: 'middle',\n userSelect: 'none',\n fontFamily: 'inherit',\n fontStyle: 'normal',\n fontStretch: 'normal',\n letterSpacing: 'normal',\n fontWeight: 'normal',\n position: 'relative',\n cursor: 'pointer',\n border: 'none',\n textDecoration: 'none',\n backgroundColor: 'transparent',\n '&[disabled]': {\n pointerEvents: 'none',\n opacity: 0.4,\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n },\n appearance: {\n filled: {},\n outlined: {},\n flat: {},\n },\n size: {\n large: {\n padding: '14px 32px 18px 32px',\n fontSize: '20px',\n lineHeight: '28px',\n height: '60px',\n },\n medium: {\n padding: '11px 24px 13px 24px',\n fontSize: '16px',\n lineHeight: '24px',\n height: '48px',\n },\n small: {\n padding: '7px 16px 9px 16px',\n fontSize: '14px',\n lineHeight: '20px',\n height: '36px',\n },\n 'x-small': {\n padding: '5px 12px 7px',\n fontSize: '14px',\n lineHeight: '20px',\n height: '32px',\n },\n 'xx-small': {\n padding: '3px 12px',\n fontSize: '12px',\n lineHeight: '18px',\n height: '24px',\n },\n },\n rounded: {\n true: {\n borderRadius: '$half',\n },\n },\n loading: {\n true: {\n '&[disabled]': {\n cursor: 'default',\n opacity: 1,\n pointerEvents: 'none',\n '& > span': {\n visibility: 'hidden',\n },\n },\n },\n },\n fluid: {\n true: {\n width: '100%',\n display: 'block',\n },\n },\n },\n compoundVariants: [\n {\n size: 'small',\n rounded: true,\n css: {\n padding: '10px 16px',\n height: '40px',\n },\n },\n {\n size: 'large',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'medium',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'small',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'x-small',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'xx-small',\n rounded: false,\n css: {\n borderRadius: '$25',\n },\n },\n {\n variant: 'primary',\n appearance: 'filled',\n css: {\n color: '#FFFFFF',\n backgroundColor: '#3859FF',\n ...focusFilled,\n '&:hover': {\n color: '#FFFFFF',\n backgroundColor: '#3F53D9',\n },\n [pressedSelector]: {\n backgroundColor: '#122277',\n },\n },\n },\n {\n variant: 'primary',\n appearance: 'outlined',\n css: {\n color: 'rgba(66, 98, 255, 1)',\n border: '1px solid rgba(66, 98, 255, 1)',\n ...focusOutline,\n '&:hover': {\n color: 'rgba(66, 98, 255, 1)',\n backgroundColor: 'rgba(244, 246, 255, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(240, 242, 255, 1)',\n },\n },\n },\n {\n variant: 'primary',\n appearance: 'flat',\n css: {\n color: 'rgba(66, 98, 255, 1)',\n ...focusDefault,\n '&:hover': {\n color: 'rgba(69, 91, 237, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n [pressedSelector]: {\n color: 'rgba(61, 81, 212, 1)',\n },\n },\n },\n {\n variant: 'secondary',\n appearance: 'filled',\n css: {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n ...focusFilled,\n '&:hover': {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(240, 240, 243, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(235, 235, 239, 1)',\n },\n },\n },\n {\n variant: 'secondary',\n appearance: 'outlined',\n css: {\n color: 'rgba(5, 0, 56, 1)',\n border: '1px solid rgba(205, 204, 215, 1)',\n ...focusOutline,\n '&:hover': {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(235, 235, 239, 1)',\n },\n },\n },\n {\n variant: 'secondary',\n appearance: 'flat',\n css: {\n color: 'rgba(5, 0, 56, 1)',\n ...focusDefault,\n '&:hover': {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n },\n },\n {\n variant: 'danger',\n appearance: 'filled',\n css: {\n color: '#FFFFFF',\n backgroundColor: 'rgba(217, 41, 41, 1)',\n ...focusFilled,\n '&:hover': {\n backgroundColor: 'rgba(199, 20, 20, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(184, 13, 13, 1)',\n },\n },\n },\n {\n variant: 'danger',\n appearance: 'outlined',\n css: {\n color: 'rgba(217, 41, 41, 1)',\n border: '1px solid rgba(217, 41, 41, 1)',\n ...focusOutline,\n '&:hover': {\n color: 'rgba(217, 41, 41, 1)',\n backgroundColor: 'rgba(254, 247, 247, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(253, 242, 242, 1)',\n },\n },\n },\n {\n variant: 'danger',\n appearance: 'flat',\n css: {\n color: 'rgba(217, 41, 41, 1)',\n ...focusDefault,\n '&:hover': {\n color: 'rgba(217, 41, 41, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n },\n },\n ],\n})\n\nexport const StyledSpinnerBox = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n margin: 'auto',\n})\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport { useButton } from '@react-aria/button'\nimport { mergeProps } from '@react-aria/utils'\nimport type { SpinnerProps } from '@mirohq/design-system-spinner'\nimport { Spinner } from '@mirohq/design-system-spinner'\nimport { useLink } from '@react-aria/link'\nimport { useFocusRing } from '@react-aria/focus'\n\nimport { StyledButton, StyledSpinnerBox } from './button.styled'\n\nexport type ButtonProps = any\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton | 'a'>,\n ButtonProps\n>(\n (\n {\n variant = 'primary',\n appearance = 'filled',\n size = 'medium',\n loading = false,\n rounded = false,\n fluid = false,\n disabled = false,\n href,\n target,\n rel,\n children,\n onPress,\n onClick,\n asChild,\n ...restProps\n },\n forwardRef\n ) => {\n let spinnerSize: SpinnerProps['size']\n\n if (typeof size === 'string') {\n spinnerSize = ['x-small', 'xx-small'].includes(size) ? 'small' : 'medium'\n } else {\n spinnerSize = 'medium'\n }\n\n const _loading = loading === 'true' || loading === true\n const shouldBeDisabled = disabled === true || _loading\n\n const asLink = href != null\n\n const ref = useRef<HTMLButtonElement | HTMLAnchorElement>(null)\n const refWithFallback = forwardRef ?? ref\n const { buttonProps, isPressed } = useButton(\n {\n isDisabled: shouldBeDisabled,\n href,\n onPress: onPress ?? onClick,\n allowFocusWhenDisabled: false,\n ...restProps,\n },\n // @ts-expect-error\n refWithFallback\n )\n\n const { linkProps } = useLink(\n {\n isDisabled: disabled,\n onPress: onPress ?? onClick,\n ...restProps,\n },\n // @ts-expect-error\n refWithFallback\n )\n\n const Content = (\n <>\n {_loading && (\n <StyledSpinnerBox>\n <Spinner size={spinnerSize} />\n </StyledSpinnerBox>\n )}\n <span>{children}</span>\n </>\n )\n\n const tabIndexProp = shouldBeDisabled && {\n tabIndex: -1,\n }\n\n const { isFocusVisible, focusProps } = useFocusRing()\n\n const elementProps = mergeProps(\n restProps,\n asLink ? linkProps : buttonProps,\n focusProps\n )\n\n return (\n <StyledButton\n {...elementProps}\n variant={variant}\n appearance={appearance}\n size={size}\n loading={loading}\n rounded={rounded}\n fluid={fluid}\n disabled={shouldBeDisabled}\n asChild={asLink || asChild}\n {...tabIndexProp}\n data-pressed={isPressed ? '' : undefined}\n data-focused={isFocusVisible ? '' : undefined}\n ref={refWithFallback}\n >\n {asLink ? (\n <a\n href={href}\n target={target}\n rel={target === '_blank' ? `noopener noreferrer ${rel}` : rel}\n >\n {Content}\n </a>\n ) : (\n Content\n )}\n </StyledButton>\n )\n }\n)\n"],"names":["styled","Primitive","React","useRef","useButton","useLink","jsxs","Fragment","jsx","Spinner","useFocusRing","mergeProps"],"mappings":"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"}
package/dist/module.js ADDED
@@ -0,0 +1,403 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import React, { useRef } from 'react';
3
+ import { useButton } from '@react-aria/button';
4
+ import { mergeProps } from '@react-aria/utils';
5
+ import { Spinner } from '@mirohq/design-system-spinner';
6
+ import { useLink } from '@react-aria/link';
7
+ import { useFocusRing } from '@react-aria/focus';
8
+ import { Primitive } from '@mirohq/design-system-primitive';
9
+ import { styled } from '@mirohq/design-system-stitches';
10
+
11
+ const focusFilled = {
12
+ "&[data-focused]": {
13
+ boxShadow: "inset 0 0 0 1px white, 0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)"
14
+ }
15
+ };
16
+ const focusOutline = {
17
+ "&[data-focused]": {
18
+ boxShadow: "0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)",
19
+ borderColor: "transparent"
20
+ }
21
+ };
22
+ const focusDefault = {
23
+ "&[data-focused]": {
24
+ boxShadow: "0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)"
25
+ }
26
+ };
27
+ const pressedSelector = "&:active, &[data-pressed]";
28
+ const StyledButton = styled(Primitive.button, {
29
+ boxSizing: "border-box",
30
+ display: "inline-block",
31
+ outline: "none",
32
+ whiteSpace: "nowrap",
33
+ textOverflow: "ellipsis",
34
+ textAlign: "center",
35
+ verticalAlign: "middle",
36
+ userSelect: "none",
37
+ fontFamily: "inherit",
38
+ fontStyle: "normal",
39
+ fontStretch: "normal",
40
+ letterSpacing: "normal",
41
+ fontWeight: "normal",
42
+ position: "relative",
43
+ cursor: "pointer",
44
+ border: "none",
45
+ textDecoration: "none",
46
+ backgroundColor: "transparent",
47
+ "&[disabled]": {
48
+ pointerEvents: "none",
49
+ opacity: 0.4
50
+ },
51
+ variants: {
52
+ variant: {
53
+ primary: {},
54
+ secondary: {},
55
+ danger: {}
56
+ },
57
+ appearance: {
58
+ filled: {},
59
+ outlined: {},
60
+ flat: {}
61
+ },
62
+ size: {
63
+ large: {
64
+ padding: "14px 32px 18px 32px",
65
+ fontSize: "20px",
66
+ lineHeight: "28px",
67
+ height: "60px"
68
+ },
69
+ medium: {
70
+ padding: "11px 24px 13px 24px",
71
+ fontSize: "16px",
72
+ lineHeight: "24px",
73
+ height: "48px"
74
+ },
75
+ small: {
76
+ padding: "7px 16px 9px 16px",
77
+ fontSize: "14px",
78
+ lineHeight: "20px",
79
+ height: "36px"
80
+ },
81
+ "x-small": {
82
+ padding: "5px 12px 7px",
83
+ fontSize: "14px",
84
+ lineHeight: "20px",
85
+ height: "32px"
86
+ },
87
+ "xx-small": {
88
+ padding: "3px 12px",
89
+ fontSize: "12px",
90
+ lineHeight: "18px",
91
+ height: "24px"
92
+ }
93
+ },
94
+ rounded: {
95
+ true: {
96
+ borderRadius: "$half"
97
+ }
98
+ },
99
+ loading: {
100
+ true: {
101
+ "&[disabled]": {
102
+ cursor: "default",
103
+ opacity: 1,
104
+ pointerEvents: "none",
105
+ "& > span": {
106
+ visibility: "hidden"
107
+ }
108
+ }
109
+ }
110
+ },
111
+ fluid: {
112
+ true: {
113
+ width: "100%",
114
+ display: "block"
115
+ }
116
+ }
117
+ },
118
+ compoundVariants: [
119
+ {
120
+ size: "small",
121
+ rounded: true,
122
+ css: {
123
+ padding: "10px 16px",
124
+ height: "40px"
125
+ }
126
+ },
127
+ {
128
+ size: "large",
129
+ rounded: false,
130
+ css: {
131
+ borderRadius: "$50"
132
+ }
133
+ },
134
+ {
135
+ size: "medium",
136
+ rounded: false,
137
+ css: {
138
+ borderRadius: "$50"
139
+ }
140
+ },
141
+ {
142
+ size: "small",
143
+ rounded: false,
144
+ css: {
145
+ borderRadius: "$50"
146
+ }
147
+ },
148
+ {
149
+ size: "x-small",
150
+ rounded: false,
151
+ css: {
152
+ borderRadius: "$50"
153
+ }
154
+ },
155
+ {
156
+ size: "xx-small",
157
+ rounded: false,
158
+ css: {
159
+ borderRadius: "$25"
160
+ }
161
+ },
162
+ {
163
+ variant: "primary",
164
+ appearance: "filled",
165
+ css: {
166
+ color: "#FFFFFF",
167
+ backgroundColor: "#3859FF",
168
+ ...focusFilled,
169
+ "&:hover": {
170
+ color: "#FFFFFF",
171
+ backgroundColor: "#3F53D9"
172
+ },
173
+ [pressedSelector]: {
174
+ backgroundColor: "#122277"
175
+ }
176
+ }
177
+ },
178
+ {
179
+ variant: "primary",
180
+ appearance: "outlined",
181
+ css: {
182
+ color: "rgba(66, 98, 255, 1)",
183
+ border: "1px solid rgba(66, 98, 255, 1)",
184
+ ...focusOutline,
185
+ "&:hover": {
186
+ color: "rgba(66, 98, 255, 1)",
187
+ backgroundColor: "rgba(244, 246, 255, 1)"
188
+ },
189
+ [pressedSelector]: {
190
+ backgroundColor: "rgba(240, 242, 255, 1)"
191
+ }
192
+ }
193
+ },
194
+ {
195
+ variant: "primary",
196
+ appearance: "flat",
197
+ css: {
198
+ color: "rgba(66, 98, 255, 1)",
199
+ ...focusDefault,
200
+ "&:hover": {
201
+ color: "rgba(69, 91, 237, 1)",
202
+ backgroundColor: "rgba(245, 245, 247, 1)"
203
+ },
204
+ [pressedSelector]: {
205
+ color: "rgba(61, 81, 212, 1)"
206
+ }
207
+ }
208
+ },
209
+ {
210
+ variant: "secondary",
211
+ appearance: "filled",
212
+ css: {
213
+ color: "rgba(5, 0, 56, 1)",
214
+ backgroundColor: "rgba(245, 245, 247, 1)",
215
+ ...focusFilled,
216
+ "&:hover": {
217
+ color: "rgba(5, 0, 56, 1)",
218
+ backgroundColor: "rgba(240, 240, 243, 1)"
219
+ },
220
+ [pressedSelector]: {
221
+ backgroundColor: "rgba(235, 235, 239, 1)"
222
+ }
223
+ }
224
+ },
225
+ {
226
+ variant: "secondary",
227
+ appearance: "outlined",
228
+ css: {
229
+ color: "rgba(5, 0, 56, 1)",
230
+ border: "1px solid rgba(205, 204, 215, 1)",
231
+ ...focusOutline,
232
+ "&:hover": {
233
+ color: "rgba(5, 0, 56, 1)",
234
+ backgroundColor: "rgba(245, 245, 247, 1)"
235
+ },
236
+ [pressedSelector]: {
237
+ backgroundColor: "rgba(235, 235, 239, 1)"
238
+ }
239
+ }
240
+ },
241
+ {
242
+ variant: "secondary",
243
+ appearance: "flat",
244
+ css: {
245
+ color: "rgba(5, 0, 56, 1)",
246
+ ...focusDefault,
247
+ "&:hover": {
248
+ color: "rgba(5, 0, 56, 1)",
249
+ backgroundColor: "rgba(245, 245, 247, 1)"
250
+ }
251
+ }
252
+ },
253
+ {
254
+ variant: "danger",
255
+ appearance: "filled",
256
+ css: {
257
+ color: "#FFFFFF",
258
+ backgroundColor: "rgba(217, 41, 41, 1)",
259
+ ...focusFilled,
260
+ "&:hover": {
261
+ backgroundColor: "rgba(199, 20, 20, 1)"
262
+ },
263
+ [pressedSelector]: {
264
+ backgroundColor: "rgba(184, 13, 13, 1)"
265
+ }
266
+ }
267
+ },
268
+ {
269
+ variant: "danger",
270
+ appearance: "outlined",
271
+ css: {
272
+ color: "rgba(217, 41, 41, 1)",
273
+ border: "1px solid rgba(217, 41, 41, 1)",
274
+ ...focusOutline,
275
+ "&:hover": {
276
+ color: "rgba(217, 41, 41, 1)",
277
+ backgroundColor: "rgba(254, 247, 247, 1)"
278
+ },
279
+ [pressedSelector]: {
280
+ backgroundColor: "rgba(253, 242, 242, 1)"
281
+ }
282
+ }
283
+ },
284
+ {
285
+ variant: "danger",
286
+ appearance: "flat",
287
+ css: {
288
+ color: "rgba(217, 41, 41, 1)",
289
+ ...focusDefault,
290
+ "&:hover": {
291
+ color: "rgba(217, 41, 41, 1)",
292
+ backgroundColor: "rgba(245, 245, 247, 1)"
293
+ }
294
+ }
295
+ }
296
+ ]
297
+ });
298
+ const StyledSpinnerBox = styled(Primitive.div, {
299
+ display: "flex",
300
+ alignItems: "center",
301
+ justifyContent: "center",
302
+ position: "absolute",
303
+ top: 0,
304
+ left: 0,
305
+ bottom: 0,
306
+ right: 0,
307
+ margin: "auto"
308
+ });
309
+
310
+ const Button = React.forwardRef(
311
+ ({
312
+ variant = "primary",
313
+ appearance = "filled",
314
+ size = "medium",
315
+ loading = false,
316
+ rounded = false,
317
+ fluid = false,
318
+ disabled = false,
319
+ href,
320
+ target,
321
+ rel,
322
+ children,
323
+ onPress,
324
+ onClick,
325
+ asChild,
326
+ ...restProps
327
+ }, forwardRef) => {
328
+ let spinnerSize;
329
+ if (typeof size === "string") {
330
+ spinnerSize = ["x-small", "xx-small"].includes(size) ? "small" : "medium";
331
+ } else {
332
+ spinnerSize = "medium";
333
+ }
334
+ const _loading = loading === "true" || loading === true;
335
+ const shouldBeDisabled = disabled === true || _loading;
336
+ const asLink = href != null;
337
+ const ref = useRef(null);
338
+ const refWithFallback = forwardRef != null ? forwardRef : ref;
339
+ const { buttonProps, isPressed } = useButton(
340
+ {
341
+ isDisabled: shouldBeDisabled,
342
+ href,
343
+ onPress: onPress != null ? onPress : onClick,
344
+ allowFocusWhenDisabled: false,
345
+ ...restProps
346
+ },
347
+ // @ts-expect-error
348
+ refWithFallback
349
+ );
350
+ const { linkProps } = useLink(
351
+ {
352
+ isDisabled: disabled,
353
+ onPress: onPress != null ? onPress : onClick,
354
+ ...restProps
355
+ },
356
+ // @ts-expect-error
357
+ refWithFallback
358
+ );
359
+ const Content = /* @__PURE__ */ jsxs(Fragment, { children: [
360
+ _loading && /* @__PURE__ */ jsx(StyledSpinnerBox, { children: /* @__PURE__ */ jsx(Spinner, { size: spinnerSize }) }),
361
+ /* @__PURE__ */ jsx("span", { children })
362
+ ] });
363
+ const tabIndexProp = shouldBeDisabled && {
364
+ tabIndex: -1
365
+ };
366
+ const { isFocusVisible, focusProps } = useFocusRing();
367
+ const elementProps = mergeProps(
368
+ restProps,
369
+ asLink ? linkProps : buttonProps,
370
+ focusProps
371
+ );
372
+ return /* @__PURE__ */ jsx(
373
+ StyledButton,
374
+ {
375
+ ...elementProps,
376
+ variant,
377
+ appearance,
378
+ size,
379
+ loading,
380
+ rounded,
381
+ fluid,
382
+ disabled: shouldBeDisabled,
383
+ asChild: asLink || asChild,
384
+ ...tabIndexProp,
385
+ "data-pressed": isPressed ? "" : void 0,
386
+ "data-focused": isFocusVisible ? "" : void 0,
387
+ ref: refWithFallback,
388
+ children: asLink ? /* @__PURE__ */ jsx(
389
+ "a",
390
+ {
391
+ href,
392
+ target,
393
+ rel: target === "_blank" ? "noopener noreferrer ".concat(rel) : rel,
394
+ children: Content
395
+ }
396
+ ) : Content
397
+ }
398
+ );
399
+ }
400
+ );
401
+
402
+ export { Button };
403
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sources":["../src/button.styled.ts","../src/button.tsx"],"sourcesContent":["import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const focusFilled = {\n '&[data-focused]': {\n boxShadow: `inset 0 0 0 1px white, 0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)`,\n },\n}\n\nexport const focusOutline = {\n '&[data-focused]': {\n boxShadow: `0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)`,\n borderColor: 'transparent',\n },\n}\n\nconst focusDefault = {\n '&[data-focused]': {\n boxShadow: `0 0 0 1px rgba(104, 129, 255, 1), 0 0 0 5px rgba(217, 224, 255, 1)`,\n },\n}\n\nconst pressedSelector = '&:active, &[data-pressed]'\n\nexport const StyledButton = styled(Primitive.button, {\n boxSizing: 'border-box',\n display: 'inline-block',\n outline: 'none',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n textAlign: 'center',\n verticalAlign: 'middle',\n userSelect: 'none',\n fontFamily: 'inherit',\n fontStyle: 'normal',\n fontStretch: 'normal',\n letterSpacing: 'normal',\n fontWeight: 'normal',\n position: 'relative',\n cursor: 'pointer',\n border: 'none',\n textDecoration: 'none',\n backgroundColor: 'transparent',\n '&[disabled]': {\n pointerEvents: 'none',\n opacity: 0.4,\n },\n variants: {\n variant: {\n primary: {},\n secondary: {},\n danger: {},\n },\n appearance: {\n filled: {},\n outlined: {},\n flat: {},\n },\n size: {\n large: {\n padding: '14px 32px 18px 32px',\n fontSize: '20px',\n lineHeight: '28px',\n height: '60px',\n },\n medium: {\n padding: '11px 24px 13px 24px',\n fontSize: '16px',\n lineHeight: '24px',\n height: '48px',\n },\n small: {\n padding: '7px 16px 9px 16px',\n fontSize: '14px',\n lineHeight: '20px',\n height: '36px',\n },\n 'x-small': {\n padding: '5px 12px 7px',\n fontSize: '14px',\n lineHeight: '20px',\n height: '32px',\n },\n 'xx-small': {\n padding: '3px 12px',\n fontSize: '12px',\n lineHeight: '18px',\n height: '24px',\n },\n },\n rounded: {\n true: {\n borderRadius: '$half',\n },\n },\n loading: {\n true: {\n '&[disabled]': {\n cursor: 'default',\n opacity: 1,\n pointerEvents: 'none',\n '& > span': {\n visibility: 'hidden',\n },\n },\n },\n },\n fluid: {\n true: {\n width: '100%',\n display: 'block',\n },\n },\n },\n compoundVariants: [\n {\n size: 'small',\n rounded: true,\n css: {\n padding: '10px 16px',\n height: '40px',\n },\n },\n {\n size: 'large',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'medium',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'small',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'x-small',\n rounded: false,\n css: {\n borderRadius: '$50',\n },\n },\n {\n size: 'xx-small',\n rounded: false,\n css: {\n borderRadius: '$25',\n },\n },\n {\n variant: 'primary',\n appearance: 'filled',\n css: {\n color: '#FFFFFF',\n backgroundColor: '#3859FF',\n ...focusFilled,\n '&:hover': {\n color: '#FFFFFF',\n backgroundColor: '#3F53D9',\n },\n [pressedSelector]: {\n backgroundColor: '#122277',\n },\n },\n },\n {\n variant: 'primary',\n appearance: 'outlined',\n css: {\n color: 'rgba(66, 98, 255, 1)',\n border: '1px solid rgba(66, 98, 255, 1)',\n ...focusOutline,\n '&:hover': {\n color: 'rgba(66, 98, 255, 1)',\n backgroundColor: 'rgba(244, 246, 255, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(240, 242, 255, 1)',\n },\n },\n },\n {\n variant: 'primary',\n appearance: 'flat',\n css: {\n color: 'rgba(66, 98, 255, 1)',\n ...focusDefault,\n '&:hover': {\n color: 'rgba(69, 91, 237, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n [pressedSelector]: {\n color: 'rgba(61, 81, 212, 1)',\n },\n },\n },\n {\n variant: 'secondary',\n appearance: 'filled',\n css: {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n ...focusFilled,\n '&:hover': {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(240, 240, 243, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(235, 235, 239, 1)',\n },\n },\n },\n {\n variant: 'secondary',\n appearance: 'outlined',\n css: {\n color: 'rgba(5, 0, 56, 1)',\n border: '1px solid rgba(205, 204, 215, 1)',\n ...focusOutline,\n '&:hover': {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(235, 235, 239, 1)',\n },\n },\n },\n {\n variant: 'secondary',\n appearance: 'flat',\n css: {\n color: 'rgba(5, 0, 56, 1)',\n ...focusDefault,\n '&:hover': {\n color: 'rgba(5, 0, 56, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n },\n },\n {\n variant: 'danger',\n appearance: 'filled',\n css: {\n color: '#FFFFFF',\n backgroundColor: 'rgba(217, 41, 41, 1)',\n ...focusFilled,\n '&:hover': {\n backgroundColor: 'rgba(199, 20, 20, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(184, 13, 13, 1)',\n },\n },\n },\n {\n variant: 'danger',\n appearance: 'outlined',\n css: {\n color: 'rgba(217, 41, 41, 1)',\n border: '1px solid rgba(217, 41, 41, 1)',\n ...focusOutline,\n '&:hover': {\n color: 'rgba(217, 41, 41, 1)',\n backgroundColor: 'rgba(254, 247, 247, 1)',\n },\n [pressedSelector]: {\n backgroundColor: 'rgba(253, 242, 242, 1)',\n },\n },\n },\n {\n variant: 'danger',\n appearance: 'flat',\n css: {\n color: 'rgba(217, 41, 41, 1)',\n ...focusDefault,\n '&:hover': {\n color: 'rgba(217, 41, 41, 1)',\n backgroundColor: 'rgba(245, 245, 247, 1)',\n },\n },\n },\n ],\n})\n\nexport const StyledSpinnerBox = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n margin: 'auto',\n})\n","import React, { useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport { useButton } from '@react-aria/button'\nimport { mergeProps } from '@react-aria/utils'\nimport type { SpinnerProps } from '@mirohq/design-system-spinner'\nimport { Spinner } from '@mirohq/design-system-spinner'\nimport { useLink } from '@react-aria/link'\nimport { useFocusRing } from '@react-aria/focus'\n\nimport { StyledButton, StyledSpinnerBox } from './button.styled'\n\nexport type ButtonProps = any\n\nexport const Button = React.forwardRef<\n ElementRef<typeof StyledButton | 'a'>,\n ButtonProps\n>(\n (\n {\n variant = 'primary',\n appearance = 'filled',\n size = 'medium',\n loading = false,\n rounded = false,\n fluid = false,\n disabled = false,\n href,\n target,\n rel,\n children,\n onPress,\n onClick,\n asChild,\n ...restProps\n },\n forwardRef\n ) => {\n let spinnerSize: SpinnerProps['size']\n\n if (typeof size === 'string') {\n spinnerSize = ['x-small', 'xx-small'].includes(size) ? 'small' : 'medium'\n } else {\n spinnerSize = 'medium'\n }\n\n const _loading = loading === 'true' || loading === true\n const shouldBeDisabled = disabled === true || _loading\n\n const asLink = href != null\n\n const ref = useRef<HTMLButtonElement | HTMLAnchorElement>(null)\n const refWithFallback = forwardRef ?? ref\n const { buttonProps, isPressed } = useButton(\n {\n isDisabled: shouldBeDisabled,\n href,\n onPress: onPress ?? onClick,\n allowFocusWhenDisabled: false,\n ...restProps,\n },\n // @ts-expect-error\n refWithFallback\n )\n\n const { linkProps } = useLink(\n {\n isDisabled: disabled,\n onPress: onPress ?? onClick,\n ...restProps,\n },\n // @ts-expect-error\n refWithFallback\n )\n\n const Content = (\n <>\n {_loading && (\n <StyledSpinnerBox>\n <Spinner size={spinnerSize} />\n </StyledSpinnerBox>\n )}\n <span>{children}</span>\n </>\n )\n\n const tabIndexProp = shouldBeDisabled && {\n tabIndex: -1,\n }\n\n const { isFocusVisible, focusProps } = useFocusRing()\n\n const elementProps = mergeProps(\n restProps,\n asLink ? linkProps : buttonProps,\n focusProps\n )\n\n return (\n <StyledButton\n {...elementProps}\n variant={variant}\n appearance={appearance}\n size={size}\n loading={loading}\n rounded={rounded}\n fluid={fluid}\n disabled={shouldBeDisabled}\n asChild={asLink || asChild}\n {...tabIndexProp}\n data-pressed={isPressed ? '' : undefined}\n data-focused={isFocusVisible ? '' : undefined}\n ref={refWithFallback}\n >\n {asLink ? (\n <a\n href={href}\n target={target}\n rel={target === '_blank' ? `noopener noreferrer ${rel}` : rel}\n >\n {Content}\n </a>\n ) : (\n Content\n )}\n </StyledButton>\n )\n }\n)\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+
3
+ declare type ButtonProps = any;
4
+ declare const Button: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
5
+
6
+ export { Button, ButtonProps };
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@mirohq/design-system-button",
3
+ "version": "0.1.0-deprecated-button-0.0.0.0",
4
+ "description": "",
5
+ "author": "Miro",
6
+ "source": "src/index.ts",
7
+ "main": "dist/main.js",
8
+ "module": "dist/module.js",
9
+ "types": "dist/types.d.ts",
10
+ "sideEffects": false,
11
+ "exports": {
12
+ ".": {
13
+ "require": "./dist/main.js",
14
+ "import": "./dist/module.js",
15
+ "types": "./dist/types.d.ts"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "peerDependencies": {
25
+ "@stitches/react": "^1.2.8",
26
+ "react": "^16.14 || ^17 || ^18"
27
+ },
28
+ "dependencies": {
29
+ "@react-aria/button": "^3.5.0",
30
+ "@react-aria/focus": "^3.10.0",
31
+ "@react-aria/link": "^3.3.0",
32
+ "@react-aria/utils": "^3.13.0",
33
+ "@mirohq/design-system-primitive": "^1.1.2",
34
+ "@mirohq/design-system-stitches": "^2.6.14",
35
+ "@mirohq/design-system-spinner": "^1.1.48"
36
+ },
37
+ "scripts": {
38
+ "build": "rollup -c ../../../rollup.config.js",
39
+ "clean": "rm -rf dist",
40
+ "prebuild": "pnpm clean"
41
+ }
42
+ }