@bitrix24/b24ui-nuxt 0.5.11 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nuxt/b24ui/input-menu.ts +2 -2
- package/.nuxt/b24ui/select-menu.ts +4 -4
- package/.nuxt/b24ui/select.ts +2 -2
- package/dist/meta.d.mts +5208 -5061
- package/dist/meta.mjs +5208 -5061
- package/dist/module.json +3 -3
- package/dist/module.mjs +2 -2
- package/dist/runtime/components/Advice.vue +27 -54
- package/dist/runtime/components/Advice.vue.d.ts +170 -0
- package/dist/runtime/components/Alert.vue +35 -96
- package/dist/runtime/components/Alert.vue.d.ts +464 -0
- package/dist/runtime/components/App.vue +24 -34
- package/dist/runtime/components/App.vue.d.ts +23 -0
- package/dist/runtime/components/Avatar.vue +43 -81
- package/dist/runtime/components/Avatar.vue.d.ts +281 -0
- package/dist/runtime/components/AvatarGroup.vue +40 -76
- package/dist/runtime/components/AvatarGroup.vue.d.ts +204 -0
- package/dist/runtime/components/Badge.vue +40 -83
- package/dist/runtime/components/Badge.vue.d.ts +517 -0
- package/dist/runtime/components/Button.vue +96 -155
- package/dist/runtime/components/Button.vue.d.ts +640 -0
- package/dist/runtime/components/ButtonGroup.vue +19 -51
- package/dist/runtime/components/ButtonGroup.vue.d.ts +116 -0
- package/dist/runtime/components/Calendar.vue +73 -152
- package/dist/runtime/components/Calendar.vue.d.ts +437 -0
- package/dist/runtime/components/Checkbox.vue +42 -73
- package/dist/runtime/components/Checkbox.vue.d.ts +354 -0
- package/dist/runtime/components/Chip.vue +26 -74
- package/dist/runtime/components/Chip.vue.d.ts +271 -0
- package/dist/runtime/components/Collapsible.vue +22 -41
- package/dist/runtime/components/Collapsible.vue.d.ts +118 -0
- package/dist/runtime/components/Container.vue +13 -27
- package/dist/runtime/components/Container.vue.d.ts +27 -0
- package/dist/runtime/components/Countdown.vue +153 -378
- package/dist/runtime/components/Countdown.vue.d.ts +356 -0
- package/dist/runtime/components/DescriptionList.vue +78 -149
- package/dist/runtime/components/DescriptionList.vue.d.ts +379 -0
- package/dist/runtime/components/DropdownMenu.vue +38 -139
- package/dist/runtime/components/DropdownMenu.vue.d.ts +533 -0
- package/dist/runtime/components/DropdownMenuContent.vue +68 -80
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +228 -0
- package/dist/runtime/components/Form.vue +130 -217
- package/dist/runtime/components/Form.vue.d.ts +55 -0
- package/dist/runtime/components/FormField.vue +36 -80
- package/dist/runtime/components/FormField.vue.d.ts +282 -0
- package/dist/runtime/components/Input.vue +79 -179
- package/dist/runtime/components/Input.vue.d.ts +755 -0
- package/dist/runtime/components/InputMenu.vue +185 -381
- package/dist/runtime/components/InputMenu.vue.d.ts +1523 -0
- package/dist/runtime/components/InputNumber.vue +77 -175
- package/dist/runtime/components/InputNumber.vue.d.ts +658 -0
- package/dist/runtime/components/Kbd.vue +18 -45
- package/dist/runtime/components/Kbd.vue.d.ts +109 -0
- package/dist/runtime/components/Link.vue +92 -173
- package/dist/runtime/components/Link.vue.d.ts +129 -0
- package/dist/runtime/components/LinkBase.vue +33 -42
- package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
- package/dist/runtime/components/Modal.vue +48 -127
- package/dist/runtime/components/Modal.vue.d.ts +327 -0
- package/dist/runtime/components/ModalDialogClose.vue +5 -8
- package/dist/runtime/components/ModalDialogClose.vue.d.ts +10 -0
- package/dist/runtime/components/Navbar.vue +15 -33
- package/dist/runtime/components/Navbar.vue.d.ts +101 -0
- package/dist/runtime/components/NavbarDivider.vue +15 -33
- package/dist/runtime/components/NavbarDivider.vue.d.ts +101 -0
- package/dist/runtime/components/NavbarSection.vue +15 -33
- package/dist/runtime/components/NavbarSection.vue.d.ts +101 -0
- package/dist/runtime/components/NavbarSpacer.vue +15 -33
- package/dist/runtime/components/NavbarSpacer.vue.d.ts +101 -0
- package/dist/runtime/components/NavigationMenu.vue +74 -208
- package/dist/runtime/components/NavigationMenu.vue.d.ts +824 -0
- package/dist/runtime/components/OverlayProvider.vue +14 -18
- package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
- package/dist/runtime/components/Popover.vue +40 -81
- package/dist/runtime/components/Popover.vue.d.ts +147 -0
- package/dist/runtime/components/Progress.vue +70 -136
- package/dist/runtime/components/Progress.vue.d.ts +592 -0
- package/dist/runtime/components/RadioGroup.vue +59 -134
- package/dist/runtime/components/RadioGroup.vue.d.ts +723 -0
- package/dist/runtime/components/Range.vue +46 -85
- package/dist/runtime/components/Range.vue.d.ts +417 -0
- package/dist/runtime/components/Select.vue +110 -260
- package/dist/runtime/components/Select.vue.d.ts +1201 -0
- package/dist/runtime/components/SelectMenu.vue +161 -347
- package/dist/runtime/components/SelectMenu.vue.d.ts +1298 -0
- package/dist/runtime/components/Separator.vue +28 -71
- package/dist/runtime/components/Separator.vue.d.ts +400 -0
- package/dist/runtime/components/Sidebar.vue +15 -33
- package/dist/runtime/components/Sidebar.vue.d.ts +101 -0
- package/dist/runtime/components/SidebarBody.vue +17 -38
- package/dist/runtime/components/SidebarBody.vue.d.ts +90 -0
- package/dist/runtime/components/SidebarFooter.vue +15 -33
- package/dist/runtime/components/SidebarFooter.vue.d.ts +101 -0
- package/dist/runtime/components/SidebarHeader.vue +15 -33
- package/dist/runtime/components/SidebarHeader.vue.d.ts +101 -0
- package/dist/runtime/components/SidebarHeading.vue +15 -33
- package/dist/runtime/components/SidebarHeading.vue.d.ts +101 -0
- package/dist/runtime/components/SidebarLayout.vue +34 -70
- package/dist/runtime/components/SidebarLayout.vue.d.ts +222 -0
- package/dist/runtime/components/SidebarSection.vue +15 -33
- package/dist/runtime/components/SidebarSection.vue.d.ts +101 -0
- package/dist/runtime/components/SidebarSpacer.vue +15 -33
- package/dist/runtime/components/SidebarSpacer.vue.d.ts +101 -0
- package/dist/runtime/components/Skeleton.vue +12 -22
- package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
- package/dist/runtime/components/Slideover.vue +50 -131
- package/dist/runtime/components/Slideover.vue.d.ts +360 -0
- package/dist/runtime/components/StackedLayout.vue +34 -73
- package/dist/runtime/components/StackedLayout.vue.d.ts +192 -0
- package/dist/runtime/components/Switch.vue +46 -95
- package/dist/runtime/components/Switch.vue.d.ts +587 -0
- package/dist/runtime/components/Tabs.vue +37 -105
- package/dist/runtime/components/Tabs.vue.d.ts +453 -0
- package/dist/runtime/components/Textarea.vue +92 -201
- package/dist/runtime/components/Textarea.vue.d.ts +601 -0
- package/dist/runtime/components/Toast.vue +47 -105
- package/dist/runtime/components/Toast.vue.d.ts +438 -0
- package/dist/runtime/components/Toaster.vue +70 -115
- package/dist/runtime/components/Toaster.vue.d.ts +219 -0
- package/dist/runtime/components/Tooltip.vue +36 -64
- package/dist/runtime/components/Tooltip.vue.d.ts +186 -0
- package/dist/runtime/components/content/TableWrapper.vue +24 -70
- package/dist/runtime/components/content/TableWrapper.vue.d.ts +237 -0
- package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
- package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
- package/dist/runtime/composables/useComponentIcons.d.ts +3 -3
- package/dist/runtime/composables/useFormField.d.ts +2 -2
- package/dist/runtime/composables/useOverlay.d.ts +14 -7
- package/dist/runtime/composables/useOverlay.js +14 -6
- package/dist/runtime/prose/A.vue +12 -23
- package/dist/runtime/prose/A.vue.d.ts +84 -0
- package/dist/runtime/prose/Blockquote.vue +12 -23
- package/dist/runtime/prose/Blockquote.vue.d.ts +84 -0
- package/dist/runtime/prose/Code.vue +14 -31
- package/dist/runtime/prose/Code.vue.d.ts +97 -0
- package/dist/runtime/prose/Em.vue +12 -23
- package/dist/runtime/prose/Em.vue.d.ts +84 -0
- package/dist/runtime/prose/H1.vue +12 -23
- package/dist/runtime/prose/H1.vue.d.ts +97 -0
- package/dist/runtime/prose/H2.vue +12 -23
- package/dist/runtime/prose/H2.vue.d.ts +123 -0
- package/dist/runtime/prose/H3.vue +12 -23
- package/dist/runtime/prose/H3.vue.d.ts +123 -0
- package/dist/runtime/prose/H4.vue +12 -23
- package/dist/runtime/prose/H4.vue.d.ts +123 -0
- package/dist/runtime/prose/H5.vue +12 -23
- package/dist/runtime/prose/H5.vue.d.ts +123 -0
- package/dist/runtime/prose/H6.vue +12 -23
- package/dist/runtime/prose/H6.vue.d.ts +123 -0
- package/dist/runtime/prose/Hr.vue +12 -19
- package/dist/runtime/prose/Hr.vue.d.ts +74 -0
- package/dist/runtime/prose/Img.vue +12 -23
- package/dist/runtime/prose/Img.vue.d.ts +77 -0
- package/dist/runtime/prose/Li.vue +12 -23
- package/dist/runtime/prose/Li.vue.d.ts +84 -0
- package/dist/runtime/prose/Ol.vue +12 -23
- package/dist/runtime/prose/Ol.vue.d.ts +84 -0
- package/dist/runtime/prose/P.vue +12 -23
- package/dist/runtime/prose/P.vue.d.ts +84 -0
- package/dist/runtime/prose/Pre.vue +16 -33
- package/dist/runtime/prose/Pre.vue.d.ts +117 -0
- package/dist/runtime/prose/Strong.vue +12 -23
- package/dist/runtime/prose/Strong.vue.d.ts +84 -0
- package/dist/runtime/prose/Table.vue +19 -54
- package/dist/runtime/prose/Table.vue.d.ts +144 -0
- package/dist/runtime/prose/Tbody.vue +12 -23
- package/dist/runtime/prose/Tbody.vue.d.ts +84 -0
- package/dist/runtime/prose/Td.vue +12 -23
- package/dist/runtime/prose/Td.vue.d.ts +84 -0
- package/dist/runtime/prose/Th.vue +12 -23
- package/dist/runtime/prose/Th.vue.d.ts +84 -0
- package/dist/runtime/prose/Thead.vue +12 -23
- package/dist/runtime/prose/Thead.vue.d.ts +84 -0
- package/dist/runtime/prose/Tr.vue +12 -23
- package/dist/runtime/prose/Tr.vue.d.ts +84 -0
- package/dist/runtime/prose/Ul.vue +12 -23
- package/dist/runtime/prose/Ul.vue.d.ts +84 -0
- package/dist/runtime/utils/link.d.ts +3 -3
- package/dist/runtime/vue/components/Link.vue +115 -202
- package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
- package/dist/shared/{b24ui-nuxt.CS9Lf0os.mjs → b24ui-nuxt.BA6Y2FnC.mjs} +6 -6
- package/dist/types.d.mts +3 -5
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +14 -22
- package/dist/meta.cjs +0 -72112
- package/dist/meta.d.cts +0 -72110
- package/dist/meta.d.ts +0 -72110
- package/dist/module.cjs +0 -63
- package/dist/module.d.cts +0 -15
- package/dist/module.d.ts +0 -15
- package/dist/shared/b24ui-nuxt.DrKwIWoc.cjs +0 -7721
- package/dist/types.d.ts +0 -7
- package/dist/unplugin.cjs +0 -236
- package/dist/unplugin.d.cts +0 -33
- package/dist/unplugin.d.ts +0 -33
- package/dist/vite.cjs +0 -21
- package/dist/vite.d.cts +0 -14
- package/dist/vite.d.ts +0 -14
|
@@ -1,90 +1,51 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const appConfigStackedLayout = _appConfig as AppConfig & { b24ui: { stackedLayout: Partial<typeof theme> } }
|
|
10
|
-
|
|
11
|
-
const stackedLayout = tv({ extend: tv(theme), ...(appConfigStackedLayout.b24ui?.stackedLayout || {}) })
|
|
12
|
-
|
|
13
|
-
// type StackedLayoutVariants = VariantProps<typeof stackedLayout>
|
|
14
|
-
|
|
15
|
-
export interface StackedLayoutProps {
|
|
16
|
-
/**
|
|
17
|
-
* The element or component this component should render as.
|
|
18
|
-
* @defaultValue 'div'
|
|
19
|
-
*/
|
|
20
|
-
as?: any
|
|
21
|
-
useLightContent?: boolean
|
|
22
|
-
class?: any
|
|
23
|
-
b24ui?: Partial<typeof stackedLayout.slots>
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface StackedLayoutSlots {
|
|
27
|
-
/**
|
|
28
|
-
* Menu for mobile screen sizes.
|
|
29
|
-
* @param props
|
|
30
|
-
* @param props.handleClick - Handler for navigation click events
|
|
31
|
-
*/
|
|
32
|
-
sidebar(props: { handleClick: () => void }): any
|
|
33
|
-
/**
|
|
34
|
-
* Menu for desktop screen sizes.
|
|
35
|
-
*/
|
|
36
|
-
navbar(props?: {}): any
|
|
37
|
-
/**
|
|
38
|
-
* The page content.
|
|
39
|
-
*/
|
|
40
|
-
default(props?: {}): any
|
|
41
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import _appConfig from "#build/app.config";
|
|
3
|
+
import theme from "#build/b24ui/stacked-layout";
|
|
4
|
+
import { tv } from "../utils/tv";
|
|
5
|
+
import { useRoute } from "vue-router";
|
|
6
|
+
const appConfigStackedLayout = _appConfig;
|
|
7
|
+
const stackedLayout = tv({ extend: tv(theme), ...appConfigStackedLayout.b24ui?.stackedLayout || {} });
|
|
42
8
|
</script>
|
|
43
9
|
|
|
44
|
-
<script setup
|
|
45
|
-
import { ref, computed, watch, onUnmounted } from
|
|
46
|
-
import { Primitive } from
|
|
47
|
-
import B24Slideover from
|
|
48
|
-
import B24Sidebar from
|
|
49
|
-
import B24ModalDialogClose from
|
|
50
|
-
import B24Navbar from
|
|
51
|
-
import MenuIcon from
|
|
52
|
-
import Cross50Icon from
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const route = useRoute()
|
|
61
|
-
const isUseSideBar = computed(() => !!slots.sidebar)
|
|
62
|
-
const openSidebarSlideover = ref(false)
|
|
63
|
-
|
|
10
|
+
<script setup>
|
|
11
|
+
import { ref, computed, watch, onUnmounted } from "vue";
|
|
12
|
+
import { Primitive } from "reka-ui";
|
|
13
|
+
import B24Slideover from "./Slideover.vue";
|
|
14
|
+
import B24Sidebar from "./Sidebar.vue";
|
|
15
|
+
import B24ModalDialogClose from "./ModalDialogClose.vue";
|
|
16
|
+
import B24Navbar from "./Navbar.vue";
|
|
17
|
+
import MenuIcon from "@bitrix24/b24icons-vue/main/MenuIcon";
|
|
18
|
+
import Cross50Icon from "@bitrix24/b24icons-vue/actions/Cross50Icon";
|
|
19
|
+
const props = defineProps({
|
|
20
|
+
as: { type: null, required: false, default: "div" },
|
|
21
|
+
useLightContent: { type: Boolean, required: false, default: true },
|
|
22
|
+
class: { type: null, required: false },
|
|
23
|
+
b24ui: { type: Object, required: false }
|
|
24
|
+
});
|
|
25
|
+
const slots = defineSlots();
|
|
26
|
+
const route = useRoute();
|
|
27
|
+
const isUseSideBar = computed(() => !!slots.sidebar);
|
|
28
|
+
const openSidebarSlideover = ref(false);
|
|
64
29
|
const b24ui = computed(() => stackedLayout({
|
|
65
30
|
useSidebar: isUseSideBar.value,
|
|
66
31
|
useLightContent: Boolean(props.useLightContent)
|
|
67
|
-
}))
|
|
68
|
-
|
|
32
|
+
}));
|
|
69
33
|
const closeModal = () => {
|
|
70
34
|
if (openSidebarSlideover.value) {
|
|
71
|
-
openSidebarSlideover.value = false
|
|
35
|
+
openSidebarSlideover.value = false;
|
|
72
36
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
37
|
+
};
|
|
75
38
|
const stopWatcher = watch(
|
|
76
39
|
() => route.path,
|
|
77
40
|
() => closeModal(),
|
|
78
41
|
{ immediate: true }
|
|
79
|
-
)
|
|
80
|
-
|
|
42
|
+
);
|
|
81
43
|
onUnmounted(() => {
|
|
82
|
-
stopWatcher()
|
|
83
|
-
})
|
|
84
|
-
|
|
44
|
+
stopWatcher();
|
|
45
|
+
});
|
|
85
46
|
const handleNavigationClick = () => {
|
|
86
|
-
closeModal()
|
|
87
|
-
}
|
|
47
|
+
closeModal();
|
|
48
|
+
};
|
|
88
49
|
</script>
|
|
89
50
|
|
|
90
51
|
<template>
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
declare const stackedLayout: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
useSidebar: {
|
|
3
|
+
true: string;
|
|
4
|
+
false: string;
|
|
5
|
+
};
|
|
6
|
+
useLightContent: {
|
|
7
|
+
true: {
|
|
8
|
+
root: string;
|
|
9
|
+
containerWrapper: string;
|
|
10
|
+
};
|
|
11
|
+
false: {
|
|
12
|
+
container: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}, {
|
|
16
|
+
root: string;
|
|
17
|
+
sidebarSlideoverContainer: string;
|
|
18
|
+
sidebarSlideover: string;
|
|
19
|
+
sidebarSlideoverBtnClose: string;
|
|
20
|
+
header: string;
|
|
21
|
+
headerMenuIcon: string;
|
|
22
|
+
headerPaddings: string;
|
|
23
|
+
headerWrapper: string;
|
|
24
|
+
container: string;
|
|
25
|
+
containerWrapper: string;
|
|
26
|
+
containerWrapperInner: string;
|
|
27
|
+
}, undefined, {
|
|
28
|
+
useSidebar: {
|
|
29
|
+
true: string;
|
|
30
|
+
false: string;
|
|
31
|
+
};
|
|
32
|
+
useLightContent: {
|
|
33
|
+
true: {
|
|
34
|
+
root: string;
|
|
35
|
+
containerWrapper: string;
|
|
36
|
+
};
|
|
37
|
+
false: {
|
|
38
|
+
container: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}, {
|
|
42
|
+
root: string;
|
|
43
|
+
sidebarSlideoverContainer: string;
|
|
44
|
+
sidebarSlideover: string;
|
|
45
|
+
sidebarSlideoverBtnClose: string;
|
|
46
|
+
header: string;
|
|
47
|
+
headerMenuIcon: string;
|
|
48
|
+
headerPaddings: string;
|
|
49
|
+
headerWrapper: string;
|
|
50
|
+
container: string;
|
|
51
|
+
containerWrapper: string;
|
|
52
|
+
containerWrapperInner: string;
|
|
53
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
54
|
+
useSidebar: {
|
|
55
|
+
true: string;
|
|
56
|
+
false: string;
|
|
57
|
+
};
|
|
58
|
+
useLightContent: {
|
|
59
|
+
true: {
|
|
60
|
+
root: string;
|
|
61
|
+
containerWrapper: string;
|
|
62
|
+
};
|
|
63
|
+
false: {
|
|
64
|
+
container: string;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
}, {
|
|
68
|
+
root: string;
|
|
69
|
+
sidebarSlideoverContainer: string;
|
|
70
|
+
sidebarSlideover: string;
|
|
71
|
+
sidebarSlideoverBtnClose: string;
|
|
72
|
+
header: string;
|
|
73
|
+
headerMenuIcon: string;
|
|
74
|
+
headerPaddings: string;
|
|
75
|
+
headerWrapper: string;
|
|
76
|
+
container: string;
|
|
77
|
+
containerWrapper: string;
|
|
78
|
+
containerWrapperInner: string;
|
|
79
|
+
}, undefined, {
|
|
80
|
+
useSidebar: {
|
|
81
|
+
true: string;
|
|
82
|
+
false: string;
|
|
83
|
+
};
|
|
84
|
+
useLightContent: {
|
|
85
|
+
true: {
|
|
86
|
+
root: string;
|
|
87
|
+
containerWrapper: string;
|
|
88
|
+
};
|
|
89
|
+
false: {
|
|
90
|
+
container: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}, {
|
|
94
|
+
root: string;
|
|
95
|
+
sidebarSlideoverContainer: string;
|
|
96
|
+
sidebarSlideover: string;
|
|
97
|
+
sidebarSlideoverBtnClose: string;
|
|
98
|
+
header: string;
|
|
99
|
+
headerMenuIcon: string;
|
|
100
|
+
headerPaddings: string;
|
|
101
|
+
headerWrapper: string;
|
|
102
|
+
container: string;
|
|
103
|
+
containerWrapper: string;
|
|
104
|
+
containerWrapperInner: string;
|
|
105
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
106
|
+
useSidebar: {
|
|
107
|
+
true: string;
|
|
108
|
+
false: string;
|
|
109
|
+
};
|
|
110
|
+
useLightContent: {
|
|
111
|
+
true: {
|
|
112
|
+
root: string;
|
|
113
|
+
containerWrapper: string;
|
|
114
|
+
};
|
|
115
|
+
false: {
|
|
116
|
+
container: string;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
}, {
|
|
120
|
+
root: string;
|
|
121
|
+
sidebarSlideoverContainer: string;
|
|
122
|
+
sidebarSlideover: string;
|
|
123
|
+
sidebarSlideoverBtnClose: string;
|
|
124
|
+
header: string;
|
|
125
|
+
headerMenuIcon: string;
|
|
126
|
+
headerPaddings: string;
|
|
127
|
+
headerWrapper: string;
|
|
128
|
+
container: string;
|
|
129
|
+
containerWrapper: string;
|
|
130
|
+
containerWrapperInner: string;
|
|
131
|
+
}, undefined, unknown, unknown, undefined>>>;
|
|
132
|
+
export interface StackedLayoutProps {
|
|
133
|
+
/**
|
|
134
|
+
* The element or component this component should render as.
|
|
135
|
+
* @defaultValue 'div'
|
|
136
|
+
*/
|
|
137
|
+
as?: any;
|
|
138
|
+
useLightContent?: boolean;
|
|
139
|
+
class?: any;
|
|
140
|
+
b24ui?: Partial<typeof stackedLayout.slots>;
|
|
141
|
+
}
|
|
142
|
+
export interface StackedLayoutSlots {
|
|
143
|
+
/**
|
|
144
|
+
* Menu for mobile screen sizes.
|
|
145
|
+
* @param props
|
|
146
|
+
* @param props.handleClick - Handler for navigation click events
|
|
147
|
+
*/
|
|
148
|
+
sidebar(props: {
|
|
149
|
+
handleClick: () => void;
|
|
150
|
+
}): any;
|
|
151
|
+
/**
|
|
152
|
+
* Menu for desktop screen sizes.
|
|
153
|
+
*/
|
|
154
|
+
navbar(props?: {}): any;
|
|
155
|
+
/**
|
|
156
|
+
* The page content.
|
|
157
|
+
*/
|
|
158
|
+
default(props?: {}): any;
|
|
159
|
+
}
|
|
160
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<StackedLayoutProps>, {
|
|
161
|
+
as: string;
|
|
162
|
+
useLightContent: boolean;
|
|
163
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<StackedLayoutProps>, {
|
|
164
|
+
as: string;
|
|
165
|
+
useLightContent: boolean;
|
|
166
|
+
}>>> & Readonly<{}>, {
|
|
167
|
+
as: any;
|
|
168
|
+
useLightContent: boolean;
|
|
169
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<StackedLayoutSlots> & StackedLayoutSlots>;
|
|
170
|
+
export default _default;
|
|
171
|
+
type __VLS_WithDefaults<P, D> = {
|
|
172
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
173
|
+
default: D[K];
|
|
174
|
+
}> : P[K];
|
|
175
|
+
};
|
|
176
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
177
|
+
type __VLS_TypePropsToOption<T> = {
|
|
178
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
179
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
180
|
+
} : {
|
|
181
|
+
type: import('vue').PropType<T[K]>;
|
|
182
|
+
required: true;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
186
|
+
new (): {
|
|
187
|
+
$slots: S;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
type __VLS_PrettifyLocal<T> = {
|
|
191
|
+
[K in keyof T]: T[K];
|
|
192
|
+
} & {};
|
|
@@ -1,105 +1,56 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { tv } from '../utils/tv'
|
|
8
|
-
import type { IconComponent } from '../types'
|
|
9
|
-
import type { PartialString } from '../types/utils'
|
|
10
|
-
|
|
11
|
-
const appConfigSwitch = _appConfig as AppConfig & { b24ui: { switch: Partial<typeof theme> } }
|
|
12
|
-
|
|
13
|
-
const switchTv = tv({ extend: tv(theme), ...(appConfigSwitch.b24ui?.switch || {}) })
|
|
14
|
-
|
|
15
|
-
type SwitchVariants = VariantProps<typeof switchTv>
|
|
16
|
-
|
|
17
|
-
export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | 'name' | 'required' | 'value' | 'defaultValue'> {
|
|
18
|
-
/**
|
|
19
|
-
* The element or component this component should render as.
|
|
20
|
-
* @defaultValue 'div'
|
|
21
|
-
*/
|
|
22
|
-
as?: any
|
|
23
|
-
/**
|
|
24
|
-
* @defaultValue 'primary'
|
|
25
|
-
*/
|
|
26
|
-
color?: SwitchVariants['color']
|
|
27
|
-
/**
|
|
28
|
-
* @defaultValue 'md'
|
|
29
|
-
*/
|
|
30
|
-
size?: SwitchVariants['size']
|
|
31
|
-
/**
|
|
32
|
-
* When `true`, the loading icon will be displayed
|
|
33
|
-
* @defaultValue false
|
|
34
|
-
*/
|
|
35
|
-
loading?: boolean
|
|
36
|
-
/**
|
|
37
|
-
* The icon when the `loading` prop is `true`.
|
|
38
|
-
* @defaultValue icons.refresh
|
|
39
|
-
* @IconComponent
|
|
40
|
-
*/
|
|
41
|
-
loadingIcon?: IconComponent
|
|
42
|
-
/**
|
|
43
|
-
* Display an icon when the switch is checked.
|
|
44
|
-
* @IconComponent
|
|
45
|
-
*/
|
|
46
|
-
checkedIcon?: IconComponent
|
|
47
|
-
/**
|
|
48
|
-
* Display an icon when the switch is unchecked.
|
|
49
|
-
* @IconComponent
|
|
50
|
-
*/
|
|
51
|
-
uncheckedIcon?: IconComponent
|
|
52
|
-
label?: string
|
|
53
|
-
description?: string
|
|
54
|
-
class?: any
|
|
55
|
-
b24ui?: PartialString<typeof switchTv.slots>
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export type SwitchEmits = {
|
|
59
|
-
change: [payload: Event]
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface SwitchSlots {
|
|
63
|
-
label(props: { label?: string }): any
|
|
64
|
-
description(props: { description?: string }): any
|
|
65
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import _appConfig from "#build/app.config";
|
|
3
|
+
import theme from "#build/b24ui/switch";
|
|
4
|
+
import { tv } from "../utils/tv";
|
|
5
|
+
const appConfigSwitch = _appConfig;
|
|
6
|
+
const switchTv = tv({ extend: tv(theme), ...appConfigSwitch.b24ui?.switch || {} });
|
|
66
7
|
</script>
|
|
67
8
|
|
|
68
|
-
<script setup
|
|
69
|
-
import { computed, useId } from
|
|
70
|
-
import { Primitive, SwitchRoot, SwitchThumb, useForwardProps, Label } from
|
|
71
|
-
import { reactivePick } from
|
|
72
|
-
import { useFormField } from
|
|
73
|
-
import { omit } from
|
|
74
|
-
import icons from
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
9
|
+
<script setup>
|
|
10
|
+
import { computed, useId } from "vue";
|
|
11
|
+
import { Primitive, SwitchRoot, SwitchThumb, useForwardProps, Label } from "reka-ui";
|
|
12
|
+
import { reactivePick } from "@vueuse/core";
|
|
13
|
+
import { useFormField } from "../composables/useFormField";
|
|
14
|
+
import { omit } from "../utils";
|
|
15
|
+
import icons from "../dictionary/icons";
|
|
16
|
+
defineOptions({ inheritAttrs: false });
|
|
17
|
+
const props = defineProps({
|
|
18
|
+
as: { type: null, required: false },
|
|
19
|
+
color: { type: null, required: false },
|
|
20
|
+
size: { type: null, required: false },
|
|
21
|
+
loading: { type: Boolean, required: false },
|
|
22
|
+
loadingIcon: { type: [Function, Object], required: false },
|
|
23
|
+
checkedIcon: { type: [Function, Object], required: false },
|
|
24
|
+
uncheckedIcon: { type: [Function, Object], required: false },
|
|
25
|
+
label: { type: String, required: false },
|
|
26
|
+
description: { type: String, required: false },
|
|
27
|
+
class: { type: null, required: false },
|
|
28
|
+
b24ui: { type: null, required: false },
|
|
29
|
+
disabled: { type: Boolean, required: false },
|
|
30
|
+
id: { type: String, required: false },
|
|
31
|
+
name: { type: String, required: false },
|
|
32
|
+
required: { type: Boolean, required: false },
|
|
33
|
+
value: { type: String, required: false },
|
|
34
|
+
defaultValue: { type: Boolean, required: false }
|
|
35
|
+
});
|
|
36
|
+
const slots = defineSlots();
|
|
37
|
+
const emits = defineEmits(["change"]);
|
|
38
|
+
const modelValue = defineModel({ type: Boolean, ...{ default: void 0 } });
|
|
39
|
+
const rootProps = useForwardProps(reactivePick(props, "required", "value", "defaultValue"));
|
|
40
|
+
const { id: _id, emitFormChange, emitFormInput, size, color, name, disabled, ariaAttrs } = useFormField(props);
|
|
41
|
+
const id = _id.value ?? useId();
|
|
89
42
|
const b24ui = computed(() => switchTv({
|
|
90
43
|
size: size.value,
|
|
91
44
|
color: color.value,
|
|
92
45
|
required: props.required,
|
|
93
46
|
loading: props.loading,
|
|
94
47
|
disabled: disabled.value || props.loading
|
|
95
|
-
}))
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
emitFormChange()
|
|
102
|
-
emitFormInput()
|
|
48
|
+
}));
|
|
49
|
+
function onUpdate(value) {
|
|
50
|
+
const event = new Event("change", { target: { value } });
|
|
51
|
+
emits("change", event);
|
|
52
|
+
emitFormChange();
|
|
53
|
+
emitFormInput();
|
|
103
54
|
}
|
|
104
55
|
</script>
|
|
105
56
|
|
|
@@ -136,7 +87,7 @@ function onUpdate(value: any) {
|
|
|
136
87
|
</SwitchThumb>
|
|
137
88
|
</SwitchRoot>
|
|
138
89
|
</div>
|
|
139
|
-
<div v-if="
|
|
90
|
+
<div v-if="label || !!slots.label || (description || !!slots.description)" :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
|
|
140
91
|
<Label v-if="label || !!slots.label" :for="id" :class="b24ui.label({ class: props.b24ui?.label })">
|
|
141
92
|
<slot name="label" :label="label">
|
|
142
93
|
{{ label }}
|