init component
This commit is contained in:
54
node_modules/buetify/lib/components/sidebar/BSidebar.d.ts
generated
vendored
Executable file
54
node_modules/buetify/lib/components/sidebar/BSidebar.d.ts
generated
vendored
Executable file
@@ -0,0 +1,54 @@
|
||||
import './sidebar.sass';
|
||||
import { VNode, PropType, ExtractPropTypes } from 'vue';
|
||||
export declare const BSidebarPropsDefinition: {
|
||||
tag: {
|
||||
type: PropType<string>;
|
||||
default: string;
|
||||
};
|
||||
currentRoute: {
|
||||
required: 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;
|
||||
};
|
||||
};
|
||||
export declare type BNavigationDrawerProps = ExtractPropTypes<typeof BSidebarPropsDefinition>;
|
||||
declare const _default: import("vue").DefineComponent<{
|
||||
tag: {
|
||||
type: PropType<string>;
|
||||
default: string;
|
||||
};
|
||||
currentRoute: {
|
||||
required: 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;
|
||||
};
|
||||
}, () => 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;
|
||||
tag: string;
|
||||
} & {
|
||||
currentRoute?: unknown;
|
||||
}>, {
|
||||
isThemeable: boolean;
|
||||
themeMap: import("../..").ThemeColorMap;
|
||||
tag: string;
|
||||
}>;
|
||||
export default _default;
|
||||
81
node_modules/buetify/lib/components/sidebar/BSidebar.js
generated
vendored
Executable file
81
node_modules/buetify/lib/components/sidebar/BSidebar.js
generated
vendored
Executable file
@@ -0,0 +1,81 @@
|
||||
import "../../../src/components/sidebar/sidebar.sass";
|
||||
import { useThemePropsDefinition, useTheme } from '../../composables/theme';
|
||||
import { useWindowSize } from '../../composables/windowSize';
|
||||
import { SlideRightTransition } from '../../transitions/slideRightTransition';
|
||||
import { defineComponent, h, computed, watch, toRef, withDirectives, vShow } from 'vue';
|
||||
import BOverlay from '../overlay/BOverlay';
|
||||
import { useSidebarController } from './composables';
|
||||
import { SidebarThemeMap } from './theme';
|
||||
export const BSidebarPropsDefinition = { ...useThemePropsDefinition(SidebarThemeMap),
|
||||
tag: {
|
||||
type: String,
|
||||
default: 'nav'
|
||||
},
|
||||
currentRoute: {
|
||||
required: false
|
||||
}
|
||||
};
|
||||
|
||||
function generateDrawer(props, controller, themeClasses, context) {
|
||||
return h(props.tag, {
|
||||
class: ['b-sidebar', ...themeClasses]
|
||||
}, context.slots.default && context.slots.default({
|
||||
showSidebar: controller.show,
|
||||
hideSidebar: controller.hide,
|
||||
sidebarIsVisible: controller.isVisible.value,
|
||||
toggleSidebar: controller.toggle
|
||||
}));
|
||||
}
|
||||
|
||||
function generateMobileDrawer(props, controller, themeClasses, context) {
|
||||
return h(SlideRightTransition, undefined, () => withDirectives(h(BOverlay, {
|
||||
class: 'is-left',
|
||||
isActive: controller.isVisible.value,
|
||||
onClick: controller.hide
|
||||
}, () => generateDrawer(props, controller, themeClasses, context)), [[vShow, controller.isVisible.value]]));
|
||||
}
|
||||
|
||||
export default defineComponent({
|
||||
name: 'b-sidebar',
|
||||
props: BSidebarPropsDefinition,
|
||||
|
||||
setup(props, context) {
|
||||
const controller = useSidebarController();
|
||||
const windowSize = useWindowSize();
|
||||
const {
|
||||
themeClasses
|
||||
} = useTheme(props);
|
||||
const useSideDrawer = computed(() => {
|
||||
return windowSize.value.isTouch || windowSize.value.isDesktop;
|
||||
});
|
||||
watch(useSideDrawer, (newValue, oldValue) => {
|
||||
if (newValue === oldValue && oldValue !== undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (newValue) {
|
||||
controller.hide();
|
||||
} else {
|
||||
controller.show();
|
||||
}
|
||||
}, {
|
||||
immediate: true
|
||||
});
|
||||
watch(toRef(props, 'currentRoute'), () => {
|
||||
if (useSideDrawer.value) {
|
||||
controller.hide();
|
||||
}
|
||||
}, {
|
||||
deep: false
|
||||
});
|
||||
return () => {
|
||||
if (useSideDrawer.value) {
|
||||
return generateMobileDrawer(props, controller, themeClasses.value, context);
|
||||
} else {
|
||||
return generateDrawer(props, controller, themeClasses.value, context);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
});
|
||||
//# sourceMappingURL=BSidebar.js.map
|
||||
1
node_modules/buetify/lib/components/sidebar/BSidebar.js.map
generated
vendored
Executable file
1
node_modules/buetify/lib/components/sidebar/BSidebar.js.map
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
30
node_modules/buetify/lib/components/sidebar/composables.d.ts
generated
vendored
Executable file
30
node_modules/buetify/lib/components/sidebar/composables.d.ts
generated
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
import { Option } from 'fp-ts/lib/Option';
|
||||
import { Ref, ExtractPropTypes, PropType } from 'vue';
|
||||
import { IO } from 'fp-ts/lib/IO';
|
||||
import { ToggleAttrs, ToggleListeners } from '../../composables/toggle';
|
||||
export interface SidebarController {
|
||||
isVisible: Ref<boolean>;
|
||||
attrs: Ref<Option<ToggleAttrs>>;
|
||||
listeners: Ref<Option<ToggleListeners>>;
|
||||
show: IO<void>;
|
||||
hide: IO<void>;
|
||||
toggle: IO<void>;
|
||||
}
|
||||
export declare const ProvideSidebarControllerPropsDefinition: {
|
||||
currentRoute: {
|
||||
required: boolean;
|
||||
};
|
||||
isVisible: {
|
||||
type: PropType<boolean>;
|
||||
required: boolean;
|
||||
default: boolean;
|
||||
};
|
||||
hasPopup: {
|
||||
type: PropType<boolean>;
|
||||
required: boolean;
|
||||
default: boolean;
|
||||
};
|
||||
};
|
||||
export declare type ProvideNavigationDrawerControllerProps = ExtractPropTypes<typeof ProvideSidebarControllerPropsDefinition>;
|
||||
export declare function useSidebarController(): SidebarController;
|
||||
export declare function provideSidebarController(props: ProvideNavigationDrawerControllerProps): SidebarController;
|
||||
46
node_modules/buetify/lib/components/sidebar/composables.js
generated
vendored
Executable file
46
node_modules/buetify/lib/components/sidebar/composables.js
generated
vendored
Executable file
@@ -0,0 +1,46 @@
|
||||
import { constVoid } from 'fp-ts/lib/function';
|
||||
import { none, some } from 'fp-ts/lib/Option';
|
||||
import { shallowRef, computed, provide, inject } from 'vue';
|
||||
import { useToggle } from '../../composables/toggle';
|
||||
import { DEFAULT_BREAK_POINTS } from '../../composables/windowSize/provideWindowSize';
|
||||
const SIDEBAR_CONTROLLER_INJECTION_SYMBOL = Symbol('navigation-drawer-controller');
|
||||
export const ProvideSidebarControllerPropsDefinition = {
|
||||
currentRoute: {
|
||||
required: false
|
||||
},
|
||||
isVisible: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: !!window && window.innerWidth > DEFAULT_BREAK_POINTS.value.desktop
|
||||
},
|
||||
hasPopup: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true
|
||||
}
|
||||
};
|
||||
const DEFAULT_SIDEBAR_CONTROLLER_INJECTION = {
|
||||
isVisible: shallowRef(false),
|
||||
attrs: shallowRef(none),
|
||||
listeners: shallowRef(none),
|
||||
show: constVoid,
|
||||
hide: constVoid,
|
||||
toggle: constVoid
|
||||
};
|
||||
export function useSidebarController() {
|
||||
return inject(SIDEBAR_CONTROLLER_INJECTION_SYMBOL, DEFAULT_SIDEBAR_CONTROLLER_INJECTION);
|
||||
}
|
||||
export function provideSidebarController(props) {
|
||||
const toggle = useToggle(props, 'isVisible');
|
||||
const injection = {
|
||||
isVisible: toggle.isOn,
|
||||
listeners: computed(() => some(toggle.listeners)),
|
||||
attrs: computed(() => some(toggle.attrs.value)),
|
||||
show: toggle.setOn,
|
||||
hide: toggle.setOff,
|
||||
toggle: toggle.toggle
|
||||
};
|
||||
provide(SIDEBAR_CONTROLLER_INJECTION_SYMBOL, injection);
|
||||
return injection;
|
||||
}
|
||||
//# sourceMappingURL=composables.js.map
|
||||
1
node_modules/buetify/lib/components/sidebar/composables.js.map
generated
vendored
Executable file
1
node_modules/buetify/lib/components/sidebar/composables.js.map
generated
vendored
Executable file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/components/sidebar/composables.ts"],"names":[],"mappings":"AAAA,SAAS,SAAT,QAA0B,oBAA1B;AACA,SAAS,IAAT,EAAuB,IAAvB,QAAmC,kBAAnC;AACA,SAAgC,UAAhC,EAAsD,QAAtD,EAAgE,OAAhE,EAAyE,MAAzE,QAAuF,KAAvF;AAEA,SAAuC,SAAvC,QAAwD,0BAAxD;AACA,SAAS,oBAAT,QAAqC,gDAArC;AAWA,MAAM,mCAAmC,GAAG,MAAM,CAAC,8BAAD,CAAlD;AAEA,OAAO,MAAM,uCAAuC,GAAG;AACrD,EAAA,YAAY,EAAE;AACZ,IAAA,QAAQ,EAAE;AADE,GADuC;AAIrD,EAAA,SAAS,EAAE;AACT,IAAA,IAAI,EAAE,OADG;AAET,IAAA,QAAQ,EAAE,KAFD;AAGT,IAAA,OAAO,EAAE,CAAC,CAAC,MAAF,IAAY,MAAM,CAAC,UAAP,GAAoB,oBAAoB,CAAC,KAArB,CAA2B;AAH3D,GAJ0C;AASrD,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,OADE;AAER,IAAA,QAAQ,EAAE,KAFF;AAGR,IAAA,OAAO,EAAE;AAHD;AAT2C,CAAhD;AAkBP,MAAM,oCAAoC,GAAsB;AAC9D,EAAA,SAAS,EAAE,UAAU,CAAC,KAAD,CADyC;AAE9D,EAAA,KAAK,EAAE,UAAU,CAAC,IAAD,CAF6C;AAG9D,EAAA,SAAS,EAAE,UAAU,CAAC,IAAD,CAHyC;AAI9D,EAAA,IAAI,EAAE,SAJwD;AAK9D,EAAA,IAAI,EAAE,SALwD;AAM9D,EAAA,MAAM,EAAE;AANsD,CAAhE;AASA,OAAM,SAAU,oBAAV,GAA8B;AAClC,SAAO,MAAM,CAAC,mCAAD,EAAsC,oCAAtC,CAAb;AACD;AAED,OAAM,SAAU,wBAAV,CAAmC,KAAnC,EAAgF;AACpF,QAAM,MAAM,GAAG,SAAS,CAAC,KAAD,EAAQ,WAAR,CAAxB;AACA,QAAM,SAAS,GAAsB;AACnC,IAAA,SAAS,EAAE,MAAM,CAAC,IADiB;AAEnC,IAAA,SAAS,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAR,CAAX,CAFgB;AAGnC,IAAA,KAAK,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAP,CAAa,KAAd,CAAX,CAHoB;AAInC,IAAA,IAAI,EAAE,MAAM,CAAC,KAJsB;AAKnC,IAAA,IAAI,EAAE,MAAM,CAAC,MALsB;AAMnC,IAAA,MAAM,EAAE,MAAM,CAAC;AANoB,GAArC;AAQA,EAAA,OAAO,CAAC,mCAAD,EAAsC,SAAtC,CAAP;AACA,SAAO,SAAP;AACD","sourcesContent":["import { constVoid } from 'fp-ts/lib/function';\nimport { none, Option, some } from 'fp-ts/lib/Option';\nimport { Ref, ExtractPropTypes, shallowRef, PropType, computed, provide, inject } from 'vue';\nimport { IO } from 'fp-ts/lib/IO';\nimport { ToggleAttrs, ToggleListeners, useToggle } from '../../composables/toggle';\nimport { DEFAULT_BREAK_POINTS } from '../../composables/windowSize/provideWindowSize';\n\nexport interface SidebarController {\n isVisible: Ref<boolean>;\n attrs: Ref<Option<ToggleAttrs>>;\n listeners: Ref<Option<ToggleListeners>>;\n show: IO<void>;\n hide: IO<void>;\n toggle: IO<void>;\n}\n\nconst SIDEBAR_CONTROLLER_INJECTION_SYMBOL = Symbol('navigation-drawer-controller');\n\nexport const ProvideSidebarControllerPropsDefinition = {\n currentRoute: {\n required: false\n },\n isVisible: {\n type: Boolean as PropType<boolean>,\n required: false,\n default: !!window && window.innerWidth > DEFAULT_BREAK_POINTS.value.desktop\n },\n hasPopup: {\n type: Boolean as PropType<boolean>,\n required: false,\n default: true\n }\n};\n\nexport type ProvideNavigationDrawerControllerProps = ExtractPropTypes<typeof ProvideSidebarControllerPropsDefinition>;\n\nconst DEFAULT_SIDEBAR_CONTROLLER_INJECTION: SidebarController = {\n isVisible: shallowRef(false),\n attrs: shallowRef(none),\n listeners: shallowRef(none),\n show: constVoid,\n hide: constVoid,\n toggle: constVoid\n};\n\nexport function useSidebarController(): SidebarController {\n return inject(SIDEBAR_CONTROLLER_INJECTION_SYMBOL, DEFAULT_SIDEBAR_CONTROLLER_INJECTION);\n}\n\nexport function provideSidebarController(props: ProvideNavigationDrawerControllerProps) {\n const toggle = useToggle(props, 'isVisible');\n const injection: SidebarController = {\n isVisible: toggle.isOn,\n listeners: computed(() => some(toggle.listeners)),\n attrs: computed(() => some(toggle.attrs.value)),\n show: toggle.setOn,\n hide: toggle.setOff,\n toggle: toggle.toggle\n };\n provide(SIDEBAR_CONTROLLER_INJECTION_SYMBOL, injection);\n return injection;\n}\n"],"sourceRoot":"","file":"composables.js"}
|
||||
4
node_modules/buetify/lib/components/sidebar/index.d.ts
generated
vendored
Executable file
4
node_modules/buetify/lib/components/sidebar/index.d.ts
generated
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
import BSidebar from './BSidebar';
|
||||
import { SidebarThemeMap } from './theme';
|
||||
export { BSidebar, SidebarThemeMap };
|
||||
export default BSidebar;
|
||||
5
node_modules/buetify/lib/components/sidebar/index.js
generated
vendored
Executable file
5
node_modules/buetify/lib/components/sidebar/index.js
generated
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
import BSidebar from './BSidebar';
|
||||
import { SidebarThemeMap } from './theme';
|
||||
export { BSidebar, SidebarThemeMap };
|
||||
export default BSidebar;
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/buetify/lib/components/sidebar/index.js.map
generated
vendored
Executable file
1
node_modules/buetify/lib/components/sidebar/index.js.map
generated
vendored
Executable file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/components/sidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAP,MAAqB,YAArB;AACA,SAAS,eAAT,QAAgC,SAAhC;AAEA,SAAS,QAAT,EAAmB,eAAnB;AAEA,eAAe,QAAf","sourcesContent":["import BSidebar from './BSidebar';\nimport { SidebarThemeMap } from './theme';\n\nexport { BSidebar, SidebarThemeMap };\n\nexport default BSidebar;\n"],"sourceRoot":"","file":"index.js"}
|
||||
2
node_modules/buetify/lib/components/sidebar/theme.d.ts
generated
vendored
Executable file
2
node_modules/buetify/lib/components/sidebar/theme.d.ts
generated
vendored
Executable file
@@ -0,0 +1,2 @@
|
||||
import { ThemeColorMap } from '../../types/ThemeColorMap';
|
||||
export declare const SidebarThemeMap: ThemeColorMap;
|
||||
6
node_modules/buetify/lib/components/sidebar/theme.js
generated
vendored
Executable file
6
node_modules/buetify/lib/components/sidebar/theme.js
generated
vendored
Executable file
@@ -0,0 +1,6 @@
|
||||
import { shallowReactive } from 'vue';
|
||||
export const SidebarThemeMap = shallowReactive({
|
||||
dark: 'is-black-bis',
|
||||
light: 'is-grey-darker'
|
||||
});
|
||||
//# sourceMappingURL=theme.js.map
|
||||
1
node_modules/buetify/lib/components/sidebar/theme.js.map
generated
vendored
Executable file
1
node_modules/buetify/lib/components/sidebar/theme.js.map
generated
vendored
Executable file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/components/sidebar/theme.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,QAAgC,KAAhC;AAGA,OAAO,MAAM,eAAe,GAAkB,eAAe,CAAC;AAC5D,EAAA,IAAI,EAAE,cADsD;AAE5D,EAAA,KAAK,EAAE;AAFqD,CAAD,CAAtD","sourcesContent":["import { shallowReactive } from 'vue';\nimport { ThemeColorMap } from '../../types/ThemeColorMap';\n\nexport const SidebarThemeMap: ThemeColorMap = shallowReactive({\n dark: 'is-black-bis',\n light: 'is-grey-darker'\n});\n"],"sourceRoot":"","file":"theme.js"}
|
||||
Reference in New Issue
Block a user