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
+170
View File
@@ -0,0 +1,170 @@
import type { PropType } from 'vue';
export type SparklineItem = string | number | {
value: number;
};
export declare const makeLineProps: <Defaults extends {
autoDraw?: unknown;
autoDrawDuration?: unknown;
autoDrawEasing?: unknown;
color?: unknown;
gradient?: unknown;
gradientDirection?: unknown;
height?: unknown;
labels?: unknown;
labelSize?: unknown;
lineWidth?: unknown;
id?: unknown;
itemValue?: unknown;
modelValue?: unknown;
min?: unknown;
max?: unknown;
padding?: unknown;
showLabels?: unknown;
smooth?: unknown;
width?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
autoDraw: unknown extends Defaults["autoDraw"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["autoDraw"] ? boolean : boolean | Defaults["autoDraw"]>;
default: unknown extends Defaults["autoDraw"] ? boolean : boolean | Defaults["autoDraw"];
};
autoDrawDuration: unknown extends Defaults["autoDrawDuration"] ? (NumberConstructor | StringConstructor)[] : {
type: PropType<unknown extends Defaults["autoDrawDuration"] ? string | number : string | number | Defaults["autoDrawDuration"]>;
default: unknown extends Defaults["autoDrawDuration"] ? string | number : Defaults["autoDrawDuration"] | NonNullable<string | number>;
};
autoDrawEasing: unknown extends Defaults["autoDrawEasing"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["autoDrawEasing"] ? string : string | Defaults["autoDrawEasing"]>;
default: unknown extends Defaults["autoDrawEasing"] ? string : string | Defaults["autoDrawEasing"];
};
color: unknown extends Defaults["color"] ? StringConstructor : {
type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
};
gradient: unknown extends Defaults["gradient"] ? {
type: PropType<string[]>;
default: () => never[];
} : Omit<{
type: PropType<string[]>;
default: () => never[];
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["gradient"] ? string[] : string[] | Defaults["gradient"]>;
default: unknown extends Defaults["gradient"] ? string[] : string[] | Defaults["gradient"];
};
gradientDirection: unknown extends Defaults["gradientDirection"] ? {
type: PropType<'top' | 'bottom' | 'left' | 'right'>;
validator: (val: string) => boolean;
default: string;
} : Omit<{
type: PropType<'top' | 'bottom' | 'left' | 'right'>;
validator: (val: string) => boolean;
default: string;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["gradientDirection"] ? "bottom" | "left" | "right" | "top" : "bottom" | "left" | "right" | "top" | Defaults["gradientDirection"]>;
default: unknown extends Defaults["gradientDirection"] ? "bottom" | "left" | "right" | "top" : Defaults["gradientDirection"] | NonNullable<"bottom" | "left" | "right" | "top">;
};
height: unknown extends Defaults["height"] ? {
type: (NumberConstructor | StringConstructor)[];
default: number;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
default: number;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["height"] ? string | number : string | number | Defaults["height"]>;
default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable<string | number>;
};
labels: unknown extends Defaults["labels"] ? {
type: PropType<SparklineItem[]>;
default: () => never[];
} : Omit<{
type: PropType<SparklineItem[]>;
default: () => never[];
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["labels"] ? SparklineItem[] : SparklineItem[] | Defaults["labels"]>;
default: unknown extends Defaults["labels"] ? SparklineItem[] : SparklineItem[] | Defaults["labels"];
};
labelSize: unknown extends Defaults["labelSize"] ? {
type: (NumberConstructor | StringConstructor)[];
default: number;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
default: number;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["labelSize"] ? string | number : string | number | Defaults["labelSize"]>;
default: unknown extends Defaults["labelSize"] ? string | number : Defaults["labelSize"] | NonNullable<string | number>;
};
lineWidth: unknown extends Defaults["lineWidth"] ? {
type: (NumberConstructor | StringConstructor)[];
default: number;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
default: number;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["lineWidth"] ? string | number : string | number | Defaults["lineWidth"]>;
default: unknown extends Defaults["lineWidth"] ? string | number : Defaults["lineWidth"] | NonNullable<string | number>;
};
id: unknown extends Defaults["id"] ? StringConstructor : {
type: PropType<unknown extends Defaults["id"] ? string : string | Defaults["id"]>;
default: unknown extends Defaults["id"] ? string : string | Defaults["id"];
};
itemValue: unknown extends Defaults["itemValue"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["itemValue"] ? string : string | Defaults["itemValue"]>;
default: unknown extends Defaults["itemValue"] ? string : string | Defaults["itemValue"];
};
modelValue: unknown extends Defaults["modelValue"] ? {
type: PropType<SparklineItem[]>;
default: () => never[];
} : Omit<{
type: PropType<SparklineItem[]>;
default: () => never[];
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["modelValue"] ? SparklineItem[] : SparklineItem[] | Defaults["modelValue"]>;
default: unknown extends Defaults["modelValue"] ? SparklineItem[] : SparklineItem[] | Defaults["modelValue"];
};
min: unknown extends Defaults["min"] ? (NumberConstructor | StringConstructor)[] : {
type: PropType<unknown extends Defaults["min"] ? string | number : string | number | Defaults["min"]>;
default: unknown extends Defaults["min"] ? string | number : Defaults["min"] | NonNullable<string | number>;
};
max: unknown extends Defaults["max"] ? (NumberConstructor | StringConstructor)[] : {
type: PropType<unknown extends Defaults["max"] ? string | number : string | number | Defaults["max"]>;
default: unknown extends Defaults["max"] ? string | number : Defaults["max"] | NonNullable<string | number>;
};
padding: unknown extends Defaults["padding"] ? {
type: (NumberConstructor | StringConstructor)[];
default: number;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
default: number;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["padding"] ? string | number : string | number | Defaults["padding"]>;
default: unknown extends Defaults["padding"] ? string | number : Defaults["padding"] | NonNullable<string | number>;
};
showLabels: unknown extends Defaults["showLabels"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["showLabels"] ? boolean : boolean | Defaults["showLabels"]>;
default: unknown extends Defaults["showLabels"] ? boolean : boolean | Defaults["showLabels"];
};
smooth: unknown extends Defaults["smooth"] ? (BooleanConstructor | NumberConstructor | StringConstructor)[] : {
type: PropType<unknown extends Defaults["smooth"] ? string | number | boolean : string | number | boolean | Defaults["smooth"]>;
default: unknown extends Defaults["smooth"] ? string | number | boolean : Defaults["smooth"] | NonNullable<string | number | boolean>;
};
width: unknown extends Defaults["width"] ? {
type: (NumberConstructor | StringConstructor)[];
default: number;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
default: number;
}, "default" | "type"> & {
type: PropType<unknown extends Defaults["width"] ? string | number : string | number | Defaults["width"]>;
default: unknown extends Defaults["width"] ? string | number : Defaults["width"] | NonNullable<string | number>;
};
};
+58
View File
@@ -0,0 +1,58 @@
// Utilities
import { propsFactory } from "../../../util/index.js"; // Types
export const makeLineProps = propsFactory({
autoDraw: Boolean,
autoDrawDuration: [Number, String],
autoDrawEasing: {
type: String,
default: 'ease'
},
color: String,
gradient: {
type: Array,
default: () => []
},
gradientDirection: {
type: String,
validator: val => ['top', 'bottom', 'left', 'right'].includes(val),
default: 'top'
},
height: {
type: [String, Number],
default: 75
},
labels: {
type: Array,
default: () => []
},
labelSize: {
type: [Number, String],
default: 7
},
lineWidth: {
type: [String, Number],
default: 4
},
id: String,
itemValue: {
type: String,
default: 'value'
},
modelValue: {
type: Array,
default: () => []
},
min: [String, Number],
max: [String, Number],
padding: {
type: [String, Number],
default: 8
},
showLabels: Boolean,
smooth: [Boolean, String, Number],
width: {
type: [Number, String],
default: 300
}
}, 'Line');
//# sourceMappingURL=line.js.map
@@ -0,0 +1 @@
{"version":3,"file":"line.js","names":["propsFactory","makeLineProps","autoDraw","Boolean","autoDrawDuration","Number","String","autoDrawEasing","type","default","color","gradient","Array","gradientDirection","validator","val","includes","height","labels","labelSize","lineWidth","id","itemValue","modelValue","min","max","padding","showLabels","smooth","width"],"sources":["../../../../src/components/VSparkline/util/line.ts"],"sourcesContent":["// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type SparklineItem = string | number | { value: number }\n\nexport const makeLineProps = propsFactory({\n autoDraw: Boolean,\n autoDrawDuration: [Number, String],\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n color: String,\n gradient: {\n type: Array as PropType<string[]>,\n default: () => ([]),\n },\n gradientDirection: {\n type: String as PropType<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n id: String,\n itemValue: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n min: [String, Number],\n max: [String, Number],\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: [Boolean, String, Number],\n width: {\n type: [Number, String],\n default: 300,\n },\n}, 'Line')\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,kCAErB;AAKA,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,QAAQ,EAAEC,OAAO;EACjBC,gBAAgB,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EAClCC,cAAc,EAAE;IACdC,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEJ,MAAM;EACbK,QAAQ,EAAE;IACRH,IAAI,EAAEI,KAA2B;IACjCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDI,iBAAiB,EAAE;IACjBL,IAAI,EAAEF,MAAuD;IAC7DQ,SAAS,EAAGC,GAAW,IAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACD,GAAG,CAAC;IAC5EN,OAAO,EAAE;EACX,CAAC;EACDQ,MAAM,EAAE;IACNT,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDS,MAAM,EAAE;IACNV,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDU,SAAS,EAAE;IACTX,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX,CAAC;EACDW,SAAS,EAAE;IACTZ,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDY,EAAE,EAAEf,MAAM;EACVgB,SAAS,EAAE;IACTd,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDc,UAAU,EAAE;IACVf,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDe,GAAG,EAAE,CAAClB,MAAM,EAAED,MAAM,CAAC;EACrBoB,GAAG,EAAE,CAACnB,MAAM,EAAED,MAAM,CAAC;EACrBqB,OAAO,EAAE;IACPlB,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDkB,UAAU,EAAExB,OAAO;EACnByB,MAAM,EAAE,CAACzB,OAAO,EAAEG,MAAM,EAAED,MAAM,CAAC;EACjCwB,KAAK,EAAE;IACLrB,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX;AACF,CAAC,EAAE,MAAM,CAAC","ignoreList":[]}
+16
View File
@@ -0,0 +1,16 @@
import { Point } from '../VSparkline.js';
/**
* From https://github.com/unsplash/react-trend/blob/master/src/helpers/DOM.helpers.js#L18
*/
export declare function genPath(points: Point[], radius: number, fill?: boolean, height?: number): string;
/**
* https://en.wikipedia.org/wiki/Collinearity
* x=(x1+x2)/2
* y=(y1+y2)/2
*/
export declare function checkCollinear(p0: Point, p1: Point, p2: Point): boolean;
export declare function getDistance(p1: Point, p2: Point): number;
export declare function moveTo(to: Point, from: Point, radius: number): {
x: any;
y: any;
};
+58
View File
@@ -0,0 +1,58 @@
// @ts-nocheck
/* eslint-disable */
// import { checkCollinear, getDistance, moveTo } from './math'
/**
* From https://github.com/unsplash/react-trend/blob/master/src/helpers/DOM.helpers.js#L18
*/
export function genPath(points, radius, fill = false, height = 75) {
if (points.length === 0) return '';
const start = points.shift();
const end = points[points.length - 1];
return (fill ? `M${start.x} ${height - start.x + 2} L${start.x} ${start.y}` : `M${start.x} ${start.y}`) + points.map((point, index) => {
const next = points[index + 1];
const prev = points[index - 1] || start;
const isCollinear = next && checkCollinear(next, point, prev);
if (!next || isCollinear) {
return `L${point.x} ${point.y}`;
}
const threshold = Math.min(getDistance(prev, point), getDistance(next, point));
const isTooCloseForRadius = threshold / 2 < radius;
const radiusForPoint = isTooCloseForRadius ? threshold / 2 : radius;
const before = moveTo(prev, point, radiusForPoint);
const after = moveTo(next, point, radiusForPoint);
return `L${before.x} ${before.y}S${point.x} ${point.y} ${after.x} ${after.y}`;
}).join('') + (fill ? `L${end.x} ${height - start.x + 2} Z` : '');
}
function int(value) {
return parseInt(value, 10);
}
/**
* https://en.wikipedia.org/wiki/Collinearity
* x=(x1+x2)/2
* y=(y1+y2)/2
*/
export function checkCollinear(p0, p1, p2) {
return int(p0.x + p2.x) === int(2 * p1.x) && int(p0.y + p2.y) === int(2 * p1.y);
}
export function getDistance(p1, p2) {
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
}
export function moveTo(to, from, radius) {
const vector = {
x: to.x - from.x,
y: to.y - from.y
};
const length = Math.sqrt(vector.x * vector.x + vector.y * vector.y);
const unitVector = {
x: vector.x / length,
y: vector.y / length
};
return {
x: from.x + unitVector.x * radius,
y: from.y + unitVector.y * radius
};
}
//# sourceMappingURL=path.js.map
File diff suppressed because one or more lines are too long