Tracking de l'application VApp (IHM du jeu)

This commit is contained in:
2025-05-11 18:04:12 +02:00
commit 89e9db9b62
17763 changed files with 3718499 additions and 0 deletions

View File

@ -0,0 +1,8 @@
@mixin absolute($pseudo: false)
@if ($pseudo)
content: ''
position: absolute
top: 0
left: 0
width: 100%
height: 100%

View File

@ -0,0 +1,3 @@
@mixin bootable()
&:not([data-booted="true"])
transition: none !important

View File

@ -0,0 +1,9 @@
@mixin border($color: null, $style: null, $width: null, $thin-width: false, $important: false)
border-color: $color if($important, !important, null)
border-style: $style if($important, !important, null)
border-width: $width if($important, !important, null)
@if $thin-width
&--border
border-width: $thin-width
box-shadow: none

View File

@ -0,0 +1,6 @@
@use '../settings'
@mixin density($name, $densities)
@each $density, $multiplier in $densities
.#{$name}--density-#{$density}
@content($multiplier * settings.$spacer)

View File

@ -0,0 +1,19 @@
@use './functions' as *
@use '../settings' as *
@mixin visually-hidden
position: absolute !important
height: 1px
width: 1px
overflow: hidden
clip: rect(1px, 1px, 1px, 1px)
white-space: nowrap
display: initial
=media-breakpoint-up($name, $breakpoints: $grid-breakpoints)
$min: breakpoint-min($name, $breakpoints)
@if $min
@media (min-width: $min)
@content
@else
@content

View File

@ -0,0 +1,8 @@
@use 'sass:map'
@use '../settings'
@mixin elevation($z, $important: false)
box-shadow: map.get(settings.$shadow-key-umbra, $z), map.get(settings.$shadow-key-penumbra, $z), map.get(settings.$shadow-key-ambient, $z) if($important, !important, null)
@mixin elevationTransition($duration: 280ms, $easing: cubic-bezier(0.4, 0, 0.2, 1))
transition: box-shadow $duration $easing

View File

@ -0,0 +1,82 @@
@use 'sass:list'
@use 'sass:map'
@use 'sass:math'
@use 'sass:meta'
@function map-deep-set($map, $keys, $value)
$maps: ($map,)
$result: null
// If the last key is a map already
// Warn the user we will be overriding it with $value
@if meta.type-of(list.nth($keys, -1)) == "map"
@warn "The last key you specified is a map; it will be overrided with `#{$value}`."
// If $keys is a single key
// Just merge and return
@if list.length($keys) == 1
@return map.merge($map, ( $keys: $value ))
// Loop from the first to the second to last key from $keys
// Store the associated map to this key in the $maps list
// If the key doesn't exist, throw an error
@for $i from 1 through list.length($keys) - 1
$current-key: list.nth($keys, $i)
$current-map: list.nth($maps, -1)
$current-get: map.get($current-map, $current-key)
@if $current-get == null
@error "Key `#{$current-key}` doesn't exist at current level in map."
$maps: list.append($maps, $current-get)
// Loop from the last map to the first one
// Merge it with the previous one
@for $i from list.length($maps) through 1
$current-map: list.nth($maps, $i)
$current-key: list.nth($keys, $i)
$current-val: if($i == list.length($maps), $value, $result)
$result: map.merge($current-map, ($current-key: $current-val))
// Return result
@return $result
@function map-deep-get($map, $keys...)
@each $key in $keys
$map: map.get($map, $key)
@return $map
@function breakpoint-min($name, $breakpoints)
$min: map.get($breakpoints, $name)
@return if($min != 0, $min, null)
@function breakpoint-infix($name, $breakpoints)
@return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}")
// Adapted from https://gist.github.com/pentzzsolt/4949bbd7691d43d00616dc4f1451cae9#file-non-destructive-map-merge-4-scss
@function map-deep-merge($parent-map, $child-map)
$result: $parent-map
@each $key, $child in $child-map
$parent-has-key: map.has-key($result, $key)
$parent-value: map.get($result, $key)
$parent-type: meta.type-of($parent-value)
$child-type: meta.type-of($child)
$parent-is-map: $parent-type == map
$child-is-map: $child-type == map
@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map))
$result: map.merge($result, ( $key: $child ))
@else
$result: map.merge($result, ( $key: map-deep-merge($parent-value, $child) ))
@return $result
@function theme-color($color, $opacity: 1)
$color: rgba(var(--v-theme-#{$color}), $opacity)
@return $color
@function roundEven($val)
@return 2 * math.round($val * .5)

17
VApp/node_modules/vuetify/lib/styles/tools/_index.sass generated vendored Normal file
View File

@ -0,0 +1,17 @@
@forward '_absolute'
@forward '_functions'
@forward '_bootable'
@forward '_border'
@forward '_density'
@forward '_elevation'
@forward '_position'
@forward '_radius'
@forward '_rounded'
@forward '_rtl'
@forward '_sheet'
@forward '_states'
@forward '_theme'
@forward '_typography'
@forward '_utilities'
@forward '_variant'
@forward '_display'

View File

@ -0,0 +1,4 @@
@mixin position($positions, $important: false)
@each $position in $positions
&--#{$position}
position: #{$position} if($important, !important, null)

View File

@ -0,0 +1,9 @@
@use 'sass:map'
@use '../settings'
@mixin radius($r, $important: false)
// Key exists within the $rounded variable
@if (map.has-key(settings.$rounded, $r))
border-radius: map.get(settings.$rounded, $r) if($important, !important, null)
@else
border-radius: $r if($important, !important, null)

View File

@ -0,0 +1,2 @@
@mixin rounded($radius: null, $important: false)
border-radius: $radius if($important, !important, null)

11
VApp/node_modules/vuetify/lib/styles/tools/_rtl.sass generated vendored Normal file
View File

@ -0,0 +1,11 @@
@use 'sass:selector'
@mixin rtl()
@at-root #{selector.append('.v-locale--is-rtl', &)},
.v-locale--is-rtl &
@content
@mixin ltr()
@at-root #{selector.append('.v-locale--is-ltr', &)},
.v-locale--is-ltr &
@content

14
VApp/node_modules/vuetify/lib/styles/tools/_sheet.sass generated vendored Normal file
View File

@ -0,0 +1,14 @@
@mixin paper ($elevation, $radius, $shaped-radius)
@include tools.radius($radius)
&:not(.v-sheet--outlined)
@include tools.elevation($elevation)
@if ($shaped-radius)
&.v-sheet--shaped
@include tools.radius($shaped-radius)
@mixin sheet ($component, $elevation, $radius, $shaped-radius)
.v-sheet.#{$component}
@include paper($elevation, $radius, $shaped-radius)

View File

@ -0,0 +1,42 @@
@use 'sass:map'
@use 'sass:string'
@use '../settings'
@mixin states ($selector: '&::before', $active: true)
@if string.slice(string.unquote($selector), 1, 1) != '&'
$selector: #{'>'} #{$selector}
&:hover
#{$selector}
opacity: calc(#{map.get(settings.$states, 'hover')} * var(--v-theme-overlay-multiplier))
&:focus-visible
#{$selector}
opacity: calc(#{map.get(settings.$states, 'focus')} * var(--v-theme-overlay-multiplier))
@supports not selector(:focus-visible)
&:focus
#{$selector}
opacity: calc(#{map.get(settings.$states, 'focus')} * var(--v-theme-overlay-multiplier))
@if ($active)
&--active,
&[aria-haspopup="menu"][aria-expanded="true"]
@include active-states($selector)
@mixin active-states ($selector, $base: map.get(settings.$states, 'activated'))
#{$selector}
opacity: calc(#{$base} * var(--v-theme-overlay-multiplier))
&:hover
#{$selector}
opacity: calc((#{$base} + #{map.get(settings.$states, 'hover')}) * var(--v-theme-overlay-multiplier))
&:focus-visible
#{$selector}
opacity: calc((#{$base} + #{map.get(settings.$states, 'focus')}) * var(--v-theme-overlay-multiplier))
@supports not selector(:focus-visible)
&:focus
#{$selector}
opacity: calc((#{$base} + #{map.get(settings.$states, 'focus')}) * var(--v-theme-overlay-multiplier))

View File

@ -0,0 +1,3 @@
@mixin theme ($background, $color)
background: $background
color: $color

View File

@ -0,0 +1,6 @@
@mixin typography ($font-size, $font-weight, $letter-spacing, $line-height, $text-transform)
font-size: $font-size
font-weight: $font-weight
letter-spacing: $letter-spacing
line-height: $line-height
text-transform: $text-transform

View File

@ -0,0 +1,64 @@
@use 'sass:list'
@use 'sass:map'
@use 'sass:meta'
=generate-utility($utility, $infix, $forceDir)
$values: map.get($utility, values)
// If the values are a list or string, convert it into a map
@if meta.type-of($values) == "string" or meta.type-of(list.nth($values, 1)) != "list"
$values: list.zip($values, $values)
@each $value in $values
$properties: map.get($utility, property)
// Multiple properties are possible, for example with vertical or horizontal margins or paddings
@if meta.type-of($properties) == 'string'
$properties: list.append((), $properties)
// Property can be a map, where the key is a mixin to include
@if meta.type-of($properties) == 'map'
@each $dir in $properties
$mixin: list.nth($dir, 1)
// SASS doesn't support dynamic mixin invocation
// https://github.com/sass/sass/issues/626
@if $mixin == 'ltr'
.v-locale--is-ltr
+generate-utility-body($utility, list.nth($dir, 2), $value, $infix)
@else if $mixin == 'rtl'
.v-locale--is-rtl
+generate-utility-body($utility, list.nth($dir, 2), $value, $infix)
@else
@error 'Only RTL and LTR are supported'
@else
@if $forceDir == 'ltr'
.v-locale--is-ltr
+generate-utility-body($utility, $properties, $value, $infix)
@else if $forceDir == 'rtl'
.v-locale--is-rtl
+generate-utility-body($utility, $properties, $value, $infix)
@else
+generate-utility-body($utility, $properties, $value, $infix)
=generate-utility-body($utility, $properties, $value, $infix)
// Use custom class if present
$property-class: map.get($utility, class)
$property-class: if($property-class, $property-class, list.nth($properties, 1))
// Don't prefix if value key is null (eg. with shadow class)
$property-class-modifier: if(list.nth($value, 1), "-" + list.nth($value, 1), "")
$value: list.nth($value, 2)
.#{$property-class + $infix + $property-class-modifier}
@for $i from 1 through list.length($properties)
$property: list.nth($properties, $i)
$val: $value
@if meta.type-of($value) == 'list' and list.length($properties) == list.length($value)
$val: list.nth($value, $i)
@if $val != false
// Check if unimportant property exists.
// This allows you to conditional skip
// defining a property as important.
$unimportant: map.get($utility, unimportant)
#{$property}: #{meta.inspect($val) if(list.index($unimportant, $property), null, !important)}

View File

@ -0,0 +1,52 @@
@use "./absolute" as *
@use "./elevation" as *
@mixin variant($contained-background, $contained-color, $contained-elevation, $plain-opacity, $name)
&--variant-plain,
&--variant-outlined,
&--variant-text,
&--variant-tonal
background: transparent
color: inherit
&--variant-plain
opacity: $plain-opacity
&:focus,
&:hover
opacity: 1
&--variant-plain
.#{$name}__overlay
display: none
&--variant-elevated,
&--variant-flat
background: $contained-background
color: $contained-color
@if ($contained-elevation > 0)
&--variant-elevated
@include elevation($contained-elevation)
&--variant-flat
@include elevation(0)
&--variant-outlined
border: thin solid currentColor
&--variant-text
.#{$name}__overlay
background: currentColor
&--variant-tonal
.#{$name}__underlay
background: currentColor
opacity: var(--v-activated-opacity)
border-radius: inherit
position: absolute
top: 0
right: 0
bottom: 0
left: 0
pointer-events: none