@bitrix24/b24ui-nuxt 0.4.0 → 0.4.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/index.ts +1 -0
- package/.nuxt/b24ui/modal.ts +1 -1
- package/.nuxt/b24ui/prose/prose-h1.ts +6 -0
- package/.nuxt/b24ui/prose/prose-h2.ts +16 -0
- package/.nuxt/b24ui/prose/prose-h3.ts +16 -0
- package/.nuxt/b24ui/prose/prose-li.ts +5 -0
- package/.nuxt/b24ui/prose/prose-ol.ts +5 -0
- package/.nuxt/b24ui/prose/prose-p.ts +5 -0
- package/.nuxt/b24ui/prose/prose-ul.ts +5 -0
- package/.nuxt/b24ui/slideover.ts +3 -2
- package/dist/meta.cjs +31777 -28683
- package/dist/meta.d.cts +31777 -28683
- package/dist/meta.d.mts +31777 -28683
- package/dist/meta.d.ts +31777 -28683
- package/dist/meta.mjs +31777 -28683
- package/dist/module.cjs +6 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +6 -1
- package/dist/runtime/components/Advice.vue +3 -0
- package/dist/runtime/components/Alert.vue +17 -2
- package/dist/runtime/components/Avatar.vue +7 -0
- package/dist/runtime/components/AvatarGroup.vue +3 -0
- package/dist/runtime/components/Badge.vue +21 -3
- package/dist/runtime/components/Button.vue +37 -7
- package/dist/runtime/components/ButtonGroup.vue +7 -1
- package/dist/runtime/components/Checkbox.vue +6 -0
- package/dist/runtime/components/Chip.vue +18 -2
- package/dist/runtime/components/Countdown.vue +32 -8
- package/dist/runtime/components/{content/DescriptionList.vue → DescriptionList.vue} +19 -8
- package/dist/runtime/components/DropdownMenu.vue +14 -2
- package/dist/runtime/components/DropdownMenuContent.vue +6 -0
- package/dist/runtime/components/FormField.vue +6 -0
- package/dist/runtime/components/Input.vue +50 -6
- package/dist/runtime/components/InputMenu.vue +67 -15
- package/dist/runtime/components/InputNumber.vue +42 -8
- package/dist/runtime/components/Kbd.vue +6 -0
- package/dist/runtime/components/Link.vue +8 -4
- package/dist/runtime/components/Modal.vue +9 -3
- package/dist/runtime/components/Progress.vue +19 -3
- package/dist/runtime/components/RadioGroup.vue +6 -0
- package/dist/runtime/components/Range.vue +9 -1
- package/dist/runtime/components/Select.vue +47 -10
- package/dist/runtime/components/SelectMenu.vue +52 -12
- package/dist/runtime/components/Separator.vue +16 -2
- package/dist/runtime/components/Slideover.vue +12 -2
- package/dist/runtime/components/Switch.vue +19 -3
- package/dist/runtime/components/Tabs.vue +12 -0
- package/dist/runtime/components/Textarea.vue +50 -6
- package/dist/runtime/components/Toast.vue +13 -2
- package/dist/runtime/components/Toaster.vue +8 -0
- package/dist/runtime/components/{prose → content}/TableWrapper.vue +27 -3
- package/dist/runtime/composables/useComponentIcons.d.ts +11 -4
- package/dist/runtime/index.css +1 -1
- package/dist/runtime/prose/ProseH1.vue +36 -0
- package/dist/runtime/prose/ProseH2.vue +36 -0
- package/dist/runtime/prose/ProseH3.vue +36 -0
- package/dist/runtime/prose/ProseLi.vue +36 -0
- package/dist/runtime/prose/ProseOl.vue +36 -0
- package/dist/runtime/prose/ProseP.vue +36 -0
- package/dist/runtime/prose/ProseUl.vue +36 -0
- package/dist/runtime/types/index.d.ts +9 -2
- package/dist/runtime/types/index.js +9 -2
- package/dist/runtime/utils/index.js +1 -1
- package/dist/runtime/vue/components/Link.vue +8 -4
- package/dist/shared/{b24ui-nuxt.CBO0gAWn.mjs → b24ui-nuxt.BGGwh89R.mjs} +198 -83
- package/dist/shared/{b24ui-nuxt.BT9wxrhm.cjs → b24ui-nuxt.CnMGpwQb.cjs} +198 -83
- package/dist/unplugin.cjs +4 -4
- package/dist/unplugin.mjs +4 -4
- package/dist/vite.cjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +4 -3
- /package/.nuxt/b24ui/{prose → content}/table-wrapper.ts +0 -0
- /package/.nuxt/b24ui/{content/description-list.ts → description-list.ts} +0 -0
|
@@ -20,18 +20,34 @@ export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | '
|
|
|
20
20
|
* @defaultValue 'div'
|
|
21
21
|
*/
|
|
22
22
|
as?: any
|
|
23
|
+
/**
|
|
24
|
+
* @defaultValue 'primary'
|
|
25
|
+
*/
|
|
23
26
|
color?: SwitchVariants['color']
|
|
27
|
+
/**
|
|
28
|
+
* @defaultValue 'md'
|
|
29
|
+
*/
|
|
24
30
|
size?: SwitchVariants['size']
|
|
25
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* When `true`, the loading icon will be displayed
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
26
35
|
loading?: boolean
|
|
27
36
|
/**
|
|
28
37
|
* The icon when the `loading` prop is `true`.
|
|
29
38
|
* @defaultValue icons.refresh
|
|
39
|
+
* @IconComponent
|
|
30
40
|
*/
|
|
31
41
|
loadingIcon?: IconComponent
|
|
32
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Display an icon when the switch is checked.
|
|
44
|
+
* @IconComponent
|
|
45
|
+
*/
|
|
33
46
|
checkedIcon?: IconComponent
|
|
34
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Display an icon when the switch is unchecked.
|
|
49
|
+
* @IconComponent
|
|
50
|
+
*/
|
|
35
51
|
uncheckedIcon?: IconComponent
|
|
36
52
|
label?: string
|
|
37
53
|
description?: string
|
|
@@ -14,6 +14,9 @@ const tabs = tv({ extend: tv(theme), ...(appConfigTabs.b24ui?.tabs || {}) })
|
|
|
14
14
|
|
|
15
15
|
export interface TabsItem {
|
|
16
16
|
label?: string
|
|
17
|
+
/**
|
|
18
|
+
* @IconComponent
|
|
19
|
+
*/
|
|
17
20
|
icon?: IconComponent
|
|
18
21
|
avatar?: AvatarProps
|
|
19
22
|
slot?: string
|
|
@@ -32,8 +35,17 @@ export interface TabsProps<T> extends Pick<TabsRootProps<string | number>, 'defa
|
|
|
32
35
|
*/
|
|
33
36
|
as?: any
|
|
34
37
|
items?: T[]
|
|
38
|
+
/**
|
|
39
|
+
* @defaultValue 'default'
|
|
40
|
+
*/
|
|
35
41
|
color?: TabsVariants['color']
|
|
42
|
+
/**
|
|
43
|
+
* @defaultValue 'link'
|
|
44
|
+
*/
|
|
36
45
|
variant?: TabsVariants['variant']
|
|
46
|
+
/**
|
|
47
|
+
* @defaultValue 'md'
|
|
48
|
+
*/
|
|
37
49
|
size?: TabsVariants['size']
|
|
38
50
|
/**
|
|
39
51
|
* The orientation of the tabs.
|
|
@@ -20,27 +20,71 @@ export interface TextareaProps {
|
|
|
20
20
|
as?: any
|
|
21
21
|
id?: string
|
|
22
22
|
name?: string
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The placeholder text when the textarea is empty
|
|
25
|
+
*/
|
|
24
26
|
placeholder?: string
|
|
27
|
+
/**
|
|
28
|
+
* @defaultValue 'primary'
|
|
29
|
+
*/
|
|
25
30
|
color?: TextareaVariants['color']
|
|
26
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Removes padding from input
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
27
35
|
noPadding?: boolean
|
|
28
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Removes all borders (rings)
|
|
38
|
+
* @defaultValue false
|
|
39
|
+
*/
|
|
29
40
|
noBorder?: boolean
|
|
30
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Removes all borders (rings) except the bottom one
|
|
43
|
+
* @defaultValue false
|
|
44
|
+
*/
|
|
31
45
|
underline?: boolean
|
|
32
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Rounds the corners of the button
|
|
48
|
+
* @defaultValue false
|
|
49
|
+
*/
|
|
33
50
|
rounded?: boolean
|
|
51
|
+
/**
|
|
52
|
+
* @defaultValue false
|
|
53
|
+
*/
|
|
34
54
|
required?: boolean
|
|
55
|
+
/**
|
|
56
|
+
* @defaultValue false
|
|
57
|
+
*/
|
|
35
58
|
autofocus?: boolean
|
|
59
|
+
/**
|
|
60
|
+
* @defaultValue 0
|
|
61
|
+
*/
|
|
36
62
|
autofocusDelay?: number
|
|
63
|
+
/**
|
|
64
|
+
* @defaultValue false
|
|
65
|
+
*/
|
|
37
66
|
disabled?: boolean
|
|
67
|
+
/**
|
|
68
|
+
* @defaultValue 3
|
|
69
|
+
*/
|
|
38
70
|
rows?: number
|
|
71
|
+
/**
|
|
72
|
+
* @defaultValue 5
|
|
73
|
+
*/
|
|
39
74
|
maxrows?: number
|
|
75
|
+
/**
|
|
76
|
+
* @defaultValue false
|
|
77
|
+
*/
|
|
40
78
|
autoresize?: boolean
|
|
41
79
|
tag?: string
|
|
80
|
+
/**
|
|
81
|
+
* @defaultValue 'primary'
|
|
82
|
+
*/
|
|
42
83
|
tagColor?: TextareaVariants['tagColor']
|
|
43
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Highlight the ring color like a focus state
|
|
86
|
+
* @defaultValue false
|
|
87
|
+
*/
|
|
44
88
|
highlight?: boolean
|
|
45
89
|
class?: any
|
|
46
90
|
b24ui?: PartialString<typeof textarea.slots>
|
|
@@ -22,26 +22,37 @@ export interface ToastProps extends Pick<ToastRootProps, 'defaultOpen' | 'open'
|
|
|
22
22
|
as?: any
|
|
23
23
|
title?: StringOrVNode
|
|
24
24
|
description?: StringOrVNode
|
|
25
|
+
/**
|
|
26
|
+
* @IconComponent
|
|
27
|
+
*/
|
|
25
28
|
icon?: IconComponent
|
|
26
29
|
avatar?: AvatarProps
|
|
30
|
+
/**
|
|
31
|
+
* @defaultValue 'default'
|
|
32
|
+
*/
|
|
27
33
|
color?: ToastVariants['color']
|
|
34
|
+
/**
|
|
35
|
+
* The orientation between the content and the actions
|
|
36
|
+
* @defaultValue 'vertical'
|
|
37
|
+
*/
|
|
28
38
|
orientation?: ToastVariants['orientation']
|
|
29
39
|
/**
|
|
30
40
|
* Display a list of actions:
|
|
31
41
|
* - under the title and description when orientation is `vertical`
|
|
32
42
|
* - next to the close button when orientation is `horizontal`
|
|
33
|
-
* `{ size: 'xs' }`{lang="ts
|
|
43
|
+
* `{ size: 'xs' }`{lang="ts"}
|
|
34
44
|
*/
|
|
35
45
|
actions?: ButtonProps[]
|
|
36
46
|
/**
|
|
37
47
|
* Display a close button to dismiss the toast.
|
|
38
|
-
* `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts
|
|
48
|
+
* `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
|
|
39
49
|
* @defaultValue true
|
|
40
50
|
*/
|
|
41
51
|
close?: boolean | Partial<ButtonProps>
|
|
42
52
|
/**
|
|
43
53
|
* The icon displayed in the close button.
|
|
44
54
|
* @defaultValue icons.close
|
|
55
|
+
* @IconComponent
|
|
45
56
|
*/
|
|
46
57
|
closeIcon?: IconComponent
|
|
47
58
|
class?: any
|
|
@@ -13,6 +13,10 @@ const toaster = tv({ extend: tv(theme), ...(appConfigToaster.b24ui?.toaster || {
|
|
|
13
13
|
type ToasterVariants = VariantProps<typeof toaster>
|
|
14
14
|
|
|
15
15
|
export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'> {
|
|
16
|
+
/**
|
|
17
|
+
* The position on the screen to display the toasts.
|
|
18
|
+
* @defaultValue 'top-right'
|
|
19
|
+
*/
|
|
16
20
|
position?: ToasterVariants['position']
|
|
17
21
|
/**
|
|
18
22
|
* Expand the toasts to show multiple toasts at once.
|
|
@@ -24,6 +28,10 @@ export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'>
|
|
|
24
28
|
* @defaultValue true
|
|
25
29
|
*/
|
|
26
30
|
portal?: boolean
|
|
31
|
+
/**
|
|
32
|
+
* @defaultValue 5000
|
|
33
|
+
*/
|
|
34
|
+
duration?: number
|
|
27
35
|
class?: any
|
|
28
36
|
b24ui?: Partial<typeof toaster.slots>
|
|
29
37
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
3
|
import type { AppConfig } from '@nuxt/schema'
|
|
4
4
|
import _appConfig from '#build/app.config'
|
|
5
|
-
import theme from '#build/b24ui/
|
|
5
|
+
import theme from '#build/b24ui/content/table-wrapper'
|
|
6
6
|
import { tv } from '../../utils/tv'
|
|
7
7
|
|
|
8
|
-
const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: {
|
|
8
|
+
const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: { content: { tableWrapper: Partial<typeof theme> } } }
|
|
9
9
|
|
|
10
|
-
const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.
|
|
10
|
+
const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.content?.tableWrapper || {}) })
|
|
11
11
|
|
|
12
12
|
type TableWrapperVariants = VariantProps<typeof tableWrapper>
|
|
13
13
|
|
|
@@ -17,13 +17,37 @@ export interface TableWrapperProps {
|
|
|
17
17
|
* @defaultValue 'div'
|
|
18
18
|
*/
|
|
19
19
|
as?: any
|
|
20
|
+
/**
|
|
21
|
+
* @defaultValue 'md'
|
|
22
|
+
*/
|
|
20
23
|
size?: TableWrapperVariants['size']
|
|
24
|
+
/**
|
|
25
|
+
* @defaultValue false
|
|
26
|
+
*/
|
|
21
27
|
rounded?: boolean
|
|
28
|
+
/**
|
|
29
|
+
* @defaultValue false
|
|
30
|
+
*/
|
|
22
31
|
zebra?: boolean
|
|
32
|
+
/**
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
23
35
|
pinRows?: boolean
|
|
36
|
+
/**
|
|
37
|
+
* @defaultValue false
|
|
38
|
+
*/
|
|
24
39
|
pinCols?: boolean
|
|
40
|
+
/**
|
|
41
|
+
* @defaultValue false
|
|
42
|
+
*/
|
|
25
43
|
rowHover?: boolean
|
|
44
|
+
/**
|
|
45
|
+
* @defaultValue false
|
|
46
|
+
*/
|
|
26
47
|
bordered?: boolean
|
|
48
|
+
/**
|
|
49
|
+
* @defaultValue true
|
|
50
|
+
*/
|
|
27
51
|
scrollbarThin?: boolean
|
|
28
52
|
class?: any
|
|
29
53
|
b24ui?: Partial<typeof tableWrapper.slots>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { type MaybeRefOrGetter } from 'vue';
|
|
2
2
|
import type { AvatarProps, IconComponent } from '../types';
|
|
3
3
|
export interface UseComponentIconsProps {
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Display an icon on the left side.
|
|
6
|
+
* @defaultValue icons.loading
|
|
7
|
+
* @IconComponent
|
|
8
|
+
*/
|
|
5
9
|
icon?: IconComponent;
|
|
6
10
|
/** Display an avatar on the left side. */
|
|
7
11
|
avatar?: AvatarProps;
|
|
@@ -9,12 +13,15 @@ export interface UseComponentIconsProps {
|
|
|
9
13
|
loading?: boolean;
|
|
10
14
|
/** When `true`, the icon will be displayed on the right side. */
|
|
11
15
|
trailing?: boolean;
|
|
12
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Display an icon on the right side.
|
|
18
|
+
* @IconComponent
|
|
19
|
+
*/
|
|
13
20
|
trailingIcon?: IconComponent;
|
|
14
21
|
}
|
|
15
22
|
export declare function useComponentIcons(componentProps: MaybeRefOrGetter<UseComponentIconsProps>): {
|
|
16
23
|
isLeading: import("vue").ComputedRef<any>;
|
|
17
24
|
isTrailing: import("vue").ComputedRef<boolean>;
|
|
18
|
-
leadingIconName: import("vue").ComputedRef<
|
|
19
|
-
trailingIconName: import("vue").ComputedRef<
|
|
25
|
+
leadingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
|
|
26
|
+
trailingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
|
|
20
27
|
};
|
package/dist/runtime/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@plugin "@bitrix24/b24style";@import "#build/b24ui.css";@import "./keyframes.css";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer base{body{@apply antialiased scheme-light dark:scheme-dark}.scrollbar-thin{scrollbar-width:thin}}
|
|
1
|
+
@plugin "@bitrix24/b24style";@import "#build/b24ui.css";@import "./keyframes.css";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer base{--b24ui-header-height:calc(var(--spacing)*16);body{@apply antialiased scheme-light dark:scheme-dark}.scrollbar-thin{scrollbar-width:thin}}@layer theme{:host,:root{--spacing:.25rem}}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-h1'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseH1 = _appConfig as AppConfig & { b24ui: { prose: { h1: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseH1 = tv({ extend: tv(theme), ...(appConfigProseH1.b24ui?.prose?.h1 || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseH1Props {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseH1.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseH1Slots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseH1Props>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseH1({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<h1
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</h1>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-h2'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseH2 = _appConfig as AppConfig & { b24ui: { prose: { h2: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseH2 = tv({ extend: tv(theme), ...(appConfigProseH2.b24ui?.prose?.h2 || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseH2Props {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseH2.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseH2Slots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseH2Props>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseH2({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<h2
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</h2>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-h3'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseH3 = _appConfig as AppConfig & { b24ui: { prose: { h3: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseH3 = tv({ extend: tv(theme), ...(appConfigProseH3.b24ui?.prose?.h3 || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseH3Props {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseH3.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseH3Slots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseH3Props>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseH3({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<h3
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</h3>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-li'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseLi = _appConfig as AppConfig & { b24ui: { prose: { li: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseLi = tv({ extend: tv(theme), ...(appConfigProseLi.b24ui?.prose?.li || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseLiProps {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseLi.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseLiSlots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseLiProps>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseLi({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<li
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</li>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-ol'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseOl = _appConfig as AppConfig & { b24ui: { prose: { ol: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseOl = tv({ extend: tv(theme), ...(appConfigProseOl.b24ui?.prose?.ol || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseOlProps {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseOl.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseOlSlots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseOlProps>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseOl({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<ol
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</ol>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-p'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseP = _appConfig as AppConfig & { b24ui: { prose: { p: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseP = tv({ extend: tv(theme), ...(appConfigProseP.b24ui?.prose?.p || {}) })
|
|
10
|
+
|
|
11
|
+
export interface prosePProps {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseP.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface prosePSlots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<prosePProps>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseP({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<p
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</p>
|
|
36
|
+
</template>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
3
|
+
import _appConfig from '#build/app.config'
|
|
4
|
+
import theme from '#build/b24ui/prose/prose-ul'
|
|
5
|
+
import { tv } from '../utils/tv'
|
|
6
|
+
|
|
7
|
+
const appConfigProseUl = _appConfig as AppConfig & { b24ui: { prose: { ul: Partial<typeof theme> } } }
|
|
8
|
+
|
|
9
|
+
const proseUl = tv({ extend: tv(theme), ...(appConfigProseUl.b24ui?.prose?.ul || {}) })
|
|
10
|
+
|
|
11
|
+
export interface proseUlProps {
|
|
12
|
+
class?: any
|
|
13
|
+
b24ui?: Partial<typeof proseUl.slots>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface proseUlSlots {
|
|
17
|
+
default(props?: {}): any
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
defineOptions({ inheritAttrs: false })
|
|
23
|
+
|
|
24
|
+
const props = defineProps<proseUlProps>()
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line vue/no-dupe-keys
|
|
27
|
+
const b24ui = proseUl({})
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<ul
|
|
32
|
+
:class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</ul>
|
|
36
|
+
</template>
|
|
@@ -10,6 +10,7 @@ export * from '../components/Checkbox.vue';
|
|
|
10
10
|
export * from '../components/Chip.vue';
|
|
11
11
|
export * from '../components/Container.vue';
|
|
12
12
|
export * from '../components/Countdown.vue';
|
|
13
|
+
export * from '../components/DescriptionList.vue';
|
|
13
14
|
export * from '../components/DropdownMenu.vue';
|
|
14
15
|
export * from '../components/Form.vue';
|
|
15
16
|
export * from '../components/FormField.vue';
|
|
@@ -34,8 +35,14 @@ export * from '../components/Textarea.vue';
|
|
|
34
35
|
export * from '../components/Toast.vue';
|
|
35
36
|
export * from '../components/Toaster.vue';
|
|
36
37
|
export * from '../components/Tooltip.vue';
|
|
37
|
-
export * from '../components/content/
|
|
38
|
-
export * from '../
|
|
38
|
+
export * from '../components/content/TableWrapper.vue';
|
|
39
|
+
export * from '../prose/ProseH1.vue';
|
|
40
|
+
export * from '../prose/ProseH2.vue';
|
|
41
|
+
export * from '../prose/ProseH3.vue';
|
|
42
|
+
export * from '../prose/ProseLi.vue';
|
|
43
|
+
export * from '../prose/ProseOl.vue';
|
|
44
|
+
export * from '../prose/ProseP.vue';
|
|
45
|
+
export * from '../prose/ProseUl.vue';
|
|
39
46
|
export * from './form';
|
|
40
47
|
export * from './icons';
|
|
41
48
|
export * from './locale';
|
|
@@ -10,6 +10,7 @@ export * from "../components/Checkbox.vue";
|
|
|
10
10
|
export * from "../components/Chip.vue";
|
|
11
11
|
export * from "../components/Container.vue";
|
|
12
12
|
export * from "../components/Countdown.vue";
|
|
13
|
+
export * from "../components/DescriptionList.vue";
|
|
13
14
|
export * from "../components/DropdownMenu.vue";
|
|
14
15
|
export * from "../components/Form.vue";
|
|
15
16
|
export * from "../components/FormField.vue";
|
|
@@ -34,8 +35,14 @@ export * from "../components/Textarea.vue";
|
|
|
34
35
|
export * from "../components/Toast.vue";
|
|
35
36
|
export * from "../components/Toaster.vue";
|
|
36
37
|
export * from "../components/Tooltip.vue";
|
|
37
|
-
export * from "../components/content/
|
|
38
|
-
export * from "../
|
|
38
|
+
export * from "../components/content/TableWrapper.vue";
|
|
39
|
+
export * from "../prose/ProseH1.vue";
|
|
40
|
+
export * from "../prose/ProseH2.vue";
|
|
41
|
+
export * from "../prose/ProseH3.vue";
|
|
42
|
+
export * from "../prose/ProseLi.vue";
|
|
43
|
+
export * from "../prose/ProseOl.vue";
|
|
44
|
+
export * from "../prose/ProseP.vue";
|
|
45
|
+
export * from "../prose/ProseUl.vue";
|
|
39
46
|
export * from "./form.js";
|
|
40
47
|
export * from "./icons.js";
|
|
41
48
|
export * from "./locale.js";
|
|
@@ -93,7 +93,7 @@ export interface LinkSlots {
|
|
|
93
93
|
|
|
94
94
|
<script setup lang="ts">
|
|
95
95
|
import { computed, getCurrentInstance } from 'vue'
|
|
96
|
-
import { isEqual, diff } from 'ohash'
|
|
96
|
+
import { isEqual, diff } from 'ohash/utils'
|
|
97
97
|
import { useForwardProps } from 'reka-ui'
|
|
98
98
|
import { reactiveOmit } from '@vueuse/core'
|
|
99
99
|
import { hasProtocol } from 'ufo'
|
|
@@ -144,11 +144,15 @@ const b24ui = computed(() => tv({
|
|
|
144
144
|
function isPartiallyEqual(item1: any, item2: any) {
|
|
145
145
|
const diffedKeys = diff(item1, item2).reduce((filtered, q) => {
|
|
146
146
|
if (q.type === 'added') {
|
|
147
|
-
filtered.
|
|
147
|
+
filtered.add(q.key)
|
|
148
148
|
}
|
|
149
149
|
return filtered
|
|
150
|
-
},
|
|
151
|
-
|
|
150
|
+
}, new Set<string>())
|
|
151
|
+
|
|
152
|
+
const item1Filtered = Object.fromEntries(Object.entries(item1).filter(([key]) => !diffedKeys.has(key)))
|
|
153
|
+
const item2Filtered = Object.fromEntries(Object.entries(item2).filter(([key]) => !diffedKeys.has(key)))
|
|
154
|
+
|
|
155
|
+
return isEqual(item1Filtered, item2Filtered)
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
const isExternal = computed(() => {
|