@react-spectrum/s2 3.0.0-nightly-63d4359d6-250428 → 3.0.0-nightly-1dd65ffc5-250430
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,14 +1,16 @@
|
|
|
1
|
+
var $5992195655ae144b$exports = require("./properties.cjs");
|
|
2
|
+
|
|
1
3
|
|
|
2
4
|
function $parcel$export(e, n, v, s) {
|
|
3
5
|
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
4
6
|
}
|
|
5
7
|
|
|
6
|
-
$parcel$export(module.exports, "
|
|
7
|
-
$parcel$export(module.exports, "
|
|
8
|
+
$parcel$export(module.exports, "ArbitraryProperty", () => $346a586d9b655682$export$d03475ad9df06cd2);
|
|
9
|
+
$parcel$export(module.exports, "MappedProperty", () => $346a586d9b655682$export$965169194d2485f7);
|
|
10
|
+
$parcel$export(module.exports, "ColorProperty", () => $346a586d9b655682$export$40ae678e65d951f2);
|
|
11
|
+
$parcel$export(module.exports, "SizingProperty", () => $346a586d9b655682$export$8c6b4dc3755476bb);
|
|
12
|
+
$parcel$export(module.exports, "ExpandedProperty", () => $346a586d9b655682$export$1b6028cfca42adca);
|
|
8
13
|
$parcel$export(module.exports, "parseArbitraryValue", () => $346a586d9b655682$export$22a8270399010c94);
|
|
9
|
-
$parcel$export(module.exports, "createRenamedProperty", () => $346a586d9b655682$export$7fdf8c7af26ba416);
|
|
10
|
-
$parcel$export(module.exports, "createSizingProperty", () => $346a586d9b655682$export$fa08b74e8bc1d2a7);
|
|
11
|
-
$parcel$export(module.exports, "createColorProperty", () => $346a586d9b655682$export$852145629bb0d58b);
|
|
12
14
|
$parcel$export(module.exports, "createTheme", () => $346a586d9b655682$export$25d302a5b900a763);
|
|
13
15
|
/*
|
|
14
16
|
* Copyright 2024 Adobe. All rights reserved.
|
|
@@ -20,114 +22,83 @@ $parcel$export(module.exports, "createTheme", () => $346a586d9b655682$export$25d
|
|
|
20
22
|
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
21
23
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
22
24
|
* governing permissions and limitations under the License.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
v
|
|
40
|
-
]);
|
|
41
|
-
}
|
|
42
|
-
function $346a586d9b655682$export$40f4ff17b27355ab(fn, values) {
|
|
43
|
-
let valueMap = $346a586d9b655682$var$createValueLookup(Array.isArray(values) ? values : $346a586d9b655682$var$recursiveValues(values));
|
|
44
|
-
return (value, property)=>{
|
|
45
|
-
let v = $346a586d9b655682$export$22a8270399010c94(value);
|
|
46
|
-
if (v) return {
|
|
47
|
-
default: [
|
|
48
|
-
fn(v[0], property),
|
|
49
|
-
v[1]
|
|
50
|
-
]
|
|
51
|
-
};
|
|
52
|
-
let val = Array.isArray(values) ? value : values[String(value)];
|
|
53
|
-
return $346a586d9b655682$var$mapConditionalValue(val, (value)=>{
|
|
54
|
-
return [
|
|
55
|
-
fn(value, property),
|
|
56
|
-
valueMap.get(value)
|
|
57
|
-
];
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function $346a586d9b655682$export$7fdf8c7af26ba416(name, values) {
|
|
62
|
-
return $346a586d9b655682$export$40f4ff17b27355ab((value, property)=>({
|
|
63
|
-
[property.startsWith('--') ? property : name]: value
|
|
64
|
-
}), values);
|
|
65
|
-
}
|
|
66
|
-
function $346a586d9b655682$export$fa08b74e8bc1d2a7(values, fn) {
|
|
67
|
-
let valueMap = $346a586d9b655682$var$createValueLookup(Array.isArray(values) ? values : $346a586d9b655682$var$recursiveValues(values));
|
|
68
|
-
return (value, property)=>{
|
|
69
|
-
let v = $346a586d9b655682$export$22a8270399010c94(value);
|
|
70
|
-
if (v) return {
|
|
71
|
-
default: [
|
|
72
|
-
{
|
|
73
|
-
[property]: v[0]
|
|
74
|
-
},
|
|
75
|
-
v[1]
|
|
76
|
-
]
|
|
77
|
-
};
|
|
78
|
-
let val = values[String(value)];
|
|
79
|
-
if (val != null) return $346a586d9b655682$var$mapConditionalValue(val, (value)=>{
|
|
80
|
-
return [
|
|
25
|
+
*/
|
|
26
|
+
class $346a586d9b655682$export$d03475ad9df06cd2 {
|
|
27
|
+
constructor(property, toCSS){
|
|
28
|
+
this.property = property;
|
|
29
|
+
this.toCSS = toCSS || ((value)=>String(value));
|
|
30
|
+
}
|
|
31
|
+
get cssProperties() {
|
|
32
|
+
return [
|
|
33
|
+
this.property
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
toCSSValue(value) {
|
|
37
|
+
return this.toCSS(value);
|
|
38
|
+
}
|
|
39
|
+
toCSSProperties(customProperty, value) {
|
|
40
|
+
return $346a586d9b655682$var$mapConditionalValue(value, (value)=>[
|
|
81
41
|
{
|
|
82
|
-
[property]: value
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
42
|
+
[customProperty || this.property]: String(value)
|
|
43
|
+
}
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class $346a586d9b655682$export$965169194d2485f7 extends $346a586d9b655682$export$d03475ad9df06cd2 {
|
|
48
|
+
constructor(property, mapping){
|
|
49
|
+
super(property);
|
|
50
|
+
this.mapping = mapping;
|
|
51
|
+
}
|
|
52
|
+
toCSSValue(value) {
|
|
53
|
+
if (Array.isArray(this.mapping)) {
|
|
54
|
+
if (!this.mapping.includes(String(value))) throw new Error('Invalid style value: ' + value);
|
|
55
|
+
return value;
|
|
56
|
+
} else {
|
|
57
|
+
let res = this.mapping[String(value)];
|
|
58
|
+
if (res == null) throw new Error('Invalid style value: ' + value);
|
|
59
|
+
return res;
|
|
97
60
|
}
|
|
98
|
-
|
|
99
|
-
};
|
|
61
|
+
}
|
|
100
62
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
v
|
|
104
|
-
]));
|
|
105
|
-
return (value, key)=>{
|
|
106
|
-
let v = $346a586d9b655682$export$22a8270399010c94(value);
|
|
107
|
-
if (v) return {
|
|
108
|
-
default: [
|
|
109
|
-
{
|
|
110
|
-
[property || key]: v[0]
|
|
111
|
-
},
|
|
112
|
-
v[1]
|
|
113
|
-
]
|
|
114
|
-
};
|
|
63
|
+
class $346a586d9b655682$export$40ae678e65d951f2 extends $346a586d9b655682$export$965169194d2485f7 {
|
|
64
|
+
toCSSValue(value) {
|
|
115
65
|
let [color, opacity] = value.split('/');
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
let css = opacity ? `rgb(from ${value} r g b / ${opacity}%)` : value;
|
|
119
|
-
let selector = valueMap.get(value) + (opacity ? opacity.replace('.', '-') : '');
|
|
120
|
-
return [
|
|
121
|
-
{
|
|
122
|
-
[property || key]: css
|
|
123
|
-
},
|
|
124
|
-
selector
|
|
125
|
-
];
|
|
66
|
+
return $346a586d9b655682$var$mapConditionalValue(this.mapping[color], (value)=>{
|
|
67
|
+
return opacity ? `rgb(from ${value} r g b / ${opacity}%)` : value;
|
|
126
68
|
});
|
|
127
|
-
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
class $346a586d9b655682$export$8c6b4dc3755476bb extends $346a586d9b655682$export$965169194d2485f7 {
|
|
72
|
+
constructor(property, mapping, numberToCSS){
|
|
73
|
+
super(property, mapping);
|
|
74
|
+
this.numberToCSS = numberToCSS;
|
|
75
|
+
}
|
|
76
|
+
toCSSValue(value) {
|
|
77
|
+
if (typeof value === 'number') return value === 0 ? '0px' : this.numberToCSS(value);
|
|
78
|
+
return super.toCSSValue(value);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
class $346a586d9b655682$export$1b6028cfca42adca {
|
|
82
|
+
constructor(properties, expand, mapping){
|
|
83
|
+
this.cssProperties = properties;
|
|
84
|
+
this.expand = expand;
|
|
85
|
+
this.mapping = mapping || null;
|
|
86
|
+
}
|
|
87
|
+
toCSSValue(value) {
|
|
88
|
+
if (!this.mapping) return value;
|
|
89
|
+
let res = this.mapping[String(value)];
|
|
90
|
+
if (res == null) throw new Error('Invalid style value: ' + value);
|
|
91
|
+
return res;
|
|
92
|
+
}
|
|
93
|
+
toCSSProperties(customProperty, value) {
|
|
94
|
+
if (customProperty) throw new Error('Style properties that expand into multiple CSS properties cannot be set as CSS variables.');
|
|
95
|
+
return $346a586d9b655682$var$mapConditionalValue(value, (value)=>[
|
|
96
|
+
this.expand(value)
|
|
97
|
+
]);
|
|
98
|
+
}
|
|
128
99
|
}
|
|
129
100
|
function $346a586d9b655682$var$mapConditionalValue(value, fn) {
|
|
130
|
-
if (typeof value === 'object') {
|
|
101
|
+
if (typeof value === 'object' && !Array.isArray(value)) {
|
|
131
102
|
let res = {};
|
|
132
103
|
for(let condition in value)res[condition] = $346a586d9b655682$var$mapConditionalValue(value[condition], fn);
|
|
133
104
|
return res;
|
|
@@ -146,37 +117,28 @@ function $346a586d9b655682$var$mapConditionalShorthand(value, fn) {
|
|
|
146
117
|
return res;
|
|
147
118
|
} else return fn(value);
|
|
148
119
|
}
|
|
149
|
-
function $346a586d9b655682$var$createValueLookup(values, atStart = false) {
|
|
150
|
-
let map = new Map();
|
|
151
|
-
for (let value of values)if (!map.has(value)) map.set(value, $346a586d9b655682$var$generateName(map.size, atStart));
|
|
152
|
-
return map;
|
|
153
|
-
}
|
|
154
120
|
function $346a586d9b655682$export$22a8270399010c94(value) {
|
|
155
|
-
if (typeof value === 'string' && value.startsWith('--')) return
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
121
|
+
if (typeof value === 'string' && value.startsWith('--')) return `var(${value})`;
|
|
122
|
+
else if (typeof value === 'string' && value[0] === '[' && value[value.length - 1] === ']') return value.slice(1, -1);
|
|
123
|
+
}
|
|
124
|
+
function $346a586d9b655682$var$shortCSSPropertyName(property) {
|
|
125
|
+
return $5992195655ae144b$exports.properties[property] ?? $346a586d9b655682$var$generateArbitraryValueSelector(property, true);
|
|
126
|
+
}
|
|
127
|
+
function $346a586d9b655682$var$classNamePrefix(property, cssProperty) {
|
|
128
|
+
let className = $5992195655ae144b$exports.properties[cssProperty];
|
|
129
|
+
if (className && property === '--' + className) return '-' + className + '_-';
|
|
130
|
+
if (className && !property.startsWith('--')) return className;
|
|
131
|
+
return '-' + $346a586d9b655682$var$generateArbitraryValueSelector(property, true) + '-';
|
|
166
132
|
}
|
|
167
133
|
function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
168
|
-
let
|
|
169
|
-
|
|
170
|
-
let propertyFunctions = new Map(Object.entries(theme.properties).map(([k, v])=>{
|
|
171
|
-
if (typeof v === 'function') return [
|
|
134
|
+
let properties = new Map(Object.entries(theme.properties).map(([k, v])=>{
|
|
135
|
+
if (!Array.isArray(v) && v.cssProperties) return [
|
|
172
136
|
k,
|
|
173
137
|
v
|
|
174
138
|
];
|
|
175
139
|
return [
|
|
176
140
|
k,
|
|
177
|
-
$346a586d9b655682$export$
|
|
178
|
-
[p]: value
|
|
179
|
-
}), v)
|
|
141
|
+
new $346a586d9b655682$export$965169194d2485f7(k, v)
|
|
180
142
|
];
|
|
181
143
|
}));
|
|
182
144
|
let dependencies = new Set();
|
|
@@ -192,10 +154,10 @@ function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
|
192
154
|
let rules = new Map();
|
|
193
155
|
let values = new Map();
|
|
194
156
|
dependencies.clear();
|
|
195
|
-
let usedPriorities =
|
|
157
|
+
let usedPriorities = 0;
|
|
196
158
|
let setRules = (key, value)=>{
|
|
197
159
|
usedPriorities = Math.max(usedPriorities, value[0]);
|
|
198
|
-
rules.set(key, value[1]);
|
|
160
|
+
rules.set(key, new $346a586d9b655682$var$GroupRule(value[1]));
|
|
199
161
|
};
|
|
200
162
|
hasConditions = false;
|
|
201
163
|
for(let key in style){
|
|
@@ -229,17 +191,14 @@ function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
|
229
191
|
let value = values.get(dep);
|
|
230
192
|
if (value != null) {
|
|
231
193
|
if (!(dep in theme.properties)) throw new Error(`Unknown dependency ${dep}`);
|
|
232
|
-
let
|
|
194
|
+
let prop = properties.get(dep);
|
|
195
|
+
let name = `--${$346a586d9b655682$var$shortCSSPropertyName(prop.cssProperties[0])}`;
|
|
233
196
|
// Could potentially use @property to prevent the var from inheriting in children.
|
|
234
197
|
setRules(name, compileValue(name, dep, value));
|
|
235
198
|
setRules(dep, compileValue(dep, dep, name));
|
|
236
199
|
}
|
|
237
200
|
}
|
|
238
201
|
dependencies.clear();
|
|
239
|
-
// Prevent all global styles from leaking into this element.
|
|
240
|
-
// The :not(#a#b) raises the specificity of the selector by 2 ids,
|
|
241
|
-
// which can never occur on a real element, and will win over other
|
|
242
|
-
// selectors such as class and element selectors.
|
|
243
202
|
let css = '';
|
|
244
203
|
// Declare layers for each priority ahead of time so the order is always correct.
|
|
245
204
|
css += '@layer ';
|
|
@@ -254,43 +213,52 @@ function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
|
254
213
|
// Also generate a variable for each overridable property that overlaps with the style definition. If those are defined,
|
|
255
214
|
// the defaults from the style definition are omitted.
|
|
256
215
|
let allowedOverridesSet = new Set();
|
|
257
|
-
let js = 'let rules = "
|
|
216
|
+
let js = 'let rules = " ";\n';
|
|
258
217
|
if (allowedOverrides?.length) {
|
|
259
|
-
for (let property of allowedOverrides)
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
218
|
+
for (let property of allowedOverrides){
|
|
219
|
+
let shorthand = theme.shorthands[property];
|
|
220
|
+
let props = Array.isArray(shorthand) ? shorthand : [
|
|
221
|
+
property
|
|
222
|
+
];
|
|
223
|
+
for (let property of props){
|
|
224
|
+
let prop = properties.get(property);
|
|
225
|
+
if (!prop) throw new Error(`Invalid property ${property} in allowedOverrides`);
|
|
226
|
+
for (let property of prop.cssProperties)allowedOverridesSet.add(property);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
264
229
|
let loop = '';
|
|
265
230
|
for (let property of rules.keys()){
|
|
266
|
-
let
|
|
267
|
-
if (
|
|
268
|
-
|
|
269
|
-
|
|
231
|
+
let prop = properties.get(property);
|
|
232
|
+
if (prop) {
|
|
233
|
+
for (let property of prop.cssProperties)if (property && allowedOverridesSet.has(property)) {
|
|
234
|
+
let selector = $346a586d9b655682$var$classNamePrefix(property, property);
|
|
235
|
+
let p = property.replace('--', '__');
|
|
236
|
+
js += `let ${p} = false;\n`;
|
|
237
|
+
loop += ` if (p[1] === ${JSON.stringify(selector)}) ${p} = true;\n`;
|
|
238
|
+
}
|
|
270
239
|
}
|
|
271
240
|
}
|
|
241
|
+
let regex = `/(?:^|\\s)(${[
|
|
242
|
+
...allowedOverridesSet
|
|
243
|
+
].map((p)=>$346a586d9b655682$var$classNamePrefix(p, p)).join('|')})[^\\s]+/g`;
|
|
272
244
|
if (loop) {
|
|
245
|
+
js += `let matches = (overrides || '').matchAll(${regex});\n`;
|
|
273
246
|
js += 'for (let p of matches) {\n';
|
|
274
247
|
js += loop;
|
|
248
|
+
js += ' rules += p[0];\n';
|
|
275
249
|
js += '}\n';
|
|
276
|
-
}
|
|
250
|
+
} else js += `rules += ((overrides || '').match(${regex}) || []).join('')\n`;
|
|
277
251
|
}
|
|
278
252
|
// Generate JS and CSS for each rule.
|
|
279
253
|
let isStatic = !(hasConditions || allowedOverrides);
|
|
280
254
|
let className = '';
|
|
281
255
|
let rulesByLayer = new Map();
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
js += `if (!$${themeProperty}) {\n`;
|
|
289
|
-
js += $346a586d9b655682$var$printJS(propertyRules) + '\n';
|
|
290
|
-
if (allowsOverrides) js += '}\n';
|
|
291
|
-
}
|
|
292
|
-
for (let rule of propertyRules)$346a586d9b655682$var$printRule(rule, rulesByLayer);
|
|
293
|
-
}
|
|
256
|
+
let rootRule = new $346a586d9b655682$var$GroupRule([
|
|
257
|
+
...rules.values()
|
|
258
|
+
]);
|
|
259
|
+
if (isStatic) className += rootRule.getStaticClassName();
|
|
260
|
+
else js += rootRule.toJS(allowedOverridesSet) + '\n';
|
|
261
|
+
rootRule.toCSS(rulesByLayer);
|
|
294
262
|
for (let [layer, rules] of rulesByLayer){
|
|
295
263
|
css += `@layer ${$346a586d9b655682$var$layerName(layer)} {\n`;
|
|
296
264
|
css += rules.join('\n\n');
|
|
@@ -332,12 +300,7 @@ function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
|
332
300
|
// The @layer order in the generated CSS will ensure that it overrides classes applied by runtime conditions.
|
|
333
301
|
let isCSSCondition = condition in theme.conditions || /^[@:]/.test(condition);
|
|
334
302
|
if (!wasCSSCondition && isCSSCondition && rules.length) rules = [
|
|
335
|
-
|
|
336
|
-
prelude: '',
|
|
337
|
-
condition: '',
|
|
338
|
-
layer: '',
|
|
339
|
-
body: rules
|
|
340
|
-
}
|
|
303
|
+
new $346a586d9b655682$var$GroupRule(rules)
|
|
341
304
|
];
|
|
342
305
|
wasCSSCondition = isCSSCondition;
|
|
343
306
|
// Increment the current priority whenever we see a new CSS condition.
|
|
@@ -369,83 +332,62 @@ function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
|
369
332
|
}
|
|
370
333
|
function compileCondition(conditions, condition, priority, rules) {
|
|
371
334
|
if (condition === 'default' || conditions.has(condition)) return [
|
|
372
|
-
|
|
373
|
-
prelude: '',
|
|
374
|
-
condition: '',
|
|
375
|
-
layer: '',
|
|
376
|
-
body: rules
|
|
377
|
-
}
|
|
335
|
+
new $346a586d9b655682$var$GroupRule(rules)
|
|
378
336
|
];
|
|
379
337
|
if (condition in theme.conditions || /^[@:]/.test(condition)) {
|
|
380
338
|
// Conditions starting with : are CSS pseudo classes. Nest them inside the parent rule.
|
|
381
339
|
let prelude = theme.conditions[condition] || condition;
|
|
382
|
-
if (prelude.startsWith(':'))
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
}
|
|
389
|
-
];
|
|
340
|
+
if (prelude.startsWith(':')) {
|
|
341
|
+
for (let rule of rules)rule.addPseudo(prelude);
|
|
342
|
+
return [
|
|
343
|
+
new $346a586d9b655682$var$GroupRule(rules, $346a586d9b655682$var$generateName(priority, true))
|
|
344
|
+
];
|
|
345
|
+
}
|
|
390
346
|
// Otherwise, wrap the rule in the condition (e.g. @media).
|
|
347
|
+
// Top level layer is based on the priority of the rule, not the condition.
|
|
348
|
+
// Also group in a sub-layer based on the condition so that lightningcss can more effectively deduplicate rules.
|
|
349
|
+
let layer = `${$346a586d9b655682$var$generateName(priority, true)}.${$5992195655ae144b$exports.conditions[theme.conditions[condition] || condition] || $346a586d9b655682$var$generateArbitraryValueSelector(condition, true)}`;
|
|
391
350
|
return [
|
|
392
|
-
|
|
393
|
-
// Top level layer is based on the priority of the rule, not the condition.
|
|
394
|
-
// Also group in a sub-layer based on the condition so that lightningcss can more effectively deduplicate rules.
|
|
395
|
-
layer: `${$346a586d9b655682$var$generateName(priority, true)}.${themeConditionMap.get(condition) || $346a586d9b655682$var$generateArbitraryValueSelector(condition, true)}`,
|
|
396
|
-
prelude: prelude,
|
|
397
|
-
body: rules,
|
|
398
|
-
condition: ''
|
|
399
|
-
}
|
|
351
|
+
new $346a586d9b655682$var$AtRule(rules, prelude, layer)
|
|
400
352
|
];
|
|
401
353
|
}
|
|
402
354
|
hasConditions = true;
|
|
403
355
|
return [
|
|
404
|
-
|
|
405
|
-
prelude: '',
|
|
406
|
-
layer: '',
|
|
407
|
-
condition: condition,
|
|
408
|
-
body: rules
|
|
409
|
-
}
|
|
356
|
+
new $346a586d9b655682$var$ConditionalRule(rules, condition)
|
|
410
357
|
];
|
|
411
358
|
}
|
|
412
359
|
function compileRule(property, themeProperty, value, priority, conditions, skipConditions) {
|
|
413
|
-
|
|
414
|
-
// 1. Property. For custom properties we use a hash. For theme properties, we use the index within the theme.
|
|
415
|
-
// 2. Conditions. This uses the index within the theme.
|
|
416
|
-
// 3. Value. The index in the theme, or a hash for arbitrary values.
|
|
417
|
-
let prelude = '.';
|
|
418
|
-
if (property.startsWith('--')) // Include both custom property name and theme property in case the same var is reused between multiple theme properties.
|
|
419
|
-
prelude += $346a586d9b655682$var$generateArbitraryValueSelector(property, true) + '_' + themePropertyMap.get(themeProperty) + '-';
|
|
420
|
-
else prelude += themePropertyMap.get(themeProperty);
|
|
421
|
-
let propertyFunction = propertyFunctions.get(themeProperty);
|
|
360
|
+
let propertyFunction = properties.get(themeProperty);
|
|
422
361
|
if (propertyFunction) {
|
|
423
362
|
// Expand value to conditional CSS values, and then to rules.
|
|
424
|
-
let
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
363
|
+
let arbitrary = $346a586d9b655682$export$22a8270399010c94(value);
|
|
364
|
+
let cssValue = arbitrary ? arbitrary : propertyFunction.toCSSValue(value);
|
|
365
|
+
let cssProperties = propertyFunction.toCSSProperties(property.startsWith('--') ? property : null, cssValue);
|
|
366
|
+
return conditionalToRules(cssProperties, priority, conditions, skipConditions, (value, priority, conditions)=>{
|
|
367
|
+
let [obj] = value;
|
|
368
|
+
let rules = [];
|
|
428
369
|
for(let key in obj){
|
|
429
370
|
let k = key;
|
|
430
371
|
let value = obj[k];
|
|
431
372
|
if (value === undefined) continue;
|
|
432
373
|
if (typeof value === 'string') // Replace self() references with variables and track the dependencies.
|
|
433
374
|
value = value.replace(/self\(([a-zA-Z]+)/g, (_, v)=>{
|
|
375
|
+
let prop = properties.get(v);
|
|
376
|
+
if (!prop) throw new Error(`self(${v}) is invalid. ${v} is not a known property.`);
|
|
377
|
+
let cssProperties = prop.cssProperties;
|
|
378
|
+
if (cssProperties.length !== 1) throw new Error(`self(${v}) is not supported. ${v} expands to multiple CSS properties.`);
|
|
434
379
|
dependencies.add(v);
|
|
435
|
-
return `var(--${
|
|
380
|
+
return `var(--${$346a586d9b655682$var$shortCSSPropertyName(cssProperties[0])}`;
|
|
436
381
|
});
|
|
437
|
-
|
|
382
|
+
// Generate selector. This consists of three parts: property, conditions, value.
|
|
383
|
+
let cssProperty = key;
|
|
384
|
+
if (property.startsWith('--')) cssProperty = propertyFunction.cssProperties[0];
|
|
385
|
+
let className = $346a586d9b655682$var$classNamePrefix(key, cssProperty);
|
|
386
|
+
if (conditions.size > 0) for (let condition of conditions)className += $5992195655ae144b$exports.conditions[theme.conditions[condition] || condition] || $346a586d9b655682$var$generateArbitraryValueSelector(condition);
|
|
387
|
+
if (cssProperty !== key) className += $346a586d9b655682$var$shortCSSPropertyName(cssProperty);
|
|
388
|
+
className += $5992195655ae144b$exports.values[cssProperty]?.[String(value)] ?? $346a586d9b655682$var$generateArbitraryValueSelector(String(value));
|
|
389
|
+
rules.push(new $346a586d9b655682$var$StyleRule(className, key, String(value)));
|
|
438
390
|
}
|
|
439
|
-
let selector = prelude;
|
|
440
|
-
if (conditions.size > 0) for (let condition of conditions)selector += themeConditionMap.get(condition) || $346a586d9b655682$var$generateArbitraryValueSelector(condition);
|
|
441
|
-
let rules = [
|
|
442
|
-
{
|
|
443
|
-
condition: '',
|
|
444
|
-
layer: '',
|
|
445
|
-
prelude: selector + p,
|
|
446
|
-
body: body
|
|
447
|
-
}
|
|
448
|
-
];
|
|
449
391
|
return [
|
|
450
392
|
0,
|
|
451
393
|
rules
|
|
@@ -454,25 +396,6 @@ function $346a586d9b655682$export$25d302a5b900a763(theme) {
|
|
|
454
396
|
} else throw new Error('Unknown property ' + themeProperty);
|
|
455
397
|
}
|
|
456
398
|
}
|
|
457
|
-
function $346a586d9b655682$var$nestRule(rule, prelude) {
|
|
458
|
-
if (Array.isArray(rule.body)) return {
|
|
459
|
-
prelude: rule.prelude,
|
|
460
|
-
layer: rule.layer,
|
|
461
|
-
body: rule.body.map((r)=>$346a586d9b655682$var$nestRule(r, prelude)),
|
|
462
|
-
condition: rule.condition
|
|
463
|
-
};
|
|
464
|
-
else return {
|
|
465
|
-
prelude: rule.prelude,
|
|
466
|
-
layer: rule.layer,
|
|
467
|
-
body: [
|
|
468
|
-
{
|
|
469
|
-
...rule,
|
|
470
|
-
prelude: '&' + prelude
|
|
471
|
-
}
|
|
472
|
-
],
|
|
473
|
-
condition: ''
|
|
474
|
-
};
|
|
475
|
-
}
|
|
476
399
|
function $346a586d9b655682$var$kebab(property) {
|
|
477
400
|
if (property.startsWith('--')) return property;
|
|
478
401
|
return property.replace(/([a-z])([A-Z])/g, (_, a, b)=>`${a}-${b.toLowerCase()}`);
|
|
@@ -492,9 +415,19 @@ function $346a586d9b655682$var$generateName(index, atStart = false) {
|
|
|
492
415
|
}
|
|
493
416
|
// For arbitrary values, we use a hash of the string to generate the class name.
|
|
494
417
|
function $346a586d9b655682$var$generateArbitraryValueSelector(v, atStart = false) {
|
|
495
|
-
let c = $346a586d9b655682$var$hash(v)
|
|
418
|
+
let c = $346a586d9b655682$var$toBase62($346a586d9b655682$var$hash(v));
|
|
496
419
|
if (atStart && /^[0-9]/.test(c)) c = `_${c}`;
|
|
497
|
-
return
|
|
420
|
+
return c;
|
|
421
|
+
}
|
|
422
|
+
function $346a586d9b655682$var$toBase62(value) {
|
|
423
|
+
if (value === 0) return $346a586d9b655682$var$generateName(value);
|
|
424
|
+
let res = '';
|
|
425
|
+
while(value){
|
|
426
|
+
let remainder = value % 62;
|
|
427
|
+
res += $346a586d9b655682$var$generateName(remainder);
|
|
428
|
+
value = Math.floor((value - remainder) / 62);
|
|
429
|
+
}
|
|
430
|
+
return res;
|
|
498
431
|
}
|
|
499
432
|
// djb2 hash function.
|
|
500
433
|
// http://www.cse.yorku.ca/~oz/hash.html
|
|
@@ -508,46 +441,94 @@ function $346a586d9b655682$var$layerName(name) {
|
|
|
508
441
|
// the unsafe overrides layer always comes after.
|
|
509
442
|
return `_.${name}`;
|
|
510
443
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
444
|
+
/** A CSS style rule. */ class $346a586d9b655682$var$StyleRule {
|
|
445
|
+
constructor(className, property, value){
|
|
446
|
+
this.className = className;
|
|
447
|
+
this.pseudos = '';
|
|
448
|
+
this.property = property;
|
|
449
|
+
this.value = value;
|
|
450
|
+
}
|
|
451
|
+
addPseudo(prelude) {
|
|
452
|
+
this.pseudos += prelude;
|
|
453
|
+
}
|
|
454
|
+
getStaticClassName() {
|
|
455
|
+
return ' ' + this.className;
|
|
456
|
+
}
|
|
457
|
+
toCSS(rulesByLayer, preludes = [], layer = 'a') {
|
|
458
|
+
let prelude = `.${this.className}${this.pseudos}`;
|
|
459
|
+
preludes.push(prelude);
|
|
514
460
|
// Nest rule in our stack of preludes (e.g. media queries/selectors).
|
|
515
461
|
let content = ' ';
|
|
516
462
|
preludes.forEach((p, i)=>{
|
|
517
463
|
content += `${p} {\n${' '.repeat((i + 2) * 2)}`;
|
|
518
464
|
});
|
|
519
|
-
content +=
|
|
465
|
+
content += `${$346a586d9b655682$var$kebab(this.property)}: ${this.value};\n`;
|
|
520
466
|
preludes.map((_, i)=>{
|
|
521
467
|
content += `${' '.repeat((preludes.length - i) * 2)}}\n`;
|
|
522
468
|
});
|
|
523
469
|
// Group rule into the appropriate layer.
|
|
524
|
-
let rules = rulesByLayer.get(
|
|
470
|
+
let rules = rulesByLayer.get(layer);
|
|
525
471
|
if (!rules) {
|
|
526
472
|
rules = [];
|
|
527
|
-
rulesByLayer.set(
|
|
473
|
+
rulesByLayer.set(layer, rules);
|
|
528
474
|
}
|
|
529
475
|
rules.push(content);
|
|
530
|
-
|
|
531
|
-
|
|
476
|
+
preludes.pop();
|
|
477
|
+
}
|
|
478
|
+
toJS(allowedOverridesSet, indent = '') {
|
|
479
|
+
let res = '';
|
|
480
|
+
if (allowedOverridesSet.has(this.property)) res += `${indent}if (!${this.property.replace('--', '__')}) `;
|
|
481
|
+
res += `${indent}rules += ' ${this.className}';`;
|
|
482
|
+
return res;
|
|
483
|
+
}
|
|
532
484
|
}
|
|
533
|
-
|
|
534
|
-
rules
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
485
|
+
/** Base class for rules that contain other rules. */ class $346a586d9b655682$var$GroupRule {
|
|
486
|
+
constructor(rules, layer){
|
|
487
|
+
this.rules = rules;
|
|
488
|
+
this.layer = layer ?? null;
|
|
489
|
+
}
|
|
490
|
+
addPseudo(prelude) {
|
|
491
|
+
for (let rule of this.rules)rule.addPseudo(prelude);
|
|
492
|
+
}
|
|
493
|
+
getStaticClassName() {
|
|
494
|
+
return this.rules.map((rule)=>rule.getStaticClassName()).join('');
|
|
495
|
+
}
|
|
496
|
+
toCSS(rulesByLayer, preludes, layer) {
|
|
497
|
+
for (let rule of this.rules)rule.toCSS(rulesByLayer, preludes, this.layer || layer);
|
|
498
|
+
}
|
|
499
|
+
toJS(allowedOverridesSet, indent = '') {
|
|
500
|
+
let rules = this.rules.slice();
|
|
501
|
+
let conditional = rules.filter((rule)=>rule instanceof $346a586d9b655682$var$ConditionalRule).reverse().map((rule, i)=>{
|
|
502
|
+
return `${i > 0 ? ' else ' : ''}${rule.toJS(allowedOverridesSet, indent)}`;
|
|
503
|
+
});
|
|
504
|
+
let elseCases = rules.filter((rule)=>!(rule instanceof $346a586d9b655682$var$ConditionalRule)).map((rule)=>rule.toJS(allowedOverridesSet, indent));
|
|
505
|
+
if (conditional.length && elseCases.length) return `${conditional.join('')} else {\n${indent} ${elseCases.join('\n' + indent + ' ')}\n${indent}}`;
|
|
506
|
+
if (conditional.length) return conditional.join('');
|
|
507
|
+
return elseCases.join('\n' + indent);
|
|
508
|
+
}
|
|
542
509
|
}
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
510
|
+
/** A rule that applies conditionally in CSS (e.g. @media). */ class $346a586d9b655682$var$AtRule extends $346a586d9b655682$var$GroupRule {
|
|
511
|
+
constructor(rules, prelude, layer){
|
|
512
|
+
super(rules, layer);
|
|
513
|
+
this.prelude = prelude;
|
|
514
|
+
}
|
|
515
|
+
toCSS(rulesByLayer, preludes = [], layer) {
|
|
516
|
+
preludes.push(this.prelude);
|
|
517
|
+
super.toCSS(rulesByLayer, preludes, layer);
|
|
518
|
+
preludes?.pop();
|
|
519
|
+
}
|
|
548
520
|
}
|
|
549
|
-
|
|
550
|
-
|
|
521
|
+
/** A rule that applies conditionally at runtime. */ class $346a586d9b655682$var$ConditionalRule extends $346a586d9b655682$var$GroupRule {
|
|
522
|
+
constructor(rules, condition){
|
|
523
|
+
super(rules);
|
|
524
|
+
this.condition = condition;
|
|
525
|
+
}
|
|
526
|
+
getStaticClassName() {
|
|
527
|
+
throw new Error('Conditional rules cannot be compiled to a static class name. This is a bug.');
|
|
528
|
+
}
|
|
529
|
+
toJS(allowedOverridesSet, indent = '') {
|
|
530
|
+
return `${indent}if (props.${this.condition}) {\n${super.toJS(allowedOverridesSet, indent + ' ')}\n${indent}}`;
|
|
531
|
+
}
|
|
551
532
|
}
|
|
552
533
|
function $346a586d9b655682$export$1776c186c69df29e(css, layer = '_.a') {
|
|
553
534
|
// Check if `this` is undefined, which means style was not called as a macro but as a normal function.
|