routie dev init since i didn't adhere to any proper guidance up until now

This commit is contained in:
2026-04-29 22:27:29 -06:00
commit e1dabb71e2
15301 changed files with 3562618 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
@mixin absolute($pseudo: false)
&
@if ($pseudo)
content: ''
position: absolute
top: 0
left: 0
width: 100%
height: 100%
+10
View File
@@ -0,0 +1,10 @@
@mixin border($color: null, $style: null, $width: null, $thin-width: false)
&
border-color: $color
border-style: $style
border-width: $width
@if $thin-width
&--border
border-width: $thin-width
box-shadow: none
+6
View File
@@ -0,0 +1,6 @@
@use '../settings'
@mixin density($name, $densities)
@each $density, $multiplier in $densities
.#{$name}--density-#{$density}
@content($multiplier * settings.$spacer)
+10
View File
@@ -0,0 +1,10 @@
@use './functions' as *
@use '../settings' as *
=media-breakpoint-up($name, $breakpoints: $grid-breakpoints)
$min: breakpoint-min($name, $breakpoints)
@if $min
@media (min-width: $min)
@content
@else
@content
+12
View File
@@ -0,0 +1,12 @@
@use 'sass:map'
@use '../settings'
@mixin elevation($z)
&
box-shadow: map.get(settings.$shadow-key, $z), map.get(settings.$shadow-ambient, $z)
--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) #{$z * settings.$elevation-overlay-step}, transparent)
@mixin elevationTransition($duration: 280ms, $easing: cubic-bezier(0.4, 0, 0.2, 1))
&
transition: $duration $easing
transition-property: box-shadow, --v-elevation-overlay
+91
View File
@@ -0,0 +1,91 @@
@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 override 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)
@if $i == list.length($maps)
$result: map.merge($current-map, ($current-key: $value))
@else
$result: map.merge($current-map, ($current-key: $result))
// 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)
@if $min != 0
@return $min
@else
@return null
@function breakpoint-infix($name, $breakpoints)
@if breakpoint-min($name, $breakpoints) == null
@return ''
@else
@return '-#{$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: rgb(var(--v-theme-#{$color}))
$color: color-mix(in srgb, $color calc($opacity * 100%), transparent)
@return $color
@function roundEven($val)
@return 2 * math.round($val * .5)
+15
View File
@@ -0,0 +1,15 @@
@forward '_absolute'
@forward '_functions'
@forward '_border'
@forward '_density'
@forward '_elevation'
@forward '_layer'
@forward '_position'
@forward '_rounded'
@forward '_rtl'
@forward '_states'
@forward '_theme'
@forward '_typography'
@forward '_utilities'
@forward '_variant'
@forward '_display'
+12
View File
@@ -0,0 +1,12 @@
@use '../settings';
@mixin layer ($name) {
@if ($name == 'transitions' or $name == 'trumps') {
$name: 'final.' + $name;
}
@at-root (without: layer) {
@layer vuetify-#{$name} {
@content;
}
}
}
+4
View File
@@ -0,0 +1,4 @@
@mixin position($positions)
@each $position in $positions
&--#{$position}
position: #{$position}
+3
View File
@@ -0,0 +1,3 @@
@mixin rounded($radius: null)
&
border-radius: $radius
+11
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
+42
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))
+4
View File
@@ -0,0 +1,4 @@
@mixin theme ($background, $color)
&
background: $background
color: $color
+7
View File
@@ -0,0 +1,7 @@
@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
+63
View File
@@ -0,0 +1,63 @@
@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
@include generate-utility-body($utility, list.nth($dir, 2), $value, $infix)
@else if $mixin == 'rtl'
.v-locale--is-rtl
@include 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
@include generate-utility-body($utility, $properties, $value, $infix)
@else if $forceDir == 'rtl'
.v-locale--is-rtl
@include generate-utility-body($utility, $properties, $value, $infix)
@else
@include 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)
@if not $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)
$property-class-modifier: '-' + 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
#{$property}: #{meta.inspect($val)}
+55
View File
@@ -0,0 +1,55 @@
@use "./absolute" as *
@use "./elevation" as *
@use "../settings/variables" 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: $border-width-root solid currentColor
&--variant-text
.#{$name}__overlay
background: currentColor
&--variant-tonal
.#{$name}__underlay
background: currentColor
opacity: var(--v-activated-opacity)
border-radius: inherit
top: 0
right: 0
bottom: 0
left: 0
pointer-events: none
.#{$name}__underlay
position: absolute