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
+44
View File
@@ -0,0 +1,44 @@
@layer vuetify-components {
.v-speed-dial__content {
gap: 8px;
}
.v-speed-dial__content.v-overlay__content.v-speed-dial__content--end, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--end-center, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--right, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--right-center {
flex-direction: row;
}
.v-speed-dial__content.v-overlay__content.v-speed-dial__content--left, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--left-center, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--start, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--start-center {
flex-direction: row-reverse;
}
.v-speed-dial__content.v-overlay__content.v-speed-dial__content--top, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--top-center {
flex-direction: column-reverse;
}
.v-speed-dial__content > *:nth-child(1) {
transition-delay: 0.001s;
}
.v-speed-dial__content > *:nth-child(2) {
transition-delay: 0.05s;
}
.v-speed-dial__content > *:nth-child(3) {
transition-delay: 0.1s;
}
.v-speed-dial__content > *:nth-child(4) {
transition-delay: 0.15s;
}
.v-speed-dial__content > *:nth-child(5) {
transition-delay: 0.2s;
}
.v-speed-dial__content > *:nth-child(6) {
transition-delay: 0.25s;
}
.v-speed-dial__content > *:nth-child(7) {
transition-delay: 0.3s;
}
.v-speed-dial__content > *:nth-child(8) {
transition-delay: 0.35s;
}
.v-speed-dial__content > *:nth-child(9) {
transition-delay: 0.4s;
}
.v-speed-dial__content > *:nth-child(10) {
transition-delay: 0.45s;
}
}
File diff suppressed because it is too large Load Diff
+75
View File
@@ -0,0 +1,75 @@
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
// Styles
import "./VSpeedDial.css";
// Components
import { VDefaultsProvider } from "../VDefaultsProvider/index.js";
import { makeVMenuProps, VMenu } from "../VMenu/VMenu.js"; // Composables
import { makeComponentProps } from "../../composables/component.js";
import { useProxiedModel } from "../../composables/proxiedModel.js";
import { MaybeTransition } from "../../composables/transition.js"; // Utilities
import { computed, ref } from 'vue';
import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
export const makeVSpeedDialProps = propsFactory({
...makeComponentProps(),
...makeVMenuProps({
offset: 8,
minWidth: 0,
openDelay: 0,
closeDelay: 100,
location: 'top center',
transition: 'scale-transition'
})
}, 'VSpeedDial');
export const VSpeedDial = genericComponent()({
name: 'VSpeedDial',
props: makeVSpeedDialProps(),
emits: {
'update:modelValue': value => true
},
setup(props, {
slots
}) {
const model = useProxiedModel(props, 'modelValue');
const menuRef = ref();
const location = computed(() => {
const [y, x = 'center'] = props.location?.split(' ') ?? [];
return `${y} ${x}`;
});
const locationClasses = computed(() => ({
[`v-speed-dial__content--${location.value.replace(' ', '-')}`]: true
}));
useRender(() => {
const menuProps = VMenu.filterProps(props);
return _createVNode(VMenu, _mergeProps(menuProps, {
"modelValue": model.value,
"onUpdate:modelValue": $event => model.value = $event,
"class": props.class,
"style": props.style,
"contentClass": ['v-speed-dial__content', locationClasses.value, props.contentClass],
"location": location.value,
"ref": menuRef,
"transition": "fade-transition"
}), {
...slots,
default: slotProps => _createVNode(VDefaultsProvider, {
"defaults": {
VBtn: {
size: 'small'
}
}
}, {
default: () => [_createVNode(MaybeTransition, {
"appear": true,
"group": true,
"transition": props.transition
}, {
default: () => [slots.default?.(slotProps)]
})]
})
});
});
return {};
}
});
//# sourceMappingURL=VSpeedDial.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
@use '../../styles/tools'
@include tools.layer('components')
.v-speed-dial__content
gap: 8px
&.v-overlay__content
&.v-speed-dial__content--end,
&.v-speed-dial__content--end-center,
&.v-speed-dial__content--right,
&.v-speed-dial__content--right-center
flex-direction: row
&.v-speed-dial__content--left,
&.v-speed-dial__content--left-center,
&.v-speed-dial__content--start,
&.v-speed-dial__content--start-center
flex-direction: row-reverse
&.v-speed-dial__content--top,
&.v-speed-dial__content--top-center
flex-direction: column-reverse
> *
&:nth-child(1)
transition-delay: 0.001s
@for $i from 2 through 10
&:nth-child(#{$i})
transition-delay: 0.05s * ($i - 1)
+1
View File
@@ -0,0 +1 @@
export { VSpeedDial } from './VSpeedDial.js';
+2
View File
@@ -0,0 +1,2 @@
export { VSpeedDial } from "./VSpeedDial.js";
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","names":["VSpeedDial"],"sources":["../../../src/components/VSpeedDial/index.ts"],"sourcesContent":["export { VSpeedDial } from './VSpeedDial'\n"],"mappings":"SAASA,UAAU","ignoreList":[]}