init component

This commit is contained in:
Robin COuret
2026-02-16 17:28:37 +01:00
parent 460c7a25e0
commit e0e50af706
4557 changed files with 666911 additions and 8 deletions

34
node_modules/buetify/lib/components/tabs/BTabItem.d.ts generated vendored Executable file
View File

@@ -0,0 +1,34 @@
declare const _default: import("vue").DefineComponent<{
label: {
type: import("vue").PropType<string>;
required: true;
};
icon: {
type: import("vue").PropType<import("vue").Component<any, any, any, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions>>;
};
isDisabled: {
type: import("vue").PropType<boolean>;
default: boolean;
};
isVisible: {
type: import("vue").PropType<boolean>;
default: boolean;
};
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
isVisible: boolean;
isDisabled: boolean;
label: string;
} & {
icon?: import("vue").ComponentOptions<any, any, any, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, any, any, any> | import("vue").FunctionalComponent<any, any> | {
new (...args: any[]): any;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} | undefined;
}>, {
isVisible: boolean;
isDisabled: boolean;
}>;
export default _default;

32
node_modules/buetify/lib/components/tabs/BTabItem.js generated vendored Executable file
View File

@@ -0,0 +1,32 @@
import { toUndefined } from 'fp-ts/lib/Option';
import { defineComponent, h, inject, withDirectives, vShow, computed } from 'vue';
import { BTabItemPropsDefinition, DEFAULT_TAB_INJECTION, TAB_ITEM_NAME, TABS_SYMBOL } from './shared';
export default defineComponent({
name: TAB_ITEM_NAME,
props: BTabItemPropsDefinition,
setup(props, {
slots
}) {
const injection = inject(TABS_SYMBOL, DEFAULT_TAB_INJECTION);
const index = injection.tabs.findIndex(p => p.label === props.label);
if (index > -1) {
injection.tabs.splice(index, 1, props);
} else {
injection.tabs.push(props);
}
const isActive = computed(() => toUndefined(injection.activeLabel.value) === props.label);
return () => {
return withDirectives(h('section', {
class: 'tab-item',
'aria-label': props.label
}, slots.default && slots.default({
isActive: toUndefined(injection.activeLabel.value) === props.label
})), [[vShow, isActive.value]]);
};
}
});
//# sourceMappingURL=BTabItem.js.map

1
node_modules/buetify/lib/components/tabs/BTabItem.js.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/components/tabs/BTabItem.ts"],"names":[],"mappings":"AAAA,SAAS,WAAT,QAA4B,kBAA5B;AACA,SAAS,eAAT,EAA0B,CAA1B,EAA6B,MAA7B,EAAqC,cAArC,EAAqD,KAArD,EAA4D,QAA5D,QAA4E,KAA5E;AACA,SAAS,uBAAT,EAAkC,qBAAlC,EAAyD,aAAzD,EAAwE,WAAxE,QAA2F,UAA3F;AAEA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,aADuB;AAE7B,EAAA,KAAK,EAAE,uBAFsB;;AAG7B,EAAA,KAAK,CAAC,KAAD,EAAQ;AAAE,IAAA;AAAF,GAAR,EAAiB;AACpB,UAAM,SAAS,GAAG,MAAM,CAAC,WAAD,EAAc,qBAAd,CAAxB;AAEA,UAAM,KAAK,GAAG,SAAS,CAAC,IAAV,CAAe,SAAf,CAAyB,CAAC,IAAI,CAAC,CAAC,KAAF,KAAY,KAAK,CAAC,KAAhD,CAAd;;AAEA,QAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACd,MAAA,SAAS,CAAC,IAAV,CAAe,MAAf,CAAsB,KAAtB,EAA6B,CAA7B,EAAgC,KAAhC;AACD,KAFD,MAEO;AACL,MAAA,SAAS,CAAC,IAAV,CAAe,IAAf,CAAoB,KAApB;AACD;;AAED,UAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,WAAV,CAAsB,KAAvB,CAAX,KAA6C,KAAK,CAAC,KAA1D,CAAzB;AAEA,WAAO,MAAK;AACV,aAAO,cAAc,CACnB,CAAC,CACC,SADD,EAEC;AACE,QAAA,KAAK,EAAE,UADT;AAEE,sBAAc,KAAK,CAAC;AAFtB,OAFD,EAMC,KAAK,CAAC,OAAN,IAAiB,KAAK,CAAC,OAAN,CAAc;AAAE,QAAA,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,WAAV,CAAsB,KAAvB,CAAX,KAA6C,KAAK,CAAC;AAA/D,OAAd,CANlB,CADkB,EASnB,CAAC,CAAC,KAAD,EAAQ,QAAQ,CAAC,KAAjB,CAAD,CATmB,CAArB;AAWD,KAZD;AAaD;;AA7B4B,CAAD,CAA9B","sourcesContent":["import { toUndefined } from 'fp-ts/lib/Option';\nimport { defineComponent, h, inject, withDirectives, vShow, computed } from 'vue';\nimport { BTabItemPropsDefinition, DEFAULT_TAB_INJECTION, TAB_ITEM_NAME, TABS_SYMBOL } from './shared';\n\nexport default defineComponent({\n name: TAB_ITEM_NAME,\n props: BTabItemPropsDefinition,\n setup(props, { slots }) {\n const injection = inject(TABS_SYMBOL, DEFAULT_TAB_INJECTION);\n\n const index = injection.tabs.findIndex(p => p.label === props.label);\n\n if (index > -1) {\n injection.tabs.splice(index, 1, props);\n } else {\n injection.tabs.push(props);\n }\n\n const isActive = computed(() => toUndefined(injection.activeLabel.value) === props.label);\n\n return () => {\n return withDirectives(\n h(\n 'section',\n {\n class: 'tab-item',\n 'aria-label': props.label\n },\n slots.default && slots.default({ isActive: toUndefined(injection.activeLabel.value) === props.label })\n ),\n [[vShow, isActive.value]]\n );\n };\n }\n});\n"],"sourceRoot":"","file":"BTabItem.js"}

150
node_modules/buetify/lib/components/tabs/BTabs.d.ts generated vendored Executable file
View File

@@ -0,0 +1,150 @@
import '../../sass/helpers/animations.sass';
import '../../sass/helpers/flex-helpers.sass';
import '../../sass/helpers/padding-margin-helpers.sass';
import './tabs.sass';
import { AllColorsVariant } from '../../types/ColorVariants';
import { PropType, ExtractPropTypes, VNode } from 'vue';
export declare type TabsPosition = 'is-centered' | 'is-right' | '';
export declare type TabsType = 'is-boxed' | 'is-toggle' | 'is-toggle-rounded' | '';
export declare type TabsSize = 'is-small' | 'is-medium' | 'is-large' | '';
export declare const BTabsPropsDefinition: {
isExpanded: {
type: PropType<boolean>;
default: boolean;
};
type: {
type: PropType<TabsType>;
default: "";
};
size: {
type: PropType<import("../..").SizeVariant>;
default: "";
};
position: {
type: PropType<import("../pagination/BPagination").PaginationPosition>;
default: "";
};
label: {
type: PropType<string>;
};
variant: {
type: PropType<AllColorsVariant>;
default: "";
};
isAnimated: {
type: PropType<boolean>;
default: boolean;
};
isScrollable: {
type: PropType<boolean>;
default: boolean;
};
isVertical: {
type: PropType<boolean>;
default: boolean;
};
themeMap: {
type: PropType<import("../..").ThemeColorMap>;
required: boolean;
default: import("fp-ts/lib/function").Lazy<import("../..").ThemeColorMap>;
};
isThemeable: {
type: PropType<boolean>;
required: boolean;
default: boolean;
};
modelValue: {
type: PropType<number>;
required: false;
};
'onUpdate:modelValue': {
type: PropType<import("fp-ts/lib/function").FunctionN<[number], void>>;
default: import("fp-ts/lib/function").Lazy<import("fp-ts/lib/function").FunctionN<[number], void>>;
};
};
export declare type BTabsProps = ExtractPropTypes<typeof BTabsPropsDefinition>;
declare const _default: import("vue").DefineComponent<{
isExpanded: {
type: PropType<boolean>;
default: boolean;
};
type: {
type: PropType<TabsType>;
default: "";
};
size: {
type: PropType<import("../..").SizeVariant>;
default: "";
};
position: {
type: PropType<import("../pagination/BPagination").PaginationPosition>;
default: "";
};
label: {
type: PropType<string>;
};
variant: {
type: PropType<AllColorsVariant>;
default: "";
};
isAnimated: {
type: PropType<boolean>;
default: boolean;
};
isScrollable: {
type: PropType<boolean>;
default: boolean;
};
isVertical: {
type: PropType<boolean>;
default: boolean;
};
themeMap: {
type: PropType<import("../..").ThemeColorMap>;
required: boolean;
default: import("fp-ts/lib/function").Lazy<import("../..").ThemeColorMap>;
};
isThemeable: {
type: PropType<boolean>;
required: boolean;
default: boolean;
};
modelValue: {
type: PropType<number>;
required: false;
};
'onUpdate:modelValue': {
type: PropType<import("fp-ts/lib/function").FunctionN<[number], void>>;
default: import("fp-ts/lib/function").Lazy<import("fp-ts/lib/function").FunctionN<[number], void>>;
};
}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
isThemeable: boolean;
themeMap: import("../..").ThemeColorMap;
variant: AllColorsVariant;
size: import("../..").SizeVariant;
isExpanded: boolean;
type: TabsType;
position: import("../pagination/BPagination").PaginationPosition;
"onUpdate:modelValue": import("fp-ts/lib/function").FunctionN<[number], void>;
isAnimated: boolean;
isVertical: boolean;
isScrollable: boolean;
} & {
label?: string | undefined;
modelValue?: number | undefined;
}>, {
isThemeable: boolean;
themeMap: import("../..").ThemeColorMap;
variant: AllColorsVariant;
size: import("../..").SizeVariant;
isExpanded: boolean;
type: TabsType;
position: import("../pagination/BPagination").PaginationPosition;
"onUpdate:modelValue": import("fp-ts/lib/function").FunctionN<[number], void>;
isAnimated: boolean;
isVertical: boolean;
isScrollable: boolean;
}>;
export default _default;

168
node_modules/buetify/lib/components/tabs/BTabs.js generated vendored Executable file
View File

@@ -0,0 +1,168 @@
import "../../../src/sass/helpers/animations.sass";
import "../../../src/sass/helpers/flex-helpers.sass";
import "../../../src/sass/helpers/padding-margin-helpers.sass";
import "../../../src/components/tabs/tabs.sass";
import { lookup } from 'fp-ts/Array';
import { pipe } from 'fp-ts/function';
import { map } from 'fp-ts/Option';
import { getUseModelPropsDefinition, useModel } from '../../composables/model';
import { useThemePropsDefinition, useTheme } from '../../composables/theme';
import BScroll from '../scroll/BScroll';
import { shallowReactive, h, shallowRef, provide, nextTick, defineComponent, onBeforeMount, computed, TransitionGroup, cloneVNode, withDirectives, vShow } from 'vue';
import { TABS_SYMBOL } from './shared';
import { TabsThemeMap } from './theme';
export const BTabsPropsDefinition = { ...getUseModelPropsDefinition(),
...useThemePropsDefinition(TabsThemeMap),
isExpanded: {
type: Boolean,
default: false
},
type: {
type: String,
default: ''
},
size: {
type: String,
default: ''
},
position: {
type: String,
default: ''
},
label: {
type: String
},
variant: {
type: String,
default: ''
},
isAnimated: {
type: Boolean,
default: true
},
isScrollable: {
type: Boolean,
default: false
},
isVertical: {
type: Boolean,
default: false
}
};
function useOnTabItemClick(tab, index, model, transition) {
return () => {
const val = model.modelValue.value || 0;
if (val !== index) {
transition.value = index < val ? 'slide-next' : 'slide-prev';
nextTick(() => {
model.modelValue.value = index;
});
}
};
}
function useGenerateNavItem(props, model, transition) {
return function generateNavItem(tab, index) {
return withDirectives(h('li', {
key: tab.label,
class: [{
'is-active': index === model.modelValue.value,
'is-disabled': tab.isDisabled
}]
}, [h('a', {
onClick: useOnTabItemClick(tab, index, model, transition)
}, tab.icon ? [h(tab.icon, {
size: props.size
}), tab.label] : tab.label)]), [[vShow, tab.isVisible]]);
};
}
function generateNavLabel(props) {
return h('label', {
class: ['label is-marginless align-self-center', props.size]
}, props.label);
}
function generateNavItems(props, tabs, model, transition) {
return h('ul', tabs.map(useGenerateNavItem(props, model, transition)));
}
function generateNavHeaderContent(props, tabs, model, transition, themeClasses) {
return h('nav', {
class: ['tabs', props.type, props.size, props.position, {
'is-fullwidth': !!props.isExpanded || !!props.isScrollable,
'is-toggle-rounded is-toggle': props.type === 'is-toggle-rounded'
}].concat(props.variant === '' ? themeClasses : [props.variant])
}, props.label ? [generateNavLabel(props), generateNavItems(props, tabs, model, transition)] : [generateNavItems(props, tabs, model, transition)]);
}
function generateNavHeader(props, tabs, model, transition, themeClasses) {
return props.isScrollable ? h(BScroll, {
class: props.isVertical ? 'is-fullheight' : 'is-fullwidth'
}, () => [generateNavHeaderContent(props, tabs, model, transition, themeClasses)]) : generateNavHeaderContent(props, tabs, model, transition, themeClasses);
}
function BStaticTabContent(_, {
slots
}) {
return h('div', {
class: 'tab-content'
}, slots.default && slots.default());
}
export default defineComponent({
name: 'b-tabs',
props: BTabsPropsDefinition,
setup(props, context) {
const {
themeClasses
} = useTheme(props);
const model = useModel(props);
const transition = shallowRef('slide-next');
const tabs = shallowReactive([]);
const isTransitioning = shallowRef(false);
const activeLabel = computed(() => pipe(tabs, lookup(model.modelValue.value || 0), map(p => p.label)));
const injection = {
activeLabel,
tabs
};
provide(TABS_SYMBOL, injection);
onBeforeMount(() => {
if (model.modelValue.value === undefined) {
model.modelValue.value = 0;
}
});
function onBeforeEnter() {
isTransitioning.value = true;
}
function onAfterLeave() {
isTransitioning.value = false;
}
return () => {
return h('article', {
class: ['b-tabs', props.size || null, {
'is-vertical': props.isVertical,
[props.position]: props.position && props.isVertical
}]
}, [generateNavHeader(props, tabs, model, transition, themeClasses.value), props.isAnimated ? h('div', {
class: ['tab-content', {
'is-transitioning': isTransitioning.value
}]
}, h(TransitionGroup, {
onBeforeEnter,
onAfterLeave,
name: transition.value
}, () => context.slots.default && context.slots.default().map((node, index) => cloneVNode(node, {
key: tabs[index]?.label ?? index
})))) : h(BStaticTabContent, context.slots.default)]);
};
}
});
//# sourceMappingURL=BTabs.js.map

1
node_modules/buetify/lib/components/tabs/BTabs.js.map generated vendored Executable file

File diff suppressed because one or more lines are too long

4
node_modules/buetify/lib/components/tabs/index.d.ts generated vendored Executable file
View File

@@ -0,0 +1,4 @@
import BTabItem from './BTabItem';
import BTabs from './BTabs';
import { TabsThemeMap } from './theme';
export { BTabItem, BTabs, TabsThemeMap };

5
node_modules/buetify/lib/components/tabs/index.js generated vendored Executable file
View File

@@ -0,0 +1,5 @@
import BTabItem from './BTabItem';
import BTabs from './BTabs';
import { TabsThemeMap } from './theme';
export { BTabItem, BTabs, TabsThemeMap };
//# sourceMappingURL=index.js.map

1
node_modules/buetify/lib/components/tabs/index.js.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/components/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAP,MAAqB,YAArB;AACA,OAAO,KAAP,MAAkB,SAAlB;AACA,SAAS,YAAT,QAA6B,SAA7B;AAEA,SAAS,QAAT,EAAmB,KAAnB,EAA0B,YAA1B","sourcesContent":["import BTabItem from './BTabItem';\nimport BTabs from './BTabs';\nimport { TabsThemeMap } from './theme';\n\nexport { BTabItem, BTabs, TabsThemeMap };\n"],"sourceRoot":"","file":"index.js"}

27
node_modules/buetify/lib/components/tabs/shared.d.ts generated vendored Executable file
View File

@@ -0,0 +1,27 @@
import { Option } from 'fp-ts/lib/Option';
import { PropType, ExtractPropTypes, Component, Ref } from 'vue';
export declare const TABS_SYMBOL: unique symbol;
export declare const TAB_ITEM_NAME = "b-tab-item";
export declare const BTabItemPropsDefinition: {
label: {
type: PropType<string>;
required: true;
};
icon: {
type: PropType<Component<any, any, any, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions>>;
};
isDisabled: {
type: PropType<boolean>;
default: boolean;
};
isVisible: {
type: PropType<boolean>;
default: boolean;
};
};
export declare type BTabItemProps = ExtractPropTypes<typeof BTabItemPropsDefinition>;
export interface TabInjection {
activeLabel: Ref<Option<string>>;
tabs: BTabItemProps[];
}
export declare const DEFAULT_TAB_INJECTION: TabInjection;

26
node_modules/buetify/lib/components/tabs/shared.js generated vendored Executable file
View File

@@ -0,0 +1,26 @@
import { none } from 'fp-ts/lib/Option';
import { shallowRef } from 'vue';
export const TABS_SYMBOL = Symbol('tabs');
export const TAB_ITEM_NAME = 'b-tab-item';
export const BTabItemPropsDefinition = {
label: {
type: String,
required: true
},
icon: {
type: [Function, Object]
},
isDisabled: {
type: Boolean,
default: false
},
isVisible: {
type: Boolean,
default: true
}
};
export const DEFAULT_TAB_INJECTION = {
activeLabel: shallowRef(none),
tabs: []
};
//# sourceMappingURL=shared.js.map

1
node_modules/buetify/lib/components/tabs/shared.js.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/components/tabs/shared.ts"],"names":[],"mappings":"AAAA,SAAS,IAAT,QAA6B,kBAA7B;AACA,SAAqD,UAArD,QAAuE,KAAvE;AAEA,OAAO,MAAM,WAAW,GAAG,MAAM,CAAC,MAAD,CAA1B;AAEP,OAAO,MAAM,aAAa,GAAG,YAAtB;AAEP,OAAO,MAAM,uBAAuB,GAAG;AACrC,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE,MADD;AAEL,IAAA,QAAQ,EAAE;AAFL,GAD8B;AAKrC,EAAA,IAAI,EAAE;AACJ,IAAA,IAAI,EAAE,CAAC,QAAD,EAAW,MAAX;AADF,GAL+B;AAQrC,EAAA,UAAU,EAAE;AACV,IAAA,IAAI,EAAE,OADI;AAEV,IAAA,OAAO,EAAE;AAFC,GARyB;AAYrC,EAAA,SAAS,EAAE;AACT,IAAA,IAAI,EAAE,OADG;AAET,IAAA,OAAO,EAAE;AAFA;AAZ0B,CAAhC;AAyBP,OAAO,MAAM,qBAAqB,GAAiB;AACjD,EAAA,WAAW,EAAE,UAAU,CAAC,IAAD,CAD0B;AAEjD,EAAA,IAAI,EAAE;AAF2C,CAA5C","sourcesContent":["import { none, Option } from 'fp-ts/lib/Option';\nimport { PropType, ExtractPropTypes, Component, Ref, shallowRef } from 'vue';\n\nexport const TABS_SYMBOL = Symbol('tabs');\n\nexport const TAB_ITEM_NAME = 'b-tab-item';\n\nexport const BTabItemPropsDefinition = {\n label: {\n type: String as PropType<string>,\n required: true as const\n },\n icon: {\n type: [Function, Object] as PropType<Component>\n },\n isDisabled: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n isVisible: {\n type: Boolean as PropType<boolean>,\n default: true\n }\n};\n\nexport type BTabItemProps = ExtractPropTypes<typeof BTabItemPropsDefinition>;\n\nexport interface TabInjection {\n activeLabel: Ref<Option<string>>;\n tabs: BTabItemProps[];\n}\n\nexport const DEFAULT_TAB_INJECTION: TabInjection = {\n activeLabel: shallowRef(none),\n tabs: []\n};\n"],"sourceRoot":"","file":"shared.js"}

4
node_modules/buetify/lib/components/tabs/theme.d.ts generated vendored Executable file
View File

@@ -0,0 +1,4 @@
export declare const TabsThemeMap: {
dark: string;
light: string;
};

5
node_modules/buetify/lib/components/tabs/theme.js generated vendored Executable file
View File

@@ -0,0 +1,5 @@
export const TabsThemeMap = {
dark: 'is-link',
light: ''
};
//# sourceMappingURL=theme.js.map

1
node_modules/buetify/lib/components/tabs/theme.js.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/components/tabs/theme.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,YAAY,GAAG;AAC1B,EAAA,IAAI,EAAE,SADoB;AAE1B,EAAA,KAAK,EAAE;AAFmB,CAArB","sourcesContent":["export const TabsThemeMap = {\n dark: 'is-link',\n light: ''\n};\n"],"sourceRoot":"","file":"theme.js"}