@bitrix24/b24ui-nuxt 0.5.11 → 0.6.1
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/advice.ts +10 -2
- package/.nuxt/b24ui/alert.ts +10 -2
- package/.nuxt/b24ui/avatar-group.ts +10 -2
- package/.nuxt/b24ui/avatar.ts +10 -2
- package/.nuxt/b24ui/badge.ts +10 -2
- package/.nuxt/b24ui/button-group.ts +10 -2
- package/.nuxt/b24ui/button.ts +16 -6
- package/.nuxt/b24ui/calendar.ts +10 -2
- package/.nuxt/b24ui/checkbox.ts +10 -2
- package/.nuxt/b24ui/chip.ts +10 -2
- package/.nuxt/b24ui/collapsible.ts +10 -2
- package/.nuxt/b24ui/container.ts +10 -2
- package/.nuxt/b24ui/countdown.ts +10 -2
- package/.nuxt/b24ui/description-list.ts +10 -2
- package/.nuxt/b24ui/dropdown-menu.ts +10 -2
- package/.nuxt/b24ui/form-field.ts +10 -2
- package/.nuxt/b24ui/form.ts +10 -2
- package/.nuxt/b24ui/input-menu.ts +12 -4
- package/.nuxt/b24ui/input-number.ts +10 -2
- package/.nuxt/b24ui/input.ts +10 -2
- package/.nuxt/b24ui/kbd.ts +10 -2
- package/.nuxt/b24ui/link.ts +10 -2
- package/.nuxt/b24ui/modal.ts +10 -2
- package/.nuxt/b24ui/navbar-divider.ts +10 -2
- package/.nuxt/b24ui/navbar-section.ts +10 -2
- package/.nuxt/b24ui/navbar-spacer.ts +10 -2
- package/.nuxt/b24ui/navbar.ts +10 -2
- package/.nuxt/b24ui/navigation-menu.ts +10 -2
- package/.nuxt/b24ui/popover.ts +10 -2
- package/.nuxt/b24ui/progress.ts +10 -2
- package/.nuxt/b24ui/radio-group.ts +10 -2
- package/.nuxt/b24ui/range.ts +10 -2
- package/.nuxt/b24ui/select-menu.ts +14 -6
- package/.nuxt/b24ui/select.ts +12 -4
- package/.nuxt/b24ui/separator.ts +10 -2
- package/.nuxt/b24ui/sidebar-body.ts +10 -2
- package/.nuxt/b24ui/sidebar-footer.ts +10 -2
- package/.nuxt/b24ui/sidebar-header.ts +10 -2
- package/.nuxt/b24ui/sidebar-heading.ts +10 -2
- package/.nuxt/b24ui/sidebar-layout.ts +10 -2
- package/.nuxt/b24ui/sidebar-section.ts +10 -2
- package/.nuxt/b24ui/sidebar-spacer.ts +10 -2
- package/.nuxt/b24ui/sidebar.ts +10 -2
- package/.nuxt/b24ui/skeleton.ts +10 -2
- package/.nuxt/b24ui/slideover.ts +10 -2
- package/.nuxt/b24ui/stacked-layout.ts +10 -2
- package/.nuxt/b24ui/switch.ts +10 -2
- package/.nuxt/b24ui/tabs.ts +10 -2
- package/.nuxt/b24ui/textarea.ts +10 -2
- package/.nuxt/b24ui/toast.ts +10 -2
- package/.nuxt/b24ui/toaster.ts +10 -2
- package/.nuxt/b24ui/tooltip.ts +10 -2
- package/cli/templates.mjs +19 -15
- package/dist/meta.d.mts +5675 -7513
- package/dist/meta.mjs +5675 -7513
- package/dist/module.json +3 -3
- package/dist/module.mjs +2 -2
- package/dist/runtime/components/Advice.vue +27 -55
- package/dist/runtime/components/Advice.vue.d.ts +56 -0
- package/dist/runtime/components/Alert.vue +35 -97
- package/dist/runtime/components/Alert.vue.d.ts +97 -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 -82
- package/dist/runtime/components/Avatar.vue.d.ts +62 -0
- package/dist/runtime/components/AvatarGroup.vue +40 -77
- package/dist/runtime/components/AvatarGroup.vue.d.ts +40 -0
- package/dist/runtime/components/Badge.vue +40 -84
- package/dist/runtime/components/Badge.vue.d.ts +78 -0
- package/dist/runtime/components/Button.vue +107 -164
- package/dist/runtime/components/Button.vue.d.ts +115 -0
- package/dist/runtime/components/ButtonGroup.vue +25 -52
- package/dist/runtime/components/ButtonGroup.vue.d.ts +63 -0
- package/dist/runtime/components/Calendar.vue +73 -153
- package/dist/runtime/components/Calendar.vue.d.ts +107 -0
- package/dist/runtime/components/Checkbox.vue +42 -74
- package/dist/runtime/components/Checkbox.vue.d.ts +55 -0
- package/dist/runtime/components/Chip.vue +26 -75
- package/dist/runtime/components/Chip.vue.d.ts +77 -0
- package/dist/runtime/components/Collapsible.vue +22 -41
- package/dist/runtime/components/Collapsible.vue.d.ts +50 -0
- package/dist/runtime/components/Container.vue +15 -28
- package/dist/runtime/components/Container.vue.d.ts +27 -0
- package/dist/runtime/components/Countdown.vue +153 -379
- package/dist/runtime/components/Countdown.vue.d.ts +122 -0
- package/dist/runtime/components/DescriptionList.vue +78 -150
- package/dist/runtime/components/DescriptionList.vue.d.ts +109 -0
- package/dist/runtime/components/DropdownMenu.vue +38 -140
- package/dist/runtime/components/DropdownMenu.vue.d.ts +133 -0
- package/dist/runtime/components/DropdownMenuContent.vue +65 -79
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +51 -0
- package/dist/runtime/components/Form.vue +132 -218
- package/dist/runtime/components/Form.vue.d.ts +55 -0
- package/dist/runtime/components/FormField.vue +36 -81
- package/dist/runtime/components/FormField.vue.d.ts +73 -0
- package/dist/runtime/components/Input.vue +79 -180
- package/dist/runtime/components/Input.vue.d.ts +135 -0
- package/dist/runtime/components/InputMenu.vue +185 -382
- package/dist/runtime/components/InputMenu.vue.d.ts +357 -0
- package/dist/runtime/components/InputNumber.vue +77 -176
- package/dist/runtime/components/InputNumber.vue.d.ts +238 -0
- package/dist/runtime/components/Kbd.vue +20 -46
- package/dist/runtime/components/Kbd.vue.d.ts +55 -0
- package/dist/runtime/components/Link.vue +99 -179
- 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 -128
- package/dist/runtime/components/Modal.vue.d.ts +124 -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 +46 -0
- package/dist/runtime/components/NavbarDivider.vue +15 -33
- package/dist/runtime/components/NavbarDivider.vue.d.ts +46 -0
- package/dist/runtime/components/NavbarSection.vue +15 -33
- package/dist/runtime/components/NavbarSection.vue.d.ts +46 -0
- package/dist/runtime/components/NavbarSpacer.vue +15 -33
- package/dist/runtime/components/NavbarSpacer.vue.d.ts +46 -0
- package/dist/runtime/components/NavigationMenu.vue +74 -209
- package/dist/runtime/components/NavigationMenu.vue.d.ts +159 -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 -82
- package/dist/runtime/components/Popover.vue.d.ts +79 -0
- package/dist/runtime/components/Progress.vue +70 -137
- package/dist/runtime/components/Progress.vue.d.ts +103 -0
- package/dist/runtime/components/RadioGroup.vue +59 -135
- package/dist/runtime/components/RadioGroup.vue.d.ts +88 -0
- package/dist/runtime/components/Range.vue +46 -86
- package/dist/runtime/components/Range.vue.d.ts +73 -0
- package/dist/runtime/components/Select.vue +110 -261
- package/dist/runtime/components/Select.vue.d.ts +170 -0
- package/dist/runtime/components/SelectMenu.vue +161 -348
- package/dist/runtime/components/SelectMenu.vue.d.ts +217 -0
- package/dist/runtime/components/Separator.vue +28 -72
- package/dist/runtime/components/Separator.vue.d.ts +77 -0
- package/dist/runtime/components/Sidebar.vue +15 -33
- package/dist/runtime/components/Sidebar.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarBody.vue +17 -39
- package/dist/runtime/components/SidebarBody.vue.d.ts +53 -0
- package/dist/runtime/components/SidebarFooter.vue +15 -33
- package/dist/runtime/components/SidebarFooter.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarHeader.vue +15 -33
- package/dist/runtime/components/SidebarHeader.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarHeading.vue +15 -33
- package/dist/runtime/components/SidebarHeading.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarLayout.vue +34 -71
- package/dist/runtime/components/SidebarLayout.vue.d.ts +65 -0
- package/dist/runtime/components/SidebarSection.vue +15 -33
- package/dist/runtime/components/SidebarSection.vue.d.ts +46 -0
- package/dist/runtime/components/SidebarSpacer.vue +15 -33
- package/dist/runtime/components/SidebarSpacer.vue.d.ts +46 -0
- package/dist/runtime/components/Skeleton.vue +14 -23
- package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
- package/dist/runtime/components/Slideover.vue +50 -132
- package/dist/runtime/components/Slideover.vue.d.ts +127 -0
- package/dist/runtime/components/StackedLayout.vue +34 -74
- package/dist/runtime/components/StackedLayout.vue.d.ts +65 -0
- package/dist/runtime/components/Switch.vue +46 -96
- package/dist/runtime/components/Switch.vue.d.ts +77 -0
- package/dist/runtime/components/Tabs.vue +41 -106
- package/dist/runtime/components/Tabs.vue.d.ts +104 -0
- package/dist/runtime/components/Textarea.vue +92 -202
- package/dist/runtime/components/Textarea.vue.d.ts +141 -0
- package/dist/runtime/components/Toast.vue +47 -106
- package/dist/runtime/components/Toast.vue.d.ts +95 -0
- package/dist/runtime/components/Toaster.vue +70 -116
- package/dist/runtime/components/Toaster.vue.d.ts +70 -0
- package/dist/runtime/components/Tooltip.vue +36 -65
- package/dist/runtime/components/Tooltip.vue.d.ts +65 -0
- package/dist/runtime/components/content/TableWrapper.vue +24 -71
- package/dist/runtime/components/content/TableWrapper.vue.d.ts +83 -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 +16 -26
- package/dist/runtime/prose/A.vue.d.ts +27 -0
- package/dist/runtime/prose/Blockquote.vue +14 -26
- package/dist/runtime/prose/Blockquote.vue.d.ts +27 -0
- package/dist/runtime/prose/Code.vue +15 -32
- package/dist/runtime/prose/Code.vue.d.ts +31 -0
- package/dist/runtime/prose/Em.vue +16 -26
- package/dist/runtime/prose/Em.vue.d.ts +27 -0
- package/dist/runtime/prose/H1.vue +14 -26
- package/dist/runtime/prose/H1.vue.d.ts +27 -0
- package/dist/runtime/prose/H2.vue +14 -26
- package/dist/runtime/prose/H2.vue.d.ts +27 -0
- package/dist/runtime/prose/H3.vue +14 -26
- package/dist/runtime/prose/H3.vue.d.ts +27 -0
- package/dist/runtime/prose/H4.vue +14 -26
- package/dist/runtime/prose/H4.vue.d.ts +27 -0
- package/dist/runtime/prose/H5.vue +14 -26
- package/dist/runtime/prose/H5.vue.d.ts +27 -0
- package/dist/runtime/prose/H6.vue +14 -26
- package/dist/runtime/prose/H6.vue.d.ts +27 -0
- package/dist/runtime/prose/Hr.vue +13 -22
- package/dist/runtime/prose/Hr.vue.d.ts +19 -0
- package/dist/runtime/prose/Img.vue +13 -26
- package/dist/runtime/prose/Img.vue.d.ts +19 -0
- package/dist/runtime/prose/Li.vue +14 -26
- package/dist/runtime/prose/Li.vue.d.ts +27 -0
- package/dist/runtime/prose/Ol.vue +14 -26
- package/dist/runtime/prose/Ol.vue.d.ts +27 -0
- package/dist/runtime/prose/P.vue +14 -26
- package/dist/runtime/prose/P.vue.d.ts +27 -0
- package/dist/runtime/prose/Pre.vue +17 -33
- package/dist/runtime/prose/Pre.vue.d.ts +47 -0
- package/dist/runtime/prose/Strong.vue +14 -26
- package/dist/runtime/prose/Strong.vue.d.ts +27 -0
- package/dist/runtime/prose/Table.vue +21 -57
- package/dist/runtime/prose/Table.vue.d.ts +74 -0
- package/dist/runtime/prose/Tbody.vue +14 -26
- package/dist/runtime/prose/Tbody.vue.d.ts +27 -0
- package/dist/runtime/prose/Td.vue +14 -26
- package/dist/runtime/prose/Td.vue.d.ts +27 -0
- package/dist/runtime/prose/Th.vue +14 -26
- package/dist/runtime/prose/Th.vue.d.ts +27 -0
- package/dist/runtime/prose/Thead.vue +14 -26
- package/dist/runtime/prose/Thead.vue.d.ts +27 -0
- package/dist/runtime/prose/Tr.vue +14 -26
- package/dist/runtime/prose/Tr.vue.d.ts +27 -0
- package/dist/runtime/prose/Ul.vue +14 -26
- package/dist/runtime/prose/Ul.vue.d.ts +27 -0
- package/dist/runtime/types/form.d.ts +1 -0
- package/dist/runtime/types/utils.d.ts +42 -3
- package/dist/runtime/utils/link.d.ts +3 -3
- package/dist/runtime/utils/tv.js +2 -2
- package/dist/runtime/vue/components/Link.vue +122 -208
- package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
- package/dist/shared/{b24ui-nuxt.CS9Lf0os.mjs → b24ui-nuxt.wBs9vEU5.mjs} +33 -8
- package/dist/types.d.mts +3 -5
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +19 -27
- 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
package/dist/module.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitrix24/b24ui-nuxt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"docs": "https://bitrix24.github.io/b24ui/guide/installation-nuxt-app.html",
|
|
5
5
|
"configKey": "b24ui",
|
|
6
6
|
"compatibility": {
|
|
7
7
|
"nuxt": ">=3.16.0"
|
|
8
8
|
},
|
|
9
9
|
"builder": {
|
|
10
|
-
"@nuxt/module-builder": "0.
|
|
11
|
-
"unbuild": "
|
|
10
|
+
"@nuxt/module-builder": "1.0.1",
|
|
11
|
+
"unbuild": "3.5.0"
|
|
12
12
|
}
|
|
13
13
|
}
|
package/dist/module.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defu } from 'defu';
|
|
2
2
|
import { defineNuxtModule, createResolver, addVitePlugin, addPlugin, addComponentsDir, addImportsDir, hasNuxtModule, installModule } from '@nuxt/kit';
|
|
3
|
-
import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.
|
|
3
|
+
import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.wBs9vEU5.mjs';
|
|
4
4
|
import 'node:url';
|
|
5
5
|
import 'scule';
|
|
6
6
|
|
|
7
7
|
const name = "@bitrix24/b24ui-nuxt";
|
|
8
|
-
const version = "0.
|
|
8
|
+
const version = "0.6.1";
|
|
9
9
|
|
|
10
10
|
const module = defineNuxtModule({
|
|
11
11
|
meta: {
|
|
@@ -1,61 +1,33 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import type { AppConfig } from '@nuxt/schema'
|
|
4
|
-
import _appConfig from '#build/app.config'
|
|
5
|
-
import theme from '#build/b24ui/advice'
|
|
6
|
-
import type { UseComponentIconsProps } from '../composables/useComponentIcons'
|
|
7
|
-
import { tv } from '../utils/tv'
|
|
8
|
-
import type { AvatarProps } from '../types'
|
|
9
|
-
|
|
10
|
-
const appConfigAdvice = _appConfig as AppConfig & { b24ui: { advice: Partial<typeof theme> } }
|
|
11
|
-
|
|
12
|
-
const advice = tv({ extend: tv(theme), ...(appConfigAdvice.b24ui?.advice || {}) })
|
|
13
|
-
|
|
14
|
-
type AdviceVariants = VariantProps<typeof advice>
|
|
15
|
-
|
|
16
|
-
export interface AdviceProps extends Omit<UseComponentIconsProps, 'loading' | 'trailing' | 'trailingIcon'> {
|
|
17
|
-
/**
|
|
18
|
-
* The element or component this component should render as.
|
|
19
|
-
* @defaultValue 'div'
|
|
20
|
-
*/
|
|
21
|
-
as?: any
|
|
22
|
-
description?: string
|
|
23
|
-
/**
|
|
24
|
-
* @defaultValue 'bottom'
|
|
25
|
-
*/
|
|
26
|
-
angle?: AdviceVariants['angle']
|
|
27
|
-
class?: any
|
|
28
|
-
b24ui?: Partial<typeof advice.slots>
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface AdviceSlots {
|
|
32
|
-
leading(props?: {}): any
|
|
33
|
-
default(props?: {}): any
|
|
34
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/b24ui/advice";
|
|
35
3
|
</script>
|
|
36
4
|
|
|
37
|
-
<script setup
|
|
38
|
-
import { computed } from
|
|
39
|
-
import { Primitive } from
|
|
40
|
-
import {
|
|
41
|
-
import
|
|
42
|
-
import
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const props =
|
|
47
|
-
as:
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed } from "vue";
|
|
7
|
+
import { Primitive } from "reka-ui";
|
|
8
|
+
import { useAppConfig } from "#imports";
|
|
9
|
+
import { useComponentIcons } from "../composables/useComponentIcons";
|
|
10
|
+
import { tv } from "../utils/tv";
|
|
11
|
+
import B24Avatar from "./Avatar.vue";
|
|
12
|
+
import PersonIcon from "@bitrix24/b24icons-vue/main/PersonIcon";
|
|
13
|
+
defineOptions({ inheritAttrs: false });
|
|
14
|
+
const props = defineProps({
|
|
15
|
+
as: { type: null, required: false, default: "div" },
|
|
16
|
+
description: { type: String, required: false },
|
|
17
|
+
angle: { type: null, required: false, default: "bottom" },
|
|
18
|
+
class: { type: null, required: false },
|
|
19
|
+
b24ui: { type: null, required: false },
|
|
20
|
+
icon: { type: [Function, Object], required: false },
|
|
21
|
+
avatar: { type: Object, required: false }
|
|
22
|
+
});
|
|
23
|
+
const slots = defineSlots();
|
|
24
|
+
const appConfig = useAppConfig();
|
|
52
25
|
const { isLeading, leadingIconName } = useComponentIcons(
|
|
53
26
|
computed(() => ({ ...props, loading: false }))
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
const b24ui = computed(() => advice({
|
|
27
|
+
);
|
|
28
|
+
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.advice || {} })({
|
|
57
29
|
angle: props.angle
|
|
58
|
-
}))
|
|
30
|
+
}));
|
|
59
31
|
</script>
|
|
60
32
|
|
|
61
33
|
<template>
|
|
@@ -69,7 +41,7 @@ const b24ui = computed(() => advice({
|
|
|
69
41
|
/>
|
|
70
42
|
<B24Avatar
|
|
71
43
|
v-else-if="!!avatar"
|
|
72
|
-
:size="
|
|
44
|
+
:size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
|
|
73
45
|
v-bind="avatar"
|
|
74
46
|
:class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
|
|
75
47
|
/>
|
|
@@ -80,7 +52,7 @@ const b24ui = computed(() => advice({
|
|
|
80
52
|
:class="b24ui.leading({ class: props.b24ui?.leading })"
|
|
81
53
|
>
|
|
82
54
|
<B24Avatar
|
|
83
|
-
:size="
|
|
55
|
+
:size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
|
|
84
56
|
:icon="PersonIcon"
|
|
85
57
|
alt="Person"
|
|
86
58
|
:class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/b24ui/advice';
|
|
3
|
+
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
4
|
+
import type { ComponentConfig } from '../types/utils';
|
|
5
|
+
type Advice = ComponentConfig<typeof theme, AppConfig, 'advice'>;
|
|
6
|
+
export interface AdviceProps extends Omit<UseComponentIconsProps, 'loading' | 'trailing' | 'trailingIcon'> {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
description?: string;
|
|
13
|
+
/**
|
|
14
|
+
* @defaultValue 'bottom'
|
|
15
|
+
*/
|
|
16
|
+
angle?: Advice['variants']['angle'];
|
|
17
|
+
class?: any;
|
|
18
|
+
b24ui?: Advice['slots'];
|
|
19
|
+
}
|
|
20
|
+
export interface AdviceSlots {
|
|
21
|
+
leading(props?: {}): any;
|
|
22
|
+
default(props?: {}): any;
|
|
23
|
+
}
|
|
24
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AdviceProps>, {
|
|
25
|
+
as: string;
|
|
26
|
+
angle: string;
|
|
27
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AdviceProps>, {
|
|
28
|
+
as: string;
|
|
29
|
+
angle: string;
|
|
30
|
+
}>>> & Readonly<{}>, {
|
|
31
|
+
as: any;
|
|
32
|
+
angle: Advice["variants"]["angle"];
|
|
33
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<AdviceSlots> & AdviceSlots>;
|
|
34
|
+
export default _default;
|
|
35
|
+
type __VLS_WithDefaults<P, D> = {
|
|
36
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
37
|
+
default: D[K];
|
|
38
|
+
}> : P[K];
|
|
39
|
+
};
|
|
40
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
41
|
+
type __VLS_TypePropsToOption<T> = {
|
|
42
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
43
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
44
|
+
} : {
|
|
45
|
+
type: import('vue').PropType<T[K]>;
|
|
46
|
+
required: true;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
50
|
+
new (): {
|
|
51
|
+
$slots: S;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
type __VLS_PrettifyLocal<T> = {
|
|
55
|
+
[K in keyof T]: T[K];
|
|
56
|
+
} & {};
|
|
@@ -1,103 +1,41 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import type { AppConfig } from '@nuxt/schema'
|
|
4
|
-
import _appConfig from '#build/app.config'
|
|
5
|
-
import theme from '#build/b24ui/alert'
|
|
6
|
-
import { tv } from '../utils/tv'
|
|
7
|
-
import type { AvatarProps, ButtonProps, IconComponent } from '../types'
|
|
8
|
-
|
|
9
|
-
const appConfigAlert = _appConfig as AppConfig & { b24ui: { alert: Partial<typeof theme> } }
|
|
10
|
-
|
|
11
|
-
const alert = tv({ extend: tv(theme), ...(appConfigAlert.b24ui?.alert || {}) })
|
|
12
|
-
|
|
13
|
-
type AlertVariants = VariantProps<typeof alert>
|
|
14
|
-
|
|
15
|
-
export interface AlertProps {
|
|
16
|
-
/**
|
|
17
|
-
* The element or component this component should render as.
|
|
18
|
-
* @defaultValue 'div'
|
|
19
|
-
*/
|
|
20
|
-
as?: any
|
|
21
|
-
title?: string
|
|
22
|
-
description?: string
|
|
23
|
-
/**
|
|
24
|
-
* Display an icon on the left side.
|
|
25
|
-
* @IconComponent
|
|
26
|
-
*/
|
|
27
|
-
icon?: IconComponent
|
|
28
|
-
avatar?: AvatarProps
|
|
29
|
-
/**
|
|
30
|
-
* @defaultValue 'default'
|
|
31
|
-
*/
|
|
32
|
-
color?: AlertVariants['color']
|
|
33
|
-
/**
|
|
34
|
-
* The orientation between the content and the actions.
|
|
35
|
-
* @defaultValue 'vertical'
|
|
36
|
-
*/
|
|
37
|
-
orientation?: AlertVariants['orientation']
|
|
38
|
-
/**
|
|
39
|
-
* @defaultValue 'md'
|
|
40
|
-
*/
|
|
41
|
-
size?: AlertVariants['size']
|
|
42
|
-
/**
|
|
43
|
-
* Display a list of actions:
|
|
44
|
-
* - under the title and description when orientation is `vertical`
|
|
45
|
-
* - next to the close button when orientation is `horizontal`
|
|
46
|
-
* `{ size: 'xs' }`{lang="ts"}
|
|
47
|
-
*/
|
|
48
|
-
actions?: ButtonProps[]
|
|
49
|
-
/**
|
|
50
|
-
* Display a close button to dismiss the alert.
|
|
51
|
-
* `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
|
|
52
|
-
* @emits 'update:open'
|
|
53
|
-
* @defaultValue false
|
|
54
|
-
*/
|
|
55
|
-
close?: boolean | Partial<ButtonProps>
|
|
56
|
-
/**
|
|
57
|
-
* The icon displayed in the close button.
|
|
58
|
-
* @defaultValue icons.close
|
|
59
|
-
* @IconComponent
|
|
60
|
-
*/
|
|
61
|
-
closeIcon?: IconComponent
|
|
62
|
-
class?: any
|
|
63
|
-
b24ui?: Partial<typeof alert.slots>
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export interface AlertEmits {
|
|
67
|
-
(e: 'update:open', value: boolean): void
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export interface AlertSlots {
|
|
71
|
-
leading(props?: {}): any
|
|
72
|
-
title(props?: {}): any
|
|
73
|
-
description(props?: {}): any
|
|
74
|
-
actions(props?: {}): any
|
|
75
|
-
close(props: { b24ui: ReturnType<typeof alert> }): any
|
|
76
|
-
}
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/b24ui/alert";
|
|
77
3
|
</script>
|
|
78
4
|
|
|
79
|
-
<script setup
|
|
80
|
-
import { computed } from
|
|
81
|
-
import { Primitive } from
|
|
82
|
-
import {
|
|
83
|
-
import
|
|
84
|
-
import
|
|
85
|
-
import
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed } from "vue";
|
|
7
|
+
import { Primitive } from "reka-ui";
|
|
8
|
+
import { useAppConfig } from "#imports";
|
|
9
|
+
import { useLocale } from "../composables/useLocale";
|
|
10
|
+
import { tv } from "../utils/tv";
|
|
11
|
+
import icons from "../dictionary/icons";
|
|
12
|
+
import B24Avatar from "./Avatar.vue";
|
|
13
|
+
import B24Button from "./Button.vue";
|
|
14
|
+
const props = defineProps({
|
|
15
|
+
as: { type: null, required: false },
|
|
16
|
+
title: { type: String, required: false },
|
|
17
|
+
description: { type: String, required: false },
|
|
18
|
+
icon: { type: [Function, Object], required: false },
|
|
19
|
+
avatar: { type: Object, required: false },
|
|
20
|
+
color: { type: null, required: false },
|
|
21
|
+
orientation: { type: null, required: false, default: "vertical" },
|
|
22
|
+
size: { type: null, required: false },
|
|
23
|
+
actions: { type: Array, required: false },
|
|
24
|
+
close: { type: [Boolean, Object], required: false },
|
|
25
|
+
closeIcon: { type: [Function, Object], required: false },
|
|
26
|
+
class: { type: null, required: false },
|
|
27
|
+
b24ui: { type: null, required: false }
|
|
28
|
+
});
|
|
29
|
+
const emits = defineEmits(["update:open"]);
|
|
30
|
+
const slots = defineSlots();
|
|
31
|
+
const { t } = useLocale();
|
|
32
|
+
const appConfig = useAppConfig();
|
|
33
|
+
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.alert || {} })({
|
|
96
34
|
color: props.color,
|
|
97
35
|
size: props.size,
|
|
98
36
|
orientation: props.orientation,
|
|
99
37
|
title: !!props.title || !!slots.title
|
|
100
|
-
}))
|
|
38
|
+
}));
|
|
101
39
|
</script>
|
|
102
40
|
|
|
103
41
|
<template>
|
|
@@ -108,7 +46,7 @@ const b24ui = computed(() => alert({
|
|
|
108
46
|
v-if="icon"
|
|
109
47
|
:class="b24ui.icon({ class: props.b24ui?.icon })"
|
|
110
48
|
/>
|
|
111
|
-
<B24Avatar v-else-if="avatar" :size="
|
|
49
|
+
<B24Avatar v-else-if="avatar" :size="props.b24ui?.avatarSize || b24ui.avatarSize()" v-bind="avatar" :class="b24ui.avatar({ class: props.b24ui?.avatar })" />
|
|
112
50
|
</slot>
|
|
113
51
|
|
|
114
52
|
<div :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
|
|
@@ -130,7 +68,7 @@ const b24ui = computed(() => alert({
|
|
|
130
68
|
</div>
|
|
131
69
|
</div>
|
|
132
70
|
|
|
133
|
-
<div v-if="
|
|
71
|
+
<div v-if="orientation === 'horizontal' && actions?.length || close" :class="b24ui.actions({ class: props.b24ui?.actions, orientation: 'horizontal' })">
|
|
134
72
|
<template v-if="orientation === 'horizontal' && actions?.length">
|
|
135
73
|
<slot name="actions">
|
|
136
74
|
<B24Button v-for="(action, index) in actions" :key="index" size="xs" v-bind="action" />
|
|
@@ -144,7 +82,7 @@ const b24ui = computed(() => alert({
|
|
|
144
82
|
size="xs"
|
|
145
83
|
color="link"
|
|
146
84
|
:aria-label="t('alert.close')"
|
|
147
|
-
v-bind="
|
|
85
|
+
v-bind="typeof close === 'object' ? close : {}"
|
|
148
86
|
:class="b24ui.close({ class: props.b24ui?.close })"
|
|
149
87
|
@click="emits('update:open', false)"
|
|
150
88
|
/>
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/b24ui/alert';
|
|
3
|
+
import type { AvatarProps, ButtonProps, IconComponent } from '../types';
|
|
4
|
+
import type { ComponentConfig } from '../types/utils';
|
|
5
|
+
type Alert = ComponentConfig<typeof theme, AppConfig, 'alert'>;
|
|
6
|
+
export interface AlertProps {
|
|
7
|
+
/**
|
|
8
|
+
* The element or component this component should render as.
|
|
9
|
+
* @defaultValue 'div'
|
|
10
|
+
*/
|
|
11
|
+
as?: any;
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Display an icon on the left side.
|
|
16
|
+
* @IconComponent
|
|
17
|
+
*/
|
|
18
|
+
icon?: IconComponent;
|
|
19
|
+
avatar?: AvatarProps;
|
|
20
|
+
/**
|
|
21
|
+
* @defaultValue 'default'
|
|
22
|
+
*/
|
|
23
|
+
color?: Alert['variants']['color'];
|
|
24
|
+
/**
|
|
25
|
+
* The orientation between the content and the actions.
|
|
26
|
+
* @defaultValue 'vertical'
|
|
27
|
+
*/
|
|
28
|
+
orientation?: Alert['variants']['orientation'];
|
|
29
|
+
/**
|
|
30
|
+
* @defaultValue 'md'
|
|
31
|
+
*/
|
|
32
|
+
size?: Alert['variants']['size'];
|
|
33
|
+
/**
|
|
34
|
+
* Display a list of actions:
|
|
35
|
+
* - under the title and description when orientation is `vertical`
|
|
36
|
+
* - next to the close button when orientation is `horizontal`
|
|
37
|
+
* `{ size: 'xs' }`{lang="ts"}
|
|
38
|
+
*/
|
|
39
|
+
actions?: ButtonProps[];
|
|
40
|
+
/**
|
|
41
|
+
* Display a close button to dismiss the alert.
|
|
42
|
+
* `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
|
|
43
|
+
* @emits 'update:open'
|
|
44
|
+
* @defaultValue false
|
|
45
|
+
*/
|
|
46
|
+
close?: boolean | Partial<ButtonProps>;
|
|
47
|
+
/**
|
|
48
|
+
* The icon displayed in the close button.
|
|
49
|
+
* @defaultValue icons.close
|
|
50
|
+
* @IconComponent
|
|
51
|
+
*/
|
|
52
|
+
closeIcon?: IconComponent;
|
|
53
|
+
class?: any;
|
|
54
|
+
b24ui?: Alert['slots'];
|
|
55
|
+
}
|
|
56
|
+
export interface AlertEmits {
|
|
57
|
+
(e: 'update:open', value: boolean): void;
|
|
58
|
+
}
|
|
59
|
+
export interface AlertSlots {
|
|
60
|
+
leading(props?: {}): any;
|
|
61
|
+
title(props?: {}): any;
|
|
62
|
+
description(props?: {}): any;
|
|
63
|
+
actions(props?: {}): any;
|
|
64
|
+
close(props: {
|
|
65
|
+
b24ui: {
|
|
66
|
+
[K in keyof Required<Alert['slots']>]: (props?: Record<string, any>) => string;
|
|
67
|
+
};
|
|
68
|
+
}): any;
|
|
69
|
+
}
|
|
70
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AlertProps>, {
|
|
71
|
+
orientation: string;
|
|
72
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
|
|
73
|
+
orientation: Alert["variants"]["orientation"];
|
|
74
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<AlertSlots> & AlertSlots>;
|
|
75
|
+
export default _default;
|
|
76
|
+
type __VLS_WithDefaults<P, D> = {
|
|
77
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
78
|
+
default: D[K];
|
|
79
|
+
}> : P[K];
|
|
80
|
+
};
|
|
81
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
82
|
+
type __VLS_TypePropsToOption<T> = {
|
|
83
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
84
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
85
|
+
} : {
|
|
86
|
+
type: import('vue').PropType<T[K]>;
|
|
87
|
+
required: true;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
91
|
+
new (): {
|
|
92
|
+
$slots: S;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
type __VLS_PrettifyLocal<T> = {
|
|
96
|
+
[K in keyof T]: T[K];
|
|
97
|
+
} & {};
|
|
@@ -1,43 +1,33 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui'
|
|
3
|
-
import type { ToasterProps, Locale, Messages } from '../types'
|
|
4
|
-
|
|
5
|
-
export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
|
|
6
|
-
tooltip?: TooltipProviderProps
|
|
7
|
-
toaster?: ToasterProps | null
|
|
8
|
-
locale?: Locale<T>
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface AppSlots {
|
|
12
|
-
default(props?: {}): any
|
|
13
|
-
}
|
|
14
|
-
|
|
1
|
+
<script>
|
|
15
2
|
export default {
|
|
16
|
-
name:
|
|
17
|
-
}
|
|
3
|
+
name: "App"
|
|
4
|
+
};
|
|
18
5
|
</script>
|
|
19
6
|
|
|
20
|
-
<script setup
|
|
21
|
-
import { toRef, useId, provide } from
|
|
22
|
-
import { ConfigProvider, TooltipProvider, useForwardProps } from
|
|
23
|
-
import { reactivePick } from
|
|
24
|
-
import { localeContextInjectionKey } from
|
|
25
|
-
import B24Toaster from
|
|
26
|
-
import B24OverlayProvider from
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
7
|
+
<script setup>
|
|
8
|
+
import { toRef, useId, provide } from "vue";
|
|
9
|
+
import { ConfigProvider, TooltipProvider, useForwardProps } from "reka-ui";
|
|
10
|
+
import { reactivePick } from "@vueuse/core";
|
|
11
|
+
import { localeContextInjectionKey } from "../composables/useLocale";
|
|
12
|
+
import B24Toaster from "./Toaster.vue";
|
|
13
|
+
import B24OverlayProvider from "./OverlayProvider.vue";
|
|
14
|
+
const props = defineProps({
|
|
15
|
+
tooltip: { type: Object, required: false },
|
|
16
|
+
toaster: { type: [Object, null], required: false },
|
|
17
|
+
locale: { type: null, required: false },
|
|
18
|
+
scrollBody: { type: [Boolean, Object], required: false },
|
|
19
|
+
nonce: { type: String, required: false }
|
|
20
|
+
});
|
|
21
|
+
defineSlots();
|
|
22
|
+
const configProviderProps = useForwardProps(reactivePick(props, "scrollBody"));
|
|
23
|
+
const tooltipProps = toRef(() => props.tooltip);
|
|
24
|
+
const toasterProps = toRef(() => props.toaster);
|
|
25
|
+
const locale = toRef(() => props.locale);
|
|
26
|
+
provide(localeContextInjectionKey, locale);
|
|
37
27
|
</script>
|
|
38
28
|
|
|
39
29
|
<template>
|
|
40
|
-
<ConfigProvider :use-id="() =>
|
|
30
|
+
<ConfigProvider :use-id="() => useId()" :dir="locale?.dir" :locale="locale?.code" v-bind="configProviderProps">
|
|
41
31
|
<TooltipProvider v-bind="tooltipProps">
|
|
42
32
|
<B24Toaster v-if="toaster !== null" v-bind="toasterProps">
|
|
43
33
|
<slot />
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui';
|
|
2
|
+
import type { ToasterProps, Locale, Messages } from '../types';
|
|
3
|
+
export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
|
|
4
|
+
tooltip?: TooltipProviderProps;
|
|
5
|
+
toaster?: ToasterProps | null;
|
|
6
|
+
locale?: Locale<T>;
|
|
7
|
+
}
|
|
8
|
+
export interface AppSlots {
|
|
9
|
+
default(props?: {}): any;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: <T extends Messages>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
12
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & AppProps<T> & Partial<{}>> & (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps);
|
|
13
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
14
|
+
attrs: any;
|
|
15
|
+
slots: Readonly<AppSlots> & AppSlots;
|
|
16
|
+
emit: {};
|
|
17
|
+
}>) => import("vue").VNode & {
|
|
18
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
19
|
+
};
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_PrettifyLocal<T> = {
|
|
22
|
+
[K in keyof T]: T[K];
|
|
23
|
+
} & {};
|