@react-spectrum/s2 3.0.0-nightly-63d4359d6-250427 → 3.0.0-nightly-1dd65ffc5-250429
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/Accordion.cjs +4 -5
- package/dist/Accordion.cjs.map +1 -1
- package/dist/Accordion.css +2 -4
- package/dist/Accordion.css.map +1 -1
- package/dist/Accordion.mjs +4 -5
- package/dist/Accordion.mjs.map +1 -1
- package/dist/ActionBar.cjs +72 -63
- package/dist/ActionBar.cjs.map +1 -1
- package/dist/ActionBar.css +70 -63
- package/dist/ActionBar.css.map +1 -1
- package/dist/ActionBar.mjs +72 -63
- package/dist/ActionBar.mjs.map +1 -1
- package/dist/ActionButton.cjs +161 -160
- package/dist/ActionButton.cjs.map +1 -1
- package/dist/ActionButton.css +174 -168
- package/dist/ActionButton.css.map +1 -1
- package/dist/ActionButton.mjs +161 -160
- package/dist/ActionButton.mjs.map +1 -1
- package/dist/ActionButtonGroup.cjs +17 -18
- package/dist/ActionButtonGroup.cjs.map +1 -1
- package/dist/ActionButtonGroup.css +9 -11
- package/dist/ActionButtonGroup.css.map +1 -1
- package/dist/ActionButtonGroup.mjs +17 -18
- package/dist/ActionButtonGroup.mjs.map +1 -1
- package/dist/AlertDialog.cjs +4 -4
- package/dist/AlertDialog.css +3 -5
- package/dist/AlertDialog.css.map +1 -1
- package/dist/AlertDialog.mjs +4 -4
- package/dist/Avatar.cjs +21 -21
- package/dist/Avatar.css +14 -16
- package/dist/Avatar.css.map +1 -1
- package/dist/Avatar.mjs +21 -21
- package/dist/AvatarGroup.cjs +131 -110
- package/dist/AvatarGroup.cjs.map +1 -1
- package/dist/AvatarGroup.css +43 -49
- package/dist/AvatarGroup.css.map +1 -1
- package/dist/AvatarGroup.mjs +131 -110
- package/dist/AvatarGroup.mjs.map +1 -1
- package/dist/Badge.cjs +150 -149
- package/dist/Badge.cjs.map +1 -1
- package/dist/Badge.css +140 -134
- package/dist/Badge.css.map +1 -1
- package/dist/Badge.mjs +150 -149
- package/dist/Badge.mjs.map +1 -1
- package/dist/Breadcrumbs.cjs +169 -154
- package/dist/Breadcrumbs.cjs.map +1 -1
- package/dist/Breadcrumbs.css +119 -105
- package/dist/Breadcrumbs.css.map +1 -1
- package/dist/Breadcrumbs.mjs +169 -154
- package/dist/Breadcrumbs.mjs.map +1 -1
- package/dist/Button.cjs +321 -275
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css +245 -215
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +321 -275
- package/dist/Button.mjs.map +1 -1
- package/dist/ButtonGroup.cjs +27 -25
- package/dist/ButtonGroup.cjs.map +1 -1
- package/dist/ButtonGroup.css +15 -17
- package/dist/ButtonGroup.css.map +1 -1
- package/dist/ButtonGroup.mjs +27 -25
- package/dist/ButtonGroup.mjs.map +1 -1
- package/dist/Card.cjs +316 -299
- package/dist/Card.cjs.map +1 -1
- package/dist/Card.css +242 -215
- package/dist/Card.css.map +1 -1
- package/dist/Card.mjs +316 -299
- package/dist/Card.mjs.map +1 -1
- package/dist/CardView.cjs +29 -30
- package/dist/CardView.cjs.map +1 -1
- package/dist/CardView.css +19 -19
- package/dist/CardView.mjs +29 -30
- package/dist/CardView.mjs.map +1 -1
- package/dist/CenterBaseline.cjs +2 -2
- package/dist/CenterBaseline.css +3 -5
- package/dist/CenterBaseline.css.map +1 -1
- package/dist/CenterBaseline.mjs +2 -2
- package/dist/Checkbox.cjs +114 -112
- package/dist/Checkbox.cjs.map +1 -1
- package/dist/Checkbox.css +99 -93
- package/dist/Checkbox.css.map +1 -1
- package/dist/Checkbox.mjs +114 -112
- package/dist/Checkbox.mjs.map +1 -1
- package/dist/CheckboxGroup.cjs +54 -54
- package/dist/CheckboxGroup.css +42 -42
- package/dist/CheckboxGroup.mjs +54 -54
- package/dist/ClearButton.cjs +19 -19
- package/dist/ClearButton.css +19 -21
- package/dist/ClearButton.css.map +1 -1
- package/dist/ClearButton.mjs +19 -19
- package/dist/CloseButton.cjs +64 -62
- package/dist/CloseButton.cjs.map +1 -1
- package/dist/CloseButton.css +48 -48
- package/dist/CloseButton.mjs +64 -62
- package/dist/CloseButton.mjs.map +1 -1
- package/dist/ColorArea.cjs +28 -28
- package/dist/ColorArea.css +17 -17
- package/dist/ColorArea.mjs +28 -28
- package/dist/ColorField.cjs +41 -41
- package/dist/ColorField.css +33 -33
- package/dist/ColorField.mjs +41 -41
- package/dist/ColorHandle.cjs +29 -29
- package/dist/ColorHandle.css +45 -45
- package/dist/ColorHandle.mjs +29 -29
- package/dist/ColorSlider.cjs +68 -64
- package/dist/ColorSlider.cjs.map +1 -1
- package/dist/ColorSlider.css +64 -58
- package/dist/ColorSlider.css.map +1 -1
- package/dist/ColorSlider.mjs +68 -64
- package/dist/ColorSlider.mjs.map +1 -1
- package/dist/ColorSwatch.cjs +44 -38
- package/dist/ColorSwatch.cjs.map +1 -1
- package/dist/ColorSwatch.css +29 -31
- package/dist/ColorSwatch.css.map +1 -1
- package/dist/ColorSwatch.mjs +44 -38
- package/dist/ColorSwatch.mjs.map +1 -1
- package/dist/ColorSwatchPicker.cjs +31 -32
- package/dist/ColorSwatchPicker.cjs.map +1 -1
- package/dist/ColorSwatchPicker.css +48 -48
- package/dist/ColorSwatchPicker.css.map +1 -1
- package/dist/ColorSwatchPicker.mjs +31 -32
- package/dist/ColorSwatchPicker.mjs.map +1 -1
- package/dist/ColorWheel.cjs +28 -28
- package/dist/ColorWheel.css +18 -18
- package/dist/ColorWheel.mjs +28 -28
- package/dist/ComboBox.cjs +108 -108
- package/dist/ComboBox.css +101 -101
- package/dist/ComboBox.mjs +108 -108
- package/dist/ContextualHelp.cjs +5 -5
- package/dist/ContextualHelp.css +58 -44
- package/dist/ContextualHelp.css.map +1 -1
- package/dist/ContextualHelp.mjs +5 -5
- package/dist/CustomDialog.cjs +38 -38
- package/dist/CustomDialog.css +26 -26
- package/dist/CustomDialog.mjs +38 -38
- package/dist/Dialog.cjs +18 -18
- package/dist/Dialog.css +86 -72
- package/dist/Dialog.css.map +1 -1
- package/dist/Dialog.mjs +18 -18
- package/dist/Disclosure.cjs +139 -133
- package/dist/Disclosure.cjs.map +1 -1
- package/dist/Disclosure.css +144 -120
- package/dist/Disclosure.css.map +1 -1
- package/dist/Disclosure.mjs +139 -133
- package/dist/Disclosure.mjs.map +1 -1
- package/dist/Divider.cjs +47 -47
- package/dist/Divider.css +26 -26
- package/dist/Divider.mjs +47 -47
- package/dist/DropZone.cjs +68 -64
- package/dist/DropZone.cjs.map +1 -1
- package/dist/DropZone.css +66 -60
- package/dist/DropZone.css.map +1 -1
- package/dist/DropZone.mjs +68 -64
- package/dist/DropZone.mjs.map +1 -1
- package/dist/Field.cjs +192 -186
- package/dist/Field.cjs.map +1 -1
- package/dist/Field.css +167 -159
- package/dist/Field.css.map +1 -1
- package/dist/Field.mjs +192 -186
- package/dist/Field.mjs.map +1 -1
- package/dist/Form.cjs +11 -12
- package/dist/Form.cjs.map +1 -1
- package/dist/Form.css +9 -11
- package/dist/Form.css.map +1 -1
- package/dist/Form.mjs +11 -12
- package/dist/Form.mjs.map +1 -1
- package/dist/FullscreenDialog.cjs +5 -5
- package/dist/FullscreenDialog.css +94 -80
- package/dist/FullscreenDialog.css.map +1 -1
- package/dist/FullscreenDialog.mjs +5 -5
- package/dist/IllustratedMessage.cjs +185 -160
- package/dist/IllustratedMessage.cjs.map +1 -1
- package/dist/IllustratedMessage.css +93 -91
- package/dist/IllustratedMessage.css.map +1 -1
- package/dist/IllustratedMessage.mjs +185 -160
- package/dist/IllustratedMessage.mjs.map +1 -1
- package/dist/Image.cjs +14 -14
- package/dist/Image.css +14 -16
- package/dist/Image.css.map +1 -1
- package/dist/Image.mjs +14 -14
- package/dist/InlineAlert.cjs +130 -122
- package/dist/InlineAlert.cjs.map +1 -1
- package/dist/InlineAlert.css +109 -95
- package/dist/InlineAlert.css.map +1 -1
- package/dist/InlineAlert.mjs +130 -122
- package/dist/InlineAlert.mjs.map +1 -1
- package/dist/Link.cjs +57 -47
- package/dist/Link.cjs.map +1 -1
- package/dist/Link.css +52 -44
- package/dist/Link.css.map +1 -1
- package/dist/Link.mjs +57 -47
- package/dist/Link.mjs.map +1 -1
- package/dist/Menu.cjs +353 -325
- package/dist/Menu.cjs.map +1 -1
- package/dist/Menu.css +189 -189
- package/dist/Menu.css.map +1 -1
- package/dist/Menu.mjs +353 -325
- package/dist/Menu.mjs.map +1 -1
- package/dist/Meter.cjs +116 -114
- package/dist/Meter.cjs.map +1 -1
- package/dist/Meter.css +106 -104
- package/dist/Meter.css.map +1 -1
- package/dist/Meter.mjs +116 -114
- package/dist/Meter.mjs.map +1 -1
- package/dist/Modal.cjs +62 -59
- package/dist/Modal.cjs.map +1 -1
- package/dist/Modal.css +52 -51
- package/dist/Modal.css.map +1 -1
- package/dist/Modal.mjs +62 -59
- package/dist/Modal.mjs.map +1 -1
- package/dist/NotificationBadge.cjs +66 -62
- package/dist/NotificationBadge.cjs.map +1 -1
- package/dist/NotificationBadge.css +78 -72
- package/dist/NotificationBadge.css.map +1 -1
- package/dist/NotificationBadge.mjs +66 -62
- package/dist/NotificationBadge.mjs.map +1 -1
- package/dist/NumberField.cjs +133 -133
- package/dist/NumberField.css +120 -120
- package/dist/NumberField.mjs +133 -133
- package/dist/Picker.cjs +209 -207
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css +179 -173
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +209 -207
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +124 -93
- package/dist/Popover.cjs.map +1 -1
- package/dist/Popover.css +67 -83
- package/dist/Popover.css.map +1 -1
- package/dist/Popover.mjs +124 -93
- package/dist/Popover.mjs.map +1 -1
- package/dist/ProgressBar.cjs +132 -130
- package/dist/ProgressBar.cjs.map +1 -1
- package/dist/ProgressBar.css +119 -117
- package/dist/ProgressBar.css.map +1 -1
- package/dist/ProgressBar.mjs +132 -130
- package/dist/ProgressBar.mjs.map +1 -1
- package/dist/ProgressCircle.cjs +32 -32
- package/dist/ProgressCircle.css +20 -20
- package/dist/ProgressCircle.css.map +1 -1
- package/dist/ProgressCircle.mjs +32 -32
- package/dist/Provider.cjs +11 -11
- package/dist/Provider.css +9 -11
- package/dist/Provider.css.map +1 -1
- package/dist/Provider.mjs +11 -11
- package/dist/Radio.cjs +101 -99
- package/dist/Radio.cjs.map +1 -1
- package/dist/Radio.css +101 -95
- package/dist/Radio.css.map +1 -1
- package/dist/Radio.mjs +101 -99
- package/dist/Radio.mjs.map +1 -1
- package/dist/RadioGroup.cjs +52 -52
- package/dist/RadioGroup.css +42 -42
- package/dist/RadioGroup.mjs +52 -52
- package/dist/SearchField.cjs +52 -52
- package/dist/SearchField.css +54 -54
- package/dist/SearchField.mjs +52 -52
- package/dist/SegmentedControl.cjs +123 -119
- package/dist/SegmentedControl.cjs.map +1 -1
- package/dist/SegmentedControl.css +110 -104
- package/dist/SegmentedControl.css.map +1 -1
- package/dist/SegmentedControl.mjs +123 -119
- package/dist/SegmentedControl.mjs.map +1 -1
- package/dist/Slider.cjs +251 -248
- package/dist/Slider.cjs.map +1 -1
- package/dist/Slider.css +166 -157
- package/dist/Slider.css.map +1 -1
- package/dist/Slider.mjs +251 -248
- package/dist/Slider.mjs.map +1 -1
- package/dist/StatusLight.cjs +74 -70
- package/dist/StatusLight.cjs.map +1 -1
- package/dist/StatusLight.css +70 -64
- package/dist/StatusLight.css.map +1 -1
- package/dist/StatusLight.mjs +74 -70
- package/dist/StatusLight.mjs.map +1 -1
- package/dist/Switch.cjs +110 -108
- package/dist/Switch.cjs.map +1 -1
- package/dist/Switch.css +86 -80
- package/dist/Switch.css.map +1 -1
- package/dist/Switch.mjs +110 -108
- package/dist/Switch.mjs.map +1 -1
- package/dist/TableView.cjs +334 -329
- package/dist/TableView.cjs.map +1 -1
- package/dist/TableView.css +193 -193
- package/dist/TableView.css.map +1 -1
- package/dist/TableView.mjs +334 -329
- package/dist/TableView.mjs.map +1 -1
- package/dist/Tabs.cjs +153 -149
- package/dist/Tabs.cjs.map +1 -1
- package/dist/Tabs.css +102 -96
- package/dist/Tabs.css.map +1 -1
- package/dist/Tabs.mjs +153 -149
- package/dist/Tabs.mjs.map +1 -1
- package/dist/TabsPicker.cjs +131 -129
- package/dist/TabsPicker.cjs.map +1 -1
- package/dist/TabsPicker.css +132 -126
- package/dist/TabsPicker.css.map +1 -1
- package/dist/TabsPicker.mjs +131 -129
- package/dist/TabsPicker.mjs.map +1 -1
- package/dist/TagGroup.cjs +197 -193
- package/dist/TagGroup.cjs.map +1 -1
- package/dist/TagGroup.css +164 -158
- package/dist/TagGroup.css.map +1 -1
- package/dist/TagGroup.mjs +197 -193
- package/dist/TagGroup.mjs.map +1 -1
- package/dist/TextField.cjs +67 -65
- package/dist/TextField.cjs.map +1 -1
- package/dist/TextField.css +71 -65
- package/dist/TextField.css.map +1 -1
- package/dist/TextField.mjs +67 -65
- package/dist/TextField.mjs.map +1 -1
- package/dist/Toast.cjs +138 -136
- package/dist/Toast.cjs.map +1 -1
- package/dist/Toast.css +117 -111
- package/dist/Toast.css.map +1 -1
- package/dist/Toast.mjs +138 -136
- package/dist/Toast.mjs.map +1 -1
- package/dist/ToggleButton.cjs +3 -3
- package/dist/ToggleButton.css +12 -14
- package/dist/ToggleButton.css.map +1 -1
- package/dist/ToggleButton.mjs +3 -3
- package/dist/Tooltip.cjs +99 -72
- package/dist/Tooltip.cjs.map +1 -1
- package/dist/Tooltip.css +87 -87
- package/dist/Tooltip.css.map +1 -1
- package/dist/Tooltip.mjs +99 -72
- package/dist/Tooltip.mjs.map +1 -1
- package/dist/TreeView.cjs +169 -157
- package/dist/TreeView.cjs.map +1 -1
- package/dist/TreeView.css +155 -153
- package/dist/TreeView.css.map +1 -1
- package/dist/TreeView.mjs +169 -157
- package/dist/TreeView.mjs.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/icons/Skeleton.cjs +3 -3
- package/icons/Skeleton.cjs.map +1 -1
- package/icons/Skeleton.css +8 -10
- package/icons/Skeleton.css.map +1 -1
- package/icons/Skeleton.mjs +3 -3
- package/icons/Skeleton.mjs.map +1 -1
- package/package.json +22 -22
- package/src/Card.tsx +3 -3
- package/src/Disclosure.tsx +3 -3
- package/src/TableView.tsx +1 -4
- package/src/style-utils.ts +0 -2
- package/style/__tests__/style-macro.test.js +323 -27
- package/style/dist/properties.cjs +4 -0
- package/style/dist/properties.cjs.map +1 -0
- package/style/dist/properties.mjs +6 -0
- package/style/dist/properties.mjs.map +1 -0
- package/style/dist/spectrum-theme.cjs +123 -124
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +124 -125
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/style-macro.cjs +244 -263
- package/style/dist/style-macro.cjs.map +1 -1
- package/style/dist/style-macro.mjs +240 -259
- package/style/dist/style-macro.mjs.map +1 -1
- package/style/dist/types.d.ts +84 -80
- package/style/dist/types.d.ts.map +1 -1
- package/style/properties.json +2422 -0
- package/style/spectrum-theme.ts +101 -110
- package/style/style-macro.ts +319 -220
- package/style/types.ts +8 -4
|
@@ -1,226 +1,232 @@
|
|
|
1
1
|
@layer _.a {
|
|
2
|
-
.
|
|
2
|
+
.ma {
|
|
3
3
|
display: flex;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
.
|
|
6
|
+
.md {
|
|
7
7
|
display: none;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
.
|
|
10
|
+
.bh {
|
|
11
11
|
font-family: adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
.
|
|
14
|
+
.ai {
|
|
15
15
|
font-size: .6875rem;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
.
|
|
18
|
+
.af {
|
|
19
19
|
font-size: .75rem;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
.
|
|
22
|
+
.aa {
|
|
23
23
|
font-size: .875rem;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
.
|
|
26
|
+
.Da {
|
|
27
27
|
font-variation-settings: "wght" 400;
|
|
28
|
-
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.Ea {
|
|
29
31
|
font-weight: 400;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
|
-
.
|
|
34
|
+
.Ca {
|
|
35
|
+
font-synthesis-weight: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.gb {
|
|
33
39
|
line-height: 1.3;
|
|
34
40
|
}
|
|
35
41
|
|
|
36
|
-
.
|
|
42
|
+
.dd {
|
|
37
43
|
color: #fff;
|
|
38
44
|
}
|
|
39
45
|
|
|
40
|
-
.
|
|
41
|
-
color: lch(from var(--
|
|
46
|
+
.dr {
|
|
47
|
+
color: lch(from var(--c, var(--s2-container-bg)) calc((49.44 - l) * infinity) 0 0 / 1);
|
|
42
48
|
}
|
|
43
49
|
|
|
44
|
-
.
|
|
50
|
+
._pa {
|
|
45
51
|
justify-content: center;
|
|
46
52
|
}
|
|
47
53
|
|
|
48
|
-
.
|
|
54
|
+
.Fa {
|
|
49
55
|
align-items: center;
|
|
50
56
|
}
|
|
51
57
|
|
|
52
|
-
.
|
|
53
|
-
background-color: var(--
|
|
58
|
+
.ciKFGYc {
|
|
59
|
+
background-color: var(--c);
|
|
54
60
|
}
|
|
55
61
|
|
|
56
|
-
.
|
|
57
|
-
height: var(--
|
|
62
|
+
.emLFGYc {
|
|
63
|
+
height: var(--e);
|
|
58
64
|
}
|
|
59
65
|
|
|
60
|
-
.
|
|
66
|
+
._Oa {
|
|
61
67
|
aspect-ratio: 1;
|
|
62
68
|
aspect-ratio: 1;
|
|
63
69
|
}
|
|
64
70
|
|
|
65
|
-
.
|
|
71
|
+
.fq {
|
|
66
72
|
width: max-content;
|
|
67
73
|
}
|
|
68
74
|
|
|
69
|
-
.
|
|
70
|
-
padding-inline-start: calc(var(--
|
|
75
|
+
.ob {
|
|
76
|
+
padding-inline-start: calc(var(--e, var(--s)) * 3 / 8);
|
|
71
77
|
}
|
|
72
78
|
|
|
73
|
-
.
|
|
74
|
-
padding-inline-end: calc(var(--
|
|
79
|
+
.nb {
|
|
80
|
+
padding-inline-end: calc(var(--e, var(--s)) * 3 / 8);
|
|
75
81
|
}
|
|
76
82
|
|
|
77
|
-
.
|
|
78
|
-
border-start-start-radius: calc(var(--
|
|
83
|
+
.zh {
|
|
84
|
+
border-start-start-radius: calc(var(--e, var(--s, 9999px)) / 2);
|
|
79
85
|
}
|
|
80
86
|
|
|
81
|
-
.
|
|
82
|
-
border-start-end-radius: calc(var(--
|
|
87
|
+
.xh {
|
|
88
|
+
border-start-end-radius: calc(var(--e, var(--s, 9999px)) / 2);
|
|
83
89
|
}
|
|
84
90
|
|
|
85
|
-
.
|
|
86
|
-
border-end-start-radius: calc(var(--
|
|
91
|
+
.wh {
|
|
92
|
+
border-end-start-radius: calc(var(--e, var(--s, 9999px)) / 2);
|
|
87
93
|
}
|
|
88
94
|
|
|
89
|
-
.
|
|
90
|
-
border-end-end-radius: calc(var(--
|
|
95
|
+
.yh {
|
|
96
|
+
border-end-end-radius: calc(var(--e, var(--s, 9999px)) / 2);
|
|
91
97
|
}
|
|
92
98
|
|
|
93
|
-
.-
|
|
94
|
-
--
|
|
99
|
+
.-c_-cl {
|
|
100
|
+
--c: var(--lightningcss-light, #3b63fb) var(--lightningcss-dark, #4069fd);
|
|
95
101
|
}
|
|
96
102
|
|
|
97
|
-
.-
|
|
98
|
-
--
|
|
103
|
+
.-c_-cb {
|
|
104
|
+
--c: var(--lightningcss-light, #274dea) var(--lightningcss-dark, #345bf8);
|
|
99
105
|
}
|
|
100
106
|
|
|
101
|
-
.-
|
|
102
|
-
--
|
|
107
|
+
.-c_-cN {
|
|
108
|
+
--c: lch(from var(--s2-container-bg) calc((49.44 - l) * infinity) 0 0 / 1);
|
|
103
109
|
}
|
|
104
110
|
|
|
105
|
-
.-
|
|
106
|
-
--
|
|
111
|
+
.-e_-eq {
|
|
112
|
+
--e: calc(.75rem * var(--s2-scale));
|
|
107
113
|
}
|
|
108
114
|
|
|
109
|
-
.-
|
|
110
|
-
--
|
|
115
|
+
.-e_-eLb8KJ {
|
|
116
|
+
--e: 1.28571em;
|
|
111
117
|
}
|
|
112
118
|
|
|
113
|
-
.-
|
|
114
|
-
--
|
|
119
|
+
.-e_-ej {
|
|
120
|
+
--e: calc(.5rem * var(--s2-scale));
|
|
115
121
|
}
|
|
116
122
|
|
|
117
|
-
.-
|
|
118
|
-
--
|
|
123
|
+
.-e_-eg {
|
|
124
|
+
--e: calc(1rem * var(--s2-scale));
|
|
119
125
|
}
|
|
120
126
|
|
|
121
|
-
.-
|
|
122
|
-
--
|
|
127
|
+
.-e_-eh {
|
|
128
|
+
--e: calc(1.125rem * var(--s2-scale));
|
|
123
129
|
}
|
|
124
130
|
|
|
125
|
-
.-
|
|
126
|
-
--
|
|
131
|
+
.-e_-espvr8c {
|
|
132
|
+
--e: .857143em;
|
|
127
133
|
}
|
|
128
134
|
}
|
|
129
135
|
|
|
130
136
|
@layer _.b {
|
|
131
|
-
.
|
|
137
|
+
.bdf:lang(ar) {
|
|
132
138
|
font-family: myriad-arabic, ui-sans-serif, system-ui, sans-serif;
|
|
133
139
|
}
|
|
134
140
|
|
|
135
|
-
.
|
|
141
|
+
.gca:is(:lang(ja), :lang(ko), :lang(zh), :lang(zh-Hant), :lang(zh-Hans)) {
|
|
136
142
|
line-height: 1.5;
|
|
137
143
|
}
|
|
138
144
|
}
|
|
139
145
|
|
|
140
146
|
@layer _.c {
|
|
141
|
-
.
|
|
147
|
+
.beg:lang(he) {
|
|
142
148
|
font-family: myriad-hebrew, ui-sans-serif, system-ui, sans-serif;
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
151
|
|
|
146
152
|
@layer _.d {
|
|
147
|
-
.
|
|
153
|
+
.bfa:lang(ja) {
|
|
148
154
|
font-family: adobe-clean-han-japanese, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Osaka, YuGothic, Yu Gothic, メイリオ, Meiryo, MS Pゴシック, MS PGothic, sans-serif;
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
157
|
|
|
152
158
|
@layer _.e {
|
|
153
|
-
.
|
|
159
|
+
.bgb:lang(ko) {
|
|
154
160
|
font-family: adobe-clean-han-korean, source-han-korean, Malgun Gothic, Apple Gothic, sans-serif;
|
|
155
161
|
}
|
|
156
162
|
}
|
|
157
163
|
|
|
158
164
|
@layer _.f {
|
|
159
|
-
.
|
|
165
|
+
.bhd:lang(zh) {
|
|
160
166
|
font-family: adobe-clean-han-traditional, source-han-traditional, MingLiu, Heiti TC Light, sans-serif;
|
|
161
167
|
}
|
|
162
168
|
}
|
|
163
169
|
|
|
164
170
|
@layer _.g {
|
|
165
|
-
.
|
|
171
|
+
.bje:lang(zh-hant) {
|
|
166
172
|
font-family: adobe-clean-han-traditional, source-han-traditional, MingLiu, Microsoft JhengHei UI, Microsoft JhengHei, Heiti TC Light, sans-serif;
|
|
167
173
|
}
|
|
168
174
|
}
|
|
169
175
|
|
|
170
176
|
@layer _.h {
|
|
171
|
-
.
|
|
177
|
+
.bic:is(:lang(zh-Hans), :lang(zh-CN), :lang(zh-SG)) {
|
|
172
178
|
font-family: adobe-clean-han-simplified-c, source-han-simplified-c, SimSun, Heiti SC Light, sans-serif;
|
|
173
179
|
}
|
|
174
180
|
}
|
|
175
181
|
|
|
176
|
-
@layer _.b.
|
|
182
|
+
@layer _.b.a {
|
|
177
183
|
@media not ((hover: hover) and (pointer: fine)) {
|
|
178
|
-
.
|
|
184
|
+
.aaj {
|
|
179
185
|
font-size: .8125rem;
|
|
180
186
|
}
|
|
181
187
|
|
|
182
|
-
.
|
|
188
|
+
.aag {
|
|
183
189
|
font-size: .9375rem;
|
|
184
190
|
}
|
|
185
191
|
|
|
186
|
-
.
|
|
192
|
+
.aab {
|
|
187
193
|
font-size: 1.0625rem;
|
|
188
194
|
}
|
|
189
195
|
}
|
|
190
196
|
}
|
|
191
197
|
|
|
192
|
-
@layer _.b.
|
|
198
|
+
@layer _.b.b {
|
|
193
199
|
@media (forced-colors: active) {
|
|
194
|
-
.
|
|
200
|
+
.dbf {
|
|
195
201
|
color: buttontext;
|
|
196
202
|
}
|
|
197
203
|
|
|
198
|
-
.
|
|
204
|
+
.Rba {
|
|
199
205
|
border-style: solid;
|
|
200
206
|
}
|
|
201
207
|
|
|
202
|
-
.
|
|
208
|
+
._nbc {
|
|
203
209
|
border-top-width: 1px;
|
|
204
210
|
}
|
|
205
211
|
|
|
206
|
-
.
|
|
212
|
+
._mbb {
|
|
207
213
|
border-bottom-width: 1px;
|
|
208
214
|
}
|
|
209
215
|
|
|
210
|
-
.
|
|
216
|
+
._tbc {
|
|
211
217
|
border-inline-start-width: 1px;
|
|
212
218
|
}
|
|
213
219
|
|
|
214
|
-
.
|
|
220
|
+
._sbc {
|
|
215
221
|
border-inline-end-width: 1px;
|
|
216
222
|
}
|
|
217
223
|
|
|
218
|
-
.
|
|
224
|
+
.qbc {
|
|
219
225
|
border-color: buttonborder;
|
|
220
226
|
}
|
|
221
227
|
|
|
222
|
-
.-
|
|
223
|
-
--
|
|
228
|
+
.-c_-bcn {
|
|
229
|
+
--c: ButtonFace;
|
|
224
230
|
}
|
|
225
231
|
}
|
|
226
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgDc;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA
|
|
1
|
+
{"mappings":"AAgDc;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AAAA;EAAA;;;;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA","sources":["packages/@react-spectrum/s2/src/NotificationBadge.tsx"],"sourcesContent":["/*\n * Copyright 2025 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 {AriaLabelingProps, DOMProps, DOMRef, DOMRefValue} from '@react-types/shared';\nimport {ContextValue, SlotProps} from 'react-aria-components';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {fontRelative, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {NumberFormatter} from '@internationalized/number';\nimport React, {createContext, forwardRef} from 'react';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface NotificationBadgeStyleProps {\n /**\n * The size of the notification badge.\n *\n * @default 'S'\n */\n size?: 'S' | 'M' | 'L' | 'XL'\n}\n\nexport interface NotificationBadgeProps extends DOMProps, AriaLabelingProps, StyleProps, NotificationBadgeStyleProps, SlotProps {\n /**\n * The value to be displayed in the notification badge.\n */\n value?: number | null\n}\n\ninterface NotificationBadgeContextProps extends Partial<NotificationBadgeProps> {\n isDisabled?: boolean,\n staticColor?: 'black' | 'white' | 'auto'\n}\n\nexport const NotificationBadgeContext = createContext<ContextValue<Partial<NotificationBadgeContextProps>, DOMRefValue<HTMLDivElement>>>(null);\n\nconst badge = style({\n display: {\n default: 'flex',\n isDisabled: 'none'\n },\n font: 'control',\n color: {\n default: 'white',\n isStaticColor: 'auto',\n forcedColors: 'ButtonText'\n },\n fontSize: {\n size: {\n S: 'ui-xs',\n M: 'ui-xs',\n L: 'ui-sm',\n XL: 'ui'\n }\n },\n borderStyle: {\n forcedColors: 'solid'\n },\n borderWidth: {\n forcedColors: '[1px]'\n },\n borderColor: {\n forcedColors: 'ButtonBorder'\n },\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: {\n default: 'accent',\n isStaticColor: 'transparent-overlay-1000',\n forcedColors: 'ButtonFace'\n },\n height: {\n size: {\n S: {\n default: 12,\n isIndicatorOnly: 8\n },\n M: {\n default: fontRelative(18), // sort of arbitrary? tried to get as close to the figma designs as possible\n isIndicatorOnly: 8\n },\n L: {\n default: 16,\n isIndicatorOnly: fontRelative(12)\n },\n XL: {\n default: 18,\n isIndicatorOnly: fontRelative(12)\n }\n }\n },\n aspectRatio: {\n isIndicatorOnly: 'square',\n isSingleDigit: 'square'\n },\n width: 'max',\n paddingX: {\n isDoubleDigit: 'edge-to-text'\n },\n borderRadius: 'pill'\n}, getAllowedOverrides());\n\n/**\n * Notification badges are used to indicate new or pending activity .\n */\nexport const NotificationBadge = forwardRef(function Badge(props: NotificationBadgeProps, ref: DOMRef<HTMLDivElement>) {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n [props, ref] = useSpectrumContextProps(props, ref, NotificationBadgeContext);\n let {\n size = 'S',\n value,\n isDisabled = false,\n staticColor,\n ...otherProps\n } = props as NotificationBadgeContextProps;\n let domRef = useDOMRef(ref);\n let {locale} = useLocale();\n let formattedValue = '';\n\n let isIndicatorOnly = false;\n let isSingleDigit = false;\n let isDoubleDigit = false;\n\n if (value == null) {\n isIndicatorOnly = true;\n } else if (value <= 0) {\n throw new Error('Value cannot be negative or zero');\n } else if (!Number.isInteger(value)) {\n throw new Error('Value must be a positive integer');\n } else {\n formattedValue = new NumberFormatter(locale).format(Math.min(value, 99));\n let length = Math.log(value <= 99 ? value : 99) * Math.LOG10E + 1 | 0; // for positive integers (https://stackoverflow.com/questions/14879691/get-number-of-digits-with-javascript)\n if (length === 1) {\n isSingleDigit = true;\n } else if (length === 2) {\n isDoubleDigit = true;\n }\n\n if (value > 99) {\n formattedValue = stringFormatter.format('notificationbadge.plus', {notifications: formattedValue});\n }\n }\n\n let ariaLabel = props['aria-label'] || undefined;\n if (ariaLabel === undefined && isIndicatorOnly) {\n ariaLabel = stringFormatter.format('notificationbadge.indicatorOnly');\n }\n\n return (\n <span\n {...filterDOMProps(otherProps, {labelable: true})}\n role={ariaLabel && 'img'}\n aria-label={ariaLabel}\n className={(props.UNSAFE_className || '') + badge({size, isIndicatorOnly, isSingleDigit, isDoubleDigit, isDisabled, isStaticColor: !!staticColor}, props.styles)}\n style={props.UNSAFE_style}\n ref={domRef}>\n {formattedValue}\n </span>\n );\n});\n"],"names":[],"version":3,"file":"NotificationBadge.css.map"}
|
|
@@ -32,79 +32,83 @@ function $parcel$interopDefault(a) {
|
|
|
32
32
|
|
|
33
33
|
const $bfb270fb056fefc5$export$9ab75c96ebaa396c = /*#__PURE__*/ (0, $bfWIi$createContext)(null);
|
|
34
34
|
const $bfb270fb056fefc5$var$badge = function anonymous(props, overrides) {
|
|
35
|
-
let rules = "
|
|
36
|
-
let
|
|
37
|
-
|
|
38
|
-
let
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
rules += '
|
|
43
|
-
rules += '
|
|
44
|
-
rules += '
|
|
45
|
-
rules += '
|
|
46
|
-
rules += '
|
|
47
|
-
rules += '
|
|
48
|
-
rules += '
|
|
49
|
-
rules += '
|
|
35
|
+
let rules = " ";
|
|
36
|
+
let width = false;
|
|
37
|
+
let matches = (overrides || '').matchAll(/(?:^|\s)(j|l|h|i|_H|_r|M|__f|_X|_M|L|N|_f|_d|K|__B|H|G|J|I|f|u|_l)[^\s]+/g);
|
|
38
|
+
for (let p of matches){
|
|
39
|
+
if (p[1] === "f") width = true;
|
|
40
|
+
rules += p[0];
|
|
41
|
+
}
|
|
42
|
+
if (props.isDisabled) rules += ' md';
|
|
43
|
+
else rules += ' ma';
|
|
44
|
+
rules += ' bh';
|
|
45
|
+
rules += ' bdf';
|
|
46
|
+
rules += ' beg';
|
|
47
|
+
rules += ' bfa';
|
|
48
|
+
rules += ' bgb';
|
|
49
|
+
rules += ' bhd';
|
|
50
|
+
rules += ' bje';
|
|
51
|
+
rules += ' bic';
|
|
50
52
|
if (props.size === "XL") {
|
|
51
|
-
rules += '
|
|
52
|
-
rules += '
|
|
53
|
+
rules += ' aa';
|
|
54
|
+
rules += ' aab';
|
|
53
55
|
} else if (props.size === "L") {
|
|
54
|
-
rules += '
|
|
55
|
-
rules += '
|
|
56
|
+
rules += ' af';
|
|
57
|
+
rules += ' aag';
|
|
56
58
|
} else if (props.size === "M") {
|
|
57
|
-
rules += '
|
|
58
|
-
rules += '
|
|
59
|
+
rules += ' ai';
|
|
60
|
+
rules += ' aaj';
|
|
59
61
|
} else if (props.size === "S") {
|
|
60
|
-
rules += '
|
|
61
|
-
rules += '
|
|
62
|
+
rules += ' ai';
|
|
63
|
+
rules += ' aaj';
|
|
62
64
|
}
|
|
63
|
-
rules += '
|
|
64
|
-
rules += '
|
|
65
|
-
rules += '
|
|
66
|
-
rules += '
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
rules += '
|
|
70
|
-
rules += '
|
|
71
|
-
rules += '
|
|
72
|
-
rules += '
|
|
73
|
-
rules += '
|
|
74
|
-
rules += '
|
|
75
|
-
rules += '
|
|
76
|
-
rules += '
|
|
77
|
-
rules += '
|
|
78
|
-
rules += '
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (
|
|
82
|
-
if (props.
|
|
83
|
-
if (
|
|
84
|
-
rules += '
|
|
85
|
-
rules += '
|
|
86
|
-
rules += '
|
|
87
|
-
rules += '
|
|
88
|
-
rules += '
|
|
89
|
-
|
|
65
|
+
rules += ' Da';
|
|
66
|
+
rules += ' Ea';
|
|
67
|
+
rules += ' Ca';
|
|
68
|
+
rules += ' gb';
|
|
69
|
+
rules += ' gca';
|
|
70
|
+
if (props.isStaticColor) rules += ' dr';
|
|
71
|
+
else rules += ' dd';
|
|
72
|
+
rules += ' dbf';
|
|
73
|
+
rules += ' Rba';
|
|
74
|
+
rules += ' _nbc';
|
|
75
|
+
rules += ' _mbb';
|
|
76
|
+
rules += ' _tbc';
|
|
77
|
+
rules += ' _sbc';
|
|
78
|
+
rules += ' qbc';
|
|
79
|
+
rules += ' _pa';
|
|
80
|
+
rules += ' Fa';
|
|
81
|
+
rules += ' ciKFGYc';
|
|
82
|
+
rules += ' emLFGYc';
|
|
83
|
+
if (props.isSingleDigit) rules += ' _Oa';
|
|
84
|
+
else if (props.isIndicatorOnly) rules += ' _Oa';
|
|
85
|
+
if (!width) rules += ' fq';
|
|
86
|
+
if (props.isDoubleDigit) rules += ' ob';
|
|
87
|
+
if (props.isDoubleDigit) rules += ' nb';
|
|
88
|
+
rules += ' zh';
|
|
89
|
+
rules += ' xh';
|
|
90
|
+
rules += ' wh';
|
|
91
|
+
rules += ' yh';
|
|
92
|
+
if (props.isStaticColor) rules += ' -c_-cN';
|
|
90
93
|
else {
|
|
91
|
-
if (props.isPressed) rules += ' -
|
|
92
|
-
else if (props.isFocusVisible) rules += ' -
|
|
93
|
-
else if (props.isHovered) rules += ' -
|
|
94
|
-
else rules += ' -
|
|
94
|
+
if (props.isPressed) rules += ' -c_-cb';
|
|
95
|
+
else if (props.isFocusVisible) rules += ' -c_-cb';
|
|
96
|
+
else if (props.isHovered) rules += ' -c_-cb';
|
|
97
|
+
else rules += ' -c_-cl';
|
|
95
98
|
}
|
|
99
|
+
rules += ' -c_-bcn';
|
|
96
100
|
if (props.size === "XL") {
|
|
97
|
-
if (props.isIndicatorOnly) rules += ' -
|
|
98
|
-
else rules += ' -
|
|
101
|
+
if (props.isIndicatorOnly) rules += ' -e_-espvr8c';
|
|
102
|
+
else rules += ' -e_-eh';
|
|
99
103
|
} else if (props.size === "L") {
|
|
100
|
-
if (props.isIndicatorOnly) rules += ' -
|
|
101
|
-
else rules += ' -
|
|
104
|
+
if (props.isIndicatorOnly) rules += ' -e_-espvr8c';
|
|
105
|
+
else rules += ' -e_-eg';
|
|
102
106
|
} else if (props.size === "M") {
|
|
103
|
-
if (props.isIndicatorOnly) rules += ' -
|
|
104
|
-
else rules += ' -
|
|
107
|
+
if (props.isIndicatorOnly) rules += ' -e_-ej';
|
|
108
|
+
else rules += ' -e_-eLb8KJ';
|
|
105
109
|
} else if (props.size === "S") {
|
|
106
|
-
if (props.isIndicatorOnly) rules += ' -
|
|
107
|
-
else rules += ' -
|
|
110
|
+
if (props.isIndicatorOnly) rules += ' -e_-ej';
|
|
111
|
+
else rules += ' -e_-eq';
|
|
108
112
|
}
|
|
109
113
|
return rules;
|
|
110
114
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAoCM,MAAM,0DAA2B,CAAA,GAAA,oBAAY,EAAqF;AAEzI,MAAM
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAoCM,MAAM,0DAA2B,CAAA,GAAA,oBAAY,EAAqF;AAEzI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEC,MAAM,0DAAoB,CAAA,GAAA,iBAAS,EAAE,SAAS,MAAM,KAA6B,EAAE,GAA2B;IACnH,IAAI,kBAAkB,CAAA,GAAA,kCAA0B,EAAE,CAAA,GAAA,+CAAW,GAAG;IAChE,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,yCAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,QACF,OAAO,YACP,KAAK,cACL,aAAa,oBACb,WAAW,EACX,GAAG,YACJ,GAAG;IACJ,IAAI,SAAS,CAAA,GAAA,gBAAQ,EAAE;IACvB,IAAI,UAAC,MAAM,EAAC,GAAG,CAAA,GAAA,gBAAQ;IACvB,IAAI,iBAAiB;IAErB,IAAI,kBAAkB;IACtB,IAAI,gBAAgB;IACpB,IAAI,gBAAgB;IAEpB,IAAI,SAAS,MACX,kBAAkB;SACb,IAAI,SAAS,GAClB,MAAM,IAAI,MAAM;SACX,IAAI,CAAC,OAAO,SAAS,CAAC,QAC3B,MAAM,IAAI,MAAM;SACX;QACL,iBAAiB,IAAI,CAAA,GAAA,sBAAc,EAAE,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO;QACpE,IAAI,SAAS,KAAK,GAAG,CAAC,SAAS,KAAK,QAAQ,MAAM,KAAK,MAAM,GAAG,IAAI,GAAI,4GAA4G;QACpL,IAAI,WAAW,GACb,gBAAgB;aACX,IAAI,WAAW,GACpB,gBAAgB;QAGlB,IAAI,QAAQ,IACV,iBAAiB,gBAAgB,MAAM,CAAC,0BAA0B;YAAC,eAAe;QAAc;IAEpG;IAEA,IAAI,YAAY,KAAK,CAAC,aAAa,IAAI;IACvC,IAAI,cAAc,aAAa,iBAC7B,YAAY,gBAAgB,MAAM,CAAC;IAGrC,qBACE,gBAAC;QACE,GAAG,CAAA,GAAA,qBAAa,EAAE,YAAY;YAAC,WAAW;QAAI,EAAE;QACjD,MAAM,aAAa;QACnB,cAAY;QACZ,WAAW,AAAC,CAAA,MAAM,gBAAgB,IAAI,EAAC,IAAK,4BAAM;kBAAC;6BAAM;2BAAiB;2BAAe;wBAAe;YAAY,eAAe,CAAC,CAAC;QAAW,GAAG,MAAM,MAAM;QAC/J,OAAO,MAAM,YAAY;QACzB,KAAK;kBACJ;;AAGP","sources":["packages/@react-spectrum/s2/src/NotificationBadge.tsx"],"sourcesContent":["/*\n * Copyright 2025 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 {AriaLabelingProps, DOMProps, DOMRef, DOMRefValue} from '@react-types/shared';\nimport {ContextValue, SlotProps} from 'react-aria-components';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {fontRelative, style} from '../style' with {type: 'macro'};\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {NumberFormatter} from '@internationalized/number';\nimport React, {createContext, forwardRef} from 'react';\nimport {useDOMRef} from '@react-spectrum/utils';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nexport interface NotificationBadgeStyleProps {\n /**\n * The size of the notification badge.\n *\n * @default 'S'\n */\n size?: 'S' | 'M' | 'L' | 'XL'\n}\n\nexport interface NotificationBadgeProps extends DOMProps, AriaLabelingProps, StyleProps, NotificationBadgeStyleProps, SlotProps {\n /**\n * The value to be displayed in the notification badge.\n */\n value?: number | null\n}\n\ninterface NotificationBadgeContextProps extends Partial<NotificationBadgeProps> {\n isDisabled?: boolean,\n staticColor?: 'black' | 'white' | 'auto'\n}\n\nexport const NotificationBadgeContext = createContext<ContextValue<Partial<NotificationBadgeContextProps>, DOMRefValue<HTMLDivElement>>>(null);\n\nconst badge = style({\n display: {\n default: 'flex',\n isDisabled: 'none'\n },\n font: 'control',\n color: {\n default: 'white',\n isStaticColor: 'auto',\n forcedColors: 'ButtonText'\n },\n fontSize: {\n size: {\n S: 'ui-xs',\n M: 'ui-xs',\n L: 'ui-sm',\n XL: 'ui'\n }\n },\n borderStyle: {\n forcedColors: 'solid'\n },\n borderWidth: {\n forcedColors: '[1px]'\n },\n borderColor: {\n forcedColors: 'ButtonBorder'\n },\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: {\n default: 'accent',\n isStaticColor: 'transparent-overlay-1000',\n forcedColors: 'ButtonFace'\n },\n height: {\n size: {\n S: {\n default: 12,\n isIndicatorOnly: 8\n },\n M: {\n default: fontRelative(18), // sort of arbitrary? tried to get as close to the figma designs as possible\n isIndicatorOnly: 8\n },\n L: {\n default: 16,\n isIndicatorOnly: fontRelative(12)\n },\n XL: {\n default: 18,\n isIndicatorOnly: fontRelative(12)\n }\n }\n },\n aspectRatio: {\n isIndicatorOnly: 'square',\n isSingleDigit: 'square'\n },\n width: 'max',\n paddingX: {\n isDoubleDigit: 'edge-to-text'\n },\n borderRadius: 'pill'\n}, getAllowedOverrides());\n\n/**\n * Notification badges are used to indicate new or pending activity .\n */\nexport const NotificationBadge = forwardRef(function Badge(props: NotificationBadgeProps, ref: DOMRef<HTMLDivElement>) {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n [props, ref] = useSpectrumContextProps(props, ref, NotificationBadgeContext);\n let {\n size = 'S',\n value,\n isDisabled = false,\n staticColor,\n ...otherProps\n } = props as NotificationBadgeContextProps;\n let domRef = useDOMRef(ref);\n let {locale} = useLocale();\n let formattedValue = '';\n\n let isIndicatorOnly = false;\n let isSingleDigit = false;\n let isDoubleDigit = false;\n\n if (value == null) {\n isIndicatorOnly = true;\n } else if (value <= 0) {\n throw new Error('Value cannot be negative or zero');\n } else if (!Number.isInteger(value)) {\n throw new Error('Value must be a positive integer');\n } else {\n formattedValue = new NumberFormatter(locale).format(Math.min(value, 99));\n let length = Math.log(value <= 99 ? value : 99) * Math.LOG10E + 1 | 0; // for positive integers (https://stackoverflow.com/questions/14879691/get-number-of-digits-with-javascript)\n if (length === 1) {\n isSingleDigit = true;\n } else if (length === 2) {\n isDoubleDigit = true;\n }\n\n if (value > 99) {\n formattedValue = stringFormatter.format('notificationbadge.plus', {notifications: formattedValue});\n }\n }\n\n let ariaLabel = props['aria-label'] || undefined;\n if (ariaLabel === undefined && isIndicatorOnly) {\n ariaLabel = stringFormatter.format('notificationbadge.indicatorOnly');\n }\n\n return (\n <span\n {...filterDOMProps(otherProps, {labelable: true})}\n role={ariaLabel && 'img'}\n aria-label={ariaLabel}\n className={(props.UNSAFE_className || '') + badge({size, isIndicatorOnly, isSingleDigit, isDoubleDigit, isDisabled, isStaticColor: !!staticColor}, props.styles)}\n style={props.UNSAFE_style}\n ref={domRef}>\n {formattedValue}\n </span>\n );\n});\n"],"names":[],"version":3,"file":"NotificationBadge.mjs.map"}
|