@esportsplus/ui 0.57.0 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -39
- package/build/components/accordion/group.d.ts +14 -0
- package/build/components/accordion/group.js +21 -0
- package/build/components/accordion/index.d.ts +9 -0
- package/build/components/accordion/index.js +20 -3
- package/build/components/accordion/scss/index.scss +1 -1
- package/build/components/announcement/scss/index.scss +1 -1
- package/build/components/breadcrumb/scss/index.scss +1 -1
- package/build/components/button/scss/index.scss +1 -1
- package/build/components/button/sidebar.d.ts +3 -0
- package/build/components/button/sidebar.js +40 -10
- package/build/components/capslock/index.js +1 -1
- package/build/components/capslock/scss/index.scss +1 -1
- package/build/components/card/scss/index.scss +1 -1
- package/build/components/cc/scss/index.scss +1 -1
- package/build/components/chat-minimap/scss/index.scss +1 -1
- package/build/components/checkbox/scss/index.scss +1 -1
- package/build/components/color-picker/index.d.ts +1 -0
- package/build/components/color-picker/index.js +166 -136
- package/build/components/color-picker/scss/index.scss +1 -1
- package/build/components/command/index.d.ts +0 -1
- package/build/components/command/index.js +3 -2
- package/build/components/command/scss/index.scss +1 -1
- package/build/components/copy/scss/index.scss +1 -1
- package/build/components/counter/scss/index.scss +1 -1
- package/build/components/datalist/index.js +3 -3
- package/build/components/datalist/scss/index.scss +1 -1
- package/build/components/dock/scss/index.scss +1 -1
- package/build/components/editor/code/index.d.ts +0 -1
- package/build/components/editor/code/index.js +0 -1
- package/build/components/editor/code/minimap.d.ts +2 -1
- package/build/components/editor/code/minimap.js +5 -2
- package/build/components/editor/code/view.d.ts +3 -1
- package/build/components/editor/code/view.js +37 -26
- package/build/components/editor/diffs/index.d.ts +0 -1
- package/build/components/editor/diffs/index.js +0 -1
- package/build/components/editor/diffs/merge.js +7 -3
- package/build/components/editor/diffs/view.js +3 -1
- package/build/components/editor/index.d.ts +4 -1
- package/build/components/editor/index.js +2 -1
- package/build/components/editor/markdown/editing.js +22 -3
- package/build/components/editor/markdown/erase.d.ts +9 -0
- package/build/components/editor/markdown/erase.js +78 -0
- package/build/components/editor/markdown/index.d.ts +0 -1
- package/build/components/editor/markdown/index.js +0 -1
- package/build/components/editor/markdown/layout.d.ts +2 -9
- package/build/components/editor/markdown/layout.js +2 -7
- package/build/components/editor/markdown/render.d.ts +0 -1
- package/build/components/editor/markdown/render.js +287 -235
- package/build/components/editor/markdown/view.js +566 -667
- package/build/components/editor/viewer/index.d.ts +27 -0
- package/build/components/editor/viewer/index.js +250 -0
- package/build/components/editor/viewer/model.d.ts +15 -0
- package/build/components/editor/viewer/model.js +73 -0
- package/build/components/editor/workspace/index.d.ts +6 -2
- package/build/components/editor/workspace/index.js +243 -137
- package/build/components/editor/workspace/keybindings.d.ts +37 -0
- package/build/components/editor/workspace/keybindings.js +288 -0
- package/build/components/editor/workspace/model.d.ts +55 -2
- package/build/components/editor/workspace/model.js +141 -3
- package/build/components/editor/workspace/navigate.d.ts +19 -0
- package/build/components/editor/workspace/navigate.js +118 -0
- package/build/components/editor/workspace/session.d.ts +29 -0
- package/build/components/editor/workspace/session.js +373 -0
- package/build/components/editor/workspace/shortcuts.d.ts +19 -0
- package/build/components/editor/workspace/shortcuts.js +185 -0
- package/build/components/editor/workspace/status.d.ts +34 -0
- package/build/components/editor/workspace/status.js +193 -0
- package/build/components/editor/workspace/statusbar.d.ts +15 -0
- package/build/components/editor/workspace/statusbar.js +190 -0
- package/build/components/editor/workspace/strip.d.ts +27 -0
- package/build/components/editor/workspace/strip.js +239 -0
- package/build/components/editor/workspace/tabs.d.ts +15 -0
- package/build/components/editor/workspace/tabs.js +63 -0
- package/build/components/error/index.js +1 -1
- package/build/components/error/scss/index.scss +1 -1
- package/build/components/filter/index.js +5 -3
- package/build/components/filter/scss/index.scss +1 -1
- package/build/components/frame/scss/index.scss +1 -1
- package/build/components/heatmap/index.js +3 -3
- package/build/components/heatmap/scss/index.scss +1 -1
- package/build/components/highlight/scss/index.scss +1 -1
- package/build/components/icon/scss/index.scss +1 -1
- package/build/components/image/scss/index.scss +1 -1
- package/build/components/index.d.ts +2 -0
- package/build/components/index.js +2 -0
- package/build/components/inline-edit/scss/index.scss +1 -1
- package/build/components/input/scss/index.scss +1 -1
- package/build/components/link/scss/index.scss +1 -1
- package/build/components/loading/scss/index.scss +1 -1
- package/build/components/marquee/scss/index.scss +1 -1
- package/build/components/metric/scss/index.scss +1 -1
- package/build/components/nav/index.d.ts +1 -1
- package/build/components/nav/scss/index.scss +1 -1
- package/build/components/nav/tree.d.ts +3 -1
- package/build/components/nav/tree.js +30 -60
- package/build/components/notification/scss/index.scss +1 -1
- package/build/components/overlay/scss/index.scss +1 -1
- package/build/components/page/scss/index.scss +1 -1
- package/build/components/pagination/arrows.d.ts +15 -0
- package/build/components/pagination/arrows.js +65 -0
- package/build/components/pagination/cards.d.ts +23 -0
- package/build/components/pagination/cards.js +66 -0
- package/build/components/pagination/index.d.ts +5 -0
- package/build/components/pagination/index.js +3 -1
- package/build/components/pagination/scss/index.scss +1 -1
- package/build/components/progress/scss/index.scss +1 -1
- package/build/components/pull-to-refresh/scss/index.scss +1 -1
- package/build/components/range/index.js +1 -1
- package/build/components/range/scss/index.scss +1 -1
- package/build/components/relative-time/scss/index.scss +1 -1
- package/build/components/root/scss/index.scss +1 -1
- package/build/components/section/scss/index.scss +2 -0
- package/build/components/select/index.d.ts +1 -0
- package/build/components/select/index.js +16 -11
- package/build/components/select/scss/index.scss +1 -1
- package/build/components/shortcut-recorder/scss/index.scss +1 -1
- package/build/components/sortable/scss/index.scss +1 -1
- package/build/components/sticky-header/index.js +3 -3
- package/build/components/sticky-header/scss/index.scss +1 -1
- package/build/components/story/scss/index.scss +1 -1
- package/build/components/surface-field/scss/index.scss +1 -1
- package/build/components/tasklist/scss/index.scss +1 -1
- package/build/components/text/scss/index.scss +1 -1
- package/build/components/textarea/scss/index.scss +1 -1
- package/build/{css-utilities → components}/theme/index.d.ts +1 -1
- package/build/{css-utilities → components}/theme/index.js +15 -5
- package/build/components/theme/scss/index.scss +2 -0
- package/build/components/theme-picker/index.d.ts +52 -0
- package/build/components/theme-picker/index.js +167 -0
- package/build/components/theme-picker/scss/index.scss +2 -0
- package/build/components/toast/index.js +3 -5
- package/build/components/toast/scss/index.scss +1 -1
- package/build/components/tooltip/menu.js +3 -1
- package/build/components/tooltip/scss/index.scss +1 -1
- package/build/components/typewriter/scss/index.scss +1 -1
- package/build/components/uptime/scss/index.scss +1 -1
- package/build/components/usage-meter/scss/index.scss +1 -1
- package/build/{css-utilities → modifiers}/glass/index.d.ts +2 -2
- package/build/modifiers/glass/index.js +28 -0
- package/build/modifiers/glass/scss/index.scss +2 -0
- package/build/{css-utilities → modifiers}/index.d.ts +0 -1
- package/build/{css-utilities → modifiers}/index.js +0 -1
- package/build/modifiers/scrollbar/index.d.ts +72 -0
- package/build/{css-utilities → modifiers}/scrollbar/index.js +52 -19
- package/build/modifiers/scrollbar/scss/index.scss +2 -0
- package/build/normalize/scss/index.scss +1 -2
- package/layer.scss +1 -1
- package/package.json +11 -18
- package/scripts/code-editor-markdown.test.mjs +45 -14
- package/scripts/code-viewer.test.mjs +69 -0
- package/scripts/workspace-keybindings.test.mjs +273 -0
- package/scripts/workspace-session.test.mjs +349 -0
- package/scripts/workspace-status.test.mjs +229 -0
- package/scripts/workspace-tabs.test.mjs +142 -0
- package/src/components/accordion/group.ts +39 -0
- package/src/components/accordion/index.ts +32 -6
- package/src/components/accordion/scss/index.scss +12 -21
- package/src/components/accordion/scss/variables.scss +18 -3
- package/src/components/announcement/scss/index.scss +4 -4
- package/src/components/announcement/scss/variables.scss +6 -6
- package/src/components/banner/scss/index.scss +1 -1
- package/src/components/breadcrumb/scss/index.scss +35 -50
- package/src/components/breadcrumb/scss/variables.scss +23 -31
- package/src/components/button/scss/_fan.scss +39 -43
- package/src/components/button/scss/_morph.scss +66 -78
- package/src/components/button/scss/_sidebar.scss +41 -30
- package/src/components/button/scss/_split.scss +9 -9
- package/src/components/button/scss/index.scss +23 -19
- package/src/components/button/scss/variables.scss +94 -90
- package/src/components/button/sidebar.ts +36 -24
- package/src/components/capslock/index.ts +2 -2
- package/src/components/capslock/scss/index.scss +11 -6
- package/src/components/capslock/scss/variables.scss +3 -5
- package/src/components/card/scss/_expand.scss +58 -64
- package/src/components/card/scss/index.scss +40 -21
- package/src/components/card/scss/variables.scss +40 -31
- package/src/components/cc/scss/index.scss +68 -68
- package/src/components/cc/scss/variables.scss +13 -14
- package/src/components/chat-minimap/scss/index.scss +24 -16
- package/src/components/chat-minimap/scss/variables.scss +37 -37
- package/src/components/checkbox/scss/index.scss +54 -52
- package/src/components/checkbox/scss/variables.scss +37 -39
- package/src/components/color-picker/index.ts +157 -120
- package/src/components/color-picker/scss/index.scss +159 -96
- package/src/components/color-picker/scss/variables.scss +33 -15
- package/src/components/command/index.ts +3 -2
- package/src/components/command/scss/index.scss +10 -14
- package/src/components/command/scss/variables.scss +12 -35
- package/src/components/copy/scss/index.scss +6 -6
- package/src/components/copy/scss/variables.scss +12 -15
- package/src/components/counter/scss/index.scss +14 -14
- package/src/components/counter/scss/variables.scss +1 -1
- package/src/components/datalist/index.ts +3 -3
- package/src/components/datalist/scss/index.scss +7 -6
- package/src/components/datalist/scss/variables.scss +7 -3
- package/src/components/dock/scss/index.scss +10 -15
- package/src/components/dock/scss/variables.scss +29 -25
- package/src/components/editor/code/index.ts +0 -1
- package/src/components/editor/code/minimap.ts +13 -5
- package/src/components/editor/code/scss/_editor.scss +83 -81
- package/src/components/editor/code/scss/_features.scss +106 -97
- package/src/components/editor/code/scss/_services.scss +27 -25
- package/src/components/editor/code/scss/index.scss +0 -1
- package/src/components/editor/code/scss/variables.scss +30 -26
- package/src/components/editor/code/view.ts +14 -5
- package/src/components/editor/diffs/index.ts +0 -1
- package/src/components/editor/diffs/merge.ts +2 -1
- package/src/components/editor/diffs/scss/_diffs.scss +67 -57
- package/src/components/editor/diffs/scss/_merge.scss +17 -14
- package/src/components/editor/diffs/scss/index.scss +0 -1
- package/src/components/editor/diffs/scss/variables.scss +25 -18
- package/src/components/editor/diffs/view.ts +2 -1
- package/src/components/editor/index.ts +7 -1
- package/src/components/editor/markdown/editing.ts +38 -3
- package/src/components/editor/markdown/erase.ts +124 -0
- package/src/components/editor/markdown/index.ts +0 -1
- package/src/components/editor/markdown/layout.ts +3 -12
- package/src/components/editor/markdown/render.ts +65 -37
- package/src/components/editor/markdown/scss/index.scss +92 -124
- package/src/components/editor/markdown/scss/variables.scss +39 -19
- package/src/components/editor/markdown/view.ts +737 -786
- package/src/components/editor/tree/scss/index.scss +121 -110
- package/src/components/editor/tree/scss/variables.scss +48 -54
- package/src/components/editor/viewer/index.ts +321 -0
- package/src/components/editor/viewer/model.ts +130 -0
- package/src/components/editor/viewer/scss/_viewer.scss +302 -0
- package/src/components/editor/viewer/scss/index.scss +2 -0
- package/src/components/editor/viewer/scss/variables.scss +69 -0
- package/src/components/editor/workspace/index.ts +159 -31
- package/src/components/editor/workspace/keybindings.ts +447 -0
- package/src/components/editor/workspace/model.ts +233 -3
- package/src/components/editor/workspace/navigate.ts +194 -0
- package/src/components/editor/workspace/scss/index.scss +72 -59
- package/src/components/editor/workspace/scss/keybindings.scss +190 -0
- package/src/components/editor/workspace/scss/status.scss +122 -0
- package/src/components/editor/workspace/scss/tabs.scss +56 -0
- package/src/components/editor/workspace/session.ts +551 -0
- package/src/components/editor/workspace/shortcuts.ts +255 -0
- package/src/components/editor/workspace/status.ts +259 -0
- package/src/components/editor/workspace/statusbar.ts +255 -0
- package/src/components/editor/workspace/strip.ts +273 -0
- package/src/components/editor/workspace/tabs.ts +106 -0
- package/src/components/error/index.ts +1 -1
- package/src/components/error/scss/index.scss +19 -19
- package/src/components/error/scss/variables.scss +2 -2
- package/src/components/filter/index.ts +7 -2
- package/src/components/filter/scss/index.scss +1 -1
- package/src/components/filter/scss/variables.scss +11 -10
- package/src/components/frame/scss/index.scss +12 -12
- package/src/components/frame/scss/variables.scss +8 -8
- package/src/components/heatmap/index.ts +3 -3
- package/src/components/heatmap/scss/index.scss +28 -26
- package/src/components/heatmap/scss/variables.scss +18 -17
- package/src/components/highlight/scss/index.scss +17 -13
- package/src/components/highlight/scss/variables.scss +8 -10
- package/src/components/icon/scss/index.scss +10 -0
- package/src/components/icon/scss/variables.scss +5 -0
- package/src/components/image/scss/index.scss +9 -9
- package/src/components/image/scss/variables.scss +7 -2
- package/src/components/index.ts +2 -0
- package/src/components/inline-edit/scss/index.scss +99 -104
- package/src/components/inline-edit/scss/variables.scss +40 -39
- package/src/components/input/scss/_field.scss +6 -20
- package/src/components/input/scss/_scrub.scss +10 -8
- package/src/components/input/scss/_tag.scss +35 -37
- package/src/components/input/scss/variables.scss +100 -99
- package/src/components/link/scss/index.scss +4 -1
- package/src/components/loading/scss/index.scss +1 -1
- package/src/components/loading/scss/variables.scss +1 -1
- package/src/components/marquee/scss/index.scss +9 -5
- package/src/components/marquee/scss/variables.scss +3 -1
- package/src/components/metric/scss/_flash.scss +3 -1
- package/src/components/metric/scss/index.scss +8 -6
- package/src/components/metric/scss/variables.scss +26 -20
- package/src/components/nav/index.ts +1 -1
- package/src/components/nav/scss/index.scss +12 -40
- package/src/components/nav/scss/variables.scss +30 -11
- package/src/components/nav/tree.ts +19 -62
- package/src/components/notification/scss/index.scss +7 -7
- package/src/components/notification/scss/variables.scss +7 -9
- package/src/components/overlay/scss/index.scss +181 -170
- package/src/components/overlay/scss/variables.scss +26 -57
- package/src/components/page/scss/index.scss +12 -11
- package/src/components/page/scss/variables.scss +5 -0
- package/src/components/pagination/arrows.ts +58 -0
- package/src/components/pagination/cards.ts +57 -0
- package/src/components/pagination/index.ts +4 -1
- package/src/components/pagination/scss/_arrows.scss +69 -0
- package/src/components/pagination/scss/_cards.scss +121 -0
- package/src/components/pagination/scss/_dots.scss +2 -5
- package/src/components/pagination/scss/index.scss +8 -6
- package/src/components/pagination/scss/variables.scss +87 -37
- package/src/components/progress/scss/_text.scss +21 -18
- package/src/components/progress/scss/index.scss +1 -1
- package/src/components/progress/scss/variables.scss +12 -12
- package/src/components/pull-to-refresh/scss/index.scss +2 -1
- package/src/components/pull-to-refresh/scss/variables.scss +11 -6
- package/src/components/range/index.ts +1 -1
- package/src/components/range/scss/_filter.scss +62 -51
- package/src/components/range/scss/_slider.scss +78 -75
- package/src/components/range/scss/_vertical.scss +6 -6
- package/src/components/range/scss/index.scss +3 -2
- package/src/components/range/scss/variables.scss +26 -23
- package/src/components/relative-time/scss/index.scss +27 -27
- package/src/components/relative-time/scss/variables.scss +10 -12
- package/src/components/root/scss/index.scss +71 -43
- package/src/components/root/scss/variables.scss +35 -31
- package/src/components/section/scss/index.scss +31 -0
- package/src/components/section/scss/variables.scss +21 -0
- package/src/components/select/index.ts +11 -6
- package/src/components/select/scss/index.scss +21 -32
- package/src/components/select/scss/variables.scss +25 -18
- package/src/components/shortcut-recorder/scss/index.scss +13 -12
- package/src/components/shortcut-recorder/scss/variables.scss +12 -13
- package/src/components/sortable/scss/index.scss +47 -44
- package/src/components/sortable/scss/variables.scss +4 -5
- package/src/components/sticky-header/index.ts +4 -4
- package/src/components/sticky-header/scss/index.scss +14 -13
- package/src/components/sticky-header/scss/variables.scss +9 -9
- package/src/components/story/scss/index.scss +26 -30
- package/src/components/story/scss/variables.scss +16 -9
- package/src/components/surface-field/scss/index.scss +45 -40
- package/src/components/surface-field/scss/variables.scss +5 -6
- package/src/components/tasklist/scss/index.scss +19 -19
- package/src/components/tasklist/scss/variables.scss +26 -29
- package/src/components/text/scss/index.scss +2 -1
- package/src/components/textarea/scss/variables.scss +1 -1
- package/src/{css-utilities → components}/theme/index.ts +17 -3
- package/src/components/theme/scss/index.scss +1 -0
- package/src/components/theme/scss/variables.scss +78 -0
- package/src/components/theme-picker/index.ts +231 -0
- package/src/components/theme-picker/scss/index.scss +264 -0
- package/src/components/toast/index.ts +28 -30
- package/src/components/toast/scss/index.scss +87 -87
- package/src/components/toast/scss/variables.scss +39 -39
- package/src/components/tooltip/menu.ts +4 -1
- package/src/components/tooltip/scss/_east.scss +10 -10
- package/src/components/tooltip/scss/_menu.scss +284 -269
- package/src/components/tooltip/scss/_north.scss +10 -10
- package/src/components/tooltip/scss/_shared.scss +7 -7
- package/src/components/tooltip/scss/_south.scss +10 -10
- package/src/components/tooltip/scss/_west.scss +10 -10
- package/src/components/tooltip/scss/index.scss +21 -20
- package/src/components/tooltip/scss/variables.scss +104 -96
- package/src/components/typewriter/scss/_retype.scss +12 -11
- package/src/components/typewriter/scss/_rotate.scss +2 -1
- package/src/components/typewriter/scss/variables.scss +41 -39
- package/src/components/uptime/scss/index.scss +15 -15
- package/src/components/uptime/scss/variables.scss +8 -8
- package/src/components/usage-meter/scss/index.scss +3 -1
- package/src/components/usage-meter/scss/variables.scss +5 -5
- package/src/css-utilities/absolute.scss +64 -0
- package/src/css-utilities/background.scss +43 -0
- package/src/css-utilities/border.scss +45 -0
- package/src/css-utilities/box-shadow.scss +29 -0
- package/src/css-utilities/color.scss +41 -0
- package/src/css-utilities/flex.scss +64 -0
- package/src/css-utilities/font/geist/{scss/index.scss → index.scss} +12 -4
- package/src/css-utilities/font/montserrat/Montserrat-Italic-Variable.woff2 +0 -0
- package/src/css-utilities/font/montserrat/Montserrat-Variable.woff2 +0 -0
- package/src/css-utilities/font/montserrat/OFL.txt +93 -0
- package/src/css-utilities/font/montserrat/index.scss +38 -0
- package/src/{shared/scss → css-utilities}/icon.scss +1 -1
- package/src/css-utilities/{inline/scss/index.scss → inline.scss} +1 -1
- package/src/css-utilities/{skeleton/scss/index.scss → skeleton.scss} +11 -11
- package/src/css-utilities/surface.scss +266 -0
- package/src/css-utilities/text.scss +191 -0
- package/src/modifiers/glass/index.ts +44 -0
- package/src/{css-utilities → modifiers}/glass/scss/index.scss +6 -6
- package/src/{css-utilities → modifiers}/glass/scss/variables.scss +1 -1
- package/src/{css-utilities → modifiers}/index.ts +0 -1
- package/src/{css-utilities → modifiers}/scrollbar/index.ts +92 -17
- package/src/{css-utilities → modifiers}/scrollbar/scss/index.scss +178 -177
- package/src/{css-utilities → modifiers}/scrollbar/scss/variables.scss +28 -21
- package/src/normalize/scss/index.scss +4 -2
- package/src/shared/scss/color-weights.scss +19 -0
- package/src/shared/scss/index.scss +1 -12
- package/src/tokens/scss/blur.scss +5 -0
- package/src/tokens/scss/color.scss +74 -50
- package/src/tokens/scss/index.scss +1 -2
- package/src/tokens/scss/size.scss +0 -2
- package/src/tokens/scss/state.scss +3 -2
- package/src/tokens/scss/transition.scss +19 -2
- package/storage/svg/monitor.svg +1 -0
- package/storage/svg/moon.svg +1 -0
- package/storage/svg/pin.svg +1 -0
- package/storage/svg/sun.svg +1 -0
- package/vite.config.ts +33 -8
- package/build/css-utilities/background/scss/index.scss +0 -2
- package/build/css-utilities/border/scss/index.scss +0 -2
- package/build/css-utilities/color/scss/index.scss +0 -2
- package/build/css-utilities/flex/scss/index.scss +0 -2
- package/build/css-utilities/font/geist/index.d.ts +0 -1
- package/build/css-utilities/font/geist/index.js +0 -1
- package/build/css-utilities/font/geist/scss/index.scss +0 -2
- package/build/css-utilities/font/montserrat/index.d.ts +0 -1
- package/build/css-utilities/font/montserrat/index.js +0 -1
- package/build/css-utilities/font/montserrat/scss/Montserrat-Bold.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Bold.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Italic.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Italic.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Medium.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Medium.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Regular.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-Regular.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
- package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
- package/build/css-utilities/font/montserrat/scss/index.scss +0 -2
- package/build/css-utilities/glass/index.js +0 -26
- package/build/css-utilities/glass/scss/index.scss +0 -2
- package/build/css-utilities/index.scss +0 -2
- package/build/css-utilities/inline/scss/index.scss +0 -2
- package/build/css-utilities/scrollbar/index.d.ts +0 -42
- package/build/css-utilities/scrollbar/scss/index.scss +0 -2
- package/build/css-utilities/skeleton/scss/index.scss +0 -2
- package/build/css-utilities/text/scss/index.scss +0 -2
- package/build/themes/dark/index.d.ts +0 -3
- package/build/themes/dark/index.js +0 -3
- package/build/themes/dark/input.d.ts +0 -3
- package/build/themes/dark/input.js +0 -12
- package/build/themes/dark/select.d.ts +0 -3
- package/build/themes/dark/select.js +0 -23
- package/build/themes/dark/textarea.d.ts +0 -2186
- package/build/themes/dark/textarea.js +0 -11
- package/src/css-utilities/background/scss/index.scss +0 -1
- package/src/css-utilities/background/scss/variables.scss +0 -18
- package/src/css-utilities/border/scss/index.scss +0 -1
- package/src/css-utilities/border/scss/variables.scss +0 -23
- package/src/css-utilities/color/scss/index.scss +0 -1
- package/src/css-utilities/color/scss/variables.scss +0 -17
- package/src/css-utilities/flex/scss/index.scss +0 -57
- package/src/css-utilities/flex/scss/variables.scss +0 -16
- package/src/css-utilities/font/geist/index.ts +0 -1
- package/src/css-utilities/font/montserrat/index.ts +0 -1
- package/src/css-utilities/font/montserrat/scss/Montserrat-Bold.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Bold.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Italic.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Italic.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Medium.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Medium.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Regular.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-Regular.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
- package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
- package/src/css-utilities/font/montserrat/scss/index.scss +0 -94
- package/src/css-utilities/glass/index.ts +0 -42
- package/src/css-utilities/index.scss +0 -13
- package/src/css-utilities/skeleton/scss/variables.scss +0 -3
- package/src/css-utilities/text/scss/index.scss +0 -152
- package/src/css-utilities/text/scss/variables.scss +0 -22
- package/src/shared/scss/absolute.scss +0 -28
- package/src/shared/scss/background.scss +0 -21
- package/src/shared/scss/border.scss +0 -21
- package/src/shared/scss/color.scss +0 -21
- package/src/shared/scss/position.scss +0 -55
- package/src/shared/scss/text.scss +0 -31
- package/src/themes/dark/index.ts +0 -3
- package/src/themes/dark/input.ts +0 -16
- package/src/themes/dark/select.ts +0 -28
- package/src/themes/dark/textarea.ts +0 -13
- package/src/tokens/scss/box-shadow.scss +0 -23
- package/src/tokens/scss/font-family.scss +0 -5
- package/storage/code.md +0 -180
- package/storage/editor-features.md +0 -227
- package/build/css-utilities/font/geist/{scss/Geist-Italic-Variable.woff2 → Geist-Italic-Variable.woff2} +0 -0
- package/build/css-utilities/font/geist/{scss/Geist-Variable.woff2 → Geist-Variable.woff2} +0 -0
- package/build/css-utilities/font/geist/{scss/GeistMono-Italic-Variable.woff2 → GeistMono-Italic-Variable.woff2} +0 -0
- package/build/css-utilities/font/geist/{scss/GeistMono-Variable.woff2 → GeistMono-Variable.woff2} +0 -0
- package/src/{shared/scss → css-utilities}/anchor.scss +6 -6
- package/src/{shared/scss → css-utilities}/drag.scss +0 -0
- package/src/css-utilities/font/geist/{scss/Geist-Italic-Variable.woff2 → Geist-Italic-Variable.woff2} +0 -0
- package/src/css-utilities/font/geist/{scss/Geist-Variable.woff2 → Geist-Variable.woff2} +0 -0
- package/src/css-utilities/font/geist/{scss/GeistMono-Italic-Variable.woff2 → GeistMono-Italic-Variable.woff2} +0 -0
- package/src/css-utilities/font/geist/{scss/GeistMono-Variable.woff2 → GeistMono-Variable.woff2} +0 -0
- package/src/{shared/scss → css-utilities}/hidden.scss +11 -11
- /package/src/{shared/scss → css-utilities}/layer.scss +0 -0
- /package/src/{shared/scss → css-utilities}/reset.scss +0 -0
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
@use '/
|
|
1
|
+
@use 'css-utilities/background';
|
|
2
|
+
@use 'css-utilities/border';
|
|
3
|
+
@use 'css-utilities/box-shadow';
|
|
4
|
+
@use 'css-utilities/layer';
|
|
2
5
|
@use 'expand';
|
|
3
6
|
@use 'variables';
|
|
4
7
|
@use '../../frame/scss/index';
|
|
5
8
|
|
|
6
9
|
.card {
|
|
7
|
-
@extend %background-state, %border-state;
|
|
10
|
+
@extend %background-state, %border-state, %box-shadow-state;
|
|
8
11
|
background: var(--background);
|
|
12
|
+
border: var(--border-width) solid var(--border-color);
|
|
9
13
|
border-radius: var(--border-radius);
|
|
14
|
+
box-shadow: var(--box-shadow);
|
|
10
15
|
padding-block: max(0px, calc(var(--padding-vertical) - var(--border-width)));
|
|
11
16
|
padding-inline: max(0px, calc(var(--padding-horizontal) - var(--border-width)));
|
|
12
17
|
position: relative;
|
|
@@ -20,12 +25,6 @@
|
|
|
20
25
|
width: var(--width);
|
|
21
26
|
|
|
22
27
|
|
|
23
|
-
// Pseudo Element Box Shadow
|
|
24
|
-
&::after {
|
|
25
|
-
@extend %layer-box-shadow;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
28
|
// A shell that morphs between stacked layers, one shown at a time. The consumer sizes it to the active
|
|
30
29
|
// layer through '--morph-width' and '--morph-height'; the layers are 'frame--swap's, so marking one
|
|
31
30
|
// '--active', with the active index in '--i' on the viewport and each layer's own in '--n', slides the
|
|
@@ -56,21 +55,41 @@
|
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
57
|
|
|
58
|
+
|
|
59
|
+
// A soft halo in place of the card's elevation. Keyboard focus shows it as hover does. Restated because the
|
|
60
|
+
// placeholder's own declaration is emitted ahead of '.card' and loses to it.
|
|
61
|
+
&--ring {
|
|
62
|
+
@extend %box-shadow-outline;
|
|
63
|
+
box-shadow: 0 0 0 var(--box-shadow-width) var(--box-shadow);
|
|
64
|
+
|
|
65
|
+
&:focus-visible {
|
|
66
|
+
--box-shadow: var(--box-shadow-hover);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
|
|
59
71
|
// Pinned to its natural size, so text never reflows while the shell morphs around it.
|
|
60
|
-
&-morph
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
72
|
+
&-morph {
|
|
73
|
+
&-layer {
|
|
74
|
+
left: 0;
|
|
75
|
+
padding-block: var(--padding-vertical);
|
|
76
|
+
padding-inline: var(--padding-horizontal);
|
|
77
|
+
position: absolute;
|
|
78
|
+
top: 0;
|
|
79
|
+
width: max-content;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&-viewport {
|
|
83
|
+
border-radius: inherit;
|
|
84
|
+
height: 100%;
|
|
85
|
+
overflow: clip;
|
|
86
|
+
position: relative;
|
|
87
|
+
width: 100%;
|
|
88
|
+
}
|
|
67
89
|
}
|
|
68
90
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
overflow: clip;
|
|
73
|
-
position: relative;
|
|
74
|
-
width: 100%;
|
|
91
|
+
// Pseudo Element Box Shadow
|
|
92
|
+
&::after {
|
|
93
|
+
@extend %layer-box-shadow;
|
|
75
94
|
}
|
|
76
95
|
}
|
|
@@ -1,47 +1,51 @@
|
|
|
1
|
+
@use 'css-utilities/surface';
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
// Shared with the view transition pseudos, which hang off the root and can't read the card's own variables.
|
|
2
5
|
$expand-border-radius: 18px;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
0
|
|
6
|
-
0
|
|
6
|
+
// The pseudos sit above the themed element too, so they see no theme colors: theirs is a constant black shadow.
|
|
7
|
+
$expand-transition-box-shadow:
|
|
8
|
+
0 0 0 var(--border-width-400) oklch(from var(--color-black-300) l c h / 0.06),
|
|
9
|
+
0 2px 3px -2px oklch(from var(--color-black-300) l c h / 0.07),
|
|
10
|
+
0 4px 12px -4px oklch(from var(--color-black-300) l c h / 0.06);
|
|
7
11
|
|
|
12
|
+
|
|
13
|
+
// A surface: a level above whatever it sits in, painted and lifted to match.
|
|
8
14
|
.card {
|
|
15
|
+
@extend %surface-raised-level;
|
|
16
|
+
--background-default: var(--surface-background-default);
|
|
9
17
|
--border-color-default: var(--background);
|
|
10
|
-
//
|
|
18
|
+
// No border until a consumer sets a width; the padding insets by it, so the box keeps its size.
|
|
11
19
|
--border-width: 0px;
|
|
12
|
-
--box-shadow: var(--
|
|
13
|
-
--box-shadow-default: none;
|
|
14
|
-
--padding-horizontal: 0px;
|
|
15
|
-
--padding-vertical: 0px;
|
|
20
|
+
--box-shadow-default: var(--surface-shadow-default);
|
|
16
21
|
--width: auto;
|
|
17
22
|
|
|
18
23
|
|
|
24
|
+
&--expand {
|
|
25
|
+
--padding-horizontal: 18px;
|
|
26
|
+
--padding-vertical: var(--size-400);
|
|
27
|
+
--width: 100%;
|
|
28
|
+
}
|
|
29
|
+
|
|
19
30
|
&--expand,
|
|
20
31
|
&-expand-dialog {
|
|
21
|
-
--background-default: var(--
|
|
32
|
+
--background-default: var(--expand-background);
|
|
22
33
|
--border-radius: #{$expand-border-radius};
|
|
23
34
|
--border-width: 0px;
|
|
24
|
-
--box-shadow-default:
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
&--expand {
|
|
28
|
-
--padding-horizontal: 18px;
|
|
29
|
-
--padding-vertical: 16px;
|
|
30
|
-
--pressed-scale: 0.96;
|
|
31
|
-
--width: 100%;
|
|
35
|
+
--box-shadow-default: var(--surface-shadow-default);
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
&--morph {
|
|
35
|
-
--morph-blur:
|
|
36
|
-
--morph-duration:
|
|
39
|
+
--morph-blur: var(--blur-400);
|
|
40
|
+
--morph-duration: var(--duration-moderate);
|
|
37
41
|
// The outgoing layer clears out faster than the incoming one arrives, so the two never read as
|
|
38
42
|
// overlapping text.
|
|
39
|
-
--morph-enter-duration:
|
|
43
|
+
--morph-enter-duration: var(--duration-moderate);
|
|
40
44
|
--morph-exit-duration: 0.18s;
|
|
41
45
|
--morph-fade-duration: var(--transition-duration);
|
|
42
46
|
--morph-fade-timing-function: var(--transition-timing-function);
|
|
43
47
|
--morph-shift: 48px;
|
|
44
|
-
--morph-swap-timing-function:
|
|
48
|
+
--morph-swap-timing-function: var(--easing-out);
|
|
45
49
|
// Critically damped spring: an overshooting shell would uncover empty space.
|
|
46
50
|
--morph-timing-function: linear(0, 0.0432 4.2%, 0.1402 8.3%, 0.2575 12.5%, 0.3764 16.7%, 0.4867 20.8%, 0.584 25%, 0.667 29.2%, 0.7361 33.3%, 0.7925 37.5%, 0.838 41.7%, 0.8743 45.8%, 0.9029 50%, 0.9254 54.2%, 0.9428 58.3%, 0.9564 62.5%, 0.9668 66.7%, 0.9748 70.8%, 0.9809 75%, 0.9856 79.2%, 0.9892 83.3%, 0.9918 87.5%, 0.9939 91.7%, 0.9954 95.8%, 1);
|
|
47
51
|
|
|
@@ -53,21 +57,28 @@ $expand-box-shadow:
|
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
|
|
60
|
+
// Doubled class so the ring's colors outrank consumers' elevation shadows (e.g. 'pagination-card--tactile').
|
|
61
|
+
&--ring {
|
|
62
|
+
--box-shadow-active: var(--surface-border-active);
|
|
63
|
+
--box-shadow-default: transparent;
|
|
64
|
+
--box-shadow-hover: var(--surface-border-hover);
|
|
65
|
+
--box-shadow-pressed: var(--surface-shadow-pressed);
|
|
66
|
+
}
|
|
67
|
+
|
|
56
68
|
&-expand {
|
|
57
|
-
--dialog-backdrop: oklch(from var(--
|
|
69
|
+
--dialog-backdrop: oklch(from var(--surface-shadow-color) 0 0 0 / calc(alpha + 0.06));
|
|
58
70
|
--dialog-width: 440px;
|
|
59
|
-
--ease-out:
|
|
60
|
-
--
|
|
71
|
+
--ease-out: var(--easing-out);
|
|
72
|
+
--expand-background: var(--surface-background-default);
|
|
73
|
+
--focus-ring-color: var(--surface-border-pressed);
|
|
61
74
|
--list-gap: 12px;
|
|
62
75
|
--max-width: 400px;
|
|
63
76
|
--muted-color: var(--color-text-300);
|
|
64
|
-
--slot-
|
|
65
|
-
--slot-border-color: var(--color-border-300);
|
|
66
|
-
--surface-background: var(--color-grey-400);
|
|
77
|
+
--slot-border-color: var(--surface-border-default);
|
|
67
78
|
--text-color: var(--color-text-500);
|
|
68
79
|
|
|
69
80
|
&-close {
|
|
70
|
-
--background-hover: var(--
|
|
81
|
+
--background-hover: var(--surface-background-hover);
|
|
71
82
|
--border-radius: 999px;
|
|
72
83
|
--border-width: 0px;
|
|
73
84
|
--color-default: var(--muted-color);
|
|
@@ -82,8 +93,6 @@ $expand-box-shadow:
|
|
|
82
93
|
--margin-horizontal: 1rem;
|
|
83
94
|
--max-width: var(--dialog-width);
|
|
84
95
|
--padding: 24px;
|
|
85
|
-
--transition-duration: 0.2s;
|
|
86
|
-
--transition-timing-function: var(--ease-out);
|
|
87
96
|
--width: min(var(--max-width), calc(100% - (var(--margin-horizontal) * 2)));
|
|
88
97
|
}
|
|
89
98
|
}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
@use '/shared';
|
|
2
1
|
@use '/tokens';
|
|
2
|
+
@use 'css-utilities/absolute';
|
|
3
|
+
@use 'css-utilities/font/geist';
|
|
4
|
+
@use 'css-utilities/hidden';
|
|
5
|
+
@use 'css-utilities/icon';
|
|
6
|
+
@use 'css-utilities/surface';
|
|
7
|
+
@use 'css-utilities/text';
|
|
3
8
|
@use 'variables';
|
|
4
9
|
|
|
5
10
|
.cc {
|
|
6
11
|
color: var(--color);
|
|
7
12
|
display: flex;
|
|
8
13
|
flex-direction: column;
|
|
9
|
-
gap:
|
|
14
|
+
gap: var(--size-500);
|
|
10
15
|
width: var(--width);
|
|
11
16
|
|
|
12
17
|
|
|
13
18
|
&-actions {
|
|
14
19
|
display: flex;
|
|
15
20
|
flex-direction: column;
|
|
16
|
-
gap:
|
|
21
|
+
gap: var(--size-200);
|
|
17
22
|
}
|
|
18
23
|
|
|
19
24
|
// A sprite <svg> has no viewBox of its own, so the cell must be definite for the marks' 100% to resolve.
|
|
@@ -50,8 +55,7 @@
|
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
&-caption {
|
|
53
|
-
font-size:
|
|
54
|
-
letter-spacing: 0.025em;
|
|
58
|
+
font-size: var(--font-size-300);
|
|
55
59
|
opacity: 0.6;
|
|
56
60
|
text-transform: uppercase;
|
|
57
61
|
}
|
|
@@ -104,33 +108,33 @@
|
|
|
104
108
|
}
|
|
105
109
|
|
|
106
110
|
&--roll-1 {
|
|
107
|
-
animation: cc-digit-1 var(--digit-duration)
|
|
111
|
+
animation: cc-digit-1 var(--digit-duration) var(--easing-out);
|
|
108
112
|
}
|
|
109
113
|
|
|
110
114
|
&--roll-2 {
|
|
111
|
-
animation: cc-digit-2 var(--digit-duration)
|
|
115
|
+
animation: cc-digit-2 var(--digit-duration) var(--easing-out);
|
|
112
116
|
}
|
|
113
117
|
}
|
|
114
118
|
|
|
115
119
|
&-disclaimer {
|
|
116
|
-
font-size:
|
|
120
|
+
font-size: var(--font-size-300);
|
|
117
121
|
margin: auto 0 0;
|
|
118
122
|
opacity: 0.6;
|
|
119
|
-
padding: 0 24px
|
|
123
|
+
padding: 0 24px var(--size-500);
|
|
120
124
|
}
|
|
121
125
|
|
|
122
126
|
// Shares the label's row, so showing it never shifts the fields below.
|
|
123
127
|
&-error {
|
|
124
128
|
@extend %text-truncate;
|
|
125
129
|
color: var(--error-color);
|
|
126
|
-
font-size:
|
|
130
|
+
font-size: var(--font-size-300);
|
|
127
131
|
transition:
|
|
128
|
-
filter
|
|
129
|
-
opacity
|
|
130
|
-
translate
|
|
132
|
+
filter var(--duration-fast) var(--easing-spring),
|
|
133
|
+
opacity var(--duration-fast) var(--easing-spring),
|
|
134
|
+
translate var(--duration-fast) var(--easing-spring);
|
|
131
135
|
|
|
132
136
|
@starting-style {
|
|
133
|
-
filter: blur(
|
|
137
|
+
filter: blur(var(--blur-400));
|
|
134
138
|
opacity: 0;
|
|
135
139
|
translate: 0 2px;
|
|
136
140
|
}
|
|
@@ -140,26 +144,27 @@
|
|
|
140
144
|
display: flex;
|
|
141
145
|
flex-direction: column;
|
|
142
146
|
flex-shrink: 0;
|
|
143
|
-
gap:
|
|
147
|
+
gap: calc(var(--size-100) / 2);
|
|
144
148
|
|
|
145
149
|
&-value {
|
|
146
|
-
|
|
147
|
-
font-
|
|
150
|
+
@extend %font-geist-mono;
|
|
151
|
+
font-family: var(--font-family);
|
|
152
|
+
font-size: var(--font-size-400);
|
|
148
153
|
font-weight: var(--font-weight-500);
|
|
149
154
|
}
|
|
150
155
|
}
|
|
151
156
|
|
|
152
157
|
&-face {
|
|
153
|
-
@extend %absolute-full;
|
|
158
|
+
@extend %absolute-full, %surface-raised-level;
|
|
154
159
|
backface-visibility: hidden;
|
|
155
160
|
background: var(--card-background);
|
|
156
161
|
border-radius: var(--card-border-radius);
|
|
157
|
-
box-shadow: var(--
|
|
162
|
+
box-shadow: var(--surface-shadow-default);
|
|
158
163
|
color: var(--card-color);
|
|
159
164
|
display: flex;
|
|
160
165
|
flex-direction: column;
|
|
161
166
|
overflow: hidden;
|
|
162
|
-
transition: opacity
|
|
167
|
+
transition: opacity var(--duration-moderate) var(--easing-out);
|
|
163
168
|
|
|
164
169
|
&--back {
|
|
165
170
|
transform: rotateY(180deg);
|
|
@@ -189,7 +194,8 @@
|
|
|
189
194
|
&--cvc,
|
|
190
195
|
&--expiry,
|
|
191
196
|
&--number {
|
|
192
|
-
|
|
197
|
+
@extend %font-geist-mono;
|
|
198
|
+
font-family: var(--font-family);
|
|
193
199
|
}
|
|
194
200
|
|
|
195
201
|
&--number.input {
|
|
@@ -203,35 +209,35 @@
|
|
|
203
209
|
min-height: 0;
|
|
204
210
|
outline: none;
|
|
205
211
|
padding-block: 0;
|
|
206
|
-
transition: border-color
|
|
212
|
+
transition: border-color var(--duration-fast) var(--easing-spring);
|
|
213
|
+
|
|
214
|
+
&::placeholder {
|
|
215
|
+
color: oklch(from var(--muted-color) l c h / 0.7);
|
|
216
|
+
}
|
|
207
217
|
|
|
208
218
|
&:focus-visible {
|
|
209
219
|
outline: var(--border-width-500) solid var(--outline-color);
|
|
210
220
|
outline-offset: -1px;
|
|
211
221
|
}
|
|
212
|
-
|
|
213
|
-
&::placeholder {
|
|
214
|
-
color: oklch(from var(--muted-color) l c h / 0.7);
|
|
215
|
-
}
|
|
216
222
|
}
|
|
217
223
|
}
|
|
218
224
|
|
|
219
225
|
&-fields {
|
|
220
226
|
display: flex;
|
|
221
227
|
flex-direction: column;
|
|
222
|
-
gap:
|
|
228
|
+
gap: var(--size-400);
|
|
223
229
|
}
|
|
224
230
|
|
|
225
231
|
&-holder {
|
|
226
232
|
display: flex;
|
|
227
233
|
flex: 1;
|
|
228
234
|
flex-direction: column;
|
|
229
|
-
gap:
|
|
235
|
+
gap: calc(var(--size-100) / 2);
|
|
230
236
|
min-width: 0;
|
|
231
237
|
|
|
232
238
|
&-value {
|
|
233
239
|
@extend %text-truncate;
|
|
234
|
-
font-size:
|
|
240
|
+
font-size: var(--font-size-400);
|
|
235
241
|
font-weight: var(--font-weight-500);
|
|
236
242
|
text-transform: uppercase;
|
|
237
243
|
}
|
|
@@ -251,8 +257,8 @@
|
|
|
251
257
|
align-items: center;
|
|
252
258
|
color: var(--muted-color);
|
|
253
259
|
display: flex;
|
|
254
|
-
font-size:
|
|
255
|
-
gap:
|
|
260
|
+
font-size: var(--font-size-300);
|
|
261
|
+
gap: calc(var(--size-300) / 2);
|
|
256
262
|
justify-content: center;
|
|
257
263
|
margin: 0;
|
|
258
264
|
|
|
@@ -264,10 +270,10 @@
|
|
|
264
270
|
}
|
|
265
271
|
|
|
266
272
|
&-number {
|
|
273
|
+
@extend %font-geist-mono;
|
|
267
274
|
align-self: flex-start;
|
|
268
|
-
font-family: var(--font-family
|
|
275
|
+
font-family: var(--font-family);
|
|
269
276
|
font-size: var(--card-number-font-size);
|
|
270
|
-
letter-spacing: 0.025em;
|
|
271
277
|
white-space: nowrap;
|
|
272
278
|
}
|
|
273
279
|
|
|
@@ -291,7 +297,7 @@
|
|
|
291
297
|
transition:
|
|
292
298
|
height var(--ring-duration) var(--spring),
|
|
293
299
|
left var(--ring-duration) var(--spring),
|
|
294
|
-
opacity
|
|
300
|
+
opacity var(--duration-fast) var(--easing-out),
|
|
295
301
|
top var(--ring-duration) var(--spring),
|
|
296
302
|
width var(--ring-duration) var(--spring);
|
|
297
303
|
|
|
@@ -300,7 +306,7 @@
|
|
|
300
306
|
transition:
|
|
301
307
|
height var(--ring-duration) var(--spring),
|
|
302
308
|
left var(--ring-duration) var(--spring),
|
|
303
|
-
opacity
|
|
309
|
+
opacity var(--duration-moderate) var(--easing-out),
|
|
304
310
|
top var(--ring-duration) var(--spring),
|
|
305
311
|
width var(--ring-duration) var(--spring);
|
|
306
312
|
}
|
|
@@ -315,13 +321,13 @@
|
|
|
315
321
|
&-shell {
|
|
316
322
|
display: flex;
|
|
317
323
|
flex-direction: column;
|
|
318
|
-
gap:
|
|
324
|
+
gap: var(--size-100);
|
|
319
325
|
min-width: 0;
|
|
320
326
|
|
|
321
327
|
&-header {
|
|
322
328
|
align-items: baseline;
|
|
323
329
|
display: flex;
|
|
324
|
-
gap:
|
|
330
|
+
gap: var(--size-100);
|
|
325
331
|
justify-content: space-between;
|
|
326
332
|
}
|
|
327
333
|
}
|
|
@@ -330,17 +336,18 @@
|
|
|
330
336
|
align-items: center;
|
|
331
337
|
display: flex;
|
|
332
338
|
gap: 12px;
|
|
333
|
-
padding:
|
|
339
|
+
padding: var(--size-500) 24px 0;
|
|
334
340
|
|
|
335
341
|
&-value {
|
|
342
|
+
@extend %font-geist-mono;
|
|
336
343
|
align-items: center;
|
|
337
344
|
background: var(--card-color);
|
|
338
345
|
border-radius: var(--border-radius-300);
|
|
339
346
|
color: var(--card-background);
|
|
340
347
|
display: flex;
|
|
341
348
|
flex: 1;
|
|
342
|
-
font-family: var(--font-family
|
|
343
|
-
font-size:
|
|
349
|
+
font-family: var(--font-family);
|
|
350
|
+
font-size: var(--font-size-400);
|
|
344
351
|
font-style: italic;
|
|
345
352
|
height: 40px;
|
|
346
353
|
justify-content: flex-end;
|
|
@@ -359,22 +366,17 @@
|
|
|
359
366
|
border: 0;
|
|
360
367
|
height: var(--field-height);
|
|
361
368
|
outline: none;
|
|
362
|
-
transition: scale 150ms ease-out;
|
|
363
|
-
|
|
364
|
-
&:active {
|
|
365
|
-
scale: 0.96;
|
|
366
|
-
}
|
|
367
369
|
|
|
368
370
|
&:focus-visible {
|
|
369
371
|
outline: var(--border-width-500) solid var(--outline-color);
|
|
370
|
-
outline-offset:
|
|
372
|
+
outline-offset: calc(var(--size-100) / 4);
|
|
371
373
|
}
|
|
372
374
|
}
|
|
373
375
|
}
|
|
374
376
|
|
|
375
377
|
@keyframes cc-digit-1 {
|
|
376
378
|
from {
|
|
377
|
-
filter: blur(
|
|
379
|
+
filter: blur(var(--blur-300));
|
|
378
380
|
opacity: 0;
|
|
379
381
|
translate: 0 -4px;
|
|
380
382
|
}
|
|
@@ -382,7 +384,7 @@
|
|
|
382
384
|
|
|
383
385
|
@keyframes cc-digit-2 {
|
|
384
386
|
from {
|
|
385
|
-
filter: blur(
|
|
387
|
+
filter: blur(var(--blur-300));
|
|
386
388
|
opacity: 0;
|
|
387
389
|
translate: 0 -4px;
|
|
388
390
|
}
|
|
@@ -390,6 +392,24 @@
|
|
|
390
392
|
|
|
391
393
|
// No half turn: the faces cross-fade in place and every blur, slide and scale drops to a plain fade.
|
|
392
394
|
@media (prefers-reduced-motion: reduce) {
|
|
395
|
+
.cc {
|
|
396
|
+
&-error {
|
|
397
|
+
@starting-style {
|
|
398
|
+
filter: none;
|
|
399
|
+
translate: 0 0;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
&-face--back {
|
|
404
|
+
opacity: var(--face-back-opacity, 0);
|
|
405
|
+
transform: none;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
&-face--front {
|
|
409
|
+
opacity: var(--face-front-opacity, 1);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
393
413
|
.cc-card--flipped {
|
|
394
414
|
--face-back-opacity: 1;
|
|
395
415
|
--face-front-opacity: 0;
|
|
@@ -400,26 +420,6 @@
|
|
|
400
420
|
.cc-digit--roll-2 {
|
|
401
421
|
animation-name: cc-fade;
|
|
402
422
|
}
|
|
403
|
-
|
|
404
|
-
.cc-error {
|
|
405
|
-
@starting-style {
|
|
406
|
-
filter: none;
|
|
407
|
-
translate: 0 0;
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
.cc-face--back {
|
|
412
|
-
opacity: var(--face-back-opacity, 0);
|
|
413
|
-
transform: none;
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
.cc-face--front {
|
|
417
|
-
opacity: var(--face-front-opacity, 1);
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
.cc-submit.button:active {
|
|
421
|
-
scale: 1;
|
|
422
|
-
}
|
|
423
423
|
}
|
|
424
424
|
|
|
425
425
|
@keyframes cc-fade {
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
.cc {
|
|
2
|
-
|
|
2
|
+
// A physical card keeps its dark face in both modes.
|
|
3
|
+
--card-background: var(--color-black-300);
|
|
3
4
|
--card-border-radius: var(--border-radius-700);
|
|
4
5
|
--card-color: var(--color-white-300);
|
|
5
6
|
--card-number-font-size: clamp(16px, 5.2vw, 21px);
|
|
6
|
-
--card-shadow: var(--box-shadow-300);
|
|
7
7
|
--color: var(--color-text-500);
|
|
8
|
-
--digit-duration:
|
|
8
|
+
--digit-duration: var(--duration-fast);
|
|
9
9
|
--error-color: var(--color-red-400);
|
|
10
|
-
--field-
|
|
11
|
-
--field-border-color: var(--color-border-300);
|
|
10
|
+
--field-border-color: var(--surface-border-default);
|
|
12
11
|
--field-border-radius: var(--border-radius-600);
|
|
13
|
-
--field-font-size:
|
|
12
|
+
--field-font-size: var(--font-size-400);
|
|
14
13
|
--field-height: 44px;
|
|
15
14
|
// A half turn across the card's full width reads as a rush under ~400ms, and nobody waits on it.
|
|
16
15
|
--flip-duration: 764ms;
|
|
@@ -20,12 +19,12 @@
|
|
|
20
19
|
--label-font-size: var(--font-size-300);
|
|
21
20
|
--label-font-weight: var(--font-weight-500);
|
|
22
21
|
--muted-color: var(--color-text-300);
|
|
23
|
-
--outline-color: var(--color-
|
|
24
|
-
--ring-duration:
|
|
22
|
+
--outline-color: var(--color-primary-500);
|
|
23
|
+
--ring-duration: var(--duration-moderate);
|
|
25
24
|
--spring: linear(0, 0.035, 0.118, 0.216, 0.319, 0.424, 0.515, 0.6, 0.669, 0.728, 0.781, 0.822, 0.856, 0.885, 0.908, 0.927, 0.942, 0.954, 0.964, 0.971, 0.977, 0.982, 0.986, 0.989, 0.991, 0.993, 0.995, 0.996, 0.997, 0.997, 1);
|
|
26
|
-
--submit-background: var(--color-
|
|
27
|
-
--submit-color: var(--color-
|
|
28
|
-
--swap-duration:
|
|
25
|
+
--submit-background: var(--color-primary-500);
|
|
26
|
+
--submit-color: var(--color-surface);
|
|
27
|
+
--swap-duration: var(--duration-moderate);
|
|
29
28
|
--width: min(400px, 100%);
|
|
30
29
|
|
|
31
30
|
// The ring jumps between fields, still fading in and out.
|
|
@@ -57,12 +56,12 @@
|
|
|
57
56
|
--border-radius: var(--field-border-radius);
|
|
58
57
|
--color-default: var(--submit-color);
|
|
59
58
|
--face-duration: var(--swap-duration);
|
|
60
|
-
--face-gap:
|
|
59
|
+
--face-gap: var(--size-100);
|
|
61
60
|
--face-timing-function: var(--spring);
|
|
62
61
|
--font-size: var(--field-font-size);
|
|
63
62
|
--font-weight: var(--font-weight-500);
|
|
64
|
-
--icon-size:
|
|
65
|
-
--padding-horizontal:
|
|
63
|
+
--icon-size: var(--size-400);
|
|
64
|
+
--padding-horizontal: var(--size-500);
|
|
66
65
|
--padding-vertical: 0px;
|
|
67
66
|
}
|
|
68
67
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
@use '/
|
|
1
|
+
@use 'css-utilities/color';
|
|
2
|
+
@use 'css-utilities/hidden';
|
|
2
3
|
@use 'variables';
|
|
3
4
|
|
|
4
5
|
// One line per turn, stacked with no gaps, so the pointer never falls between two lines and the card glides
|
|
@@ -23,17 +24,17 @@
|
|
|
23
24
|
&-card {
|
|
24
25
|
display: flex;
|
|
25
26
|
flex-direction: column;
|
|
26
|
-
gap:
|
|
27
|
+
gap: calc(var(--size-100) / 4);
|
|
27
28
|
padding: 12px;
|
|
28
29
|
width: var(--card-width);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
&-description {
|
|
32
33
|
-webkit-box-orient: vertical;
|
|
34
|
+
-webkit-line-clamp: 2;
|
|
33
35
|
color: var(--card-description-color);
|
|
34
36
|
display: -webkit-box;
|
|
35
37
|
font-size: var(--font-size-300);
|
|
36
|
-
-webkit-line-clamp: 2;
|
|
37
38
|
line-clamp: 2;
|
|
38
39
|
overflow: hidden;
|
|
39
40
|
}
|
|
@@ -82,10 +83,14 @@
|
|
|
82
83
|
|
|
83
84
|
// Out of the way until wanted: shown on its own hover or focus, and always on touch, which can't hover to find it.
|
|
84
85
|
&-nav {
|
|
86
|
+
@extend %color-state;
|
|
87
|
+
--color-default: var(--color-text-300);
|
|
88
|
+
--color-hover: var(--nav-color-hover);
|
|
89
|
+
--color-pressed: var(--color-hover);
|
|
85
90
|
align-items: center;
|
|
86
91
|
background: none;
|
|
87
92
|
border: 0;
|
|
88
|
-
color: var(--color
|
|
93
|
+
color: var(--color);
|
|
89
94
|
cursor: pointer;
|
|
90
95
|
display: flex;
|
|
91
96
|
height: var(--nav-height);
|
|
@@ -93,8 +98,8 @@
|
|
|
93
98
|
outline: none;
|
|
94
99
|
padding: 0 var(--inset);
|
|
95
100
|
transition:
|
|
96
|
-
color var(--nav-duration)
|
|
97
|
-
opacity var(--nav-duration)
|
|
101
|
+
color var(--nav-duration) var(--easing-spring),
|
|
102
|
+
opacity var(--nav-duration) var(--easing-spring);
|
|
98
103
|
width: var(--item-width);
|
|
99
104
|
|
|
100
105
|
&:disabled {
|
|
@@ -102,10 +107,8 @@
|
|
|
102
107
|
pointer-events: none;
|
|
103
108
|
}
|
|
104
109
|
|
|
105
|
-
&:focus-visible
|
|
106
|
-
|
|
107
|
-
color: var(--color-active);
|
|
108
|
-
opacity: 1;
|
|
110
|
+
&:focus-visible {
|
|
111
|
+
--color: var(--color-hover);
|
|
109
112
|
}
|
|
110
113
|
|
|
111
114
|
&:focus-visible {
|
|
@@ -114,6 +117,11 @@
|
|
|
114
117
|
outline-offset: -1px;
|
|
115
118
|
}
|
|
116
119
|
|
|
120
|
+
&:focus-visible,
|
|
121
|
+
&:hover {
|
|
122
|
+
opacity: 1;
|
|
123
|
+
}
|
|
124
|
+
|
|
117
125
|
@media (pointer: coarse) {
|
|
118
126
|
opacity: 1;
|
|
119
127
|
|
|
@@ -121,17 +129,17 @@
|
|
|
121
129
|
opacity: 0.4;
|
|
122
130
|
}
|
|
123
131
|
}
|
|
124
|
-
}
|
|
125
132
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
133
|
+
&-icon {
|
|
134
|
+
flex-shrink: 0;
|
|
135
|
+
height: 12px;
|
|
136
|
+
width: 12px;
|
|
137
|
+
}
|
|
130
138
|
}
|
|
131
139
|
|
|
132
140
|
&-title {
|
|
133
141
|
color: var(--card-title-color);
|
|
134
|
-
font-size:
|
|
142
|
+
font-size: var(--font-size-300);
|
|
135
143
|
font-weight: var(--font-weight-500);
|
|
136
144
|
overflow: hidden;
|
|
137
145
|
text-overflow: ellipsis;
|