@react-spectrum/s2 3.0.0-nightly-d87cc4422-250109 → 3.0.0-nightly-101d0772b-250111
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/ActionBar.cjs +2 -2
- package/dist/ActionBar.css +2 -2
- package/dist/ActionBar.mjs +2 -2
- package/dist/ActionButton.css +1 -1
- package/dist/Breadcrumbs.css +1 -1
- package/dist/Button.cjs +133 -98
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css +118 -37
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +134 -99
- package/dist/Button.mjs.map +1 -1
- package/dist/Card.cjs +15 -15
- package/dist/Card.css +19 -19
- package/dist/Card.mjs +15 -15
- package/dist/CardView.cjs.map +1 -1
- package/dist/CardView.css.map +1 -1
- package/dist/CardView.mjs.map +1 -1
- package/dist/Checkbox.cjs +1 -1
- package/dist/Checkbox.css +3 -3
- package/dist/Checkbox.mjs +1 -1
- package/dist/CheckboxGroup.cjs +12 -12
- package/dist/CheckboxGroup.css +12 -12
- package/dist/CheckboxGroup.mjs +12 -12
- package/dist/CloseButton.cjs +2 -0
- package/dist/CloseButton.cjs.map +1 -1
- package/dist/CloseButton.css +9 -1
- package/dist/CloseButton.css.map +1 -1
- package/dist/CloseButton.mjs +2 -0
- package/dist/CloseButton.mjs.map +1 -1
- package/dist/ColorField.cjs +8 -8
- package/dist/ColorField.css +8 -8
- package/dist/ColorField.mjs +8 -8
- package/dist/ColorSlider.cjs +10 -10
- package/dist/ColorSlider.css +10 -10
- package/dist/ColorSlider.mjs +10 -10
- package/dist/ComboBox.cjs +12 -12
- package/dist/ComboBox.css +13 -13
- package/dist/ComboBox.mjs +12 -12
- package/dist/Disclosure.css +1 -1
- package/dist/Field.cjs +12 -12
- package/dist/Field.css +13 -13
- package/dist/Field.mjs +12 -12
- package/dist/Form.cjs +2 -2
- package/dist/Form.css +2 -2
- package/dist/Form.mjs +2 -2
- package/dist/FullscreenDialog.cjs +5 -5
- package/dist/FullscreenDialog.css +22 -22
- package/dist/FullscreenDialog.mjs +5 -5
- package/dist/IllustratedMessage.cjs +19 -19
- package/dist/IllustratedMessage.css +22 -22
- package/dist/IllustratedMessage.mjs +19 -19
- package/dist/InlineAlert.cjs +13 -13
- package/dist/InlineAlert.css +15 -15
- package/dist/InlineAlert.mjs +13 -13
- package/dist/Link.css +1 -1
- package/dist/Menu.cjs +37 -37
- package/dist/Menu.css +38 -38
- package/dist/Menu.mjs +37 -37
- package/dist/Meter.cjs +12 -12
- package/dist/Meter.css +12 -12
- package/dist/Meter.mjs +12 -12
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.css +2 -2
- package/dist/Modal.mjs +4 -4
- package/dist/NumberField.cjs +12 -12
- package/dist/NumberField.css +13 -13
- package/dist/NumberField.mjs +12 -12
- package/dist/Picker.cjs +16 -16
- package/dist/Picker.css +17 -17
- package/dist/Picker.mjs +16 -16
- package/dist/Popover.cjs +10 -10
- package/dist/Popover.css +5 -5
- package/dist/Popover.mjs +10 -10
- package/dist/ProgressBar.cjs +19 -19
- package/dist/ProgressBar.css +18 -18
- package/dist/ProgressBar.mjs +19 -19
- package/dist/Radio.cjs +1 -1
- package/dist/Radio.css +3 -3
- package/dist/Radio.mjs +1 -1
- package/dist/RadioGroup.cjs +12 -12
- package/dist/RadioGroup.css +12 -12
- package/dist/RadioGroup.mjs +12 -12
- package/dist/SearchField.cjs +8 -8
- package/dist/SearchField.css +8 -8
- package/dist/SearchField.mjs +8 -8
- package/dist/SegmentedControl.css +1 -1
- package/dist/Slider.cjs +27 -27
- package/dist/Slider.css +27 -27
- package/dist/Slider.mjs +27 -27
- package/dist/Switch.cjs +1 -1
- package/dist/Switch.css +3 -3
- package/dist/Switch.mjs +1 -1
- package/dist/TableView.cjs.map +1 -1
- package/dist/TableView.css.map +1 -1
- package/dist/TableView.mjs.map +1 -1
- package/dist/Tabs.cjs +14 -14
- package/dist/Tabs.cjs.map +1 -1
- package/dist/Tabs.css +1 -1
- package/dist/Tabs.css.map +1 -1
- package/dist/Tabs.mjs +14 -14
- package/dist/Tabs.mjs.map +1 -1
- package/dist/TabsPicker.cjs +14 -14
- package/dist/TabsPicker.cjs.map +1 -1
- package/dist/TabsPicker.css +10 -10
- package/dist/TabsPicker.css.map +1 -1
- package/dist/TabsPicker.mjs +14 -14
- package/dist/TabsPicker.mjs.map +1 -1
- package/dist/TagGroup.cjs +16 -16
- package/dist/TagGroup.css +17 -17
- package/dist/TagGroup.mjs +16 -16
- package/dist/TextField.cjs +8 -8
- package/dist/TextField.css +8 -8
- package/dist/TextField.mjs +8 -8
- package/dist/Tooltip.cjs +5 -5
- package/dist/Tooltip.css +4 -4
- package/dist/Tooltip.mjs +5 -5
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/Button.tsx +107 -75
- package/src/CardView.tsx +1 -0
- package/src/CloseButton.tsx +4 -0
- package/src/TableView.tsx +1 -0
- package/src/Tabs.tsx +26 -18
- package/src/TabsPicker.tsx +11 -6
- package/style/dist/spectrum-theme.cjs +42 -4
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +42 -4
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/style-macro.cjs +1 -1
- package/style/dist/style-macro.cjs.map +1 -1
- package/style/dist/style-macro.mjs +1 -1
- package/style/dist/style-macro.mjs.map +1 -1
- package/style/dist/types.d.ts +8 -3
- package/style/dist/types.d.ts.map +1 -1
- package/style/spectrum-theme.ts +57 -6
- package/style/style-macro.ts +3 -3
- package/style/types.ts +1 -1
package/dist/ActionBar.cjs
CHANGED
|
@@ -86,8 +86,8 @@ const $85bf454149fe9ddc$var$actionBarStyles = function anonymous(props) {
|
|
|
86
86
|
rules += ' y_d';
|
|
87
87
|
rules += ' z_d';
|
|
88
88
|
rules += ' r_______________T';
|
|
89
|
-
if (props.isExiting) rules += ' _T-
|
|
90
|
-
else if (props.isInContainer) rules += ' _T-
|
|
89
|
+
if (props.isExiting) rules += ' _T-1o599gf';
|
|
90
|
+
else if (props.isInContainer) rules += ' _T-13zcd4x';
|
|
91
91
|
rules += ' _U-375xx3';
|
|
92
92
|
if (props.isExiting) rules += ' _Za';
|
|
93
93
|
else if (props.isInContainer) rules += ' _Za';
|
package/dist/ActionBar.css
CHANGED
package/dist/ActionBar.mjs
CHANGED
|
@@ -78,8 +78,8 @@ const $f21f2186348fbc5b$var$actionBarStyles = function anonymous(props) {
|
|
|
78
78
|
rules += ' y_d';
|
|
79
79
|
rules += ' z_d';
|
|
80
80
|
rules += ' r_______________T';
|
|
81
|
-
if (props.isExiting) rules += ' _T-
|
|
82
|
-
else if (props.isInContainer) rules += ' _T-
|
|
81
|
+
if (props.isExiting) rules += ' _T-1o599gf';
|
|
82
|
+
else if (props.isInContainer) rules += ' _T-13zcd4x';
|
|
83
83
|
rules += ' _U-375xx3';
|
|
84
84
|
if (props.isExiting) rules += ' _Za';
|
|
85
85
|
else if (props.isInContainer) rules += ' _Za';
|
package/dist/ActionButton.css
CHANGED
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
._Pa {
|
|
162
|
-
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter,
|
|
162
|
+
transition-property: color, background-color, var(--gp), border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
._R-375x7f {
|
package/dist/Breadcrumbs.css
CHANGED
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
._Pa {
|
|
219
|
-
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter,
|
|
219
|
+
transition-property: color, background-color, var(--gp), border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
._R-375x7f {
|
package/dist/Button.cjs
CHANGED
|
@@ -229,19 +229,6 @@ const $25d06cf8d4e72761$var$button = function anonymous(props, overrides) {
|
|
|
229
229
|
else if (props.isHovered) rules += ' co';
|
|
230
230
|
else rules += ' cn';
|
|
231
231
|
}
|
|
232
|
-
rules += ' _Ca-yknrp1';
|
|
233
|
-
if (props.isDisabled) rules += ' _C-yknrp1';
|
|
234
|
-
else if (props.variant === "genai") {
|
|
235
|
-
if (props.isFocusVisible) rules += ' _C-1gcd5pl';
|
|
236
|
-
else if (props.isPressed) rules += ' _C-1gcd5pl';
|
|
237
|
-
else if (props.isHovered) rules += ' _C-1gcd5pl';
|
|
238
|
-
else rules += ' _C-u0nzys';
|
|
239
|
-
} else if (props.variant === "premium") {
|
|
240
|
-
if (props.isFocusVisible) rules += ' _C-2xhv0x';
|
|
241
|
-
else if (props.isPressed) rules += ' _C-2xhv0x';
|
|
242
|
-
else if (props.isHovered) rules += ' _C-2xhv0x';
|
|
243
|
-
else rules += ' _C-riuwfd';
|
|
244
|
-
}
|
|
245
232
|
rules += ' b-375toh';
|
|
246
233
|
rules += ' -rwx0fg_e-b';
|
|
247
234
|
rules += ' _Ab';
|
|
@@ -332,6 +319,41 @@ const $25d06cf8d4e72761$var$button = function anonymous(props, overrides) {
|
|
|
332
319
|
}
|
|
333
320
|
return rules;
|
|
334
321
|
};
|
|
322
|
+
// Put the gradient background on a separate element from the button to work around a Safari
|
|
323
|
+
// bug where transitions of custom properties cause layout flickering if any properties use rems. 🤣
|
|
324
|
+
// https://bugs.webkit.org/show_bug.cgi?id=285622
|
|
325
|
+
const $25d06cf8d4e72761$var$gradient = function anonymous(props) {
|
|
326
|
+
let rules = " .";
|
|
327
|
+
rules += ' Va';
|
|
328
|
+
rules += ' Ya';
|
|
329
|
+
rules += ' _aa';
|
|
330
|
+
rules += ' Wa';
|
|
331
|
+
rules += ' Xa';
|
|
332
|
+
rules += ' __R-3hmpv';
|
|
333
|
+
rules += ' _Pa';
|
|
334
|
+
rules += ' _R-375x7f';
|
|
335
|
+
rules += ' _Sa';
|
|
336
|
+
rules += ' _w-17zqamw';
|
|
337
|
+
rules += ' _x-17zqamw';
|
|
338
|
+
rules += ' _y-17zqamw';
|
|
339
|
+
rules += ' _z-17zqamw';
|
|
340
|
+
rules += ' _Ca-qey189';
|
|
341
|
+
if (props.isDisabled) rules += ' _C-qey189';
|
|
342
|
+
else if (props.variant === "genai") {
|
|
343
|
+
if (props.isFocusVisible) rules += ' _C-x40uwg';
|
|
344
|
+
else if (props.isPressed) rules += ' _C-x40uwg';
|
|
345
|
+
else if (props.isHovered) rules += ' _C-x40uwg';
|
|
346
|
+
else rules += ' _C-17z6g7s';
|
|
347
|
+
} else if (props.variant === "premium") {
|
|
348
|
+
if (props.isFocusVisible) rules += ' _C-zh0yy1';
|
|
349
|
+
else if (props.isPressed) rules += ' _C-zh0yy1';
|
|
350
|
+
else if (props.isHovered) rules += ' _C-zh0yy1';
|
|
351
|
+
else rules += ' _C-1bwg29';
|
|
352
|
+
}
|
|
353
|
+
if (props.variant === "genai") rules += ' _Ba';
|
|
354
|
+
else if (props.variant === "premium") rules += ' _Ba';
|
|
355
|
+
return rules;
|
|
356
|
+
};
|
|
335
357
|
const $25d06cf8d4e72761$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $8owBJ$react.forwardRef)(function Button(props1, ref) {
|
|
336
358
|
[props1, ref] = (0, $ac757a4c2bd72aee$exports.useSpectrumContextProps)(props1, ref, $25d06cf8d4e72761$export$24d547caef80ccd1);
|
|
337
359
|
props1 = (0, $bfa4962d90c8af48$exports.useFormProps)(props1);
|
|
@@ -370,93 +392,106 @@ const $25d06cf8d4e72761$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $8owBJ$react
|
|
|
370
392
|
staticColor: staticColor,
|
|
371
393
|
isStaticColor: !!staticColor
|
|
372
394
|
}, props1.styles),
|
|
373
|
-
children:
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
styles: function anonymous(props) {
|
|
383
|
-
let rules = " .";
|
|
384
|
-
rules += ' E-1gogtue';
|
|
385
|
-
rules += ' F-1gogtue';
|
|
386
|
-
rules += ' __B-3t1y';
|
|
387
|
-
if (props.isProgressVisible) rules += ' _L-3t1x';
|
|
388
|
-
else rules += ' _L-3t1y';
|
|
389
|
-
return rules;
|
|
390
|
-
}({
|
|
391
|
-
isProgressVisible: isProgressVisible
|
|
392
|
-
}),
|
|
393
|
-
// @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past
|
|
394
|
-
'data-rsp-slot': 'text'
|
|
395
|
-
}
|
|
396
|
-
],
|
|
397
|
-
[
|
|
398
|
-
(0, $bde97c91243ed164$exports.IconContext),
|
|
399
|
-
{
|
|
400
|
-
render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
|
|
401
|
-
slot: 'icon',
|
|
402
|
-
styles: " . __B-3t1x"
|
|
403
|
-
}),
|
|
404
|
-
styles: function anonymous(props) {
|
|
405
|
-
let rules = " .";
|
|
406
|
-
rules += ' l-1sthc3k';
|
|
407
|
-
rules += ' k-1sthc3k';
|
|
408
|
-
rules += ' y-oelgqu';
|
|
409
|
-
rules += ' _9-3t1x';
|
|
410
|
-
if (props.isProgressVisible) rules += ' _L-3t1x';
|
|
411
|
-
else rules += ' _L-3t1y';
|
|
412
|
-
return rules;
|
|
413
|
-
}({
|
|
414
|
-
isProgressVisible: isProgressVisible
|
|
415
|
-
})
|
|
416
|
-
}
|
|
417
|
-
]
|
|
418
|
-
],
|
|
419
|
-
children: [
|
|
420
|
-
typeof props1.children === 'string' ? /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)((0, $6367bc87eb7d24ad$exports.Text), {
|
|
421
|
-
children: props1.children
|
|
422
|
-
}) : props1.children,
|
|
423
|
-
isPending && /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)("div", {
|
|
424
|
-
className: function anonymous(props) {
|
|
425
|
-
let rules = " .";
|
|
426
|
-
rules += ' Va';
|
|
427
|
-
rules += ' Y-3760fj';
|
|
428
|
-
rules += ' Z-3760fj';
|
|
429
|
-
rules += ' U-1tktoou';
|
|
430
|
-
if (props.isProgressVisible) rules += ' _L-3t1y';
|
|
431
|
-
else rules += ' _L-3t1x';
|
|
432
|
-
return rules;
|
|
433
|
-
}({
|
|
434
|
-
isProgressVisible: isProgressVisible,
|
|
435
|
-
isPending: isPending
|
|
436
|
-
}),
|
|
437
|
-
children: /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)((0, $1c116ea4b0d2d023$exports.ProgressCircle), {
|
|
438
|
-
isIndeterminate: true,
|
|
439
|
-
"aria-label": stringFormatter.format('button.pending'),
|
|
440
|
-
size: "S",
|
|
441
|
-
staticColor: staticColor,
|
|
442
|
-
styles: function anonymous(props) {
|
|
443
|
-
let rules = " .";
|
|
444
|
-
if (props.size === "XL") rules += ' lM';
|
|
445
|
-
else if (props.size === "L") rules += ' lI';
|
|
446
|
-
else if (props.size === "M") rules += ' lG';
|
|
447
|
-
else if (props.size === "S") rules += ' lC';
|
|
448
|
-
if (props.size === "XL") rules += ' kM';
|
|
449
|
-
else if (props.size === "L") rules += ' kI';
|
|
450
|
-
else if (props.size === "M") rules += ' kG';
|
|
451
|
-
else if (props.size === "S") rules += ' kC';
|
|
452
|
-
return rules;
|
|
453
|
-
}({
|
|
454
|
-
size: size
|
|
395
|
+
children: (renderProps)=>/*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsxs)((0, $8owBJ$reactjsxruntime.Fragment), {
|
|
396
|
+
children: [
|
|
397
|
+
variant === 'genai' || variant === 'premium' ? /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)("span", {
|
|
398
|
+
className: $25d06cf8d4e72761$var$gradient({
|
|
399
|
+
...renderProps,
|
|
400
|
+
// Retain hover styles when an overlay is open.
|
|
401
|
+
isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,
|
|
402
|
+
isDisabled: renderProps.isDisabled || isProgressVisible,
|
|
403
|
+
variant: variant
|
|
455
404
|
})
|
|
405
|
+
}) : null,
|
|
406
|
+
/*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsxs)((0, $8owBJ$reactariacomponents.Provider), {
|
|
407
|
+
values: [
|
|
408
|
+
[
|
|
409
|
+
(0, $5eb75e0c130e0669$exports.SkeletonContext),
|
|
410
|
+
null
|
|
411
|
+
],
|
|
412
|
+
[
|
|
413
|
+
(0, $6367bc87eb7d24ad$exports.TextContext),
|
|
414
|
+
{
|
|
415
|
+
styles: function anonymous(props) {
|
|
416
|
+
let rules = " .";
|
|
417
|
+
rules += ' E-1gogtue';
|
|
418
|
+
rules += ' F-1gogtue';
|
|
419
|
+
rules += ' __B-3t1y';
|
|
420
|
+
if (props.isProgressVisible) rules += ' _L-3t1x';
|
|
421
|
+
else rules += ' _L-3t1y';
|
|
422
|
+
return rules;
|
|
423
|
+
}({
|
|
424
|
+
isProgressVisible: isProgressVisible
|
|
425
|
+
}),
|
|
426
|
+
// @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past
|
|
427
|
+
'data-rsp-slot': 'text'
|
|
428
|
+
}
|
|
429
|
+
],
|
|
430
|
+
[
|
|
431
|
+
(0, $bde97c91243ed164$exports.IconContext),
|
|
432
|
+
{
|
|
433
|
+
render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
|
|
434
|
+
slot: 'icon',
|
|
435
|
+
styles: " . __B-3t1x"
|
|
436
|
+
}),
|
|
437
|
+
styles: function anonymous(props) {
|
|
438
|
+
let rules = " .";
|
|
439
|
+
rules += ' l-1sthc3k';
|
|
440
|
+
rules += ' k-1sthc3k';
|
|
441
|
+
rules += ' y-oelgqu';
|
|
442
|
+
rules += ' _9-3t1x';
|
|
443
|
+
if (props.isProgressVisible) rules += ' _L-3t1x';
|
|
444
|
+
else rules += ' _L-3t1y';
|
|
445
|
+
return rules;
|
|
446
|
+
}({
|
|
447
|
+
isProgressVisible: isProgressVisible
|
|
448
|
+
})
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
],
|
|
452
|
+
children: [
|
|
453
|
+
typeof props1.children === 'string' ? /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)((0, $6367bc87eb7d24ad$exports.Text), {
|
|
454
|
+
children: props1.children
|
|
455
|
+
}) : props1.children,
|
|
456
|
+
isPending && /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)("div", {
|
|
457
|
+
className: function anonymous(props) {
|
|
458
|
+
let rules = " .";
|
|
459
|
+
rules += ' Va';
|
|
460
|
+
rules += ' Y-3760fj';
|
|
461
|
+
rules += ' Z-3760fj';
|
|
462
|
+
rules += ' U-1uu3e5e';
|
|
463
|
+
if (props.isProgressVisible) rules += ' _L-3t1y';
|
|
464
|
+
else rules += ' _L-3t1x';
|
|
465
|
+
return rules;
|
|
466
|
+
}({
|
|
467
|
+
isProgressVisible: isProgressVisible,
|
|
468
|
+
isPending: isPending
|
|
469
|
+
}),
|
|
470
|
+
children: /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)((0, $1c116ea4b0d2d023$exports.ProgressCircle), {
|
|
471
|
+
isIndeterminate: true,
|
|
472
|
+
"aria-label": stringFormatter.format('button.pending'),
|
|
473
|
+
size: "S",
|
|
474
|
+
staticColor: staticColor,
|
|
475
|
+
styles: function anonymous(props) {
|
|
476
|
+
let rules = " .";
|
|
477
|
+
if (props.size === "XL") rules += ' lM';
|
|
478
|
+
else if (props.size === "L") rules += ' lI';
|
|
479
|
+
else if (props.size === "M") rules += ' lG';
|
|
480
|
+
else if (props.size === "S") rules += ' lC';
|
|
481
|
+
if (props.size === "XL") rules += ' kM';
|
|
482
|
+
else if (props.size === "L") rules += ' kI';
|
|
483
|
+
else if (props.size === "M") rules += ' kG';
|
|
484
|
+
else if (props.size === "S") rules += ' kC';
|
|
485
|
+
return rules;
|
|
486
|
+
}({
|
|
487
|
+
size: size
|
|
488
|
+
})
|
|
489
|
+
})
|
|
490
|
+
})
|
|
491
|
+
]
|
|
456
492
|
})
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
})
|
|
493
|
+
]
|
|
494
|
+
})
|
|
460
495
|
});
|
|
461
496
|
});
|
|
462
497
|
const $25d06cf8d4e72761$export$29d11c0fe2fc51d8 = /*#__PURE__*/ (0, $8owBJ$react.forwardRef)(function LinkButton(props, ref) {
|
package/dist/Button.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/s2/src/Button.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {baseColor, focusRing, fontRelative, linearGradient, style} from '../style' with {type: 'macro'};\nimport {ButtonRenderProps, ContextValue, Link, LinkProps, OverlayTriggerStateContext, Provider, Button as RACButton, ButtonProps as RACButtonProps} from 'react-aria-components';\nimport {centerBaseline} from './CenterBaseline';\nimport {centerPadding, getAllowedOverrides, staticColor, StyleProps} from './style-utils' with {type: 'macro'};\nimport {createContext, forwardRef, ReactNode, useContext, useEffect, useState} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {IconContext} from './Icon';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {pressScale} from './pressScale';\nimport {ProgressCircle} from './ProgressCircle';\nimport {SkeletonContext} from './Skeleton';\nimport {Text, TextContext} from './Content';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useFormProps} from './Form';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface ButtonStyleProps {\n /**\n * The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button.\n *\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'accent' | 'negative' | 'premium' | 'genai',\n /**\n * The background style of the Button.\n *\n * @default 'fill'\n */\n fillStyle?: 'fill' | 'outline',\n /**\n * The size of the Button.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /** The static color style to apply. Useful when the Button appears over a color background. */\n staticColor?: 'white' | 'black' | 'auto'\n}\n\nexport interface ButtonProps extends Omit<RACButtonProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, ButtonStyleProps {\n /** The content to display in the Button. */\n children?: ReactNode\n}\n\nexport interface LinkButtonProps extends Omit<LinkProps, 'className' | 'style' | 'children'>, StyleProps, ButtonStyleProps {\n /** The content to display in the Button. */\n children?: ReactNode\n}\n\nexport const ButtonContext = createContext<ContextValue<ButtonProps, FocusableRefValue<HTMLButtonElement>>>(null);\nexport const LinkButtonContext = createContext<ContextValue<ButtonProps, FocusableRefValue<HTMLAnchorElement>>>(null);\n\nconst iconOnly = ':has([slot=icon]):not(:has([data-rsp-slot=text]))';\nconst button = style<ButtonRenderProps & ButtonStyleProps & {isStaticColor: boolean}>({\n ...focusRing(),\n ...staticColor(),\n position: 'relative',\n display: 'flex',\n alignItems: {\n default: 'baseline',\n [iconOnly]: 'center'\n },\n justifyContent: 'center',\n textAlign: 'start',\n columnGap: 'text-to-visual',\n font: 'control',\n fontWeight: 'bold',\n userSelect: 'none',\n minHeight: 'control',\n minWidth: {\n [iconOnly]: 'control'\n },\n borderRadius: 'pill',\n boxSizing: 'border-box',\n width: 'fit',\n textDecoration: 'none', // for link buttons\n paddingX: {\n default: 'pill',\n [iconOnly]: 0\n },\n paddingY: 0,\n aspectRatio: {\n [iconOnly]: 'square'\n },\n transition: 'default',\n borderStyle: 'solid',\n borderWidth: {\n fillStyle: {\n fill: 0,\n outline: 2\n },\n variant: {\n premium: 0,\n genai: 0\n }\n },\n '--labelPadding': {\n type: 'paddingTop',\n value: centerPadding()\n },\n '--iconMargin': {\n type: 'marginTop',\n value: {\n default: fontRelative(-2),\n [iconOnly]: 0\n }\n },\n borderColor: {\n variant: {\n primary: baseColor('gray-800'),\n secondary: baseColor('gray-300')\n },\n isDisabled: 'disabled',\n isStaticColor: {\n variant: {\n primary: baseColor('transparent-overlay-800'),\n secondary: baseColor('transparent-overlay-300')\n },\n isDisabled: 'transparent-overlay-300'\n },\n forcedColors: {\n default: 'ButtonBorder',\n isHovered: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n backgroundImage: {\n variant: {\n premium: {\n default: linearGradient('96deg', ['fuchsia-900', 0], ['indigo-900', 66], ['blue-900', 100]),\n isHovered: linearGradient('96deg', ['fuchsia-1000', 0], ['indigo-1000', 66], ['blue-1000', 100]),\n isPressed: linearGradient('96deg', ['fuchsia-1000', 0], ['indigo-1000', 66], ['blue-1000', 100]),\n isFocusVisible: linearGradient('96deg', ['fuchsia-1000', 0], ['indigo-1000', 66], ['blue-1000', 100])\n },\n genai: {\n default: linearGradient('96deg', ['red-900', 0], ['magenta-900', 33], ['indigo-900', 100]),\n isHovered: linearGradient('96deg', ['red-1000', 0], ['magenta-1000', 33], ['indigo-1000', 100]),\n isPressed: linearGradient('96deg', ['red-1000', 0], ['magenta-1000', 33], ['indigo-1000', 100]),\n isFocusVisible: linearGradient('96deg', ['red-1000', 0], ['magenta-1000', 33], ['indigo-1000', 100])\n }\n },\n isDisabled: 'none',\n forcedColors: 'none'\n },\n backgroundColor: {\n fillStyle: {\n fill: {\n variant: {\n primary: 'neutral',\n secondary: baseColor('gray-100'),\n accent: 'accent',\n negative: 'negative',\n premium: 'gray-100',\n genai: 'gray-100'\n },\n isDisabled: 'disabled'\n },\n outline: {\n variant: {\n premium: 'gray-100',\n genai: 'gray-100'\n },\n default: 'transparent',\n isHovered: 'gray-100',\n isPressed: 'gray-100',\n isFocusVisible: 'gray-100',\n isDisabled: {\n default: 'transparent',\n variant: {\n premium: 'gray-100',\n genai: 'gray-100'\n }\n }\n }\n },\n isStaticColor: {\n fillStyle: {\n fill: {\n variant: {\n primary: baseColor('transparent-overlay-800'),\n secondary: baseColor('transparent-overlay-100'),\n premium: 'transparent-overlay-100',\n genai: 'transparent-overlay-100'\n },\n isDisabled: 'transparent-overlay-100'\n },\n outline: {\n variant: {\n premium: 'transparent-overlay-100',\n genai: 'transparent-overlay-100'\n },\n default: 'transparent',\n isHovered: 'transparent-overlay-100',\n isPressed: 'transparent-overlay-100',\n isFocusVisible: 'transparent-overlay-100',\n isDisabled: {\n default: 'transparent',\n variant: {\n premium: 'transparent-overlay-100',\n genai: 'transparent-overlay-100'\n }\n }\n }\n }\n },\n forcedColors: {\n fillStyle: {\n fill: {\n default: 'ButtonText',\n isHovered: 'Highlight',\n isDisabled: 'GrayText'\n },\n outline: 'ButtonFace'\n }\n }\n },\n color: {\n fillStyle: {\n fill: {\n variant: {\n primary: 'gray-25',\n secondary: 'neutral',\n accent: 'white',\n negative: 'white',\n premium: 'white',\n genai: 'white'\n },\n isDisabled: 'disabled'\n },\n outline: {\n default: 'neutral',\n variant: {\n premium: 'white',\n genai: 'white'\n },\n isDisabled: 'disabled'\n }\n },\n isStaticColor: {\n fillStyle: {\n fill: {\n variant: {\n primary: 'auto',\n secondary: baseColor('transparent-overlay-800'),\n premium: 'white',\n genai: 'white'\n }\n },\n outline: {\n variant: {\n premium: 'white',\n genai: 'white'\n },\n default: baseColor('transparent-overlay-800')\n }\n },\n isDisabled: 'transparent-overlay-400'\n },\n forcedColors: {\n fillStyle: {\n fill: {\n default: 'ButtonFace',\n isDisabled: 'HighlightText'\n },\n outline: {\n default: 'ButtonText',\n isDisabled: 'GrayText'\n }\n }\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n },\n outlineColor: {\n default: 'focus-ring',\n isStaticColor: 'transparent-overlay-1000',\n forcedColors: 'Highlight'\n },\n forcedColorAdjust: 'none',\n disableTapHighlight: true\n}, getAllowedOverrides());\n\n/**\n * Buttons allow users to perform an action.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = forwardRef(function Button(props: ButtonProps, ref: FocusableRef<HTMLButtonElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, ButtonContext);\n props = useFormProps(props);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {\n isPending,\n variant = 'primary',\n fillStyle = 'fill',\n size = 'M',\n staticColor\n } = props;\n let domRef = useFocusableRef(ref);\n let overlayTriggerState = useContext(OverlayTriggerStateContext);\n\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n return (\n <RACButton\n {...props}\n ref={domRef}\n style={pressScale(domRef, props.UNSAFE_style)}\n className={renderProps => (props.UNSAFE_className || '') + button({\n ...renderProps,\n // Retain hover styles when an overlay is open.\n isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,\n isDisabled: renderProps.isDisabled || isProgressVisible,\n variant,\n fillStyle,\n size,\n staticColor,\n isStaticColor: !!staticColor\n }, props.styles)}>\n <Provider\n values={[\n [SkeletonContext, null],\n [TextContext, {\n styles: style({\n paddingY: '--labelPadding',\n order: 1,\n opacity: {\n default: 1,\n isProgressVisible: 0\n }\n })({isProgressVisible}),\n // @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past\n 'data-rsp-slot': 'text'\n }],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: style({\n size: fontRelative(20),\n marginStart: '--iconMargin',\n flexShrink: 0,\n opacity: {\n default: 1,\n isProgressVisible: 0\n }\n })({isProgressVisible})\n }]\n ]}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n {isPending &&\n <div\n className={style({\n position: 'absolute',\n top: '[50%]',\n left: '[50%]',\n transform: 'translate(-50%, -50%)',\n opacity: {\n default: 0,\n isProgressVisible: 1\n }\n })({isProgressVisible, isPending})}>\n <ProgressCircle\n isIndeterminate\n aria-label={stringFormatter.format('button.pending')}\n size=\"S\"\n staticColor={staticColor}\n styles={style({\n size: {\n size: {\n S: 14,\n M: 18,\n L: 20,\n XL: 24\n }\n }\n })({size})} />\n </div>\n }\n </Provider>\n </RACButton>\n );\n});\n\n/**\n * A LinkButton combines the functionality of a link with the appearance of a button. Useful for allowing users to navigate to another page.\n */\nexport const LinkButton = forwardRef(function LinkButton(props: LinkButtonProps, ref: FocusableRef<HTMLAnchorElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, LinkButtonContext);\n props = useFormProps(props);\n let domRef = useFocusableRef(ref);\n let overlayTriggerState = useContext(OverlayTriggerStateContext);\n\n return (\n <Link\n {...props}\n ref={domRef}\n style={pressScale(domRef, props.UNSAFE_style)}\n className={renderProps => (props.UNSAFE_className || '') + button({\n ...renderProps,\n // Retain hover styles when an overlay is open.\n isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,\n variant: props.variant || 'primary',\n fillStyle: props.fillStyle || 'fill',\n size: props.size || 'M',\n staticColor: props.staticColor,\n isStaticColor: !!props.staticColor,\n isPending: false\n }, props.styles)}>\n <Provider\n values={[\n [SkeletonContext, null],\n [TextContext, {\n styles: style({paddingY: '--labelPadding', order: 1}),\n // @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past\n 'data-rsp-slot': 'text'\n }],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})\n }]\n ]}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n </Provider>\n </Link>\n );\n});\n"],"names":[],"version":3,"file":"Button.cjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/s2/src/Button.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {baseColor, focusRing, fontRelative, linearGradient, style} from '../style' with {type: 'macro'};\nimport {ButtonRenderProps, ContextValue, Link, LinkProps, OverlayTriggerStateContext, Provider, Button as RACButton, ButtonProps as RACButtonProps} from 'react-aria-components';\nimport {centerBaseline} from './CenterBaseline';\nimport {centerPadding, getAllowedOverrides, staticColor, StyleProps} from './style-utils' with {type: 'macro'};\nimport {createContext, forwardRef, ReactNode, useContext, useEffect, useState} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {IconContext} from './Icon';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {pressScale} from './pressScale';\nimport {ProgressCircle} from './ProgressCircle';\nimport {SkeletonContext} from './Skeleton';\nimport {Text, TextContext} from './Content';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useFormProps} from './Form';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface ButtonStyleProps {\n /**\n * The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button.\n *\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary' | 'accent' | 'negative' | 'premium' | 'genai',\n /**\n * The background style of the Button.\n *\n * @default 'fill'\n */\n fillStyle?: 'fill' | 'outline',\n /**\n * The size of the Button.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /** The static color style to apply. Useful when the Button appears over a color background. */\n staticColor?: 'white' | 'black' | 'auto'\n}\n\nexport interface ButtonProps extends Omit<RACButtonProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, ButtonStyleProps {\n /** The content to display in the Button. */\n children?: ReactNode\n}\n\nexport interface LinkButtonProps extends Omit<LinkProps, 'className' | 'style' | 'children'>, StyleProps, ButtonStyleProps {\n /** The content to display in the Button. */\n children?: ReactNode\n}\n\nexport const ButtonContext = createContext<ContextValue<ButtonProps, FocusableRefValue<HTMLButtonElement>>>(null);\nexport const LinkButtonContext = createContext<ContextValue<ButtonProps, FocusableRefValue<HTMLAnchorElement>>>(null);\n\nconst iconOnly = ':has([slot=icon]):not(:has([data-rsp-slot=text]))';\nconst button = style<ButtonRenderProps & ButtonStyleProps & {isStaticColor: boolean}>({\n ...focusRing(),\n ...staticColor(),\n position: 'relative',\n display: 'flex',\n alignItems: {\n default: 'baseline',\n [iconOnly]: 'center'\n },\n justifyContent: 'center',\n textAlign: 'start',\n columnGap: 'text-to-visual',\n font: 'control',\n fontWeight: 'bold',\n userSelect: 'none',\n minHeight: 'control',\n minWidth: {\n [iconOnly]: 'control'\n },\n borderRadius: 'pill',\n boxSizing: 'border-box',\n width: 'fit',\n textDecoration: 'none', // for link buttons\n paddingX: {\n default: 'pill',\n [iconOnly]: 0\n },\n paddingY: 0,\n aspectRatio: {\n [iconOnly]: 'square'\n },\n transition: 'default',\n borderStyle: 'solid',\n borderWidth: {\n fillStyle: {\n fill: 0,\n outline: 2\n },\n variant: {\n premium: 0,\n genai: 0\n }\n },\n '--labelPadding': {\n type: 'paddingTop',\n value: centerPadding()\n },\n '--iconMargin': {\n type: 'marginTop',\n value: {\n default: fontRelative(-2),\n [iconOnly]: 0\n }\n },\n borderColor: {\n variant: {\n primary: baseColor('gray-800'),\n secondary: baseColor('gray-300')\n },\n isDisabled: 'disabled',\n isStaticColor: {\n variant: {\n primary: baseColor('transparent-overlay-800'),\n secondary: baseColor('transparent-overlay-300')\n },\n isDisabled: 'transparent-overlay-300'\n },\n forcedColors: {\n default: 'ButtonBorder',\n isHovered: 'Highlight',\n isDisabled: 'GrayText'\n }\n },\n backgroundColor: {\n fillStyle: {\n fill: {\n variant: {\n primary: 'neutral',\n secondary: baseColor('gray-100'),\n accent: 'accent',\n negative: 'negative',\n premium: 'gray-100',\n genai: 'gray-100'\n },\n isDisabled: 'disabled'\n },\n outline: {\n variant: {\n premium: 'gray-100',\n genai: 'gray-100'\n },\n default: 'transparent',\n isHovered: 'gray-100',\n isPressed: 'gray-100',\n isFocusVisible: 'gray-100',\n isDisabled: {\n default: 'transparent',\n variant: {\n premium: 'gray-100',\n genai: 'gray-100'\n }\n }\n }\n },\n isStaticColor: {\n fillStyle: {\n fill: {\n variant: {\n primary: baseColor('transparent-overlay-800'),\n secondary: baseColor('transparent-overlay-100'),\n premium: 'transparent-overlay-100',\n genai: 'transparent-overlay-100'\n },\n isDisabled: 'transparent-overlay-100'\n },\n outline: {\n variant: {\n premium: 'transparent-overlay-100',\n genai: 'transparent-overlay-100'\n },\n default: 'transparent',\n isHovered: 'transparent-overlay-100',\n isPressed: 'transparent-overlay-100',\n isFocusVisible: 'transparent-overlay-100',\n isDisabled: {\n default: 'transparent',\n variant: {\n premium: 'transparent-overlay-100',\n genai: 'transparent-overlay-100'\n }\n }\n }\n }\n },\n forcedColors: {\n fillStyle: {\n fill: {\n default: 'ButtonText',\n isHovered: 'Highlight',\n isDisabled: 'GrayText'\n },\n outline: 'ButtonFace'\n }\n }\n },\n color: {\n fillStyle: {\n fill: {\n variant: {\n primary: 'gray-25',\n secondary: 'neutral',\n accent: 'white',\n negative: 'white',\n premium: 'white',\n genai: 'white'\n },\n isDisabled: 'disabled'\n },\n outline: {\n default: 'neutral',\n variant: {\n premium: 'white',\n genai: 'white'\n },\n isDisabled: 'disabled'\n }\n },\n isStaticColor: {\n fillStyle: {\n fill: {\n variant: {\n primary: 'auto',\n secondary: baseColor('transparent-overlay-800'),\n premium: 'white',\n genai: 'white'\n }\n },\n outline: {\n variant: {\n premium: 'white',\n genai: 'white'\n },\n default: baseColor('transparent-overlay-800')\n }\n },\n isDisabled: 'transparent-overlay-400'\n },\n forcedColors: {\n fillStyle: {\n fill: {\n default: 'ButtonFace',\n isDisabled: 'HighlightText'\n },\n outline: {\n default: 'ButtonText',\n isDisabled: 'GrayText'\n }\n }\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n },\n outlineColor: {\n default: 'focus-ring',\n isStaticColor: 'transparent-overlay-1000',\n forcedColors: 'Highlight'\n },\n forcedColorAdjust: 'none',\n disableTapHighlight: true\n}, getAllowedOverrides());\n\n// Put the gradient background on a separate element from the button to work around a Safari\n// bug where transitions of custom properties cause layout flickering if any properties use rems. 🤣\n// https://bugs.webkit.org/show_bug.cgi?id=285622\nconst gradient = style({\n position: 'absolute',\n inset: 0,\n zIndex: -1,\n transition: 'default',\n borderRadius: '[inherit]',\n backgroundImage: {\n variant: {\n premium: {\n default: linearGradient('to bottom right', ['fuchsia-900', 0], ['indigo-900', 66], ['blue-900', 100]),\n isHovered: linearGradient('to bottom right', ['fuchsia-1000', 0], ['indigo-1000', 66], ['blue-1000', 100]),\n isPressed: linearGradient('to bottom right', ['fuchsia-1000', 0], ['indigo-1000', 66], ['blue-1000', 100]),\n isFocusVisible: linearGradient('to bottom right', ['fuchsia-1000', 0], ['indigo-1000', 66], ['blue-1000', 100])\n },\n genai: {\n default: linearGradient('to bottom right', ['red-900', 0], ['magenta-900', 33], ['indigo-900', 100]),\n isHovered: linearGradient('to bottom right', ['red-1000', 0], ['magenta-1000', 33], ['indigo-1000', 100]),\n isPressed: linearGradient('to bottom right', ['red-1000', 0], ['magenta-1000', 33], ['indigo-1000', 100]),\n isFocusVisible: linearGradient('to bottom right', ['red-1000', 0], ['magenta-1000', 33], ['indigo-1000', 100])\n }\n },\n isDisabled: 'none',\n forcedColors: 'none'\n },\n // Force gradient colors to remain static between light and dark theme.\n colorScheme: {\n variant: {\n premium: 'light',\n genai: 'light'\n }\n }\n});\n\n/**\n * Buttons allow users to perform an action.\n * They have multiple styles for various needs, and are ideal for calling attention to\n * where a user needs to do something in order to move forward in a flow.\n */\nexport const Button = forwardRef(function Button(props: ButtonProps, ref: FocusableRef<HTMLButtonElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, ButtonContext);\n props = useFormProps(props);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {\n isPending,\n variant = 'primary',\n fillStyle = 'fill',\n size = 'M',\n staticColor\n } = props;\n let domRef = useFocusableRef(ref);\n let overlayTriggerState = useContext(OverlayTriggerStateContext);\n\n let [isProgressVisible, setIsProgressVisible] = useState(false);\n useEffect(() => {\n let timeout: ReturnType<typeof setTimeout>;\n\n if (isPending) {\n // Start timer when isPending is set to true.\n timeout = setTimeout(() => {\n setIsProgressVisible(true);\n }, 1000);\n } else {\n // Exit loading state when isPending is set to false. */\n setIsProgressVisible(false);\n }\n return () => {\n // Clean up on unmount or when user removes isPending prop before entering loading state.\n clearTimeout(timeout);\n };\n }, [isPending]);\n\n return (\n <RACButton\n {...props}\n ref={domRef}\n style={pressScale(domRef, props.UNSAFE_style)}\n className={renderProps => (props.UNSAFE_className || '') + button({\n ...renderProps,\n // Retain hover styles when an overlay is open.\n isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,\n isDisabled: renderProps.isDisabled || isProgressVisible,\n variant,\n fillStyle,\n size,\n staticColor,\n isStaticColor: !!staticColor\n }, props.styles)}>\n {(renderProps) => (<>\n {variant === 'genai' || variant === 'premium' \n ? (\n <span\n className={gradient({\n ...renderProps,\n // Retain hover styles when an overlay is open.\n isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,\n isDisabled: renderProps.isDisabled || isProgressVisible,\n variant\n })} />\n )\n : null}\n <Provider\n values={[\n [SkeletonContext, null],\n [TextContext, {\n styles: style({\n paddingY: '--labelPadding',\n order: 1,\n opacity: {\n default: 1,\n isProgressVisible: 0\n }\n })({isProgressVisible}),\n // @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past\n 'data-rsp-slot': 'text'\n }],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: style({\n size: fontRelative(20),\n marginStart: '--iconMargin',\n flexShrink: 0,\n opacity: {\n default: 1,\n isProgressVisible: 0\n }\n })({isProgressVisible})\n }]\n ]}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n {isPending &&\n <div\n className={style({\n position: 'absolute',\n top: '[50%]',\n left: '[50%]',\n transform: 'translate(-50%, -50%)',\n opacity: {\n default: 0,\n isProgressVisible: 1\n }\n })({isProgressVisible, isPending})}>\n <ProgressCircle\n isIndeterminate\n aria-label={stringFormatter.format('button.pending')}\n size=\"S\"\n staticColor={staticColor}\n styles={style({\n size: {\n size: {\n S: 14,\n M: 18,\n L: 20,\n XL: 24\n }\n }\n })({size})} />\n </div>\n }\n </Provider>\n </>)}\n </RACButton>\n );\n});\n\n/**\n * A LinkButton combines the functionality of a link with the appearance of a button. Useful for allowing users to navigate to another page.\n */\nexport const LinkButton = forwardRef(function LinkButton(props: LinkButtonProps, ref: FocusableRef<HTMLAnchorElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, LinkButtonContext);\n props = useFormProps(props);\n let domRef = useFocusableRef(ref);\n let overlayTriggerState = useContext(OverlayTriggerStateContext);\n\n return (\n <Link\n {...props}\n ref={domRef}\n style={pressScale(domRef, props.UNSAFE_style)}\n className={renderProps => (props.UNSAFE_className || '') + button({\n ...renderProps,\n // Retain hover styles when an overlay is open.\n isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false,\n variant: props.variant || 'primary',\n fillStyle: props.fillStyle || 'fill',\n size: props.size || 'M',\n staticColor: props.staticColor,\n isStaticColor: !!props.staticColor,\n isPending: false\n }, props.styles)}>\n <Provider\n values={[\n [SkeletonContext, null],\n [TextContext, {\n styles: style({paddingY: '--labelPadding', order: 1}),\n // @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past\n 'data-rsp-slot': 'text'\n }],\n [IconContext, {\n render: centerBaseline({slot: 'icon', styles: style({order: 0})}),\n styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})\n }]\n ]}>\n {typeof props.children === 'string' ? <Text>{props.children}</Text> : props.children}\n </Provider>\n </Link>\n );\n});\n"],"names":[],"version":3,"file":"Button.cjs.map"}
|
package/dist/Button.css
CHANGED
|
@@ -178,18 +178,6 @@
|
|
|
178
178
|
padding-bottom: 0;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
._Pa {
|
|
182
|
-
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
._R-375x7f {
|
|
186
|
-
transition-duration: .15s;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
._Sa {
|
|
190
|
-
transition-timing-function: cubic-bezier(.45, 0, .4, 1);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
181
|
.wa {
|
|
194
182
|
border-style: solid;
|
|
195
183
|
}
|
|
@@ -262,26 +250,6 @@
|
|
|
262
250
|
border-color: lch(from var(--s2-container-bg) calc((49.44 - l) * infinity) 0 0 / .17);
|
|
263
251
|
}
|
|
264
252
|
|
|
265
|
-
._C-riuwfd {
|
|
266
|
-
background-image: linear-gradient(96deg, var(--lightningcss-light, #b539c8) var(--lightningcss-dark, #d549eb) 0%, var(--lightningcss-light, #7155fa) var(--lightningcss-dark, #8077fe) 66%, var(--lightningcss-light, #3b63fb) var(--lightningcss-dark, #5681ff) 100%);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
._C-2xhv0x {
|
|
270
|
-
background-image: linear-gradient(96deg, var(--lightningcss-light, #9c28af) var(--lightningcss-dark, #e85bfd) 0%, var(--lightningcss-light, #6338ee) var(--lightningcss-dark, #8b8dfe) 66%, var(--lightningcss-light, #274dea) var(--lightningcss-dark, #6995fe) 100%);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
._C-u0nzys {
|
|
274
|
-
background-image: linear-gradient(96deg, var(--lightningcss-light, #d73220) var(--lightningcss-dark, #fc432e) 0%, var(--lightningcss-light, #d92361) var(--lightningcss-dark, #f37) 33%, var(--lightningcss-light, #7155fa) var(--lightningcss-dark, #8077fe) 100%);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
._C-1gcd5pl {
|
|
278
|
-
background-image: linear-gradient(96deg, var(--lightningcss-light, #b72818) var(--lightningcss-dark, #ff6756) 0%, var(--lightningcss-light, #ba1650) var(--lightningcss-dark, #ff6095) 33%, var(--lightningcss-light, #6338ee) var(--lightningcss-dark, #8b8dfe) 100%);
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
._C-yknrp1 {
|
|
282
|
-
background-image: none;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
253
|
.b-375toh {
|
|
286
254
|
background-color: var(--b);
|
|
287
255
|
}
|
|
@@ -386,6 +354,101 @@
|
|
|
386
354
|
--b: lch(from var(--s2-container-bg) calc((49.44 - l) * infinity) 0 0 / .11);
|
|
387
355
|
}
|
|
388
356
|
|
|
357
|
+
.Ya {
|
|
358
|
+
top: 0;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
._aa {
|
|
362
|
+
bottom: 0;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.Wa {
|
|
366
|
+
inset-inline-start: 0;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.Xa {
|
|
370
|
+
inset-inline-end: 0;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.__R-3hmpv {
|
|
374
|
+
z-index: -1;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
._Pa {
|
|
378
|
+
transition-property: color, background-color, var(--gp), border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
._R-375x7f {
|
|
382
|
+
transition-duration: .15s;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
._Sa {
|
|
386
|
+
transition-timing-function: cubic-bezier(.45, 0, .4, 1);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
._w-17zqamw {
|
|
390
|
+
border-start-start-radius: inherit;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
._x-17zqamw {
|
|
394
|
+
border-start-end-radius: inherit;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
._y-17zqamw {
|
|
398
|
+
border-end-start-radius: inherit;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
._z-17zqamw {
|
|
402
|
+
border-end-end-radius: inherit;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
._C-1bwg29 {
|
|
406
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 66%, var(--g2) 100%);
|
|
407
|
+
--g0: var(--lightningcss-light, #b539c8) var(--lightningcss-dark, #d549eb);
|
|
408
|
+
--g1: var(--lightningcss-light, #7155fa) var(--lightningcss-dark, #8077fe);
|
|
409
|
+
--g2: var(--lightningcss-light, #3b63fb) var(--lightningcss-dark, #5681ff);
|
|
410
|
+
--gp: --g0, --g1, --g2;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
._C-zh0yy1 {
|
|
414
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 66%, var(--g2) 100%);
|
|
415
|
+
--g0: var(--lightningcss-light, #9c28af) var(--lightningcss-dark, #e85bfd);
|
|
416
|
+
--g1: var(--lightningcss-light, #6338ee) var(--lightningcss-dark, #8b8dfe);
|
|
417
|
+
--g2: var(--lightningcss-light, #274dea) var(--lightningcss-dark, #6995fe);
|
|
418
|
+
--gp: --g0, --g1, --g2;
|
|
419
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 66%, var(--g2) 100%);
|
|
420
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 66%, var(--g2) 100%);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
._C-17z6g7s {
|
|
424
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 33%, var(--g2) 100%);
|
|
425
|
+
--g0: var(--lightningcss-light, #d73220) var(--lightningcss-dark, #fc432e);
|
|
426
|
+
--g1: var(--lightningcss-light, #d92361) var(--lightningcss-dark, #f37);
|
|
427
|
+
--g2: var(--lightningcss-light, #7155fa) var(--lightningcss-dark, #8077fe);
|
|
428
|
+
--gp: --g0, --g1, --g2;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
._C-x40uwg {
|
|
432
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 33%, var(--g2) 100%);
|
|
433
|
+
--g0: var(--lightningcss-light, #b72818) var(--lightningcss-dark, #ff6756);
|
|
434
|
+
--g1: var(--lightningcss-light, #ba1650) var(--lightningcss-dark, #ff6095);
|
|
435
|
+
--g2: var(--lightningcss-light, #6338ee) var(--lightningcss-dark, #8b8dfe);
|
|
436
|
+
--gp: --g0, --g1, --g2;
|
|
437
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 33%, var(--g2) 100%);
|
|
438
|
+
background-image: linear-gradient(to bottom right, var(--g0) 0%, var(--g1) 33%, var(--g2) 100%);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
._C-qey189 {
|
|
442
|
+
background-image: none;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
._Ba {
|
|
446
|
+
--lightningcss-light: initial;
|
|
447
|
+
--lightningcss-dark: ;
|
|
448
|
+
color-scheme: light;
|
|
449
|
+
color-scheme: light;
|
|
450
|
+
}
|
|
451
|
+
|
|
389
452
|
.Va {
|
|
390
453
|
position: absolute;
|
|
391
454
|
}
|
|
@@ -398,7 +461,7 @@
|
|
|
398
461
|
left: 50%;
|
|
399
462
|
}
|
|
400
463
|
|
|
401
|
-
.U-
|
|
464
|
+
.U-1uu3e5e {
|
|
402
465
|
transform: translate(-50%, -50%);
|
|
403
466
|
}
|
|
404
467
|
|
|
@@ -597,10 +660,6 @@
|
|
|
597
660
|
border-color: graytext;
|
|
598
661
|
}
|
|
599
662
|
|
|
600
|
-
._Ca-yknrp1 {
|
|
601
|
-
background-image: none;
|
|
602
|
-
}
|
|
603
|
-
|
|
604
663
|
.-_375toh_b-a_____K {
|
|
605
664
|
--b: ButtonText;
|
|
606
665
|
}
|
|
@@ -616,6 +675,10 @@
|
|
|
616
675
|
.-_375toh_b-a_____J {
|
|
617
676
|
--b: ButtonFace;
|
|
618
677
|
}
|
|
678
|
+
|
|
679
|
+
._Ca-qey189 {
|
|
680
|
+
background-image: none;
|
|
681
|
+
}
|
|
619
682
|
}
|
|
620
683
|
}
|
|
621
684
|
|
|
@@ -647,6 +710,24 @@
|
|
|
647
710
|
}
|
|
648
711
|
}
|
|
649
712
|
|
|
713
|
+
@property --g0 {
|
|
714
|
+
syntax: "<color>";
|
|
715
|
+
inherits: false;
|
|
716
|
+
initial-value: #0000;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
@property --g1 {
|
|
720
|
+
syntax: "<color>";
|
|
721
|
+
inherits: false;
|
|
722
|
+
initial-value: #0000;
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
@property --g2 {
|
|
726
|
+
syntax: "<color>";
|
|
727
|
+
inherits: false;
|
|
728
|
+
initial-value: #0000;
|
|
729
|
+
}
|
|
730
|
+
|
|
650
731
|
.\.:not(#a#b) {
|
|
651
732
|
all: revert-layer;
|
|
652
733
|
}
|