@oxyhq/bloom 0.9.1 → 0.10.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/lib/commonjs/admonition/index.js +2 -2
- package/lib/commonjs/admonition/index.js.map +1 -1
- package/lib/commonjs/alert-dialog/AlertDialog.js +5 -5
- package/lib/commonjs/alert-dialog/AlertDialog.js.map +1 -1
- package/lib/commonjs/button/Button.js +60 -7
- package/lib/commonjs/button/Button.js.map +1 -1
- package/lib/commonjs/button/Button.web.js +427 -0
- package/lib/commonjs/button/Button.web.js.map +1 -0
- package/lib/commonjs/button/index.js +25 -1
- package/lib/commonjs/button/index.js.map +1 -1
- package/lib/commonjs/button/index.web.js +67 -0
- package/lib/commonjs/button/index.web.js.map +1 -0
- package/lib/commonjs/index.js +70 -70
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +84 -84
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/menu/index.js +2 -2
- package/lib/commonjs/menu/index.js.map +1 -1
- package/lib/commonjs/search-input/index.js +2 -2
- package/lib/commonjs/search-input/index.js.map +1 -1
- package/lib/commonjs/select/index.js +4 -4
- package/lib/commonjs/select/index.js.map +1 -1
- package/lib/module/admonition/index.js +1 -1
- package/lib/module/admonition/index.js.map +1 -1
- package/lib/module/alert-dialog/AlertDialog.js +1 -1
- package/lib/module/alert-dialog/AlertDialog.js.map +1 -1
- package/lib/module/button/Button.js +59 -6
- package/lib/module/button/Button.js.map +1 -1
- package/lib/module/button/Button.web.js +422 -0
- package/lib/module/button/Button.web.js.map +1 -0
- package/lib/module/button/index.js +1 -1
- package/lib/module/button/index.js.map +1 -1
- package/lib/module/button/index.web.js +17 -0
- package/lib/module/button/index.web.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/menu/index.js +1 -1
- package/lib/module/menu/index.js.map +1 -1
- package/lib/module/search-input/index.js +1 -1
- package/lib/module/search-input/index.js.map +1 -1
- package/lib/module/select/index.js +1 -1
- package/lib/module/select/index.js.map +1 -1
- package/lib/typescript/commonjs/button/Button.d.ts +3 -0
- package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
- package/lib/typescript/commonjs/button/Button.web.d.ts +14 -0
- package/lib/typescript/commonjs/button/Button.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/button/index.d.ts +1 -1
- package/lib/typescript/commonjs/button/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/button/index.web.d.ts +3 -0
- package/lib/typescript/commonjs/button/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/button/types.d.ts +72 -2
- package/lib/typescript/commonjs/button/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +1 -1
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/module/button/Button.d.ts +3 -0
- package/lib/typescript/module/button/Button.d.ts.map +1 -1
- package/lib/typescript/module/button/Button.web.d.ts +14 -0
- package/lib/typescript/module/button/Button.web.d.ts.map +1 -0
- package/lib/typescript/module/button/index.d.ts +1 -1
- package/lib/typescript/module/button/index.d.ts.map +1 -1
- package/lib/typescript/module/button/index.web.d.ts +3 -0
- package/lib/typescript/module/button/index.web.d.ts.map +1 -0
- package/lib/typescript/module/button/types.d.ts +72 -2
- package/lib/typescript/module/button/types.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +1 -1
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/package.json +8 -1
- package/src/__tests__/Button.web.test.tsx +201 -0
- package/src/button/Button.tsx +66 -7
- package/src/button/Button.web.tsx +469 -0
- package/src/button/index.ts +4 -0
- package/src/button/index.web.ts +27 -0
- package/src/button/types.ts +98 -2
- package/src/index.web.ts +1 -1
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useCallback, useEffect, useId, useMemo } from 'react';
|
|
4
|
+
import { useTheme } from "../theme/use-theme.js";
|
|
5
|
+
import { SpinnerIcon } from "../loading/SpinnerIcon.web.js";
|
|
6
|
+
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Geometry — mirrors the native (`Button.tsx`) impl exactly so the web button
|
|
9
|
+
// is pixel-consistent with native. Sizes below are the resolved primitives;
|
|
10
|
+
// the shadcn-style aliases (`sm | md | lg | icon`) are normalized first.
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const SIZE_CONFIG = {
|
|
14
|
+
small: {
|
|
15
|
+
paddingVertical: 6,
|
|
16
|
+
paddingHorizontal: 12,
|
|
17
|
+
fontSize: 14,
|
|
18
|
+
minHeight: 32
|
|
19
|
+
},
|
|
20
|
+
medium: {
|
|
21
|
+
paddingVertical: 8,
|
|
22
|
+
paddingHorizontal: 16,
|
|
23
|
+
fontSize: 15,
|
|
24
|
+
minHeight: 40
|
|
25
|
+
},
|
|
26
|
+
large: {
|
|
27
|
+
paddingVertical: 12,
|
|
28
|
+
paddingHorizontal: 20,
|
|
29
|
+
fontSize: 16,
|
|
30
|
+
minHeight: 48
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const SIZE_ALIAS = {
|
|
34
|
+
small: 'small',
|
|
35
|
+
medium: 'medium',
|
|
36
|
+
large: 'large',
|
|
37
|
+
sm: 'small',
|
|
38
|
+
md: 'medium',
|
|
39
|
+
lg: 'large',
|
|
40
|
+
icon: 'medium'
|
|
41
|
+
};
|
|
42
|
+
const PILL_RADIUS = 20;
|
|
43
|
+
const GHOST_RADIUS = 8;
|
|
44
|
+
const ICON_RADIUS = 100;
|
|
45
|
+
const PRESS_SCALE = 0.97;
|
|
46
|
+
|
|
47
|
+
/** Variants that get a tactile press-scale (matches native `SCALE_VARIANTS`). */
|
|
48
|
+
const SCALE_VARIANTS = new Set(['primary', 'secondary', 'inverse', 'destructive']);
|
|
49
|
+
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Per-state CSS injection
|
|
52
|
+
//
|
|
53
|
+
// Inline styles cannot express `:hover` / `:focus-visible` / `:active` /
|
|
54
|
+
// `:disabled`, and the keyboard-focus ring MUST be a `:focus-visible` rule
|
|
55
|
+
// (not always-on) for correct mouse-vs-keyboard behavior. We inject one static
|
|
56
|
+
// stylesheet (keyed by id, once) that defines the interaction behavior for the
|
|
57
|
+
// base `bloom-btn` class; per-instance resolved colors stay inline.
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
|
|
60
|
+
const STYLE_ID = 'bloom-button-web-css';
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The focus ring color is read from a CSS custom property the component sets
|
|
64
|
+
* inline per-instance (`--bloom-btn-ring`), so the static rule can theme itself
|
|
65
|
+
* from the resolved token without a per-instance stylesheet.
|
|
66
|
+
*/
|
|
67
|
+
const BLOOM_BUTTON_CSS = `
|
|
68
|
+
.bloom-btn {
|
|
69
|
+
appearance: none;
|
|
70
|
+
-webkit-appearance: none;
|
|
71
|
+
box-sizing: border-box;
|
|
72
|
+
display: inline-flex;
|
|
73
|
+
align-items: center;
|
|
74
|
+
justify-content: center;
|
|
75
|
+
flex-direction: row;
|
|
76
|
+
gap: 8px;
|
|
77
|
+
position: relative;
|
|
78
|
+
margin: 0;
|
|
79
|
+
border: none;
|
|
80
|
+
background: transparent;
|
|
81
|
+
font-family: inherit;
|
|
82
|
+
text-decoration: none;
|
|
83
|
+
cursor: pointer;
|
|
84
|
+
user-select: none;
|
|
85
|
+
outline: none;
|
|
86
|
+
transition: opacity 120ms ease, transform 120ms ease, background-color 120ms ease, border-color 120ms ease;
|
|
87
|
+
}
|
|
88
|
+
.bloom-btn:disabled,
|
|
89
|
+
.bloom-btn[aria-disabled="true"] {
|
|
90
|
+
cursor: default;
|
|
91
|
+
opacity: 0.5;
|
|
92
|
+
}
|
|
93
|
+
.bloom-btn:not(:disabled):not([aria-disabled="true"]):hover {
|
|
94
|
+
opacity: 0.9;
|
|
95
|
+
}
|
|
96
|
+
.bloom-btn:not(:disabled):not([aria-disabled="true"]):active {
|
|
97
|
+
transform: scale(var(--bloom-btn-press-scale, 1));
|
|
98
|
+
}
|
|
99
|
+
.bloom-btn:focus-visible {
|
|
100
|
+
outline: 2px solid var(--bloom-btn-ring, currentColor);
|
|
101
|
+
outline-offset: 2px;
|
|
102
|
+
}
|
|
103
|
+
.bloom-btn--link:not(:disabled):not([aria-disabled="true"]):hover {
|
|
104
|
+
opacity: 1;
|
|
105
|
+
text-decoration: underline;
|
|
106
|
+
}
|
|
107
|
+
`;
|
|
108
|
+
function useButtonCss() {
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
if (typeof document === 'undefined') return;
|
|
111
|
+
if (document.getElementById(STYLE_ID)) return;
|
|
112
|
+
const style = document.createElement('style');
|
|
113
|
+
style.id = STYLE_ID;
|
|
114
|
+
style.textContent = BLOOM_BUTTON_CSS;
|
|
115
|
+
document.head.appendChild(style);
|
|
116
|
+
}, []);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
120
|
+
// Variant styling — all colors come from the SAME Bloom theme tokens native
|
|
121
|
+
// uses, so primary/secondary/etc. look identical across platforms. The added
|
|
122
|
+
// web variants (`outline | link | destructive`) are styled from those tokens
|
|
123
|
+
// too (no new palette).
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
|
|
126
|
+
function resolveVariantStyle(variant, size, theme) {
|
|
127
|
+
const c = theme.colors;
|
|
128
|
+
const sizeConfig = SIZE_CONFIG[size];
|
|
129
|
+
switch (variant) {
|
|
130
|
+
case 'primary':
|
|
131
|
+
return {
|
|
132
|
+
container: {
|
|
133
|
+
backgroundColor: c.primary,
|
|
134
|
+
borderRadius: PILL_RADIUS
|
|
135
|
+
},
|
|
136
|
+
textColor: c.primaryForeground,
|
|
137
|
+
ringColor: c.primary
|
|
138
|
+
};
|
|
139
|
+
case 'destructive':
|
|
140
|
+
return {
|
|
141
|
+
container: {
|
|
142
|
+
backgroundColor: c.negative,
|
|
143
|
+
borderRadius: PILL_RADIUS
|
|
144
|
+
},
|
|
145
|
+
textColor: c.negativeForeground,
|
|
146
|
+
ringColor: c.negative
|
|
147
|
+
};
|
|
148
|
+
case 'inverse':
|
|
149
|
+
return {
|
|
150
|
+
container: {
|
|
151
|
+
backgroundColor: '#FFFFFF',
|
|
152
|
+
borderRadius: PILL_RADIUS
|
|
153
|
+
},
|
|
154
|
+
textColor: '#000000',
|
|
155
|
+
ringColor: c.primary
|
|
156
|
+
};
|
|
157
|
+
case 'secondary':
|
|
158
|
+
case 'outline':
|
|
159
|
+
return {
|
|
160
|
+
container: {
|
|
161
|
+
backgroundColor: 'transparent',
|
|
162
|
+
borderWidth: 1,
|
|
163
|
+
borderStyle: 'solid',
|
|
164
|
+
borderColor: c.border,
|
|
165
|
+
borderRadius: PILL_RADIUS
|
|
166
|
+
},
|
|
167
|
+
textColor: c.text,
|
|
168
|
+
ringColor: c.primary
|
|
169
|
+
};
|
|
170
|
+
case 'ghost':
|
|
171
|
+
return {
|
|
172
|
+
container: {
|
|
173
|
+
backgroundColor: 'transparent',
|
|
174
|
+
borderRadius: GHOST_RADIUS
|
|
175
|
+
},
|
|
176
|
+
textColor: c.primary,
|
|
177
|
+
ringColor: c.primary
|
|
178
|
+
};
|
|
179
|
+
case 'icon':
|
|
180
|
+
return {
|
|
181
|
+
container: {
|
|
182
|
+
backgroundColor: c.background,
|
|
183
|
+
borderWidth: 1,
|
|
184
|
+
borderStyle: 'solid',
|
|
185
|
+
borderColor: c.border,
|
|
186
|
+
borderRadius: ICON_RADIUS,
|
|
187
|
+
padding: 8,
|
|
188
|
+
width: sizeConfig.minHeight,
|
|
189
|
+
height: sizeConfig.minHeight
|
|
190
|
+
},
|
|
191
|
+
textColor: c.text,
|
|
192
|
+
ringColor: c.primary
|
|
193
|
+
};
|
|
194
|
+
case 'text':
|
|
195
|
+
case 'link':
|
|
196
|
+
default:
|
|
197
|
+
return {
|
|
198
|
+
container: {
|
|
199
|
+
backgroundColor: 'transparent',
|
|
200
|
+
borderRadius: 0
|
|
201
|
+
},
|
|
202
|
+
textColor: c.primary,
|
|
203
|
+
ringColor: c.primary
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// ---------------------------------------------------------------------------
|
|
209
|
+
// Component
|
|
210
|
+
// ---------------------------------------------------------------------------
|
|
211
|
+
|
|
212
|
+
const ButtonWebComponent = ({
|
|
213
|
+
onPress,
|
|
214
|
+
onClick,
|
|
215
|
+
children,
|
|
216
|
+
disabled = false,
|
|
217
|
+
variant = 'primary',
|
|
218
|
+
size: sizeProp = 'medium',
|
|
219
|
+
style,
|
|
220
|
+
icon,
|
|
221
|
+
iconPosition = 'left',
|
|
222
|
+
loading = false,
|
|
223
|
+
loadingColor,
|
|
224
|
+
accessibilityLabel,
|
|
225
|
+
'aria-label': ariaLabelProp,
|
|
226
|
+
accessibilityHint,
|
|
227
|
+
testID,
|
|
228
|
+
className,
|
|
229
|
+
type = 'button',
|
|
230
|
+
asChild = false,
|
|
231
|
+
id,
|
|
232
|
+
name,
|
|
233
|
+
value,
|
|
234
|
+
title,
|
|
235
|
+
autoFocus,
|
|
236
|
+
tabIndex,
|
|
237
|
+
fullWidth = false
|
|
238
|
+
}) => {
|
|
239
|
+
useButtonCss();
|
|
240
|
+
const theme = useTheme();
|
|
241
|
+
const reactId = useId();
|
|
242
|
+
const resolvedId = id ?? `bloom-btn-${reactId}`;
|
|
243
|
+
|
|
244
|
+
// `size="icon"` shorthand also selects the icon variant unless the caller
|
|
245
|
+
// explicitly picked one — mirrors native + shadcn behavior.
|
|
246
|
+
const resolvedVariant = sizeProp === 'icon' && variant === 'primary' ? 'icon' : variant;
|
|
247
|
+
const size = SIZE_ALIAS[sizeProp];
|
|
248
|
+
const isIcon = resolvedVariant === 'icon';
|
|
249
|
+
const isInteractionBlocked = disabled || loading;
|
|
250
|
+
const variantStyle = useMemo(() => resolveVariantStyle(resolvedVariant, size, theme), [resolvedVariant, size, theme]);
|
|
251
|
+
const sizeConfig = SIZE_CONFIG[size];
|
|
252
|
+
const containerStyle = useMemo(() => {
|
|
253
|
+
const base = {
|
|
254
|
+
fontSize: sizeConfig.fontSize,
|
|
255
|
+
fontWeight: 'bold',
|
|
256
|
+
color: variantStyle.textColor,
|
|
257
|
+
width: fullWidth ? '100%' : undefined,
|
|
258
|
+
// CSS custom props consumed by the static stylesheet.
|
|
259
|
+
['--bloom-btn-ring']: variantStyle.ringColor,
|
|
260
|
+
['--bloom-btn-press-scale']: SCALE_VARIANTS.has(resolvedVariant) ? PRESS_SCALE : 1,
|
|
261
|
+
...variantStyle.container
|
|
262
|
+
};
|
|
263
|
+
if (!isIcon) {
|
|
264
|
+
base.paddingTop = sizeConfig.paddingVertical;
|
|
265
|
+
base.paddingBottom = sizeConfig.paddingVertical;
|
|
266
|
+
base.paddingLeft = sizeConfig.paddingHorizontal;
|
|
267
|
+
base.paddingRight = sizeConfig.paddingHorizontal;
|
|
268
|
+
base.minHeight = sizeConfig.minHeight;
|
|
269
|
+
}
|
|
270
|
+
if (resolvedVariant === 'text' || resolvedVariant === 'link') {
|
|
271
|
+
base.paddingTop = 4;
|
|
272
|
+
base.paddingBottom = 4;
|
|
273
|
+
base.paddingLeft = 8;
|
|
274
|
+
base.paddingRight = 8;
|
|
275
|
+
base.minHeight = undefined;
|
|
276
|
+
}
|
|
277
|
+
return base;
|
|
278
|
+
}, [sizeConfig, variantStyle, fullWidth, isIcon, resolvedVariant]);
|
|
279
|
+
const handleClick = useCallback(event => {
|
|
280
|
+
if (isInteractionBlocked) {
|
|
281
|
+
event.preventDefault();
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
onClick?.(event);
|
|
285
|
+
onPress?.();
|
|
286
|
+
}, [isInteractionBlocked, onClick, onPress]);
|
|
287
|
+
const ariaLabel = ariaLabelProp ?? accessibilityLabel;
|
|
288
|
+
const composedClassName = ['bloom-btn'].concat(resolvedVariant === 'link' ? ['bloom-btn--link'] : []).concat(className ? [className] : []).join(' ');
|
|
289
|
+
const spinnerColor = loadingColor ?? variantStyle.textColor;
|
|
290
|
+
const content = /*#__PURE__*/_jsxs(_Fragment, {
|
|
291
|
+
children: [iconPosition === 'left' && icon, children != null && (typeof children === 'string' || typeof children === 'number' ? /*#__PURE__*/_jsx("span", {
|
|
292
|
+
children: children
|
|
293
|
+
}) : children), iconPosition === 'right' && icon]
|
|
294
|
+
});
|
|
295
|
+
const body = loading ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
296
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
297
|
+
"aria-hidden": "true",
|
|
298
|
+
style: {
|
|
299
|
+
display: 'inline-flex',
|
|
300
|
+
alignItems: 'center',
|
|
301
|
+
justifyContent: 'center',
|
|
302
|
+
gap: 8,
|
|
303
|
+
opacity: 0,
|
|
304
|
+
pointerEvents: 'none'
|
|
305
|
+
},
|
|
306
|
+
children: content
|
|
307
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
308
|
+
"aria-hidden": "true",
|
|
309
|
+
style: {
|
|
310
|
+
position: 'absolute',
|
|
311
|
+
inset: 0,
|
|
312
|
+
display: 'inline-flex',
|
|
313
|
+
alignItems: 'center',
|
|
314
|
+
justifyContent: 'center',
|
|
315
|
+
pointerEvents: 'none'
|
|
316
|
+
},
|
|
317
|
+
children: /*#__PURE__*/_jsx(SpinnerIcon, {
|
|
318
|
+
size: Math.round(sizeConfig.fontSize * 1.2),
|
|
319
|
+
color: spinnerColor
|
|
320
|
+
})
|
|
321
|
+
})]
|
|
322
|
+
}) : content;
|
|
323
|
+
|
|
324
|
+
// asChild: render the provided child element (e.g. <a> / router <Link>) with
|
|
325
|
+
// the button styling and handlers merged in. Used for link-buttons.
|
|
326
|
+
if (asChild && /*#__PURE__*/React.isValidElement(children)) {
|
|
327
|
+
const child = children;
|
|
328
|
+
const childProps = child.props;
|
|
329
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
330
|
+
className: [composedClassName, childProps.className].filter(Boolean).join(' '),
|
|
331
|
+
style: {
|
|
332
|
+
...containerStyle,
|
|
333
|
+
...style,
|
|
334
|
+
...childProps.style
|
|
335
|
+
},
|
|
336
|
+
onClick: event => {
|
|
337
|
+
if (isInteractionBlocked) {
|
|
338
|
+
event.preventDefault();
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
childProps.onClick?.(event);
|
|
342
|
+
onClick?.(event);
|
|
343
|
+
onPress?.();
|
|
344
|
+
},
|
|
345
|
+
'aria-disabled': isInteractionBlocked || undefined,
|
|
346
|
+
'aria-busy': loading || undefined,
|
|
347
|
+
'aria-label': ariaLabel ?? childProps['aria-label'],
|
|
348
|
+
title: title ?? childProps.title,
|
|
349
|
+
id: childProps.id ?? resolvedId,
|
|
350
|
+
tabIndex: isInteractionBlocked ? -1 : childProps.tabIndex
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
return /*#__PURE__*/_jsx("button", {
|
|
354
|
+
id: resolvedId,
|
|
355
|
+
type: type,
|
|
356
|
+
name: name,
|
|
357
|
+
value: value,
|
|
358
|
+
className: composedClassName,
|
|
359
|
+
style: {
|
|
360
|
+
...containerStyle,
|
|
361
|
+
...style
|
|
362
|
+
},
|
|
363
|
+
onClick: handleClick,
|
|
364
|
+
disabled: disabled && !loading,
|
|
365
|
+
"aria-disabled": isInteractionBlocked || undefined,
|
|
366
|
+
"aria-busy": loading || undefined,
|
|
367
|
+
"aria-label": ariaLabel,
|
|
368
|
+
title: title ?? accessibilityHint,
|
|
369
|
+
autoFocus: autoFocus,
|
|
370
|
+
tabIndex: tabIndex,
|
|
371
|
+
"data-testid": testID,
|
|
372
|
+
children: body
|
|
373
|
+
});
|
|
374
|
+
};
|
|
375
|
+
export const Button = /*#__PURE__*/memo(ButtonWebComponent);
|
|
376
|
+
Button.displayName = 'Button';
|
|
377
|
+
export const PrimaryButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
378
|
+
...props,
|
|
379
|
+
variant: "primary"
|
|
380
|
+
}));
|
|
381
|
+
PrimaryButton.displayName = 'PrimaryButton';
|
|
382
|
+
export const SecondaryButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
383
|
+
...props,
|
|
384
|
+
variant: "secondary"
|
|
385
|
+
}));
|
|
386
|
+
SecondaryButton.displayName = 'SecondaryButton';
|
|
387
|
+
export const IconButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
388
|
+
...props,
|
|
389
|
+
variant: "icon"
|
|
390
|
+
}));
|
|
391
|
+
IconButton.displayName = 'IconButton';
|
|
392
|
+
export const GhostButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
393
|
+
...props,
|
|
394
|
+
variant: "ghost"
|
|
395
|
+
}));
|
|
396
|
+
GhostButton.displayName = 'GhostButton';
|
|
397
|
+
export const InverseButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
398
|
+
...props,
|
|
399
|
+
variant: "inverse"
|
|
400
|
+
}));
|
|
401
|
+
InverseButton.displayName = 'InverseButton';
|
|
402
|
+
export const TextButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
403
|
+
...props,
|
|
404
|
+
variant: "text"
|
|
405
|
+
}));
|
|
406
|
+
TextButton.displayName = 'TextButton';
|
|
407
|
+
export const OutlineButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
408
|
+
...props,
|
|
409
|
+
variant: "outline"
|
|
410
|
+
}));
|
|
411
|
+
OutlineButton.displayName = 'OutlineButton';
|
|
412
|
+
export const LinkButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
413
|
+
...props,
|
|
414
|
+
variant: "link"
|
|
415
|
+
}));
|
|
416
|
+
LinkButton.displayName = 'LinkButton';
|
|
417
|
+
export const DestructiveButton = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(Button, {
|
|
418
|
+
...props,
|
|
419
|
+
variant: "destructive"
|
|
420
|
+
}));
|
|
421
|
+
DestructiveButton.displayName = 'DestructiveButton';
|
|
422
|
+
//# sourceMappingURL=Button.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useEffect","useId","useMemo","useTheme","SpinnerIcon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SIZE_CONFIG","small","paddingVertical","paddingHorizontal","fontSize","minHeight","medium","large","SIZE_ALIAS","sm","md","lg","icon","PILL_RADIUS","GHOST_RADIUS","ICON_RADIUS","PRESS_SCALE","SCALE_VARIANTS","Set","STYLE_ID","BLOOM_BUTTON_CSS","useButtonCss","document","getElementById","style","createElement","id","textContent","head","appendChild","resolveVariantStyle","variant","size","theme","c","colors","sizeConfig","container","backgroundColor","primary","borderRadius","textColor","primaryForeground","ringColor","negative","negativeForeground","borderWidth","borderStyle","borderColor","border","text","background","padding","width","height","ButtonWebComponent","onPress","onClick","children","disabled","sizeProp","iconPosition","loading","loadingColor","accessibilityLabel","ariaLabelProp","accessibilityHint","testID","className","type","asChild","name","value","title","autoFocus","tabIndex","fullWidth","reactId","resolvedId","resolvedVariant","isIcon","isInteractionBlocked","variantStyle","containerStyle","base","fontWeight","color","undefined","has","paddingTop","paddingBottom","paddingLeft","paddingRight","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","spinnerColor","content","body","display","alignItems","justifyContent","gap","opacity","pointerEvents","position","inset","Math","round","isValidElement","child","childProps","props","cloneElement","filter","Boolean","Button","displayName","PrimaryButton","SecondaryButton","IconButton","GhostButton","InverseButton","TextButton","OutlineButton","LinkButton","DestructiveButton"],"sourceRoot":"../../../src","sources":["button/Button.web.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,KAAK,EACLC,OAAO,QAIF,OAAO;AAEd,SAASC,QAAQ,QAAQ,uBAAoB;AAE7C,SAASC,WAAW,QAAQ,+BAA4B;;AAKxD;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAWA,MAAMC,WAA2C,GAAG;EAClDC,KAAK,EAAE;IAAEC,eAAe,EAAE,CAAC;IAAEC,iBAAiB,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,SAAS,EAAE;EAAG,CAAC;EACjFC,MAAM,EAAE;IAAEJ,eAAe,EAAE,CAAC;IAAEC,iBAAiB,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,SAAS,EAAE;EAAG,CAAC;EAClFE,KAAK,EAAE;IAAEL,eAAe,EAAE,EAAE;IAAEC,iBAAiB,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,SAAS,EAAE;EAAG;AACnF,CAAC;AAED,MAAMG,UAA0C,GAAG;EACjDP,KAAK,EAAE,OAAO;EACdK,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdE,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,QAAQ;EACZC,EAAE,EAAE,OAAO;EACXC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,WAAW,GAAG,GAAG;AACvB,MAAMC,WAAW,GAAG,IAAI;;AAExB;AACA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,QAAQ,GAAG,sBAAsB;;AAEvC;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,SAASC,YAAYA,CAAA,EAAS;EAC5BhC,SAAS,CAAC,MAAM;IACd,IAAI,OAAOiC,QAAQ,KAAK,WAAW,EAAE;IACrC,IAAIA,QAAQ,CAACC,cAAc,CAACJ,QAAQ,CAAC,EAAE;IACvC,MAAMK,KAAK,GAAGF,QAAQ,CAACG,aAAa,CAAC,OAAO,CAAC;IAC7CD,KAAK,CAACE,EAAE,GAAGP,QAAQ;IACnBK,KAAK,CAACG,WAAW,GAAGP,gBAAgB;IACpCE,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACL,KAAK,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAWA,SAASM,mBAAmBA,CAC1BC,OAAsB,EACtBC,IAAgB,EAChBC,KAAY,EACE;EACd,MAAMC,CAAC,GAAGD,KAAK,CAACE,MAAM;EACtB,MAAMC,UAAU,GAAGpC,WAAW,CAACgC,IAAI,CAAC;EAEpC,QAAQD,OAAO;IACb,KAAK,SAAS;MACZ,OAAO;QACLM,SAAS,EAAE;UAAEC,eAAe,EAAEJ,CAAC,CAACK,OAAO;UAAEC,YAAY,EAAE3B;QAAY,CAAC;QACpE4B,SAAS,EAAEP,CAAC,CAACQ,iBAAiB;QAC9BC,SAAS,EAAET,CAAC,CAACK;MACf,CAAC;IACH,KAAK,aAAa;MAChB,OAAO;QACLF,SAAS,EAAE;UAAEC,eAAe,EAAEJ,CAAC,CAACU,QAAQ;UAAEJ,YAAY,EAAE3B;QAAY,CAAC;QACrE4B,SAAS,EAAEP,CAAC,CAACW,kBAAkB;QAC/BF,SAAS,EAAET,CAAC,CAACU;MACf,CAAC;IACH,KAAK,SAAS;MACZ,OAAO;QACLP,SAAS,EAAE;UAAEC,eAAe,EAAE,SAAS;UAAEE,YAAY,EAAE3B;QAAY,CAAC;QACpE4B,SAAS,EAAE,SAAS;QACpBE,SAAS,EAAET,CAAC,CAACK;MACf,CAAC;IACH,KAAK,WAAW;IAChB,KAAK,SAAS;MACZ,OAAO;QACLF,SAAS,EAAE;UACTC,eAAe,EAAE,aAAa;UAC9BQ,WAAW,EAAE,CAAC;UACdC,WAAW,EAAE,OAAO;UACpBC,WAAW,EAAEd,CAAC,CAACe,MAAM;UACrBT,YAAY,EAAE3B;QAChB,CAAC;QACD4B,SAAS,EAAEP,CAAC,CAACgB,IAAI;QACjBP,SAAS,EAAET,CAAC,CAACK;MACf,CAAC;IACH,KAAK,OAAO;MACV,OAAO;QACLF,SAAS,EAAE;UAAEC,eAAe,EAAE,aAAa;UAAEE,YAAY,EAAE1B;QAAa,CAAC;QACzE2B,SAAS,EAAEP,CAAC,CAACK,OAAO;QACpBI,SAAS,EAAET,CAAC,CAACK;MACf,CAAC;IACH,KAAK,MAAM;MACT,OAAO;QACLF,SAAS,EAAE;UACTC,eAAe,EAAEJ,CAAC,CAACiB,UAAU;UAC7BL,WAAW,EAAE,CAAC;UACdC,WAAW,EAAE,OAAO;UACpBC,WAAW,EAAEd,CAAC,CAACe,MAAM;UACrBT,YAAY,EAAEzB,WAAW;UACzBqC,OAAO,EAAE,CAAC;UACVC,KAAK,EAAEjB,UAAU,CAAC/B,SAAS;UAC3BiD,MAAM,EAAElB,UAAU,CAAC/B;QACrB,CAAC;QACDoC,SAAS,EAAEP,CAAC,CAACgB,IAAI;QACjBP,SAAS,EAAET,CAAC,CAACK;MACf,CAAC;IACH,KAAK,MAAM;IACX,KAAK,MAAM;IACX;MACE,OAAO;QACLF,SAAS,EAAE;UAAEC,eAAe,EAAE,aAAa;UAAEE,YAAY,EAAE;QAAE,CAAC;QAC9DC,SAAS,EAAEP,CAAC,CAACK,OAAO;QACpBI,SAAS,EAAET,CAAC,CAACK;MACf,CAAC;EACL;AACF;;AAEA;AACA;AACA;;AAEA,MAAMgB,kBAAyC,GAAGA,CAAC;EACjDC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChB5B,OAAO,GAAG,SAAS;EACnBC,IAAI,EAAE4B,QAAQ,GAAG,QAAQ;EACzBpC,KAAK;EACLZ,IAAI;EACJiD,YAAY,GAAG,MAAM;EACrBC,OAAO,GAAG,KAAK;EACfC,YAAY;EACZC,kBAAkB;EAClB,YAAY,EAAEC,aAAa;EAC3BC,iBAAiB;EACjBC,MAAM;EACNC,SAAS;EACTC,IAAI,GAAG,QAAQ;EACfC,OAAO,GAAG,KAAK;EACf5C,EAAE;EACF6C,IAAI;EACJC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,QAAQ;EACRC,SAAS,GAAG;AACd,CAAC,KAAK;EACJvD,YAAY,CAAC,CAAC;EACd,MAAMY,KAAK,GAAGzC,QAAQ,CAAC,CAAC;EACxB,MAAMqF,OAAO,GAAGvF,KAAK,CAAC,CAAC;EACvB,MAAMwF,UAAU,GAAGpD,EAAE,IAAI,aAAamD,OAAO,EAAE;;EAE/C;EACA;EACA,MAAME,eAA8B,GAClCnB,QAAQ,KAAK,MAAM,IAAI7B,OAAO,KAAK,SAAS,GAAG,MAAM,GAAGA,OAAO;EACjE,MAAMC,IAAgB,GAAGxB,UAAU,CAACoD,QAAQ,CAAC;EAC7C,MAAMoB,MAAM,GAAGD,eAAe,KAAK,MAAM;EACzC,MAAME,oBAAoB,GAAGtB,QAAQ,IAAIG,OAAO;EAEhD,MAAMoB,YAAY,GAAG3F,OAAO,CAC1B,MAAMuC,mBAAmB,CAACiD,eAAe,EAAE/C,IAAI,EAAEC,KAAK,CAAC,EACvD,CAAC8C,eAAe,EAAE/C,IAAI,EAAEC,KAAK,CAC/B,CAAC;EAED,MAAMG,UAAU,GAAGpC,WAAW,CAACgC,IAAI,CAAC;EAEpC,MAAMmD,cAAc,GAAG5F,OAAO,CAAC,MAAqB;IAClD,MAAM6F,IAAmB,GAAG;MAC1BhF,QAAQ,EAAEgC,UAAU,CAAChC,QAAQ;MAC7BiF,UAAU,EAAE,MAAM;MAClBC,KAAK,EAAEJ,YAAY,CAACzC,SAAS;MAC7BY,KAAK,EAAEuB,SAAS,GAAG,MAAM,GAAGW,SAAS;MACrC;MACA,CAAC,kBAAkB,GAAaL,YAAY,CAACvC,SAAS;MACtD,CAAC,yBAAyB,GAAa1B,cAAc,CAACuE,GAAG,CAACT,eAAe,CAAC,GACtE/D,WAAW,GACX,CAAC;MACL,GAAGkE,YAAY,CAAC7C;IAClB,CAAC;IACD,IAAI,CAAC2C,MAAM,EAAE;MACXI,IAAI,CAACK,UAAU,GAAGrD,UAAU,CAAClC,eAAe;MAC5CkF,IAAI,CAACM,aAAa,GAAGtD,UAAU,CAAClC,eAAe;MAC/CkF,IAAI,CAACO,WAAW,GAAGvD,UAAU,CAACjC,iBAAiB;MAC/CiF,IAAI,CAACQ,YAAY,GAAGxD,UAAU,CAACjC,iBAAiB;MAChDiF,IAAI,CAAC/E,SAAS,GAAG+B,UAAU,CAAC/B,SAAS;IACvC;IACA,IAAI0E,eAAe,KAAK,MAAM,IAAIA,eAAe,KAAK,MAAM,EAAE;MAC5DK,IAAI,CAACK,UAAU,GAAG,CAAC;MACnBL,IAAI,CAACM,aAAa,GAAG,CAAC;MACtBN,IAAI,CAACO,WAAW,GAAG,CAAC;MACpBP,IAAI,CAACQ,YAAY,GAAG,CAAC;MACrBR,IAAI,CAAC/E,SAAS,GAAGkF,SAAS;IAC5B;IACA,OAAOH,IAAI;EACb,CAAC,EAAE,CAAChD,UAAU,EAAE8C,YAAY,EAAEN,SAAS,EAAEI,MAAM,EAAED,eAAe,CAAC,CAAC;EAElE,MAAMc,WAAW,GAAGzG,WAAW,CAC5B0G,KAAoC,IAAK;IACxC,IAAIb,oBAAoB,EAAE;MACxBa,KAAK,CAACC,cAAc,CAAC,CAAC;MACtB;IACF;IACAtC,OAAO,GAAGqC,KAAK,CAAC;IAChBtC,OAAO,GAAG,CAAC;EACb,CAAC,EACD,CAACyB,oBAAoB,EAAExB,OAAO,EAAED,OAAO,CACzC,CAAC;EAED,MAAMwC,SAAS,GAAG/B,aAAa,IAAID,kBAAkB;EACrD,MAAMiC,iBAAiB,GAAG,CAAC,WAAW,CAAC,CACpCC,MAAM,CAACnB,eAAe,KAAK,MAAM,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAC7DmB,MAAM,CAAC9B,SAAS,GAAG,CAACA,SAAS,CAAC,GAAG,EAAE,CAAC,CACpC+B,IAAI,CAAC,GAAG,CAAC;EAEZ,MAAMC,YAAY,GAAGrC,YAAY,IAAImB,YAAY,CAACzC,SAAS;EAE3D,MAAM4D,OAAO,gBACXtG,KAAA,CAAAF,SAAA;IAAA6D,QAAA,GACGG,YAAY,KAAK,MAAM,IAAIjD,IAAI,EAC/B8C,QAAQ,IAAI,IAAI,KACd,OAAOA,QAAQ,KAAK,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,gBAC3D/D,IAAA;MAAA+D,QAAA,EAAOA;IAAQ,CAAO,CAAC,GAEvBA,QACD,CAAC,EACHG,YAAY,KAAK,OAAO,IAAIjD,IAAI;EAAA,CACjC,CACH;EAED,MAAM0F,IAAI,GAAGxC,OAAO,gBAClB/D,KAAA,CAAAF,SAAA;IAAA6D,QAAA,gBAEE/D,IAAA;MACE,eAAY,MAAM;MAClB6B,KAAK,EAAE;QACL+E,OAAO,EAAE,aAAa;QACtBC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,GAAG,EAAE,CAAC;QACNC,OAAO,EAAE,CAAC;QACVC,aAAa,EAAE;MACjB,CAAE;MAAAlD,QAAA,EAED2C;IAAO,CACJ,CAAC,eACP1G,IAAA;MACE,eAAY,MAAM;MAClB6B,KAAK,EAAE;QACLqF,QAAQ,EAAE,UAAU;QACpBC,KAAK,EAAE,CAAC;QACRP,OAAO,EAAE,aAAa;QACtBC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBG,aAAa,EAAE;MACjB,CAAE;MAAAlD,QAAA,eAEF/D,IAAA,CAACF,WAAW;QAACuC,IAAI,EAAE+E,IAAI,CAACC,KAAK,CAAC5E,UAAU,CAAChC,QAAQ,GAAG,GAAG,CAAE;QAACkF,KAAK,EAAEc;MAAa,CAAE;IAAC,CAC7E,CAAC;EAAA,CACP,CAAC,GAEHC,OACD;;EAED;EACA;EACA,IAAI/B,OAAO,iBAAIpF,KAAK,CAAC+H,cAAc,CAACvD,QAAQ,CAAC,EAAE;IAC7C,MAAMwD,KAAK,GAAGxD,QAUZ;IACF,MAAMyD,UAAU,GAAGD,KAAK,CAACE,KAAK;IAC9B,oBAAOlI,KAAK,CAACmI,YAAY,CAACH,KAAK,EAAE;MAC/B9C,SAAS,EAAE,CAAC6B,iBAAiB,EAAEkB,UAAU,CAAC/C,SAAS,CAAC,CAACkD,MAAM,CAACC,OAAO,CAAC,CAACpB,IAAI,CAAC,GAAG,CAAC;MAC9E3E,KAAK,EAAE;QAAE,GAAG2D,cAAc;QAAE,GAAI3D,KAAuB;QAAE,GAAG2F,UAAU,CAAC3F;MAAM,CAAC;MAC9EiC,OAAO,EAAGqC,KAA8B,IAAK;QAC3C,IAAIb,oBAAoB,EAAE;UACxBa,KAAK,CAACC,cAAc,CAAC,CAAC;UACtB;QACF;QACAoB,UAAU,CAAC1D,OAAO,GAAGqC,KAAK,CAAC;QAC3BrC,OAAO,GAAGqC,KAAsC,CAAC;QACjDtC,OAAO,GAAG,CAAC;MACb,CAAC;MACD,eAAe,EAAEyB,oBAAoB,IAAIM,SAAS;MAClD,WAAW,EAAEzB,OAAO,IAAIyB,SAAS;MACjC,YAAY,EAAES,SAAS,IAAImB,UAAU,CAAC,YAAY,CAAC;MACnD1C,KAAK,EAAEA,KAAK,IAAI0C,UAAU,CAAC1C,KAAK;MAChC/C,EAAE,EAAEyF,UAAU,CAACzF,EAAE,IAAIoD,UAAU;MAC/BH,QAAQ,EAAEM,oBAAoB,GAAG,CAAC,CAAC,GAAGkC,UAAU,CAACxC;IACnD,CAAC,CAAC;EACJ;EAEA,oBACEhF,IAAA;IACE+B,EAAE,EAAEoD,UAAW;IACfT,IAAI,EAAEA,IAAK;IACXE,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbJ,SAAS,EAAE6B,iBAAkB;IAC7BzE,KAAK,EAAE;MAAE,GAAG2D,cAAc;MAAE,GAAI3D;IAAwB,CAAE;IAC1DiC,OAAO,EAAEoC,WAAY;IACrBlC,QAAQ,EAAEA,QAAQ,IAAI,CAACG,OAAQ;IAC/B,iBAAemB,oBAAoB,IAAIM,SAAU;IACjD,aAAWzB,OAAO,IAAIyB,SAAU;IAChC,cAAYS,SAAU;IACtBvB,KAAK,EAAEA,KAAK,IAAIP,iBAAkB;IAClCQ,SAAS,EAAEA,SAAU;IACrBC,QAAQ,EAAEA,QAAS;IACnB,eAAaR,MAAO;IAAAT,QAAA,EAEnB4C;EAAI,CACC,CAAC;AAEb,CAAC;AAED,OAAO,MAAMkB,MAAM,gBAAGrI,IAAI,CAACoE,kBAAkB,CAAC;AAC9CiE,MAAM,CAACC,WAAW,GAAG,QAAQ;AAE7B,OAAO,MAAMC,aAAa,gBAAGvI,IAAI,CAAEiI,KAAmC,iBACpEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAS,CAAE,CACvC,CAAC;AACF2F,aAAa,CAACD,WAAW,GAAG,eAAe;AAE3C,OAAO,MAAME,eAAe,gBAAGxI,IAAI,CAAEiI,KAAmC,iBACtEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAW,CAAE,CACzC,CAAC;AACF4F,eAAe,CAACF,WAAW,GAAG,iBAAiB;AAE/C,OAAO,MAAMG,UAAU,gBAAGzI,IAAI,CAAEiI,KAAmC,iBACjEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAM,CAAE,CACpC,CAAC;AACF6F,UAAU,CAACH,WAAW,GAAG,YAAY;AAErC,OAAO,MAAMI,WAAW,gBAAG1I,IAAI,CAAEiI,KAAmC,iBAClEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAO,CAAE,CACrC,CAAC;AACF8F,WAAW,CAACJ,WAAW,GAAG,aAAa;AAEvC,OAAO,MAAMK,aAAa,gBAAG3I,IAAI,CAAEiI,KAAmC,iBACpEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAS,CAAE,CACvC,CAAC;AACF+F,aAAa,CAACL,WAAW,GAAG,eAAe;AAE3C,OAAO,MAAMM,UAAU,gBAAG5I,IAAI,CAAEiI,KAAmC,iBACjEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAM,CAAE,CACpC,CAAC;AACFgG,UAAU,CAACN,WAAW,GAAG,YAAY;AAErC,OAAO,MAAMO,aAAa,gBAAG7I,IAAI,CAAEiI,KAAmC,iBACpEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAS,CAAE,CACvC,CAAC;AACFiG,aAAa,CAACP,WAAW,GAAG,eAAe;AAE3C,OAAO,MAAMQ,UAAU,gBAAG9I,IAAI,CAAEiI,KAAmC,iBACjEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAM,CAAE,CACpC,CAAC;AACFkG,UAAU,CAACR,WAAW,GAAG,YAAY;AAErC,OAAO,MAAMS,iBAAiB,gBAAG/I,IAAI,CAAEiI,KAAmC,iBACxEzH,IAAA,CAAC6H,MAAM;EAAA,GAAKJ,KAAK;EAAErF,OAAO,EAAC;AAAa,CAAE,CAC3C,CAAC;AACFmG,iBAAiB,CAACT,WAAW,GAAG,mBAAmB","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { Button, PrimaryButton, SecondaryButton, IconButton, GhostButton, TextButton } from
|
|
3
|
+
export { Button, PrimaryButton, SecondaryButton, IconButton, GhostButton, TextButton, InverseButton, OutlineButton, LinkButton, DestructiveButton } from './Button';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","PrimaryButton","SecondaryButton","IconButton","GhostButton","TextButton"],"sourceRoot":"../../../src","sources":["button/index.ts"],"mappings":";;AAAA,SACEA,MAAM,EACNC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,WAAW,EACXC,UAAU,
|
|
1
|
+
{"version":3,"names":["Button","PrimaryButton","SecondaryButton","IconButton","GhostButton","TextButton","InverseButton","OutlineButton","LinkButton","DestructiveButton"],"sourceRoot":"../../../src","sources":["button/index.ts"],"mappings":";;AAAA,SACEA,MAAM,EACNC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,aAAa,EACbC,aAAa,EACbC,UAAU,EACVC,iBAAiB,QACZ,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Web variant of the `./button` barrel.
|
|
4
|
+
//
|
|
5
|
+
// The default barrel (`./index.ts`) re-exports the React Native (`Pressable`)
|
|
6
|
+
// implementation. Via react-native-web that renders `<button type="button">`,
|
|
7
|
+
// which breaks form submits, HTML5 validation, Enter-to-submit, `className`
|
|
8
|
+
// layout passthrough, `asChild`/links, and lacks the `outline`/`link`/
|
|
9
|
+
// `destructive` variants web apps use. This fork (`./Button.web`) renders a real
|
|
10
|
+
// HTML `<button>` with full web semantics while keeping the SAME Bloom design
|
|
11
|
+
// tokens, variants, and sizes so it is visually identical to the native button.
|
|
12
|
+
//
|
|
13
|
+
// Web bundlers select this file via the `"browser"` export condition in
|
|
14
|
+
// `package.json`'s `exports['./button']`; native bundlers fall through to the
|
|
15
|
+
// React Native build. Types are platform-agnostic, so they come from `./types`.
|
|
16
|
+
export { Button, PrimaryButton, SecondaryButton, IconButton, GhostButton, TextButton, InverseButton, OutlineButton, LinkButton, DestructiveButton } from "./Button.web.js";
|
|
17
|
+
//# sourceMappingURL=index.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Button","PrimaryButton","SecondaryButton","IconButton","GhostButton","TextButton","InverseButton","OutlineButton","LinkButton","DestructiveButton"],"sourceRoot":"../../../src","sources":["button/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,MAAM,EACNC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,aAAa,EACbC,aAAa,EACbC,UAAU,EACVC,iBAAiB,QACZ,iBAAc","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -20,7 +20,7 @@ export { sizes as iconSizes, useCommonSVGProps } from "./icons/common.js";
|
|
|
20
20
|
// Core components
|
|
21
21
|
export * from './portal';
|
|
22
22
|
export { Dialog, CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from './dialog';
|
|
23
|
-
export * from
|
|
23
|
+
export * from './button';
|
|
24
24
|
export * from "./grouped-buttons/index.js";
|
|
25
25
|
export * from "./divider/index.js";
|
|
26
26
|
export * from "./radio-indicator/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAWjB,cAAc,
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAWjB,cAAc,UAAU;AACxB,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,yBAAgB;AAE5C,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,WAAW;AACzB,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,SAAS;;AAE3C;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,YAAY;AAGrC;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,WAAW,MAAM,gBAAgB;AAC7C,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,gBAAgB;AAMtE,SAASC,OAAO,QAAQ,WAAW;AAGnC;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -25,7 +25,7 @@ export { sizes as iconSizes, useCommonSVGProps } from "./icons/common.js";
|
|
|
25
25
|
// Core components
|
|
26
26
|
export * from "./portal/index.web.js";
|
|
27
27
|
export { Dialog, CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from "./dialog/index.web.js";
|
|
28
|
-
export * from "./button/index.js";
|
|
28
|
+
export * from "./button/index.web.js";
|
|
29
29
|
export * from "./grouped-buttons/index.js";
|
|
30
30
|
export * from "./divider/index.js";
|
|
31
31
|
export * from "./radio-indicator/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAW3B,cAAc,
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAW3B,cAAc,uBAAoB;AAClC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,qBAAkB;AACxC,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,OAAO,KAAKC,MAAM,MAAM,uBAAoB;AAC5C,OAAO,KAAKC,WAAW,MAAM,6BAA0B;AACvD,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}
|
package/lib/module/menu/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import React, { cloneElement, Fragment, isValidElement, useCallback, useMemo, us
|
|
|
4
4
|
import { Pressable, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { Text } from "../typography/index.js";
|
|
7
|
-
import { Button } from
|
|
7
|
+
import { Button } from '../button';
|
|
8
8
|
import { useDialogControl } from "../dialog/context.js";
|
|
9
9
|
import { SheetShell } from "../dialog/SheetShell.js";
|
|
10
10
|
import { MenuContext, ItemContext, useMenuContext, useMenuItemContext } from "./context.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","cloneElement","Fragment","isValidElement","useCallback","useMemo","useState","Pressable","StyleSheet","View","useTheme","Text","Button","useDialogControl","SheetShell","MenuContext","ItemContext","useMenuContext","useMenuItemContext","jsx","_jsx","jsxs","_jsxs","useMenuControl","Root","children","control","defaultControl","context","Provider","value","Trigger","label","role","hint","focused","setFocused","pressed","setPressed","state","hovered","props","onPress","open","onFocus","onBlur","accessibilityHint","accessibilityLabel","accessibilityRole","Outer","showCancel","style","styles","outerContent","Cancel","Item","rest","theme","handlePress","e","close","isDisabled","Boolean","disabled","isHighlighted","itemContextValue","onPressIn","onPressOut","item","backgroundColor","colors","contrast50","borderColor","borderLight","backgroundSecondary","ItemText","numberOfLines","ellipsizeMode","itemText","color","textTertiary","text","ItemIcon","icon","Comp","fill","size","textSecondary","Group","childArray","Children","toArray","filter","group","map","child","i","type","groupDivider","borderBottomColor","borderRadius","borderWidth","Divider","variant","create","gap","flexDirection","alignItems","paddingHorizontal","overflow","minHeight","paddingVertical","flex","fontSize","fontWeight","borderBottomWidth"],"sourceRoot":"../../../src","sources":["menu/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,YAAY,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACrG,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAwC,cAAc;AAE1F,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,IAAI,QAAQ,wBAAe;AACpC,SAASC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"names":["React","cloneElement","Fragment","isValidElement","useCallback","useMemo","useState","Pressable","StyleSheet","View","useTheme","Text","Button","useDialogControl","SheetShell","MenuContext","ItemContext","useMenuContext","useMenuItemContext","jsx","_jsx","jsxs","_jsxs","useMenuControl","Root","children","control","defaultControl","context","Provider","value","Trigger","label","role","hint","focused","setFocused","pressed","setPressed","state","hovered","props","onPress","open","onFocus","onBlur","accessibilityHint","accessibilityLabel","accessibilityRole","Outer","showCancel","style","styles","outerContent","Cancel","Item","rest","theme","handlePress","e","close","isDisabled","Boolean","disabled","isHighlighted","itemContextValue","onPressIn","onPressOut","item","backgroundColor","colors","contrast50","borderColor","borderLight","backgroundSecondary","ItemText","numberOfLines","ellipsizeMode","itemText","color","textTertiary","text","ItemIcon","icon","Comp","fill","size","textSecondary","Group","childArray","Children","toArray","filter","group","map","child","i","type","groupDivider","borderBottomColor","borderRadius","borderWidth","Divider","variant","create","gap","flexDirection","alignItems","paddingHorizontal","overflow","minHeight","paddingVertical","flex","fontSize","fontWeight","borderBottomWidth"],"sourceRoot":"../../../src","sources":["menu/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,YAAY,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACrG,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAwC,cAAc;AAE1F,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,IAAI,QAAQ,wBAAe;AACpC,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,gBAAgB,QAAQ,sBAAmB;AACpD,SAASC,UAAU,QAAQ,yBAAsB;AAEjD,SACEC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,kBAAkB,QACb,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWnB,SAAST,gBAAgB,IAAIU,cAAc,QAAQ,sBAAmB;AACtE,SAASN,cAAc;AAEvB,OAAO,SAASO,IAAIA,CAAC;EACnBC,QAAQ;EACRC;AAGD,CAAC,EAAE;EACF,MAAMC,cAAc,GAAGd,gBAAgB,CAAC,CAAC;EACzC,MAAMe,OAAO,GAAGvB,OAAO,CACrB,OAAO;IACLqB,OAAO,EAAEA,OAAO,IAAIC;EACtB,CAAC,CAAC,EACF,CAACD,OAAO,EAAEC,cAAc,CAC1B,CAAC;EAED,oBACEP,IAAA,CAACL,WAAW,CAACc,QAAQ;IAACC,KAAK,EAAEF,OAAQ;IAAAH,QAAA,EAClCA;EAAQ,CACW,CAAC;AAE3B;AAEA,OAAO,SAASM,OAAOA,CAAC;EACtBN,QAAQ;EACRO,KAAK;EACLC,IAAI,GAAG,QAAQ;EACfC;AACY,CAAC,EAAE;EACf,MAAMN,OAAO,GAAGX,cAAc,CAAC,CAAC;EAChC,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG9B,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAAC+B,OAAO,EAAEC,UAAU,CAAC,GAAGhC,QAAQ,CAAC,KAAK,CAAC;EAE7C,OAAOmB,QAAQ,CAAC;IACdC,OAAO,EAAEE,OAAO,CAACF,OAAO;IACxBa,KAAK,EAAE;MACLC,OAAO,EAAE,KAAK;MACdL,OAAO;MACPE;IACF,CAAC;IACDI,KAAK,EAAE;MACLC,OAAO,EAAEA,CAAA,KAAMd,OAAO,CAACF,OAAO,CAACiB,IAAI,CAAC,CAAC;MACrCC,OAAO,EAAEA,CAAA,KAAMR,UAAU,CAAC,IAAI,CAAC;MAC/BS,MAAM,EAAEA,CAAA,KAAMT,UAAU,CAAC,KAAK,CAAC;MAC/BU,iBAAiB,EAAEZ,IAAI;MACvBa,kBAAkB,EAAEf,KAAK;MACzBgB,iBAAiB,EAAEf;IACrB;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASgB,KAAKA,CAAC;EACpBxB,QAAQ;EACRyB;AAID,CAAC,EAAE;EACF,MAAMtB,OAAO,GAAGX,cAAc,CAAC,CAAC;EAEhC,oBACEG,IAAA,CAACN,UAAU;IAACY,OAAO,EAAEE,OAAO,CAACF,OAAQ;IAACM,KAAK,EAAC,MAAM;IAAAP,QAAA,eAChDL,IAAA,CAACL,WAAW,CAACc,QAAQ;MAACC,KAAK,EAAEF,OAAQ;MAAAH,QAAA,eACnCH,KAAA,CAACb,IAAI;QAAC0C,KAAK,EAAEC,MAAM,CAACC,YAAa;QAAA5B,QAAA,GAC9BA,QAAQ,EACRyB,UAAU,iBAAI9B,IAAA,CAACkC,MAAM,IAAE,CAAC;MAAA,CACrB;IAAC,CACa;EAAC,CACb,CAAC;AAEjB;AAEA,OAAO,SAASC,IAAIA,CAAC;EAAE9B,QAAQ;EAAEO,KAAK;EAAEmB,KAAK;EAAET,OAAO;EAAE,GAAGc;AAAgB,CAAC,EAAE;EAC5E,MAAMC,KAAK,GAAG/C,QAAQ,CAAC,CAAC;EACxB,MAAMkB,OAAO,GAAGX,cAAc,CAAC,CAAC;EAChC,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG9B,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAAC+B,OAAO,EAAEC,UAAU,CAAC,GAAGhC,QAAQ,CAAC,KAAK,CAAC;EAE7C,MAAMoD,WAAW,GAAGtD,WAAW,CAC5BuD,CAA+C,IAAK;IACnD/B,OAAO,CAACF,OAAO,CAACkC,KAAK,CAAC,MAAM;MAC1BlB,OAAO,CAACiB,CAAC,CAAC;IACZ,CAAC,CAAC;EACJ,CAAC,EACD,CAAC/B,OAAO,CAACF,OAAO,EAAEgB,OAAO,CAC3B,CAAC;EAED,MAAMmB,UAAU,GAAGC,OAAO,CAACN,IAAI,CAACO,QAAQ,CAAC;EACzC,MAAMC,aAAa,GAAG,CAAC7B,OAAO,IAAIE,OAAO,KAAK,CAACwB,UAAU;EAEzD,MAAMI,gBAAgB,GAAG5D,OAAO,CAC9B,OAAO;IAAE0D,QAAQ,EAAEF;EAAW,CAAC,CAAC,EAChC,CAACA,UAAU,CACb,CAAC;EAED,oBACEzC,IAAA,CAACb,SAAS;IAAA,GACJiD,IAAI;IACRV,iBAAiB,EAAC,EAAE;IACpBC,kBAAkB,EAAEf,KAAM;IAC1BY,OAAO,EAAEA,CAAA,KAAMR,UAAU,CAAC,IAAI,CAAE;IAChCS,MAAM,EAAEA,CAAA,KAAMT,UAAU,CAAC,KAAK,CAAE;IAChCM,OAAO,EAAEgB,WAAY;IACrBQ,SAAS,EAAEA,CAAA,KAAM5B,UAAU,CAAC,IAAI,CAAE;IAClC6B,UAAU,EAAEA,CAAA,KAAM7B,UAAU,CAAC,KAAK,CAAE;IACpCa,KAAK,EAAE,CACLC,MAAM,CAACgB,IAAI,EACX;MACEC,eAAe,EAAEZ,KAAK,CAACa,MAAM,CAACC,UAAU;MACxCC,WAAW,EAAEf,KAAK,CAACa,MAAM,CAACG;IAC5B,CAAC,EACDT,aAAa,IAAI;MACfK,eAAe,EAAEZ,KAAK,CAACa,MAAM,CAACI;IAChC,CAAC,EACDvB,KAAK,CACL;IAAA1B,QAAA,eAEFL,IAAA,CAACJ,WAAW,CAACa,QAAQ;MAACC,KAAK,EAAEmC,gBAAiB;MAAAxC,QAAA,EAC3CA;IAAQ,CACW;EAAC,CACd,CAAC;AAEhB;AAEA,OAAO,SAASkD,QAAQA,CAAC;EAAElD,QAAQ;EAAE0B;AAAqB,CAAC,EAAE;EAC3D,MAAMM,KAAK,GAAG/C,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEqD;EAAS,CAAC,GAAG7C,kBAAkB,CAAC,CAAC;EAEzC,oBACEE,IAAA,CAACT,IAAI;IACHiE,aAAa,EAAE,CAAE;IACjBC,aAAa,EAAC,QAAQ;IACtB1B,KAAK,EAAE,CACLC,MAAM,CAAC0B,QAAQ,EACf;MAAEC,KAAK,EAAEhB,QAAQ,GAAGN,KAAK,CAACa,MAAM,CAACU,YAAY,GAAGvB,KAAK,CAACa,MAAM,CAACW;IAAK,CAAC,EACnE,IAAI9B,KAAK,GAAG,CAACA,KAAK,CAAC,GAAG,EAAE,CAAC,CACzB;IAAA1B,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX;AAEA,OAAO,SAASyD,QAAQA,CAAC;EAAEC,IAAI,EAAEC,IAAI;EAAEC;AAAoB,CAAC,EAAE;EAC5D,MAAM5B,KAAK,GAAG/C,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEqD;EAAS,CAAC,GAAG7C,kBAAkB,CAAC,CAAC;EAEzC,oBACEE,IAAA,CAACgE,IAAI;IACHE,IAAI,EAAC,IAAI;IACTD,IAAI,EACFA,IAAI,GACAA,IAAI,CAAC;MAAEtB;IAAS,CAAC,CAAC,GAClBA,QAAQ,GACNN,KAAK,CAACa,MAAM,CAACU,YAAY,GACzBvB,KAAK,CAACa,MAAM,CAACiB;EACpB,CACF,CAAC;AAEN;AAEA,OAAO,SAASC,KAAKA,CAAC;EAAE/D,QAAQ;EAAE0B;AAAkB,CAAC,EAAE;EACrD,MAAMM,KAAK,GAAG/C,QAAQ,CAAC,CAAC;EAExB,MAAM+E,UAAU,GAAGzF,KAAK,CAAC0F,QAAQ,CAACC,OAAO,CAAClE,QAAQ,CAAC,CAACmE,MAAM,CAACzF,cAAc,CAAC;EAE1E,oBACEiB,IAAA,CAACX,IAAI;IACH0C,KAAK,EAAE,CACLC,MAAM,CAACyC,KAAK,EACZ;MAAErB,WAAW,EAAEf,KAAK,CAACa,MAAM,CAACG;IAAY,CAAC,EACzCtB,KAAK,CACL;IAAA1B,QAAA,EAEDgE,UAAU,CAACK,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;MAC5B,IAAID,KAAK,CAACE,IAAI,KAAK1C,IAAI,EAAE;QACvB,oBACEjC,KAAA,CAACpB,QAAQ;UAAAuB,QAAA,GACNuE,CAAC,GAAG,CAAC,iBACJ5E,IAAA,CAACX,IAAI;YACH0C,KAAK,EAAE,CACLC,MAAM,CAAC8C,YAAY,EACnB;cAAEC,iBAAiB,EAAE1C,KAAK,CAACa,MAAM,CAACG;YAAY,CAAC;UAC/C,CACH,CACF,eACAxE,YAAY,CAAC8F,KAAK,EAAE;YACnB5C,KAAK,EAAE;cACLiD,YAAY,EAAE,CAAC;cACfC,WAAW,EAAE;YACf;UACF,CAA4B,CAAC;QAAA,GAdhBL,CAeL,CAAC;MAEf;MACA,OAAO,IAAI;IACb,CAAC;EAAC,CACE,CAAC;AAEX;AAEA,OAAO,SAASM,OAAOA,CAAA,EAAG;EACxB,OAAO,IAAI;AACb;AAEA,SAAShD,MAAMA,CAAA,EAAG;EAChB,MAAM1B,OAAO,GAAGX,cAAc,CAAC,CAAC;EAEhC,oBACEG,IAAA,CAACR,MAAM;IACLmC,kBAAkB,EAAC,iBAAiB;IACpCuC,IAAI,EAAC,OAAO;IACZiB,OAAO,EAAC,OAAO;IACf7D,OAAO,EAAEA,CAAA,KAAMd,OAAO,CAACF,OAAO,CAACkC,KAAK,CAAC,CAAE;IAAAnC,QAAA,EACxC;EAED,CAAQ,CAAC;AAEb;AAEA,MAAM2B,MAAM,GAAG5C,UAAU,CAACgG,MAAM,CAAC;EAC/BnD,YAAY,EAAE;IACZoD,GAAG,EAAE;EACP,CAAC;EACDrC,IAAI,EAAE;IACJsC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBF,GAAG,EAAE,CAAC;IACNG,iBAAiB,EAAE,EAAE;IACrBR,YAAY,EAAE,CAAC;IACfS,QAAQ,EAAE,QAAQ;IAClBR,WAAW,EAAE,CAAC;IACdS,SAAS,EAAE,EAAE;IACbC,eAAe,EAAE;EACnB,CAAC;EACDjC,QAAQ,EAAE;IACRkC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDrB,KAAK,EAAE;IACLO,YAAY,EAAE,EAAE;IAChBS,QAAQ,EAAE,QAAQ;IAClBR,WAAW,EAAE;EACf,CAAC;EACDH,YAAY,EAAE;IACZiB,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { forwardRef } from 'react';
|
|
|
4
4
|
import { Platform, View } from 'react-native';
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { atoms as a } from "../styles/index.js";
|
|
7
|
-
import { Button } from
|
|
7
|
+
import { Button } from '../button';
|
|
8
8
|
import * as TextField from "../text-field/index.js";
|
|
9
9
|
import { MagnifyingGlass_Stroke2_Corner0_Rounded as MagnifyingGlassIcon } from "../icons/MagnifyingGlass.js";
|
|
10
10
|
import { TimesLarge_Stroke2_Corner0_Rounded as X } from "../icons/Times.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Platform","View","useTheme","atoms","a","Button","TextField","MagnifyingGlass_Stroke2_Corner0_Rounded","MagnifyingGlassIcon","TimesLarge_Stroke2_Corner0_Rounded","X","jsx","_jsx","jsxs","_jsxs","SearchInput","value","label","onClearText","rest","ref","theme","showClear","length","style","w_full","relative","children","Root","Icon","icon","Input","inputRef","placeholder","returnKeyType","keyboardAppearance","mode","selectTextOnFocus","OS","autoFocus","accessibilityRole","autoCorrect","autoComplete","autoCapitalize","paddingRight","undefined","absolute","z_20","my_auto","inset_0","justify_center","pr_sm","left","testID","onPress","accessibilityLabel","hitSlop","top","bottom","right","variant","size","fill","colors","textSecondary","padding","minHeight","displayName"],"sourceRoot":"../../../src","sources":["search-input/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,QAAQ,EAAkBC,IAAI,QAAQ,cAAc;AAE7D,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,KAAK,IAAIC,CAAC,QAAQ,oBAAW;AACtC,SAASC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"names":["forwardRef","Platform","View","useTheme","atoms","a","Button","TextField","MagnifyingGlass_Stroke2_Corner0_Rounded","MagnifyingGlassIcon","TimesLarge_Stroke2_Corner0_Rounded","X","jsx","_jsx","jsxs","_jsxs","SearchInput","value","label","onClearText","rest","ref","theme","showClear","length","style","w_full","relative","children","Root","Icon","icon","Input","inputRef","placeholder","returnKeyType","keyboardAppearance","mode","selectTextOnFocus","OS","autoFocus","accessibilityRole","autoCorrect","autoComplete","autoCapitalize","paddingRight","undefined","absolute","z_20","my_auto","inset_0","justify_center","pr_sm","left","testID","onPress","accessibilityLabel","hitSlop","top","bottom","right","variant","size","fill","colors","textSecondary","padding","minHeight","displayName"],"sourceRoot":"../../../src","sources":["search-input/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import React, { createContext, useCallback, useContext, useLayoutEffect, useMemo
|
|
|
4
4
|
import { FlatList, Pressable, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { Text } from "../typography/index.js";
|
|
7
|
-
import { Button } from
|
|
7
|
+
import { Button } from '../button';
|
|
8
8
|
import { useDialogContext, useDialogControl } from "../dialog/context.js";
|
|
9
9
|
import { SheetShell } from "../dialog/SheetShell.js";
|
|
10
10
|
import { RadioIndicator } from "../radio-indicator/index.js";
|