@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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { component, html, type Attributes } from '@esportsplus/template';
|
|
2
|
+
import icon from '~/components/icon';
|
|
3
|
+
import next from '@esportsplus/ui/svg/chevron-right.svg';
|
|
4
|
+
import previous from '@esportsplus/ui/svg/chevron-left.svg';
|
|
5
|
+
import type { Link } from './arrows';
|
|
6
|
+
import '~/components/card/scss/index.scss';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
const PAGINATION_CARD = Symbol.for('@esportsplus/ui/pagination.cards.card');
|
|
10
|
+
|
|
11
|
+
const PAGINATION_CARD_SUBTITLE = Symbol.for('@esportsplus/ui/pagination.cards.subtitle');
|
|
12
|
+
|
|
13
|
+
const PAGINATION_CARD_TITLE = Symbol.for('@esportsplus/ui/pagination.cards.title');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
type A = Attributes & {
|
|
17
|
+
[PAGINATION_CARD]?: Attributes;
|
|
18
|
+
[PAGINATION_CARD_SUBTITLE]?: Attributes;
|
|
19
|
+
[PAGINATION_CARD_TITLE]?: Attributes;
|
|
20
|
+
'aria-label'?: string;
|
|
21
|
+
next?: Link;
|
|
22
|
+
previous?: Link;
|
|
23
|
+
// A soft halo around the card on hover and focus.
|
|
24
|
+
ring?: boolean;
|
|
25
|
+
// Lifts the card 1px on hover and focus and sinks it 1px below rest while pressed.
|
|
26
|
+
tactile?: boolean;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
function card(attributes: A, direction: 'next' | 'previous', link: Link) {
|
|
31
|
+
let arrow = icon({ 'aria-hidden': 'true', class: 'pagination-card-arrow' }, direction === 'next' ? next : previous);
|
|
32
|
+
|
|
33
|
+
return html`
|
|
34
|
+
<a
|
|
35
|
+
class='card pagination-card pagination-card--${direction} ${attributes.ring && 'card--ring'} ${attributes.tactile && 'pagination-card--tactile'}'
|
|
36
|
+
href='${link.href}'
|
|
37
|
+
rel='${direction === 'next' ? 'next' : 'prev'}'
|
|
38
|
+
${attributes[PAGINATION_CARD]}
|
|
39
|
+
>
|
|
40
|
+
${direction === 'previous' && arrow}
|
|
41
|
+
<span class='pagination-card-title' ${attributes[PAGINATION_CARD_TITLE]}>${link.title}</span>
|
|
42
|
+
<span class='pagination-card-subtitle' ${attributes[PAGINATION_CARD_SUBTITLE]}>${link.label ?? (direction === 'next' ? 'Next' : 'Previous')}</span>
|
|
43
|
+
${direction === 'next' && arrow}
|
|
44
|
+
</a>
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
export default component(
|
|
50
|
+
({ 'aria-label': label = 'Pagination', next, previous, ring, tactile, ...attributes }: A) => (next || previous) && html`
|
|
51
|
+
<nav aria-label='${label}' class='pagination pagination--cards' ${attributes}>
|
|
52
|
+
${previous && card({ ...attributes, ring, tactile }, 'previous', previous)}
|
|
53
|
+
${next && card({ ...attributes, ring, tactile }, 'next', next)}
|
|
54
|
+
</nav>
|
|
55
|
+
`,
|
|
56
|
+
{ card: PAGINATION_CARD, subtitle: PAGINATION_CARD_SUBTITLE, title: PAGINATION_CARD_TITLE }
|
|
57
|
+
);
|
|
@@ -3,6 +3,8 @@ import { effect, reactive } from '@esportsplus/reactivity';
|
|
|
3
3
|
import icon from '~/components/icon';
|
|
4
4
|
import next from '@esportsplus/ui/svg/arrow-right.svg';
|
|
5
5
|
import previous from '@esportsplus/ui/svg/arrow-left.svg';
|
|
6
|
+
import arrows from './arrows';
|
|
7
|
+
import cards from './cards';
|
|
6
8
|
import dots from './dots';
|
|
7
9
|
import '~/components/button/scss/index.scss';
|
|
8
10
|
import './scss/index.scss';
|
|
@@ -112,7 +114,8 @@ const plain = ({ onchange, siblings = 1, state: api = reactive({ page: 1 }), tot
|
|
|
112
114
|
`;
|
|
113
115
|
};
|
|
114
116
|
|
|
115
|
-
const pagination: typeof plain & { dots: typeof dots } = Object.assign(plain, { dots });
|
|
117
|
+
const pagination: typeof plain & { arrows: typeof arrows, cards: typeof cards, dots: typeof dots } = Object.assign(plain, { arrows, cards, dots });
|
|
116
118
|
|
|
117
119
|
|
|
118
120
|
export default pagination;
|
|
121
|
+
export type { Link as PaginationLink } from './arrows';
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
@use '/tokens';
|
|
2
|
+
@use 'css-utilities/background';
|
|
3
|
+
@use 'css-utilities/surface';
|
|
4
|
+
@use 'variables';
|
|
5
|
+
|
|
6
|
+
.pagination {
|
|
7
|
+
// Qualified by the root so it wins over the base row's full width, which is output after this partial.
|
|
8
|
+
&#{&}--arrows {
|
|
9
|
+
flex: none;
|
|
10
|
+
gap: var(--gap);
|
|
11
|
+
justify-content: flex-start;
|
|
12
|
+
width: auto;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&-arrow {
|
|
16
|
+
@extend %background-state, %surface-raised-level;
|
|
17
|
+
// A surface a level above what holds it. The fallbacks resolve here, on the arrow's own level; a value set on
|
|
18
|
+
// the parent would resolve at the parent's.
|
|
19
|
+
--background-default: var(--arrow-background, var(--surface-background-default));
|
|
20
|
+
--background-hover: var(--arrow-background-hover, var(--surface-background-hover));
|
|
21
|
+
--background-pressed: var(--arrow-background-pressed, var(--surface-background-pressed));
|
|
22
|
+
align-items: center;
|
|
23
|
+
background: var(--background);
|
|
24
|
+
border: 0;
|
|
25
|
+
border-radius: var(--arrow-border-radius);
|
|
26
|
+
color: var(--arrow-color);
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
flex: none;
|
|
30
|
+
height: var(--arrow-size);
|
|
31
|
+
justify-content: center;
|
|
32
|
+
outline: none;
|
|
33
|
+
padding: 0;
|
|
34
|
+
transition: background-color var(--transition-duration) var(--transition-timing-function);
|
|
35
|
+
width: var(--arrow-size);
|
|
36
|
+
|
|
37
|
+
&:focus-visible {
|
|
38
|
+
outline: var(--focus-width) solid var(--focus-color);
|
|
39
|
+
outline-offset: calc(var(--size-100) / 4);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Touch leaves no hover fill behind a tap.
|
|
43
|
+
@media (hover: none) {
|
|
44
|
+
--background-hover: var(--background-default);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@include tokens.state(disabled) {
|
|
48
|
+
--background-hover: var(--background-default);
|
|
49
|
+
--background-pressed: var(--background-default);
|
|
50
|
+
cursor: default;
|
|
51
|
+
opacity: var(--disabled-opacity);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Qualified by the button so it wins over the icon's own variables regardless of stylesheet order. The arrow
|
|
55
|
+
// glyphs sit a quarter of their box off centre, toward their tail; pulling that back centres them.
|
|
56
|
+
& &-icon {
|
|
57
|
+
--color: currentColor;
|
|
58
|
+
--size: var(--icon-size);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&--next &-icon {
|
|
62
|
+
margin-right: calc(var(--icon-size) / -4);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&--previous &-icon {
|
|
66
|
+
margin-left: calc(var(--icon-size) / -4);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
@use 'css-utilities/color';
|
|
2
|
+
@use 'variables';
|
|
3
|
+
|
|
4
|
+
.pagination {
|
|
5
|
+
// Qualified by the root so it wins over the base flex row, which is output after this partial.
|
|
6
|
+
&#{&}--cards {
|
|
7
|
+
align-items: stretch;
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
10
|
+
|
|
11
|
+
@media (max-width: 560px) {
|
|
12
|
+
grid-template-columns: minmax(0, 1fr);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&-card {
|
|
17
|
+
@extend %color-state;
|
|
18
|
+
color: var(--color);
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
gap: var(--gap-vertical) var(--gap-horizontal);
|
|
22
|
+
min-width: 0;
|
|
23
|
+
outline: none;
|
|
24
|
+
text-decoration: none;
|
|
25
|
+
|
|
26
|
+
// Qualified by the card so it wins over the icon's own variables and position regardless of stylesheet order.
|
|
27
|
+
// Placed by where it sits in its card rather than which card it is, so a lone card keeps its arrow on its side.
|
|
28
|
+
& &-arrow {
|
|
29
|
+
--size: var(--icon-size);
|
|
30
|
+
position: absolute;
|
|
31
|
+
top: 50%;
|
|
32
|
+
transition:
|
|
33
|
+
color var(--transition-duration) var(--transition-timing-function),
|
|
34
|
+
translate var(--transition-duration) var(--transition-timing-function);
|
|
35
|
+
translate: var(--arrow-offset, 0) -50%;
|
|
36
|
+
|
|
37
|
+
&:first-child {
|
|
38
|
+
left: var(--arrow-inset);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&:last-child {
|
|
42
|
+
right: var(--arrow-inset);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Each card's text leans toward the middle, away from its arrow on the outer edge. Held in the second column
|
|
47
|
+
// alone too, so a lone next card still sits on the right.
|
|
48
|
+
&--next {
|
|
49
|
+
align-items: flex-end;
|
|
50
|
+
grid-column: 2;
|
|
51
|
+
text-align: end;
|
|
52
|
+
|
|
53
|
+
@media (max-width: 560px) {
|
|
54
|
+
grid-column: auto;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&--previous {
|
|
59
|
+
align-items: flex-start;
|
|
60
|
+
text-align: start;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Pressing sinks the card below where it rests, not just back to it. The shadow steps with the card's state;
|
|
64
|
+
// keyboard focus lifts it as hover does.
|
|
65
|
+
&--tactile {
|
|
66
|
+
&:active {
|
|
67
|
+
transform: translateY(1px);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&:focus-visible {
|
|
71
|
+
--box-shadow: var(--box-shadow-hover);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:focus-visible,
|
|
75
|
+
&:hover {
|
|
76
|
+
transform: translateY(-1px);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
transform: none !important;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&-subtitle {
|
|
85
|
+
color: var(--color);
|
|
86
|
+
font-size: var(--font-size);
|
|
87
|
+
transition: color var(--transition-duration) var(--transition-timing-function);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&-title {
|
|
91
|
+
color: var(--color);
|
|
92
|
+
font-size: var(--font-size);
|
|
93
|
+
font-weight: var(--font-weight);
|
|
94
|
+
overflow-wrap: anywhere;
|
|
95
|
+
text-transform: capitalize;
|
|
96
|
+
transition: color var(--transition-duration) var(--transition-timing-function);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Shares the hover color with keyboard focus, which the shared color state leaves out.
|
|
100
|
+
&:focus-visible {
|
|
101
|
+
--color: var(--color-hover);
|
|
102
|
+
outline: var(--focus-width) solid var(--focus-color);
|
|
103
|
+
outline-offset: calc(var(--size-100) / 4);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Nudges the arrow the way it points, so the card reads as the way to go.
|
|
107
|
+
&:focus-visible,
|
|
108
|
+
&:hover {
|
|
109
|
+
--arrow-offset: calc(var(--arrow-shift) * var(--direction));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Clears the text from whichever edge holds the arrow, on top of the card's own padding.
|
|
113
|
+
&:has(> .pagination-card-arrow:first-child) {
|
|
114
|
+
padding-left: calc(var(--arrow-inset) + var(--icon-size) + var(--arrow-gap));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&:has(> .pagination-card-arrow:last-child) {
|
|
118
|
+
padding-right: calc(var(--arrow-inset) + var(--icon-size) + var(--arrow-gap));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use '/
|
|
1
|
+
@use 'css-utilities/absolute';
|
|
2
2
|
@use 'variables';
|
|
3
3
|
|
|
4
4
|
.pagination {
|
|
@@ -36,10 +36,7 @@
|
|
|
36
36
|
background: var(--dot-color);
|
|
37
37
|
border-radius: 999px;
|
|
38
38
|
height: var(--dot-size);
|
|
39
|
-
|
|
40
|
-
transition:
|
|
41
|
-
background-color var(--transition-duration) var(--transition-timing-function),
|
|
42
|
-
scale var(--transition-duration) var(--transition-timing-function);
|
|
39
|
+
transition: background-color var(--transition-duration) var(--transition-timing-function);
|
|
43
40
|
width: 100%;
|
|
44
41
|
}
|
|
45
42
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
@use '/tokens';
|
|
2
|
+
@use 'arrows';
|
|
3
|
+
@use 'cards';
|
|
2
4
|
@use 'dots';
|
|
3
5
|
@use 'variables';
|
|
4
6
|
|
|
@@ -20,12 +22,6 @@
|
|
|
20
22
|
width: calc((var(--count) - 1) * var(--step) + var(--pill-width));
|
|
21
23
|
}
|
|
22
24
|
|
|
23
|
-
&-control,
|
|
24
|
-
&-page {
|
|
25
|
-
border: var(--border-width) solid var(--border-color);
|
|
26
|
-
height: var(--size);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
25
|
&-control {
|
|
30
26
|
gap: var(--size-100);
|
|
31
27
|
|
|
@@ -35,6 +31,12 @@
|
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
33
|
|
|
34
|
+
&-control,
|
|
35
|
+
&-page {
|
|
36
|
+
border: var(--border-width) solid var(--border-color);
|
|
37
|
+
height: var(--size);
|
|
38
|
+
}
|
|
39
|
+
|
|
38
40
|
&-page {
|
|
39
41
|
font-variant: tabular-nums;
|
|
40
42
|
min-width: var(--size);
|
|
@@ -1,42 +1,106 @@
|
|
|
1
|
-
@use '/tokens';
|
|
2
|
-
|
|
3
1
|
.pagination {
|
|
4
2
|
--gap: var(--size-300);
|
|
5
3
|
--size: 32px;
|
|
6
4
|
|
|
5
|
+
&--arrows {
|
|
6
|
+
--arrow-border-radius: var(--border-radius-400);
|
|
7
|
+
--arrow-color: var(--color-text-500);
|
|
8
|
+
--arrow-size: var(--size-600);
|
|
9
|
+
--disabled-opacity: 0.4;
|
|
10
|
+
--focus-color: var(--color-primary-500);
|
|
11
|
+
--focus-width: var(--border-width-500);
|
|
12
|
+
--gap: var(--size-100);
|
|
13
|
+
--icon-size: var(--size-400);
|
|
14
|
+
}
|
|
15
|
+
|
|
7
16
|
&--dots {
|
|
8
17
|
--color: var(--color-text-500);
|
|
9
18
|
--dot-color: oklch(from var(--color) l c h / 0.2);
|
|
10
19
|
--dot-color-hover: oklch(from var(--color) l c h / 0.35);
|
|
11
|
-
--dot-gap:
|
|
20
|
+
--dot-gap: calc(var(--size-300) / 2);
|
|
12
21
|
--dot-size: 6px;
|
|
13
22
|
--focus-color: var(--color);
|
|
14
23
|
--height: 32px;
|
|
15
24
|
--pill-color: var(--color);
|
|
16
|
-
--pill-width:
|
|
17
|
-
--pressed-scale: 0.96;
|
|
25
|
+
--pill-width: var(--size-500);
|
|
18
26
|
--step: calc(var(--dot-size) + var(--dot-gap));
|
|
19
27
|
--track-color: var(--pill-color);
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
|
|
29
|
+
// Twice the dots' tint, so the pill still reads as the active slot before its countdown fills it.
|
|
30
|
+
&-autoplay {
|
|
31
|
+
--track-color: oklch(from var(--pill-color) l c h / 0.4);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&-large {
|
|
35
|
+
--dot-gap: var(--size-100);
|
|
36
|
+
--dot-size: var(--size-100);
|
|
37
|
+
--pill-width: 28px;
|
|
38
|
+
}
|
|
22
39
|
}
|
|
23
40
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
41
|
+
&-card {
|
|
42
|
+
--arrow-gap: var(--size-300);
|
|
43
|
+
// The card's content edge, as the card insets it inside its border. Resolved here, so the arrow inherits the
|
|
44
|
+
// card's padding rather than its own.
|
|
45
|
+
--arrow-inset: max(0px, calc(var(--padding-horizontal) - var(--border-width)));
|
|
46
|
+
--arrow-shift: 0px;
|
|
47
|
+
// A card, so a surface: its own level's background, filling toward the text as it's hovered and pressed.
|
|
48
|
+
--background-default: var(--surface-background-default);
|
|
49
|
+
--background-hover: var(--surface-background-hover);
|
|
50
|
+
--background-pressed: var(--surface-background-pressed);
|
|
51
|
+
--border-color-default: var(--surface-border-default);
|
|
52
|
+
--border-radius: var(--border-radius-600);
|
|
53
|
+
--border-width: var(--border-width-400);
|
|
54
|
+
--color-default: var(--color-text-300);
|
|
55
|
+
--color-hover: var(--color-text-400);
|
|
56
|
+
--color-pressed: var(--color-text-500);
|
|
57
|
+
--focus-color: var(--color-primary-500);
|
|
58
|
+
--focus-width: var(--border-width-500);
|
|
59
|
+
--gap-vertical: 0px;
|
|
60
|
+
--icon-size: var(--size-400);
|
|
61
|
+
--padding-horizontal: var(--size-400);
|
|
62
|
+
--padding-vertical: var(--size-400);
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
&--next {
|
|
66
|
+
--direction: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&--previous {
|
|
70
|
+
--direction: -1;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&--tactile {
|
|
74
|
+
--box-shadow-hover: var(--surface-shadow-hover);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@media (prefers-reduced-motion: reduce) {
|
|
78
|
+
--arrow-shift: 0px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&-subtitle {
|
|
82
|
+
--color: var(--color-text-300);
|
|
83
|
+
--font-size: var(--font-size-300);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&-title {
|
|
87
|
+
--font-size: var(--font-size-400);
|
|
88
|
+
--font-weight: var(--font-weight-500);
|
|
89
|
+
}
|
|
27
90
|
}
|
|
28
91
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
--
|
|
32
|
-
--
|
|
92
|
+
// Buttons, so surfaces: their own level's background and shadow.
|
|
93
|
+
&-control {
|
|
94
|
+
--background-default: var(--surface-background-default);
|
|
95
|
+
--box-shadow-default: var(--surface-shadow-default);
|
|
96
|
+
--color-default: var(--color-text-500);
|
|
33
97
|
}
|
|
34
98
|
|
|
35
99
|
&-control,
|
|
36
100
|
&-page {
|
|
37
|
-
--background-hover: var(--
|
|
38
|
-
--background-pressed: var(--
|
|
39
|
-
--border-color-default: var(--
|
|
101
|
+
--background-hover: var(--surface-background-hover);
|
|
102
|
+
--background-pressed: var(--surface-background-pressed);
|
|
103
|
+
--border-color-default: var(--surface-border-default);
|
|
40
104
|
--border-radius: var(--border-radius-400);
|
|
41
105
|
--border-width: var(--border-width-400);
|
|
42
106
|
--color-default: var(--color-text-300);
|
|
@@ -48,20 +112,9 @@
|
|
|
48
112
|
--width: auto;
|
|
49
113
|
}
|
|
50
114
|
|
|
51
|
-
&-control {
|
|
52
|
-
--background-default: var(--color-white-300);
|
|
53
|
-
--box-shadow-default: var(--box-shadow-100);
|
|
54
|
-
--color-default: var(--color-text-500);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
115
|
&-dot {
|
|
58
|
-
--mark-scale: none;
|
|
59
116
|
--near: clamp(0, 1 - max(var(--progress) - var(--index), var(--index) - var(--progress)), 1);
|
|
60
117
|
|
|
61
|
-
&:active {
|
|
62
|
-
--mark-scale: var(--pressed-scale);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
118
|
@media (hover: hover) {
|
|
66
119
|
&:hover {
|
|
67
120
|
--dot-color: var(--dot-color-hover);
|
|
@@ -70,16 +123,13 @@
|
|
|
70
123
|
}
|
|
71
124
|
|
|
72
125
|
&-page {
|
|
73
|
-
--background-active: var(--
|
|
74
|
-
--border-color-active: var(--
|
|
126
|
+
--background-active: var(--surface-background-default);
|
|
127
|
+
--border-color-active: var(--surface-border-default);
|
|
75
128
|
--border-color-default: transparent;
|
|
129
|
+
--box-shadow-active: var(--surface-shadow-default);
|
|
76
130
|
--color-active: var(--color-text-500);
|
|
77
131
|
--padding-horizontal: 0px;
|
|
78
132
|
|
|
79
|
-
@include tokens.state(active) {
|
|
80
|
-
--box-shadow: var(--box-shadow-100);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
133
|
&--dots {
|
|
84
134
|
--background-hover: transparent;
|
|
85
135
|
--background-pressed: transparent;
|
|
@@ -90,10 +140,10 @@
|
|
|
90
140
|
// The leading edge travels in the first 60% of the move and the trailing edge in the last 60%.
|
|
91
141
|
&-pill {
|
|
92
142
|
--k: clamp(0, round(down, var(--progress), 1), max(var(--count) - 2, 0));
|
|
93
|
-
--t: clamp(0, var(--progress) - var(--k), 1);
|
|
94
|
-
--lead-t: clamp(0, var(--t) / 0.6, 1);
|
|
95
|
-
--trail-t: clamp(0, (var(--t) - 0.4) / 0.6, 1);
|
|
96
143
|
--lead: calc(var(--lead-t) * var(--lead-t) * (3 - 2 * var(--lead-t)));
|
|
144
|
+
--lead-t: clamp(0, var(--t) / 0.6, 1);
|
|
145
|
+
--t: clamp(0, var(--progress) - var(--k), 1);
|
|
97
146
|
--trail: calc(var(--trail-t) * var(--trail-t) * (3 - 2 * var(--trail-t)));
|
|
147
|
+
--trail-t: clamp(0, (var(--t) - 0.4) / 0.6, 1);
|
|
98
148
|
}
|
|
99
149
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
@use '/
|
|
1
|
+
@use 'css-utilities/absolute';
|
|
2
|
+
@use 'css-utilities/hidden';
|
|
3
|
+
@use 'css-utilities/icon';
|
|
4
|
+
|
|
2
5
|
|
|
3
6
|
// Every part is exactly one line tall, so centring lines them up; baseline alignment breaks on the clipped digit
|
|
4
7
|
// columns.
|
|
@@ -26,15 +29,15 @@
|
|
|
26
29
|
&-done {
|
|
27
30
|
align-items: center;
|
|
28
31
|
display: flex;
|
|
29
|
-
filter: blur(
|
|
32
|
+
filter: blur(var(--blur-400));
|
|
30
33
|
gap: var(--done-gap);
|
|
31
34
|
grid-area: 1 / 1;
|
|
32
35
|
opacity: 0;
|
|
33
36
|
pointer-events: none;
|
|
34
37
|
transition:
|
|
35
|
-
filter
|
|
36
|
-
opacity
|
|
37
|
-
translate
|
|
38
|
+
filter var(--duration-fast) var(--ease-out),
|
|
39
|
+
opacity var(--duration-fast) var(--ease-out),
|
|
40
|
+
translate var(--duration-fast) var(--ease-out);
|
|
38
41
|
translate: 0 4px;
|
|
39
42
|
white-space: nowrap;
|
|
40
43
|
|
|
@@ -43,9 +46,9 @@
|
|
|
43
46
|
opacity: 1;
|
|
44
47
|
pointer-events: auto;
|
|
45
48
|
transition:
|
|
46
|
-
filter
|
|
47
|
-
opacity
|
|
48
|
-
translate
|
|
49
|
+
filter var(--duration-moderate) var(--ease-out) 100ms,
|
|
50
|
+
opacity var(--duration-moderate) var(--ease-out) 100ms,
|
|
51
|
+
translate var(--duration-moderate) var(--ease-out) 100ms;
|
|
49
52
|
translate: 0 0;
|
|
50
53
|
}
|
|
51
54
|
}
|
|
@@ -58,15 +61,15 @@
|
|
|
58
61
|
grid-area: 1 / 1;
|
|
59
62
|
position: relative;
|
|
60
63
|
transition:
|
|
61
|
-
filter
|
|
62
|
-
opacity
|
|
63
|
-
translate
|
|
64
|
+
filter var(--duration-moderate) var(--ease-out),
|
|
65
|
+
opacity var(--duration-moderate) var(--ease-out),
|
|
66
|
+
translate var(--duration-moderate) var(--ease-out);
|
|
64
67
|
white-space: nowrap;
|
|
65
68
|
|
|
66
69
|
&.--done {
|
|
67
|
-
filter: blur(
|
|
70
|
+
filter: blur(var(--blur-400));
|
|
68
71
|
opacity: 0;
|
|
69
|
-
transition-duration:
|
|
72
|
+
transition-duration: var(--duration-moderate);
|
|
70
73
|
translate: 0 -4px;
|
|
71
74
|
}
|
|
72
75
|
}
|
|
@@ -80,13 +83,13 @@
|
|
|
80
83
|
display: flex;
|
|
81
84
|
font-variant-numeric: tabular-nums;
|
|
82
85
|
transition:
|
|
83
|
-
filter
|
|
84
|
-
opacity
|
|
86
|
+
filter var(--duration-moderate) var(--ease-out),
|
|
87
|
+
opacity var(--duration-moderate) var(--ease-out);
|
|
85
88
|
|
|
86
89
|
&.--done {
|
|
87
|
-
filter: blur(
|
|
90
|
+
filter: blur(var(--blur-400));
|
|
88
91
|
opacity: 0;
|
|
89
|
-
transition-duration:
|
|
92
|
+
transition-duration: var(--duration-moderate);
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
|
|
@@ -106,7 +109,7 @@
|
|
|
106
109
|
@extend %absolute-top;
|
|
107
110
|
display: flex;
|
|
108
111
|
flex-direction: column;
|
|
109
|
-
transition: translate
|
|
112
|
+
transition: translate var(--duration-moderate) var(--ease-out);
|
|
110
113
|
white-space: pre;
|
|
111
114
|
|
|
112
115
|
span {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
.progress {
|
|
2
2
|
--color: var(--color-text-500);
|
|
3
|
-
--duration:
|
|
3
|
+
--duration: var(--duration-fast);
|
|
4
4
|
--ease: cubic-bezier(0.4, 0, 0.2, 1);
|
|
5
5
|
--font-size: calc(var(--font-size-400) * 0.875);
|
|
6
6
|
--height: 6px;
|
|
7
|
-
--indicator-color: var(--color-
|
|
7
|
+
--indicator-color: var(--color-primary-500);
|
|
8
8
|
--muted-color: var(--color-text-300);
|
|
9
|
-
--status-font-size:
|
|
10
|
-
--track-color: var(--
|
|
9
|
+
--status-font-size: var(--font-size-300);
|
|
10
|
+
--track-color: var(--surface-border-default);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
|
|
@@ -15,19 +15,19 @@
|
|
|
15
15
|
// The check undraws at once; 'progress-text--done' draws it in.
|
|
16
16
|
--check-duration: 0s;
|
|
17
17
|
--check-offset: 1;
|
|
18
|
-
--check-size:
|
|
18
|
+
--check-size: var(--size-400);
|
|
19
19
|
--color: var(--color-text-500);
|
|
20
|
-
--done-gap:
|
|
20
|
+
--done-gap: calc(var(--size-300) / 2);
|
|
21
21
|
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
22
|
-
--ease-out:
|
|
22
|
+
--ease-out: var(--easing-out);
|
|
23
23
|
--font-size: var(--font-size-400);
|
|
24
24
|
--font-weight: var(--font-weight-500);
|
|
25
25
|
--muted-color: var(--color-text-300);
|
|
26
|
-
--part-gap:
|
|
26
|
+
--part-gap: var(--size-200);
|
|
27
27
|
--part-height: 24px;
|
|
28
28
|
// Read by JS: about how long the ink takes to pour to a new value.
|
|
29
|
-
--pour-duration:
|
|
30
|
-
--track-color:
|
|
29
|
+
--pour-duration: var(--duration-slow);
|
|
30
|
+
--track-color: var(--surface-border-hover);
|
|
31
31
|
|
|
32
32
|
@media (prefers-reduced-motion: reduce) {
|
|
33
33
|
--pour-duration: 0s;
|
|
@@ -39,13 +39,13 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
&--done {
|
|
42
|
-
--check-duration:
|
|
42
|
+
--check-duration: var(--duration-moderate);
|
|
43
43
|
--check-offset: 0;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
&--large {
|
|
47
47
|
--check-size: 22px;
|
|
48
|
-
--done-gap:
|
|
48
|
+
--done-gap: var(--size-100);
|
|
49
49
|
--font-size: var(--font-size-600);
|
|
50
50
|
--part-gap: 14px;
|
|
51
51
|
--part-height: 32px;
|