@neo-ui-kit/react 0.0.0-stage → 1.0.1
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/LICENSE +21 -0
- package/README.md +213 -2
- package/dist/artwork/icons.json.d.ts +2 -0
- package/dist/artwork/illustrations.json.d.ts +2 -0
- package/dist/chunks/chunk-347P6ZE4.js +104 -0
- package/dist/chunks/chunk-BJSFN52W.js +417 -0
- package/dist/chunks/chunk-FCOU3ODR.js +63 -0
- package/dist/chunks/chunk-JZ4GDTH5.js +87 -0
- package/dist/chunks/chunk-UGDRXR7P.js +3362 -0
- package/dist/chunks/chunk-VK6GHRLV.js +335 -0
- package/dist/chunks/chunk-YKCUOZ7V.js +777 -0
- package/dist/components/artwork/DatabaseArt/DatabaseArt.d.ts +6 -0
- package/dist/components/artwork/DatabaseArt/styles.css +58 -0
- package/dist/components/artwork/Landscape/Landscape.d.ts +7 -0
- package/dist/components/artwork/Landscape/styles.css +79 -0
- package/dist/components/artwork/NeonWaves/NeonWaves.d.ts +15 -0
- package/dist/components/artwork/NeonWaves/styles.css +48 -0
- package/dist/components/artwork/Planet/Planet.d.ts +4 -0
- package/dist/components/artwork/Planet/styles.css +52 -0
- package/dist/components/artwork/QuantumField/QuantumField.d.ts +42 -0
- package/dist/components/artwork/QuantumField/QuantumFieldExperience.d.ts +22 -0
- package/dist/components/artwork/QuantumField/UPSTREAM-LICENSE.txt +21 -0
- package/dist/components/artwork/QuantumField/audio.d.ts +15 -0
- package/dist/components/artwork/QuantumField/renderer.d.ts +24 -0
- package/dist/components/artwork/QuantumField/styles.css +77 -0
- package/dist/components/artwork/ServerArt/ServerArt.d.ts +8 -0
- package/dist/components/artwork/ServerArt/styles.css +43 -0
- package/dist/components/artwork/Spectrum/Spectrum.d.ts +7 -0
- package/dist/components/artwork/Spectrum/styles.css +35 -0
- package/dist/components/artwork/layers.d.ts +15 -0
- package/dist/components/artwork/useArtwork.d.ts +8 -0
- package/dist/components/controls/Autocomplete/Autocomplete.d.ts +2 -0
- package/dist/components/controls/Autocomplete/styles.css +1 -0
- package/dist/components/controls/Button/Button.d.ts +2 -0
- package/dist/components/controls/Button/styles.css +1 -0
- package/dist/components/controls/Checkbox/Checkbox.d.ts +2 -0
- package/dist/components/controls/Checkbox/styles.css +70 -0
- package/dist/components/controls/Chip/Chip.d.ts +21 -0
- package/dist/components/controls/Chip/styles.css +74 -0
- package/dist/components/controls/ChipField.d.ts +25 -0
- package/dist/components/controls/ColorPicker/ColorPicker.d.ts +16 -0
- package/dist/components/controls/ColorPicker/color.d.ts +9 -0
- package/dist/components/controls/ColorPicker/styles.css +103 -0
- package/dist/components/controls/DatePicker/DatePicker.d.ts +19 -0
- package/dist/components/controls/DatePicker/styles.css +69 -0
- package/dist/components/controls/FilePicker/FilePicker.d.ts +2 -0
- package/dist/components/controls/FilePicker/styles.css +149 -0
- package/dist/components/controls/IconButton/IconButton.d.ts +2 -0
- package/dist/components/controls/IconButton/styles.css +4 -0
- package/dist/components/controls/InputBase/InputBase.d.ts +21 -0
- package/dist/components/controls/InputBase/styles.css +379 -0
- package/dist/components/controls/Link/Link.d.ts +11 -0
- package/dist/components/controls/Link/styles.css +50 -0
- package/dist/components/controls/NumberField/NumberField.d.ts +2 -0
- package/dist/components/controls/NumberField/styles.css +1 -0
- package/dist/components/controls/PeoplePicker/PeoplePicker.d.ts +37 -0
- package/dist/components/controls/PeoplePicker/styles.css +7 -0
- package/dist/components/controls/SegmentedControl/SegmentedControl.d.ts +2 -0
- package/dist/components/controls/SegmentedControl/styles.css +9 -0
- package/dist/components/controls/Select/Select.d.ts +8 -0
- package/dist/components/controls/Select/styles.css +142 -0
- package/dist/components/controls/Slider/Slider.d.ts +3 -0
- package/dist/components/controls/Slider/styles.css +138 -0
- package/dist/components/controls/SplitButton/SplitButton.d.ts +2 -0
- package/dist/components/controls/SplitButton/styles.css +169 -0
- package/dist/components/controls/Switch/Switch.d.ts +2 -0
- package/dist/components/controls/Switch/styles.css +54 -0
- package/dist/components/controls/Tab/Tab.d.ts +2 -0
- package/dist/components/controls/Tab/styles.css +111 -0
- package/dist/components/controls/Tabs/Tabs.d.ts +2 -0
- package/dist/components/controls/Tabs/styles.css +239 -0
- package/dist/components/controls/TagInput/TagInput.d.ts +24 -0
- package/dist/components/controls/TagInput/styles.css +24 -0
- package/dist/components/controls/TextArea/TextArea.d.ts +2 -0
- package/dist/components/controls/TextArea/styles.css +15 -0
- package/dist/components/controls/TextField/TextField.d.ts +2 -0
- package/dist/components/controls/ThemePicker/ThemePicker.d.ts +24 -0
- package/dist/components/controls/ThemePicker/styles.css +128 -0
- package/dist/components/controls/ToggleButton/ToggleButton.d.ts +2 -0
- package/dist/components/controls/ToggleButton/styles.css +49 -0
- package/dist/components/controls/internal.d.ts +62 -0
- package/dist/components/controls/shared.css +694 -0
- package/dist/components/controls/shared.d.ts +204 -0
- package/dist/components/editor/PianoRoll/PianoRoll.d.ts +65 -0
- package/dist/components/editor/PianoRoll/styles.css +186 -0
- package/dist/components/editor/shared.css +1 -0
- package/dist/components/effects/AnimatedBorder/AnimatedBorder.d.ts +9 -0
- package/dist/components/effects/AnimatedBorder/styles.css +7 -0
- package/dist/components/effects/Beacon/Beacon.d.ts +9 -0
- package/dist/components/effects/Beacon/styles.css +38 -0
- package/dist/components/effects/Equalizer/Equalizer.d.ts +14 -0
- package/dist/components/effects/Equalizer/styles.css +38 -0
- package/dist/components/effects/GlowText/GlowText.d.ts +9 -0
- package/dist/components/effects/GlowText/styles.css +56 -0
- package/dist/components/effects/ImageShine/ImageShine.d.ts +13 -0
- package/dist/components/effects/ImageShine/styles.css +66 -0
- package/dist/components/effects/Marquee/Marquee.d.ts +9 -0
- package/dist/components/effects/Marquee/styles.css +46 -0
- package/dist/components/effects/MelodixText/MelodixText.d.ts +15 -0
- package/dist/components/effects/MelodixText/styles.css +28 -0
- package/dist/components/effects/Reveal/Reveal.d.ts +13 -0
- package/dist/components/effects/Reveal/styles.css +25 -0
- package/dist/components/effects/Shimmer/Shimmer.d.ts +10 -0
- package/dist/components/effects/Shimmer/styles.css +48 -0
- package/dist/components/effects/Sparkles/Sparkles.d.ts +9 -0
- package/dist/components/effects/Sparkles/styles.css +28 -0
- package/dist/components/effects/Spotlight/Spotlight.d.ts +11 -0
- package/dist/components/effects/Spotlight/styles.css +45 -0
- package/dist/components/effects/Tilt/Tilt.d.ts +11 -0
- package/dist/components/effects/Tilt/styles.css +67 -0
- package/dist/components/feedback/Badge/Badge.d.ts +3 -0
- package/dist/components/feedback/Badge/styles.css +91 -0
- package/dist/components/feedback/CollapsibleSection/CollapsibleSection.d.ts +2 -0
- package/dist/components/feedback/CollapsibleSection/styles.css +76 -0
- package/dist/components/feedback/DataTable/DataTable.d.ts +16 -0
- package/dist/components/feedback/DataTable/styles.css +522 -0
- package/dist/components/feedback/Dialog/Dialog.d.ts +2 -0
- package/dist/components/feedback/Dialog/styles.css +82 -0
- package/dist/components/feedback/EmptyState/EmptyState.d.ts +2 -0
- package/dist/components/feedback/EmptyState/styles.css +80 -0
- package/dist/components/feedback/KeyValueList/KeyValueList.d.ts +2 -0
- package/dist/components/feedback/KeyValueList/styles.css +51 -0
- package/dist/components/feedback/Menu/Menu.d.ts +2 -0
- package/dist/components/feedback/Menu/styles.css +123 -0
- package/dist/components/feedback/MenuItem/MenuItem.d.ts +2 -0
- package/dist/components/feedback/MenuItem/styles.css +71 -0
- package/dist/components/feedback/MessageBar/MessageBar.d.ts +2 -0
- package/dist/components/feedback/MessageBar/styles.css +116 -0
- package/dist/components/feedback/Popover/Popover.d.ts +2 -0
- package/dist/components/feedback/Popover/styles.css +44 -0
- package/dist/components/feedback/ProgressBar/ProgressBar.d.ts +2 -0
- package/dist/components/feedback/ProgressBar/styles.css +76 -0
- package/dist/components/feedback/SignalBars/SignalBars.d.ts +11 -0
- package/dist/components/feedback/SignalBars/styles.css +31 -0
- package/dist/components/feedback/StatusIndicator/StatusIndicator.d.ts +2 -0
- package/dist/components/feedback/StatusIndicator/styles.css +88 -0
- package/dist/components/feedback/Steps/Steps.d.ts +2 -0
- package/dist/components/feedback/Steps/styles.css +152 -0
- package/dist/components/feedback/Toast/Toast.d.ts +2 -0
- package/dist/components/feedback/Toast/styles.css +89 -0
- package/dist/components/feedback/Tooltip/Tooltip.d.ts +15 -0
- package/dist/components/feedback/Tooltip/styles.css +38 -0
- package/dist/components/feedback/shared.css +22 -0
- package/dist/components/feedback/shared.d.ts +231 -0
- package/dist/components/forms/Form/Form.d.ts +35 -0
- package/dist/components/forms/Form/styles.css +1 -0
- package/dist/components/forms/FormFields/FormFields.d.ts +20 -0
- package/dist/components/forms/FormFields/styles.css +72 -0
- package/dist/components/foundation/Loader/Loader.d.ts +30 -0
- package/dist/components/foundation/LoaderGenerator/LoaderGenerator.d.ts +38 -0
- package/dist/components/foundation/LoaderGenerator/styles.css +104 -0
- package/dist/components/foundation/ThemeEditor/ThemeEditor.d.ts +15 -0
- package/dist/components/foundation/ThemeEditor/styles.css +97 -0
- package/dist/components/foundation/ThemeEditor/themeConfig.d.ts +47 -0
- package/dist/components/foundation/ThemeProvider/ThemeProvider.d.ts +32 -0
- package/dist/components/foundation/ThemeProvider/styles.css +59 -0
- package/dist/components/foundation/Typography/Typography.d.ts +17 -0
- package/dist/components/foundation/Typography/styles.css +115 -0
- package/dist/components/layout/Avatar/Avatar.d.ts +2 -0
- package/dist/components/layout/Avatar/HostSeal.d.ts +5 -0
- package/dist/components/layout/Avatar/styles.css +166 -0
- package/dist/components/layout/BrandMark/BrandMark.d.ts +2 -0
- package/dist/components/layout/BrandMark/styles.css +39 -0
- package/dist/components/layout/ButtonGroup/ButtonGroup.d.ts +12 -0
- package/dist/components/layout/ButtonGroup/styles.css +36 -0
- package/dist/components/layout/Card/Card.d.ts +14 -0
- package/dist/components/layout/Card/styles.css +37 -0
- package/dist/components/layout/DialogActions/DialogActions.d.ts +12 -0
- package/dist/components/layout/DialogActions/styles.css +31 -0
- package/dist/components/layout/DialogBody/DialogBody.d.ts +12 -0
- package/dist/components/layout/DialogBody/styles.css +28 -0
- package/dist/components/layout/Divider/Divider.d.ts +2 -0
- package/dist/components/layout/Divider/styles.css +58 -0
- package/dist/components/layout/FloatingPanel/FloatingPanel.d.ts +15 -0
- package/dist/components/layout/FloatingPanel/styles.css +47 -0
- package/dist/components/layout/FloatingPanel/useFloatingPanel.d.ts +54 -0
- package/dist/components/layout/Grid/Grid.d.ts +24 -0
- package/dist/components/layout/Grid/styles.css +90 -0
- package/dist/components/layout/Header/Header.d.ts +2 -0
- package/dist/components/layout/Header/styles.css +42 -0
- package/dist/components/layout/Icon/Icon.d.ts +4 -0
- package/dist/components/layout/Icon/styles.css +62 -0
- package/dist/components/layout/Illustration/Illustration.d.ts +2 -0
- package/dist/components/layout/Illustration/styles.css +104 -0
- package/dist/components/layout/ScrollArea/ScrollArea.d.ts +2 -0
- package/dist/components/layout/ScrollArea/styles.css +61 -0
- package/dist/components/layout/Stack/Stack.d.ts +21 -0
- package/dist/components/layout/Stack/styles.css +53 -0
- package/dist/components/layout/StatTile/StatTile.d.ts +20 -0
- package/dist/components/layout/StatTile/styles.css +90 -0
- package/dist/components/layout/TabPanel/TabPanel.d.ts +2 -0
- package/dist/components/layout/TabPanel/styles.css +16 -0
- package/dist/components/layout/Text/Text.d.ts +2 -0
- package/dist/components/layout/Text/styles.css +29 -0
- package/dist/components/layout/Toolbar/Toolbar.d.ts +12 -0
- package/dist/components/layout/Toolbar/styles.css +7 -0
- package/dist/components/layout/shared.css +79 -0
- package/dist/components/layout/shared.d.ts +64 -0
- package/dist/components/media/AudioPlayer/AudioPlayer.d.ts +2 -0
- package/dist/components/media/AudioPlayer/styles.css +86 -0
- package/dist/components/media/KaraokeLyrics/KaraokeLyrics.d.ts +25 -0
- package/dist/components/media/KaraokeLyrics/styles.css +56 -0
- package/dist/components/media/LevelMeter/LevelMeter.d.ts +7 -0
- package/dist/components/media/LevelMeter/styles.css +30 -0
- package/dist/components/media/MediaCard/MediaCard.d.ts +24 -0
- package/dist/components/media/MediaCard/styles.css +108 -0
- package/dist/components/media/MelodyRoll/MelodyRoll.d.ts +48 -0
- package/dist/components/media/MelodyRoll/styles.css +196 -0
- package/dist/components/media/PianoKeyboard/PianoKeyboard.d.ts +24 -0
- package/dist/components/media/PianoKeyboard/styles.css +83 -0
- package/dist/components/media/RotaryKnob/RotaryKnob.d.ts +3 -0
- package/dist/components/media/RotaryKnob/styles.css +319 -0
- package/dist/components/media/Sparkline/Sparkline.d.ts +2 -0
- package/dist/components/media/Sparkline/styles.css +70 -0
- package/dist/components/media/WaveDecoration/WaveDecoration.d.ts +2 -0
- package/dist/components/media/WaveDecoration/styles.css +2 -0
- package/dist/components/media/Waveform/Waveform.d.ts +9 -0
- package/dist/components/media/Waveform/styles.css +375 -0
- package/dist/components/media/Waveform/useWaveformPeaks.d.ts +11 -0
- package/dist/components/media/shared.css +7 -0
- package/dist/components/media/shared.d.ts +80 -0
- package/dist/components/navigation/Router/Router.d.ts +32 -0
- package/dist/components/navigation/Router/styles.css +1 -0
- package/dist/components.css +102 -0
- package/dist/core/artwork.d.ts +17 -0
- package/dist/core/base.d.ts +65 -0
- package/dist/core/environment.d.ts +5 -0
- package/dist/core/i18n.d.ts +34 -0
- package/dist/core/messages.d.ts +1 -0
- package/dist/core/motion/hooks.d.ts +17 -0
- package/dist/core/motion-engine.d.ts +13 -0
- package/dist/core/noise.d.ts +20 -0
- package/dist/core/providers/context.d.ts +4 -0
- package/dist/core/responsive.d.ts +13 -0
- package/dist/core.d.ts +8 -0
- package/dist/core.js +56 -0
- package/dist/editor.d.ts +2 -0
- package/dist/editor.js +8 -0
- package/dist/fonts/melodix/Melodix-100.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-200.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-300.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-400.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-500.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-600.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-700.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-800.woff2 +0 -0
- package/dist/fonts/melodix/Melodix-900.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-100.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-200.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-300.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-400.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-500.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-600.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-700.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-800.woff2 +0 -0
- package/dist/fonts/melodix/MelodixText-900.woff2 +0 -0
- package/dist/fonts/melodix/OFL-PlayfairDisplay.txt +93 -0
- package/dist/fonts/melodix.css +123 -0
- package/dist/forms.d.ts +4 -0
- package/dist/forms.js +17 -0
- package/dist/index.d.ts +163 -0
- package/dist/index.js +9683 -0
- package/dist/router.d.ts +2 -0
- package/dist/router.js +11 -0
- package/dist/styles.css +2 -0
- package/dist/theme/base.css +221 -0
- package/dist/theme/tokens.css +196 -0
- package/dist/theme/typography.d.ts +24 -0
- package/dist/tokens.css +1 -0
- package/package.json +83 -4
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* Styles owned by Grid. The component sets every variable for every breakpoint itself,
|
|
2
|
+
so each rule reads one variable and nested grids never inherit a parent's values. */
|
|
3
|
+
.ad-grid {
|
|
4
|
+
display: grid;
|
|
5
|
+
min-width: 0;
|
|
6
|
+
grid-template-columns: var(--ad-grid-columns);
|
|
7
|
+
row-gap: var(--ad-grid-row-gap);
|
|
8
|
+
column-gap: var(--ad-grid-column-gap);
|
|
9
|
+
align-items: var(--ad-grid-align);
|
|
10
|
+
justify-items: var(--ad-grid-justify);
|
|
11
|
+
justify-content: var(--ad-grid-distribution);
|
|
12
|
+
}
|
|
13
|
+
.ad-grid--auto-fit {
|
|
14
|
+
grid-template-columns: repeat(
|
|
15
|
+
auto-fit,
|
|
16
|
+
minmax(min(100%, var(--ad-grid-min-child-width)), 1fr)
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
.ad-grid--dense {
|
|
20
|
+
grid-auto-flow: dense;
|
|
21
|
+
}
|
|
22
|
+
.ad-grid-item {
|
|
23
|
+
min-width: 0;
|
|
24
|
+
grid-column: var(--ad-grid-column-start) / var(--ad-grid-column-end);
|
|
25
|
+
grid-row: var(--ad-grid-row-start) / var(--ad-grid-row-end);
|
|
26
|
+
}
|
|
27
|
+
@media (min-width: 40rem) {
|
|
28
|
+
.ad-grid:not(.ad-grid--auto-fit) {
|
|
29
|
+
grid-template-columns: var(--ad-grid-columns-sm);
|
|
30
|
+
}
|
|
31
|
+
.ad-grid {
|
|
32
|
+
row-gap: var(--ad-grid-row-gap-sm);
|
|
33
|
+
column-gap: var(--ad-grid-column-gap-sm);
|
|
34
|
+
align-items: var(--ad-grid-align-sm);
|
|
35
|
+
justify-items: var(--ad-grid-justify-sm);
|
|
36
|
+
justify-content: var(--ad-grid-distribution-sm);
|
|
37
|
+
}
|
|
38
|
+
.ad-grid-item {
|
|
39
|
+
grid-column: var(--ad-grid-column-start-sm) / var(--ad-grid-column-end-sm);
|
|
40
|
+
grid-row: var(--ad-grid-row-start-sm) / var(--ad-grid-row-end-sm);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
@media (min-width: 56.25rem) {
|
|
44
|
+
.ad-grid:not(.ad-grid--auto-fit) {
|
|
45
|
+
grid-template-columns: var(--ad-grid-columns-md);
|
|
46
|
+
}
|
|
47
|
+
.ad-grid {
|
|
48
|
+
row-gap: var(--ad-grid-row-gap-md);
|
|
49
|
+
column-gap: var(--ad-grid-column-gap-md);
|
|
50
|
+
align-items: var(--ad-grid-align-md);
|
|
51
|
+
justify-items: var(--ad-grid-justify-md);
|
|
52
|
+
justify-content: var(--ad-grid-distribution-md);
|
|
53
|
+
}
|
|
54
|
+
.ad-grid-item {
|
|
55
|
+
grid-column: var(--ad-grid-column-start-md) / var(--ad-grid-column-end-md);
|
|
56
|
+
grid-row: var(--ad-grid-row-start-md) / var(--ad-grid-row-end-md);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
@media (min-width: 75rem) {
|
|
60
|
+
.ad-grid:not(.ad-grid--auto-fit) {
|
|
61
|
+
grid-template-columns: var(--ad-grid-columns-lg);
|
|
62
|
+
}
|
|
63
|
+
.ad-grid {
|
|
64
|
+
row-gap: var(--ad-grid-row-gap-lg);
|
|
65
|
+
column-gap: var(--ad-grid-column-gap-lg);
|
|
66
|
+
align-items: var(--ad-grid-align-lg);
|
|
67
|
+
justify-items: var(--ad-grid-justify-lg);
|
|
68
|
+
justify-content: var(--ad-grid-distribution-lg);
|
|
69
|
+
}
|
|
70
|
+
.ad-grid-item {
|
|
71
|
+
grid-column: var(--ad-grid-column-start-lg) / var(--ad-grid-column-end-lg);
|
|
72
|
+
grid-row: var(--ad-grid-row-start-lg) / var(--ad-grid-row-end-lg);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
@media (min-width: 96rem) {
|
|
76
|
+
.ad-grid:not(.ad-grid--auto-fit) {
|
|
77
|
+
grid-template-columns: var(--ad-grid-columns-xl);
|
|
78
|
+
}
|
|
79
|
+
.ad-grid {
|
|
80
|
+
row-gap: var(--ad-grid-row-gap-xl);
|
|
81
|
+
column-gap: var(--ad-grid-column-gap-xl);
|
|
82
|
+
align-items: var(--ad-grid-align-xl);
|
|
83
|
+
justify-items: var(--ad-grid-justify-xl);
|
|
84
|
+
justify-content: var(--ad-grid-distribution-xl);
|
|
85
|
+
}
|
|
86
|
+
.ad-grid-item {
|
|
87
|
+
grid-column: var(--ad-grid-column-start-xl) / var(--ad-grid-column-end-xl);
|
|
88
|
+
grid-row: var(--ad-grid-row-start-xl) / var(--ad-grid-row-end-xl);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* When the actions do not fit beside the title, they wrap below it instead of squeezing it. */
|
|
2
|
+
.ad-header {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-wrap: wrap;
|
|
5
|
+
align-items: center;
|
|
6
|
+
gap: var(--ad-space-3);
|
|
7
|
+
min-width: 0;
|
|
8
|
+
}
|
|
9
|
+
.ad-header-copy {
|
|
10
|
+
flex: 1 1 12rem;
|
|
11
|
+
min-width: 0;
|
|
12
|
+
overflow-wrap: break-word;
|
|
13
|
+
}
|
|
14
|
+
.ad-header-copy h1,
|
|
15
|
+
.ad-header-copy h2,
|
|
16
|
+
.ad-header-copy h3,
|
|
17
|
+
.ad-header-copy h4 {
|
|
18
|
+
margin: 0;
|
|
19
|
+
font-family: var(--ad-font-family-heading);
|
|
20
|
+
color: var(--ad-text);
|
|
21
|
+
line-height: var(--ad-line-height-heading);
|
|
22
|
+
letter-spacing: var(--ad-letter-spacing-heading);
|
|
23
|
+
}
|
|
24
|
+
.ad-header-copy p {
|
|
25
|
+
margin: var(--ad-space-1) 0 0;
|
|
26
|
+
}
|
|
27
|
+
.ad-header-actions {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-wrap: wrap;
|
|
30
|
+
min-width: 0;
|
|
31
|
+
max-width: 100%;
|
|
32
|
+
align-items: center;
|
|
33
|
+
gap: var(--ad-space-2);
|
|
34
|
+
margin-inline-start: auto;
|
|
35
|
+
}
|
|
36
|
+
.ad-header[data-ad-compact="true"] {
|
|
37
|
+
gap: var(--ad-space-2);
|
|
38
|
+
}
|
|
39
|
+
/* A compact header (small cards, panels) keeps its title beside the icon even in a narrow column. */
|
|
40
|
+
.ad-header[data-ad-compact="true"] .ad-header-copy {
|
|
41
|
+
flex-basis: 4rem;
|
|
42
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type IconProps } from "../shared";
|
|
3
|
+
/** Without `size` the icon takes --ad-icon-size from CSS, so buttons and fields can size it. */
|
|
4
|
+
export declare const Icon: ({ name, size, surface, className, style, label, ...p }: IconProps) => React.JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
.ad-icon {
|
|
2
|
+
--ad-icon-size: 1.5rem;
|
|
3
|
+
display: inline-grid;
|
|
4
|
+
place-items: center;
|
|
5
|
+
flex: none;
|
|
6
|
+
width: var(--ad-icon-size);
|
|
7
|
+
height: var(--ad-icon-size);
|
|
8
|
+
color: inherit;
|
|
9
|
+
}
|
|
10
|
+
.ad-icon > [data-ad-component="IconAsset"] {
|
|
11
|
+
display: block;
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
fill: none;
|
|
15
|
+
stroke: currentColor;
|
|
16
|
+
stroke-width: 1.8;
|
|
17
|
+
stroke-linecap: round;
|
|
18
|
+
stroke-linejoin: round;
|
|
19
|
+
pointer-events: none;
|
|
20
|
+
}
|
|
21
|
+
.ad-icon[data-ad-surface="tile"] {
|
|
22
|
+
width: calc(var(--ad-icon-size) * 1.8);
|
|
23
|
+
height: calc(var(--ad-icon-size) * 1.8);
|
|
24
|
+
padding: calc(var(--ad-icon-size) * 0.34);
|
|
25
|
+
border: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.36);
|
|
26
|
+
border-radius: calc(var(--ad-radius) * 0.85);
|
|
27
|
+
background: var(--ad-surface-tile);
|
|
28
|
+
box-shadow: var(--ad-shadow-tile);
|
|
29
|
+
color: var(--ad-on-accent);
|
|
30
|
+
}
|
|
31
|
+
/* Tile icons breathe with light (a glow layer fading in and out); hovering lifts the tile and rocks the glyph. */
|
|
32
|
+
.ad-icon[data-ad-surface="tile"] {
|
|
33
|
+
position: relative;
|
|
34
|
+
transition:
|
|
35
|
+
transform 0.4s cubic-bezier(0.34, 1.56, 0.5, 1),
|
|
36
|
+
border-color 0.3s;
|
|
37
|
+
}
|
|
38
|
+
.ad-icon[data-ad-surface="tile"] > [data-ad-component="IconAsset"] {
|
|
39
|
+
transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.5, 1);
|
|
40
|
+
}
|
|
41
|
+
.ad-icon[data-ad-surface="tile"]:hover {
|
|
42
|
+
transform: translateY(-0.125rem) scale(1.06);
|
|
43
|
+
border-color: var(--ad-secondary);
|
|
44
|
+
}
|
|
45
|
+
.ad-icon[data-ad-surface="tile"]:hover > [data-ad-component="IconAsset"] {
|
|
46
|
+
transform: rotate(-10deg) scale(1.08);
|
|
47
|
+
}
|
|
48
|
+
.ad-icon[data-ad-surface="tile"]::after {
|
|
49
|
+
content: "";
|
|
50
|
+
position: absolute;
|
|
51
|
+
inset: -0.0625rem;
|
|
52
|
+
border-radius: inherit;
|
|
53
|
+
box-shadow: 0 0 1rem rgb(from var(--ad-primary) r g b / 0.33);
|
|
54
|
+
opacity: 0;
|
|
55
|
+
animation: ad-tile-breathe 4s ease-in-out infinite;
|
|
56
|
+
pointer-events: none;
|
|
57
|
+
}
|
|
58
|
+
@keyframes ad-tile-breathe {
|
|
59
|
+
50% {
|
|
60
|
+
opacity: 1;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
.ad-illustration {
|
|
2
|
+
display: grid;
|
|
3
|
+
place-items: center;
|
|
4
|
+
min-width: 0;
|
|
5
|
+
min-height: 0;
|
|
6
|
+
}
|
|
7
|
+
.ad-illustration-art {
|
|
8
|
+
max-width: 100%;
|
|
9
|
+
max-height: 100%;
|
|
10
|
+
}
|
|
11
|
+
.ad-illustration[data-ad-framed="true"] {
|
|
12
|
+
padding: var(--ad-space-3);
|
|
13
|
+
border: 0.0625rem solid rgb(from var(--ad-secondary) r g b / 0.3);
|
|
14
|
+
border-radius: var(--ad-radius);
|
|
15
|
+
background: var(--ad-surface-glass);
|
|
16
|
+
box-shadow: var(--ad-shadow-glass);
|
|
17
|
+
}
|
|
18
|
+
/* The artwork floats slowly in a pulsing glow; a framed one gets a living edge. Everything that
|
|
19
|
+
moves is a layer that is only moved or faded: no filter or gradient is redrawn while it runs. */
|
|
20
|
+
.ad-illustration-art {
|
|
21
|
+
position: relative;
|
|
22
|
+
display: block;
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100%;
|
|
25
|
+
min-width: 0;
|
|
26
|
+
min-height: 0;
|
|
27
|
+
animation: ad-art-float 7s ease-in-out infinite;
|
|
28
|
+
will-change: transform;
|
|
29
|
+
}
|
|
30
|
+
.ad-illustration-art > [data-ad-component="IllustrationAsset"] {
|
|
31
|
+
position: relative;
|
|
32
|
+
display: block;
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
filter: hue-rotate(var(--ad-hue-shift, 0deg));
|
|
36
|
+
}
|
|
37
|
+
.ad-illustration-glow {
|
|
38
|
+
position: absolute;
|
|
39
|
+
inset: 0;
|
|
40
|
+
display: block;
|
|
41
|
+
width: 100%;
|
|
42
|
+
height: 100%;
|
|
43
|
+
overflow: visible;
|
|
44
|
+
pointer-events: none;
|
|
45
|
+
}
|
|
46
|
+
.ad-illustration-glow[data-glow="pulse"] {
|
|
47
|
+
opacity: 0;
|
|
48
|
+
animation: ad-art-glow 5s ease-in-out infinite;
|
|
49
|
+
will-change: opacity;
|
|
50
|
+
}
|
|
51
|
+
.ad-illustration[data-ad-framed="true"] {
|
|
52
|
+
position: relative;
|
|
53
|
+
isolation: isolate;
|
|
54
|
+
overflow: hidden;
|
|
55
|
+
}
|
|
56
|
+
/* The edge is a 1px ring (the mask) over a conic light that turns: turning a conic gradient
|
|
57
|
+
about its centre is the same as sweeping its start angle. */
|
|
58
|
+
.ad-illustration-edge {
|
|
59
|
+
position: absolute;
|
|
60
|
+
inset: 0;
|
|
61
|
+
container-type: size;
|
|
62
|
+
border-radius: inherit;
|
|
63
|
+
padding: 0.0625rem;
|
|
64
|
+
overflow: hidden;
|
|
65
|
+
mask:
|
|
66
|
+
linear-gradient(#000 0 0) content-box exclude,
|
|
67
|
+
linear-gradient(#000 0 0);
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
}
|
|
70
|
+
.ad-illustration-edge::before {
|
|
71
|
+
content: "";
|
|
72
|
+
position: absolute;
|
|
73
|
+
top: 50%;
|
|
74
|
+
left: 50%;
|
|
75
|
+
width: hypot(100cqw, 100cqh);
|
|
76
|
+
aspect-ratio: 1;
|
|
77
|
+
translate: -50% -50%;
|
|
78
|
+
background: conic-gradient(
|
|
79
|
+
transparent 0 70%,
|
|
80
|
+
var(--ad-secondary),
|
|
81
|
+
transparent 85%
|
|
82
|
+
);
|
|
83
|
+
animation: ad-art-edge 5s linear infinite;
|
|
84
|
+
will-change: transform;
|
|
85
|
+
}
|
|
86
|
+
@keyframes ad-art-float {
|
|
87
|
+
0%,
|
|
88
|
+
100% {
|
|
89
|
+
transform: translateY(0) scale(1);
|
|
90
|
+
}
|
|
91
|
+
50% {
|
|
92
|
+
transform: translateY(-0.4rem) scale(1.02);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
@keyframes ad-art-glow {
|
|
96
|
+
50% {
|
|
97
|
+
opacity: 1;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
@keyframes ad-art-edge {
|
|
101
|
+
to {
|
|
102
|
+
rotate: 1turn;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/* Styles owned by ScrollArea. */
|
|
2
|
+
.ad-scroll-area {
|
|
3
|
+
min-width: 0;
|
|
4
|
+
min-height: 0;
|
|
5
|
+
overflow: auto;
|
|
6
|
+
overscroll-behavior: contain;
|
|
7
|
+
scrollbar-gutter: stable;
|
|
8
|
+
scrollbar-width: thin;
|
|
9
|
+
scrollbar-color: var(--ad-primary) var(--ad-neutral-900);
|
|
10
|
+
padding-inline-end: clamp(0.4rem, 0.25rem + 0.35vw, 0.75rem);
|
|
11
|
+
}
|
|
12
|
+
.ad-scroll-area::-webkit-scrollbar {
|
|
13
|
+
width: clamp(0.45rem, 0.3rem + 0.25vw, 0.7rem);
|
|
14
|
+
height: clamp(0.45rem, 0.3rem + 0.25vw, 0.7rem);
|
|
15
|
+
}
|
|
16
|
+
.ad-scroll-area::-webkit-scrollbar-track {
|
|
17
|
+
background: var(--ad-neutral-900);
|
|
18
|
+
border-radius: 999rem;
|
|
19
|
+
}
|
|
20
|
+
.ad-scroll-area::-webkit-scrollbar-thumb {
|
|
21
|
+
background: linear-gradient(var(--ad-primary), var(--ad-primary-600));
|
|
22
|
+
border-radius: 999rem;
|
|
23
|
+
}
|
|
24
|
+
/* Edges fade out only where there is more to scroll (scroll-driven, where supported). */
|
|
25
|
+
@property --ad-fade-top {
|
|
26
|
+
syntax: "<length>";
|
|
27
|
+
inherits: false;
|
|
28
|
+
initial-value: 0px;
|
|
29
|
+
}
|
|
30
|
+
@property --ad-fade-bottom {
|
|
31
|
+
syntax: "<length>";
|
|
32
|
+
inherits: false;
|
|
33
|
+
initial-value: 0px;
|
|
34
|
+
}
|
|
35
|
+
@supports (animation-timeline: scroll()) {
|
|
36
|
+
.ad-scroll-area {
|
|
37
|
+
mask: linear-gradient(
|
|
38
|
+
#0000,
|
|
39
|
+
#000 var(--ad-fade-top),
|
|
40
|
+
#000 calc(100% - var(--ad-fade-bottom)),
|
|
41
|
+
#0000
|
|
42
|
+
);
|
|
43
|
+
animation: ad-scroll-fade linear both;
|
|
44
|
+
animation-timeline: scroll(self);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
@keyframes ad-scroll-fade {
|
|
48
|
+
0% {
|
|
49
|
+
--ad-fade-top: 0px;
|
|
50
|
+
--ad-fade-bottom: 2rem;
|
|
51
|
+
}
|
|
52
|
+
10%,
|
|
53
|
+
90% {
|
|
54
|
+
--ad-fade-top: 2rem;
|
|
55
|
+
--ad-fade-bottom: 2rem;
|
|
56
|
+
}
|
|
57
|
+
100% {
|
|
58
|
+
--ad-fade-top: 2rem;
|
|
59
|
+
--ad-fade-bottom: 0px;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ElementType, HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
import { type Breakpoint, type Responsive, type Spacing } from "../../../core/responsive";
|
|
3
|
+
export type StackDirection = "row" | "column" | "row-reverse" | "column-reverse";
|
|
4
|
+
export type StackAlign = "start" | "center" | "end" | "stretch" | "baseline";
|
|
5
|
+
export type StackJustify = "start" | "center" | "end" | "between" | "around" | "evenly";
|
|
6
|
+
export type StackWrap = "nowrap" | "wrap" | "wrap-reverse";
|
|
7
|
+
export type StackBreakpoint = Breakpoint;
|
|
8
|
+
export type StackResponsive<T> = Responsive<T>;
|
|
9
|
+
export type StackSpacing = Spacing;
|
|
10
|
+
export interface StackProps extends Omit<HTMLAttributes<HTMLElement>, "color"> {
|
|
11
|
+
as?: ElementType;
|
|
12
|
+
ref?: Ref<HTMLElement>;
|
|
13
|
+
direction?: StackResponsive<StackDirection>;
|
|
14
|
+
gap?: StackResponsive<StackSpacing>;
|
|
15
|
+
align?: StackResponsive<StackAlign>;
|
|
16
|
+
justify?: StackResponsive<StackJustify>;
|
|
17
|
+
wrap?: StackResponsive<StackWrap | boolean>;
|
|
18
|
+
divider?: ReactNode;
|
|
19
|
+
inline?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function Stack({ as: Component, direction, gap, align, justify, wrap, divider, inline, children, className, style, ...props }: StackProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/* Styles owned by Stack. The component sets every variable for every breakpoint itself,
|
|
2
|
+
so each rule reads one variable and nested stacks never inherit a parent's values. */
|
|
3
|
+
.ad-stack {
|
|
4
|
+
display: flex;
|
|
5
|
+
min-width: 0;
|
|
6
|
+
flex-direction: var(--ad-stack-direction);
|
|
7
|
+
gap: var(--ad-stack-gap);
|
|
8
|
+
align-items: var(--ad-stack-align);
|
|
9
|
+
justify-content: var(--ad-stack-justify);
|
|
10
|
+
flex-wrap: var(--ad-stack-wrap);
|
|
11
|
+
}
|
|
12
|
+
.ad-stack--inline {
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
}
|
|
15
|
+
.ad-stack__divider {
|
|
16
|
+
display: contents;
|
|
17
|
+
}
|
|
18
|
+
@media (min-width: 40rem) {
|
|
19
|
+
.ad-stack {
|
|
20
|
+
flex-direction: var(--ad-stack-direction-sm);
|
|
21
|
+
gap: var(--ad-stack-gap-sm);
|
|
22
|
+
align-items: var(--ad-stack-align-sm);
|
|
23
|
+
justify-content: var(--ad-stack-justify-sm);
|
|
24
|
+
flex-wrap: var(--ad-stack-wrap-sm);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
@media (min-width: 56.25rem) {
|
|
28
|
+
.ad-stack {
|
|
29
|
+
flex-direction: var(--ad-stack-direction-md);
|
|
30
|
+
gap: var(--ad-stack-gap-md);
|
|
31
|
+
align-items: var(--ad-stack-align-md);
|
|
32
|
+
justify-content: var(--ad-stack-justify-md);
|
|
33
|
+
flex-wrap: var(--ad-stack-wrap-md);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
@media (min-width: 75rem) {
|
|
37
|
+
.ad-stack {
|
|
38
|
+
flex-direction: var(--ad-stack-direction-lg);
|
|
39
|
+
gap: var(--ad-stack-gap-lg);
|
|
40
|
+
align-items: var(--ad-stack-align-lg);
|
|
41
|
+
justify-content: var(--ad-stack-justify-lg);
|
|
42
|
+
flex-wrap: var(--ad-stack-wrap-lg);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
@media (min-width: 96rem) {
|
|
46
|
+
.ad-stack {
|
|
47
|
+
flex-direction: var(--ad-stack-direction-xl);
|
|
48
|
+
gap: var(--ad-stack-gap-xl);
|
|
49
|
+
align-items: var(--ad-stack-align-xl);
|
|
50
|
+
justify-content: var(--ad-stack-justify-xl);
|
|
51
|
+
flex-wrap: var(--ad-stack-wrap-xl);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type CommonProps } from "../../../core/base";
|
|
3
|
+
export interface StatTileProps extends CommonProps {
|
|
4
|
+
/** Icon in the glowing ring. */
|
|
5
|
+
icon?: string;
|
|
6
|
+
/** The headline number or short value. */
|
|
7
|
+
value: ReactNode;
|
|
8
|
+
/** What the value counts. */
|
|
9
|
+
label: ReactNode;
|
|
10
|
+
/** Makes the whole tile a button, e.g. to open the list behind the number. */
|
|
11
|
+
onClick?: () => void;
|
|
12
|
+
/** Lean toward the pointer with a glare. */
|
|
13
|
+
tilt?: boolean;
|
|
14
|
+
/** A count bubble on the corner, e.g. new requests waiting. */
|
|
15
|
+
badge?: ReactNode;
|
|
16
|
+
/** Name of the badge for screen readers. */
|
|
17
|
+
badgeLabel?: string;
|
|
18
|
+
}
|
|
19
|
+
/** A headline number: an icon in a glowing ring with a spark, the value large, its label below. */
|
|
20
|
+
export declare function StatTile({ icon, value, label, onClick, tilt, badge, badgeLabel, ...p }: StatTileProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* Styles owned by StatTile: a glass card with a glowing icon ring; it grows to share a row with its siblings. */
|
|
2
|
+
.ad-stat-tile {
|
|
3
|
+
position: relative;
|
|
4
|
+
flex: 1 1 11rem;
|
|
5
|
+
min-width: 0;
|
|
6
|
+
}
|
|
7
|
+
.ad-stat-tile-badge {
|
|
8
|
+
position: absolute;
|
|
9
|
+
top: calc(var(--ad-space-2) * -1);
|
|
10
|
+
right: calc(var(--ad-space-2) * -1);
|
|
11
|
+
z-index: 2;
|
|
12
|
+
display: grid;
|
|
13
|
+
place-items: center;
|
|
14
|
+
min-inline-size: 1.5rem;
|
|
15
|
+
block-size: 1.5rem;
|
|
16
|
+
padding-inline: 0.4rem;
|
|
17
|
+
border-radius: var(--ad-radius-pill);
|
|
18
|
+
background: var(--ad-primary);
|
|
19
|
+
color: #fff;
|
|
20
|
+
font-size: var(--ad-font-size-caption);
|
|
21
|
+
font-weight: var(--ad-font-weight-bold);
|
|
22
|
+
box-shadow: 0 0 0.75rem var(--ad-primary);
|
|
23
|
+
}
|
|
24
|
+
.ad-stat-tile-badge::after {
|
|
25
|
+
content: "";
|
|
26
|
+
position: absolute;
|
|
27
|
+
inset: 0;
|
|
28
|
+
border-radius: inherit;
|
|
29
|
+
box-shadow: 0 0 1.4rem var(--ad-primary);
|
|
30
|
+
opacity: 0;
|
|
31
|
+
animation: ad-stat-tile-pulse 2s ease-in-out infinite;
|
|
32
|
+
}
|
|
33
|
+
@keyframes ad-stat-tile-pulse {
|
|
34
|
+
50% {
|
|
35
|
+
opacity: 1;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
button.ad-stat-tile {
|
|
39
|
+
padding: 0;
|
|
40
|
+
border: 0;
|
|
41
|
+
border-radius: var(--ad-radius-lg);
|
|
42
|
+
background: none;
|
|
43
|
+
color: inherit;
|
|
44
|
+
font: inherit;
|
|
45
|
+
text-align: start;
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
}
|
|
48
|
+
button.ad-stat-tile:focus-visible {
|
|
49
|
+
outline: 0.125rem solid var(--ad-focus);
|
|
50
|
+
outline-offset: 0.2rem;
|
|
51
|
+
}
|
|
52
|
+
.ad-stat-tile-card.ad-card {
|
|
53
|
+
display: flex;
|
|
54
|
+
gap: var(--ad-space-4);
|
|
55
|
+
align-items: center;
|
|
56
|
+
height: 100%;
|
|
57
|
+
}
|
|
58
|
+
.ad-stat-tile-icon {
|
|
59
|
+
position: relative;
|
|
60
|
+
display: grid;
|
|
61
|
+
flex: none;
|
|
62
|
+
place-items: center;
|
|
63
|
+
inline-size: clamp(3rem, 5vw, 4.25rem);
|
|
64
|
+
aspect-ratio: 1;
|
|
65
|
+
border: 0.0625rem solid var(--ad-primary);
|
|
66
|
+
border-radius: 50%;
|
|
67
|
+
color: var(--ad-primary);
|
|
68
|
+
--ad-icon-size: 1.6rem;
|
|
69
|
+
background: radial-gradient(circle, rgb(from var(--ad-primary) r g b / 0.16), var(--ad-neutral-950) 68%);
|
|
70
|
+
box-shadow:
|
|
71
|
+
inset 0 0 1rem rgb(from var(--ad-primary) r g b / 0.16),
|
|
72
|
+
0 0 1rem rgb(from var(--ad-primary) r g b / 0.3);
|
|
73
|
+
}
|
|
74
|
+
.ad-stat-tile-spark {
|
|
75
|
+
position: absolute;
|
|
76
|
+
inset: 0.3rem 0.15rem auto auto;
|
|
77
|
+
--ad-icon-size: 0.75rem;
|
|
78
|
+
animation: ad-stat-tile-twinkle 3.2s ease-in-out infinite;
|
|
79
|
+
}
|
|
80
|
+
.ad-stat-tile-text {
|
|
81
|
+
display: grid;
|
|
82
|
+
gap: var(--ad-space-1);
|
|
83
|
+
min-width: 0;
|
|
84
|
+
}
|
|
85
|
+
@keyframes ad-stat-tile-twinkle {
|
|
86
|
+
50% {
|
|
87
|
+
opacity: 0.35;
|
|
88
|
+
scale: 0.8;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* Styles owned by TabPanel: the content of each newly selected tab glides in. */
|
|
2
|
+
.ad-tab-panel {
|
|
3
|
+
padding: 1.125rem;
|
|
4
|
+
color: var(--ad-muted);
|
|
5
|
+
font-size: 0.8125rem;
|
|
6
|
+
}
|
|
7
|
+
.ad-tab-panel-content {
|
|
8
|
+
animation: ad-panel-in 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) both;
|
|
9
|
+
}
|
|
10
|
+
@keyframes ad-panel-in {
|
|
11
|
+
from {
|
|
12
|
+
opacity: 0;
|
|
13
|
+
transform: translateY(0.5rem);
|
|
14
|
+
filter: blur(0.2rem);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* Legacy lightweight text component. Typography is the full type system. */
|
|
2
|
+
.ad-text {
|
|
3
|
+
font-family: var(--ad-font-family-sans);
|
|
4
|
+
font-size: var(--ad-font-size-body);
|
|
5
|
+
line-height: var(--ad-line-height-body);
|
|
6
|
+
color: var(--ad-text);
|
|
7
|
+
}
|
|
8
|
+
.ad-text[data-ad-variant="body"] {
|
|
9
|
+
font-size: var(--ad-font-size-body);
|
|
10
|
+
line-height: var(--ad-line-height-body);
|
|
11
|
+
}
|
|
12
|
+
.ad-text[data-ad-variant="title"] {
|
|
13
|
+
font-size: var(--ad-font-size-title);
|
|
14
|
+
font-weight: var(--ad-font-weight-semibold);
|
|
15
|
+
line-height: var(--ad-line-height-title);
|
|
16
|
+
letter-spacing: var(--ad-letter-spacing-title);
|
|
17
|
+
}
|
|
18
|
+
.ad-text[data-ad-variant="muted"] {
|
|
19
|
+
color: var(--ad-muted);
|
|
20
|
+
font-size: var(--ad-font-size-body-sm);
|
|
21
|
+
}
|
|
22
|
+
.ad-text[data-ad-variant="eyebrow"] {
|
|
23
|
+
color: var(--ad-muted);
|
|
24
|
+
font-size: var(--ad-font-size-caption);
|
|
25
|
+
font-weight: var(--ad-font-weight-bold);
|
|
26
|
+
line-height: var(--ad-line-height-compact);
|
|
27
|
+
letter-spacing: var(--ad-letter-spacing-eyebrow);
|
|
28
|
+
text-transform: uppercase;
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const Toolbar: {
|
|
2
|
+
(p: import("../../..").CommonProps): import("react").DetailedReactHTMLElement<{
|
|
3
|
+
id: string | undefined;
|
|
4
|
+
className: string;
|
|
5
|
+
style: import("../../..").TokenStyle | undefined;
|
|
6
|
+
"data-ad-component": string;
|
|
7
|
+
"data-ad-material": import("../../..").Material | undefined;
|
|
8
|
+
"data-ad-size": import("../../..").ControlSize | undefined;
|
|
9
|
+
"data-ad-tone": import("../../..").Tone | undefined;
|
|
10
|
+
}, HTMLElement>;
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|