routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
@layer vuetify-components {
|
||||
.v-label {
|
||||
align-items: center;
|
||||
color: inherit;
|
||||
display: inline-flex;
|
||||
font-size: 1rem;
|
||||
letter-spacing: 0.009375em;
|
||||
min-width: 0;
|
||||
opacity: var(--v-medium-emphasis-opacity);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.v-label--clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
|
||||
export declare const makeVLabelProps: <Defaults extends {
|
||||
theme?: unknown;
|
||||
class?: unknown;
|
||||
style?: unknown;
|
||||
text?: unknown;
|
||||
onClick?: unknown;
|
||||
} = {}>(defaults?: Defaults | undefined) => {
|
||||
theme: unknown extends Defaults["theme"] ? StringConstructor : {
|
||||
type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>;
|
||||
default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"];
|
||||
};
|
||||
class: unknown extends Defaults["class"] ? import("vue").PropType<any> : {
|
||||
type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>;
|
||||
default: unknown extends Defaults["class"] ? any : any;
|
||||
};
|
||||
style: unknown extends Defaults["style"] ? {
|
||||
type: import("vue").PropType<import("vue").StyleValue>;
|
||||
default: null;
|
||||
} : Omit<{
|
||||
type: import("vue").PropType<import("vue").StyleValue>;
|
||||
default: null;
|
||||
}, "default" | "type"> & {
|
||||
type: import("vue").PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | import("vue").StyleValue>;
|
||||
default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable<import("vue").StyleValue>;
|
||||
};
|
||||
text: unknown extends Defaults["text"] ? StringConstructor : {
|
||||
type: import("vue").PropType<unknown extends Defaults["text"] ? string : string | Defaults["text"]>;
|
||||
default: unknown extends Defaults["text"] ? string : string | Defaults["text"];
|
||||
};
|
||||
onClick: unknown extends Defaults["onClick"] ? import("vue").PropType<(args_0: MouseEvent) => void> : {
|
||||
type: import("vue").PropType<unknown extends Defaults["onClick"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick"]>;
|
||||
default: unknown extends Defaults["onClick"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick"];
|
||||
};
|
||||
};
|
||||
export declare const VLabel: {
|
||||
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
||||
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
|
||||
} & {
|
||||
theme?: string | undefined;
|
||||
class?: any;
|
||||
text?: string | undefined;
|
||||
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
||||
} & {
|
||||
$children?: {
|
||||
default?: (() => import("vue").VNodeChild) | undefined;
|
||||
} | {
|
||||
$stable?: boolean;
|
||||
} | (() => import("vue").VNodeChild) | import("vue").VNodeChild;
|
||||
'v-slots'?: {
|
||||
default?: false | (() => import("vue").VNodeChild) | undefined;
|
||||
} | undefined;
|
||||
} & {
|
||||
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
|
||||
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
||||
style: import("vue").StyleValue;
|
||||
}, true, {}, import("vue").SlotsType<Partial<{
|
||||
default: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
||||
[key: string]: any;
|
||||
}>[];
|
||||
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
||||
P: {};
|
||||
B: {};
|
||||
D: {};
|
||||
C: {};
|
||||
M: {};
|
||||
Defaults: {};
|
||||
}, {
|
||||
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
|
||||
} & {
|
||||
theme?: string | undefined;
|
||||
class?: any;
|
||||
text?: string | undefined;
|
||||
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
||||
} & {
|
||||
$children?: {
|
||||
default?: (() => import("vue").VNodeChild) | undefined;
|
||||
} | {
|
||||
$stable?: boolean;
|
||||
} | (() => import("vue").VNodeChild) | import("vue").VNodeChild;
|
||||
'v-slots'?: {
|
||||
default?: false | (() => import("vue").VNodeChild) | undefined;
|
||||
} | undefined;
|
||||
} & {
|
||||
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
|
||||
}, {}, {}, {}, {}, {
|
||||
style: import("vue").StyleValue;
|
||||
}>;
|
||||
__isFragment?: never;
|
||||
__isTeleport?: never;
|
||||
__isSuspense?: never;
|
||||
} & import("vue").ComponentOptionsBase<{
|
||||
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
|
||||
} & {
|
||||
theme?: string | undefined;
|
||||
class?: any;
|
||||
text?: string | undefined;
|
||||
onClick?: ((args_0: MouseEvent) => void) | undefined;
|
||||
} & {
|
||||
$children?: {
|
||||
default?: (() => import("vue").VNodeChild) | undefined;
|
||||
} | {
|
||||
$stable?: boolean;
|
||||
} | (() => import("vue").VNodeChild) | import("vue").VNodeChild;
|
||||
'v-slots'?: {
|
||||
default?: false | (() => import("vue").VNodeChild) | undefined;
|
||||
} | undefined;
|
||||
} & {
|
||||
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
|
||||
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
||||
style: import("vue").StyleValue;
|
||||
}, {}, string, import("vue").SlotsType<Partial<{
|
||||
default: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
||||
[key: string]: any;
|
||||
}>[];
|
||||
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
||||
theme: StringConstructor;
|
||||
class: import("vue").PropType<any>;
|
||||
style: {
|
||||
type: import("vue").PropType<import("vue").StyleValue>;
|
||||
default: null;
|
||||
};
|
||||
text: StringConstructor;
|
||||
onClick: import("vue").PropType<(args_0: MouseEvent) => void>;
|
||||
}, import("vue").ExtractPropTypes<{
|
||||
theme: StringConstructor;
|
||||
class: import("vue").PropType<any>;
|
||||
style: {
|
||||
type: import("vue").PropType<import("vue").StyleValue>;
|
||||
default: null;
|
||||
};
|
||||
text: StringConstructor;
|
||||
onClick: import("vue").PropType<(args_0: MouseEvent) => void>;
|
||||
}>>;
|
||||
export type VLabel = InstanceType<typeof VLabel>;
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from "vue";
|
||||
// Styles
|
||||
import "./VLabel.css";
|
||||
|
||||
// Composables
|
||||
import { makeComponentProps } from "../../composables/component.js";
|
||||
import { makeThemeProps } from "../../composables/theme.js"; // Utilities
|
||||
import { EventProp, genericComponent, propsFactory, useRender } from "../../util/index.js";
|
||||
export const makeVLabelProps = propsFactory({
|
||||
text: String,
|
||||
onClick: EventProp(),
|
||||
...makeComponentProps(),
|
||||
...makeThemeProps()
|
||||
}, 'VLabel');
|
||||
export const VLabel = genericComponent()({
|
||||
name: 'VLabel',
|
||||
props: makeVLabelProps(),
|
||||
setup(props, {
|
||||
slots
|
||||
}) {
|
||||
useRender(() => _createElementVNode("label", {
|
||||
"class": _normalizeClass(['v-label', {
|
||||
'v-label--clickable': !!props.onClick
|
||||
}, props.class]),
|
||||
"style": _normalizeStyle(props.style),
|
||||
"onClick": props.onClick
|
||||
}, [props.text, slots.default?.()]));
|
||||
return {};
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=VLabel.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"VLabel.js","names":["makeComponentProps","makeThemeProps","EventProp","genericComponent","propsFactory","useRender","makeVLabelProps","text","String","onClick","VLabel","name","props","setup","slots","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","default"],"sources":["../../../src/components/VLabel/VLabel.tsx"],"sourcesContent":["// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLabelProps = propsFactory({\n text: String,\n\n onClick: EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VLabel')\n\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n\n props: makeVLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--clickable': !!props.onClick,\n },\n props.class,\n ]}\n style={ props.style }\n onClick={ props.onClick }\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n ))\n\n return {}\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,cAAc,sCAEvB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE7D,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,IAAI,EAAEC,MAAM;EAEZC,OAAO,EAAEP,SAAS,CAAe,CAAC;EAElC,GAAGF,kBAAkB,CAAC,CAAC;EACvB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMS,MAAM,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACvCQ,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEN,eAAe,CAAC,CAAC;EAExBO,KAAKA,CAAED,KAAK,EAAE;IAAEE;EAAM,CAAC,EAAE;IACvBT,SAAS,CAAC,MAAAU,mBAAA;MAAA,SAAAC,eAAA,CAEC,CACL,SAAS,EACT;QACE,oBAAoB,EAAE,CAAC,CAACJ,KAAK,CAACH;MAChC,CAAC,EACDG,KAAK,CAACK,KAAK,CACZ;MAAA,SAAAC,eAAA,CACON,KAAK,CAACO,KAAK;MAAA,WACTP,KAAK,CAACH;IAAO,IAErBG,KAAK,CAACL,IAAI,EAEVO,KAAK,CAACM,OAAO,GAAG,CAAC,EAEtB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
@use '../../styles/settings'
|
||||
@use '../../styles/tools'
|
||||
@use './variables' as *
|
||||
|
||||
@include tools.layer('components')
|
||||
.v-label
|
||||
align-items: center
|
||||
color: $label-color
|
||||
display: $label-display
|
||||
font-size: $label-font-size
|
||||
letter-spacing: $label-letter-spacing
|
||||
min-width: 0
|
||||
opacity: $label-opacity
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
white-space: nowrap
|
||||
|
||||
.v-label--clickable
|
||||
cursor: pointer
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
@use '../../styles/settings';
|
||||
@use '../../styles/tools';
|
||||
|
||||
// VLabel
|
||||
$label-color: inherit !default;
|
||||
$label-disabled-color: tools.theme-color('on-surface', var(--v-disabled-opacity)) !default;
|
||||
$label-display: inline-flex !default;
|
||||
$label-error-color: rgb(var(--v-theme-error)) !default;
|
||||
$label-font-size: 1rem !default;
|
||||
$label-letter-spacing: .009375em !default;
|
||||
$label-opacity: var(--v-medium-emphasis-opacity) !default;
|
||||
+1
@@ -0,0 +1 @@
|
||||
export { VLabel } from './VLabel.js';
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
export { VLabel } from "./VLabel.js";
|
||||
//# sourceMappingURL=index.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","names":["VLabel"],"sources":["../../../src/components/VLabel/index.ts"],"sourcesContent":["export { VLabel } from './VLabel'\n"],"mappings":"SAASA,MAAM","ignoreList":[]}
|
||||
Reference in New Issue
Block a user