@bitrix24/b24ui-nuxt 2.1.2 → 2.1.4
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/cli/templates.mjs +2 -2
- package/dist/meta.d.mts +1321 -192
- package/dist/meta.mjs +1321 -192
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/components/Accordion.vue +9 -4
- package/dist/runtime/components/Advice.vue +9 -5
- package/dist/runtime/components/Alert.vue +9 -7
- package/dist/runtime/components/Avatar.vue +4 -2
- package/dist/runtime/components/AvatarGroup.vue +3 -3
- package/dist/runtime/components/Badge.vue +6 -1
- package/dist/runtime/components/Banner.vue +9 -8
- package/dist/runtime/components/Breadcrumb.vue +9 -4
- package/dist/runtime/components/Button.vue +12 -9
- package/dist/runtime/components/Calendar.vue +11 -5
- package/dist/runtime/components/Card.vue +4 -4
- package/dist/runtime/components/ChatMessage.vue +7 -5
- package/dist/runtime/components/ChatMessages.vue +4 -2
- package/dist/runtime/components/ChatPalette.vue +3 -3
- package/dist/runtime/components/ChatPrompt.vue +4 -3
- package/dist/runtime/components/ChatPromptSubmit.vue +1 -0
- package/dist/runtime/components/Checkbox.vue +9 -7
- package/dist/runtime/components/CheckboxGroup.vue +4 -2
- package/dist/runtime/components/Chip.vue +3 -0
- package/dist/runtime/components/Collapsible.vue +2 -2
- package/dist/runtime/components/ColorPicker.vue +7 -3
- package/dist/runtime/components/CommandPalette.vue +68 -23
- package/dist/runtime/components/ContextMenu.vue +1 -0
- package/dist/runtime/components/ContextMenuContent.vue +19 -6
- package/dist/runtime/components/Countdown.vue +8 -1
- package/dist/runtime/components/DashboardSearch.vue +1 -0
- package/dist/runtime/components/DashboardSearchButton.vue +2 -1
- package/dist/runtime/components/DescriptionList.vue +12 -4
- package/dist/runtime/components/DropdownMenu.vue +2 -1
- package/dist/runtime/components/DropdownMenuContent.vue +21 -7
- package/dist/runtime/components/Empty.vue +9 -8
- package/dist/runtime/components/Error.vue +5 -5
- package/dist/runtime/components/FileUpload.vue +15 -8
- package/dist/runtime/components/FormField.vue +11 -11
- package/dist/runtime/components/Input.vue +8 -3
- package/dist/runtime/components/InputDate.vue +9 -2
- package/dist/runtime/components/InputMenu.vue +50 -32
- package/dist/runtime/components/InputNumber.vue +5 -2
- package/dist/runtime/components/InputTags.vue +12 -3
- package/dist/runtime/components/InputTime.vue +8 -2
- package/dist/runtime/components/Kbd.vue +1 -1
- package/dist/runtime/components/Modal.vue +11 -8
- package/dist/runtime/components/Navbar.vue +1 -1
- package/dist/runtime/components/NavbarDivider.vue +1 -1
- package/dist/runtime/components/NavbarSection.vue +2 -1
- package/dist/runtime/components/NavbarSpacer.vue +1 -1
- package/dist/runtime/components/NavigationMenu.vue +43 -12
- package/dist/runtime/components/PageCard.vue +10 -9
- package/dist/runtime/components/PageLinks.vue +9 -7
- package/dist/runtime/components/Pagination.vue +8 -8
- package/dist/runtime/components/PinInput.vue +2 -0
- package/dist/runtime/components/Popover.vue +2 -2
- package/dist/runtime/components/Progress.vue +6 -6
- package/dist/runtime/components/RadioGroup.d.vue.ts +2 -2
- package/dist/runtime/components/RadioGroup.vue +10 -4
- package/dist/runtime/components/RadioGroup.vue.d.ts +2 -2
- package/dist/runtime/components/Range.vue +5 -4
- package/dist/runtime/components/Select.vue +25 -11
- package/dist/runtime/components/SelectMenu.vue +47 -25
- package/dist/runtime/components/Separator.vue +7 -7
- package/dist/runtime/components/Sidebar.vue +1 -1
- package/dist/runtime/components/SidebarBody.vue +1 -1
- package/dist/runtime/components/SidebarFooter.vue +1 -1
- package/dist/runtime/components/SidebarHeader.vue +1 -1
- package/dist/runtime/components/SidebarHeading.vue +1 -1
- package/dist/runtime/components/SidebarLayout.vue +18 -13
- package/dist/runtime/components/SidebarSection.vue +2 -1
- package/dist/runtime/components/SidebarSpacer.vue +1 -1
- package/dist/runtime/components/Skeleton.vue +1 -0
- package/dist/runtime/components/Slideover.vue +10 -7
- package/dist/runtime/components/Stepper.vue +12 -9
- package/dist/runtime/components/Switch.vue +10 -6
- package/dist/runtime/components/Table.d.vue.ts +2 -2
- package/dist/runtime/components/Table.vue +33 -15
- package/dist/runtime/components/Table.vue.d.ts +2 -2
- package/dist/runtime/components/TableWrapper.vue +1 -0
- package/dist/runtime/components/Tabs.d.vue.ts +3 -3
- package/dist/runtime/components/Tabs.vue +24 -15
- package/dist/runtime/components/Tabs.vue.d.ts +3 -3
- package/dist/runtime/components/Textarea.vue +8 -3
- package/dist/runtime/components/Timeline.vue +9 -6
- package/dist/runtime/components/Toast.vue +10 -6
- package/dist/runtime/components/Toaster.vue +2 -0
- package/dist/runtime/components/Tooltip.vue +4 -4
- package/dist/runtime/components/User.vue +13 -6
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +2 -9
- package/dist/runtime/components/color-mode/ColorModeButton.vue +8 -13
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +2 -9
- package/dist/runtime/components/content/ContentSearch.vue +59 -68
- package/dist/runtime/components/content/ContentSearchButton.vue +2 -1
- package/dist/runtime/components/content/ContentSurround.vue +6 -4
- package/dist/runtime/components/content/ContentToc.vue +13 -10
- package/dist/runtime/components/prose/A.vue +1 -1
- package/dist/runtime/components/prose/Blockquote.vue +1 -1
- package/dist/runtime/components/prose/Callout.vue +4 -1
- package/dist/runtime/components/prose/Card.vue +5 -3
- package/dist/runtime/components/prose/Code.vue +1 -0
- package/dist/runtime/components/prose/CodeCollapse.vue +3 -2
- package/dist/runtime/components/prose/CodeGroup.vue +6 -6
- package/dist/runtime/components/prose/CodePreview.vue +3 -3
- package/dist/runtime/components/prose/Collapsible.vue +3 -2
- package/dist/runtime/components/prose/Em.vue +1 -1
- package/dist/runtime/components/prose/Field.vue +7 -7
- package/dist/runtime/components/prose/H1.vue +1 -0
- package/dist/runtime/components/prose/H2.vue +4 -2
- package/dist/runtime/components/prose/H3.vue +4 -2
- package/dist/runtime/components/prose/H4.vue +4 -2
- package/dist/runtime/components/prose/H5.vue +1 -0
- package/dist/runtime/components/prose/H6.vue +1 -0
- package/dist/runtime/components/prose/Hr.vue +1 -1
- package/dist/runtime/components/prose/Img.vue +4 -0
- package/dist/runtime/components/prose/Li.vue +1 -1
- package/dist/runtime/components/prose/Ol.vue +1 -1
- package/dist/runtime/components/prose/P.vue +1 -1
- package/dist/runtime/components/prose/Pre.vue +6 -5
- package/dist/runtime/components/prose/Strong.vue +1 -1
- package/dist/runtime/components/prose/Table.d.vue.ts +0 -3
- package/dist/runtime/components/prose/Table.vue +2 -1
- package/dist/runtime/components/prose/Table.vue.d.ts +0 -3
- package/dist/runtime/components/prose/Tbody.vue +1 -1
- package/dist/runtime/components/prose/Td.vue +1 -1
- package/dist/runtime/components/prose/Th.vue +1 -1
- package/dist/runtime/components/prose/Thead.vue +1 -1
- package/dist/runtime/components/prose/Tr.vue +1 -1
- package/dist/runtime/components/prose/Ul.vue +1 -1
- package/dist/runtime/composables/useContentSearch.d.ts +5 -0
- package/dist/runtime/composables/useContentSearch.js +30 -1
- package/dist/runtime/inertia/stubs.js +1 -1
- package/dist/runtime/types/index.d.ts +3 -0
- package/dist/runtime/types/index.js +3 -0
- package/dist/runtime/utils/virtualizer.d.ts +6 -0
- package/dist/runtime/utils/virtualizer.js +32 -0
- package/dist/shared/{b24ui-nuxt.B9uYyQGR.mjs → b24ui-nuxt.Bs0V9FLV.mjs} +25 -19
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +11 -11
- package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +0 -12
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +0 -83
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +0 -12
|
@@ -27,15 +27,16 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
27
27
|
</script>
|
|
28
28
|
|
|
29
29
|
<template>
|
|
30
|
-
<div :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
30
|
+
<div data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
31
31
|
<slot />
|
|
32
32
|
|
|
33
|
-
<div :class="b24ui.footer({ class: props.b24ui?.footer })">
|
|
33
|
+
<div data-slot="footer" :class="b24ui.footer({ class: props.b24ui?.footer })">
|
|
34
34
|
<B24Button
|
|
35
35
|
:icon="icon || icons.chevronDown"
|
|
36
36
|
color="air-secondary-accent-1"
|
|
37
37
|
:data-state="open ? 'open' : 'closed'"
|
|
38
38
|
:label="`${open ? props.closeText || t('prose.codeCollapse.closeText') : props.openText || t('prose.codeCollapse.openText')} ${props.name || t('prose.codeCollapse.name')}`"
|
|
39
|
+
data-slot="trigger"
|
|
39
40
|
:class="b24ui.trigger({ class: props.b24ui?.trigger })"
|
|
40
41
|
:b24ui="{ leadingIcon: b24ui.triggerIcon({ class: props.b24ui?.triggerIcon }) }"
|
|
41
42
|
@click="open = !open"
|
|
@@ -52,14 +52,14 @@ onBeforeUpdate(() => rerenderCount.value++);
|
|
|
52
52
|
</script>
|
|
53
53
|
|
|
54
54
|
<template>
|
|
55
|
-
<TabsRoot v-model="model" :default-value="defaultValue" :unmount-on-hide="false" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
56
|
-
<TabsList :class="b24ui.list({ class: props.b24ui?.list })">
|
|
57
|
-
<TabsIndicator :class="b24ui.indicator({ class: props.b24ui?.indicator })" />
|
|
55
|
+
<TabsRoot v-model="model" :default-value="defaultValue" :unmount-on-hide="false" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
56
|
+
<TabsList data-slot="list" :class="b24ui.list({ class: props.b24ui?.list })">
|
|
57
|
+
<TabsIndicator data-slot="indicator" :class="b24ui.indicator({ class: props.b24ui?.indicator })" />
|
|
58
58
|
|
|
59
|
-
<TabsTrigger v-for="(item, index) of items" :key="index" :value="String(index)" :class="b24ui.trigger({ class: props.b24ui?.trigger })">
|
|
60
|
-
<B24CodeIcon :icon="item.icon" :filename="item.label" :class="b24ui.triggerIcon({ class: props.b24ui?.triggerIcon })" />
|
|
59
|
+
<TabsTrigger v-for="(item, index) of items" :key="index" :value="String(index)" data-slot="trigger" :class="b24ui.trigger({ class: props.b24ui?.trigger })">
|
|
60
|
+
<B24CodeIcon :icon="item.icon" :filename="item.label" data-slot="triggerIcon" :class="b24ui.triggerIcon({ class: props.b24ui?.triggerIcon })" />
|
|
61
61
|
|
|
62
|
-
<span :class="b24ui.triggerLabel({ class: props.b24ui?.triggerLabel })">{{ item.label }}</span>
|
|
62
|
+
<span data-slot="triggerLabel" :class="b24ui.triggerLabel({ class: props.b24ui?.triggerLabel })">{{ item.label }}</span>
|
|
63
63
|
</TabsTrigger>
|
|
64
64
|
</TabsList>
|
|
65
65
|
|
|
@@ -16,12 +16,12 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<div :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
20
|
-
<div :class="b24ui.preview({ class: [props.b24ui?.preview] })">
|
|
19
|
+
<div data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
20
|
+
<div data-slot="preview" :class="b24ui.preview({ class: [props.b24ui?.preview] })">
|
|
21
21
|
<slot />
|
|
22
22
|
</div>
|
|
23
23
|
|
|
24
|
-
<div v-if="!!slots.code" :class="b24ui.code({ class: [props.b24ui?.code] })">
|
|
24
|
+
<div v-if="!!slots.code" data-slot="code" :class="b24ui.code({ class: [props.b24ui?.code] })">
|
|
25
25
|
<slot name="code" />
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
@@ -27,12 +27,13 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
27
27
|
<template>
|
|
28
28
|
<B24Collapsible :unmount-on-hide="false" :class="props.class" :b24ui="transformUI(b24ui, props.b24ui)">
|
|
29
29
|
<template #default="{ open }">
|
|
30
|
-
<button :class="b24ui.trigger({ class: props.b24ui?.trigger })">
|
|
30
|
+
<button data-slot="trigger" :class="b24ui.trigger({ class: props.b24ui?.trigger })">
|
|
31
31
|
<Component
|
|
32
32
|
:is="icon || icons.chevronDown"
|
|
33
|
+
data-slot="triggerIcon"
|
|
33
34
|
:class="b24ui.triggerIcon({ class: props.b24ui?.triggerIcon })"
|
|
34
35
|
/>
|
|
35
|
-
<span :class="b24ui.triggerLabel({ class: props.b24ui?.triggerLabel })">
|
|
36
|
+
<span data-slot="triggerLabel" :class="b24ui.triggerLabel({ class: props.b24ui?.triggerLabel })">
|
|
36
37
|
{{ open ? props.closeText || t("prose.collapsible.closeText") : props.openText || t("prose.collapsible.openText") }} {{ props.name || t("prose.collapsible.name") }}
|
|
37
38
|
</span>
|
|
38
39
|
</button>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<em :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<em data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</em>
|
|
22
22
|
</template>
|
|
@@ -22,24 +22,24 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
22
22
|
</script>
|
|
23
23
|
|
|
24
24
|
<template>
|
|
25
|
-
<Primitive :as="as" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
26
|
-
<div :class="b24ui.container({ class: props.b24ui?.container })">
|
|
27
|
-
<span v-if="name" :class="b24ui.name({ class: props.b24ui?.name })">
|
|
25
|
+
<Primitive :as="as" data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root, props.class] })">
|
|
26
|
+
<div data-slot="container" :class="b24ui.container({ class: props.b24ui?.container })">
|
|
27
|
+
<span v-if="name" data-slot="name" :class="b24ui.name({ class: props.b24ui?.name })">
|
|
28
28
|
{{ name }}
|
|
29
29
|
</span>
|
|
30
30
|
|
|
31
|
-
<div v-if="type || required" :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
|
|
32
|
-
<span v-if="type" :class="b24ui.type({ class: props.b24ui?.type })">
|
|
31
|
+
<div v-if="type || required" data-slot="wrapper" :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
|
|
32
|
+
<span v-if="type" data-slot="type" :class="b24ui.type({ class: props.b24ui?.type })">
|
|
33
33
|
{{ type }}
|
|
34
34
|
</span>
|
|
35
35
|
|
|
36
|
-
<span v-if="required" :class="b24ui.required({ class: props.b24ui?.required })">
|
|
36
|
+
<span v-if="required" data-slot="required" :class="b24ui.required({ class: props.b24ui?.required })">
|
|
37
37
|
required
|
|
38
38
|
</span>
|
|
39
39
|
</div>
|
|
40
40
|
</div>
|
|
41
41
|
|
|
42
|
-
<div v-if="!!slots.default || description" :class="b24ui.description({ class: props.b24ui?.description })">
|
|
42
|
+
<div v-if="!!slots.default || description" data-slot="description" :class="b24ui.description({ class: props.b24ui?.description })">
|
|
43
43
|
<slot mdc-unwrap="p">
|
|
44
44
|
{{ description }}
|
|
45
45
|
</slot>
|
|
@@ -24,6 +24,7 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
|
|
|
24
24
|
<template>
|
|
25
25
|
<h1
|
|
26
26
|
:id="id"
|
|
27
|
+
data-slot="base"
|
|
27
28
|
:class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
|
|
28
29
|
>
|
|
29
30
|
<a v-if="id && generate" :href="`#${id}`" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
@@ -25,12 +25,14 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
|
|
|
25
25
|
<template>
|
|
26
26
|
<h2
|
|
27
27
|
:id="id"
|
|
28
|
+
data-slot="base"
|
|
28
29
|
:class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
|
|
29
30
|
>
|
|
30
|
-
<a v-if="id && generate" :href="`#${id}`" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
31
|
-
<span :class="b24ui.leading({ class: props.b24ui?.leading })">
|
|
31
|
+
<a v-if="id && generate" :href="`#${id}`" data-slot="link" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
32
|
+
<span data-slot="leading" :class="b24ui.leading({ class: props.b24ui?.leading })">
|
|
32
33
|
<Component
|
|
33
34
|
:is="icons.hash"
|
|
35
|
+
data-slot="leadingIcon"
|
|
34
36
|
:class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
|
|
35
37
|
/>
|
|
36
38
|
</span>
|
|
@@ -25,12 +25,14 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
|
|
|
25
25
|
<template>
|
|
26
26
|
<h3
|
|
27
27
|
:id="id"
|
|
28
|
+
data-slot="base"
|
|
28
29
|
:class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
|
|
29
30
|
>
|
|
30
|
-
<a v-if="id && generate" :href="`#${id}`" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
31
|
-
<span :class="b24ui.leading({ class: props.b24ui?.leading })">
|
|
31
|
+
<a v-if="id && generate" :href="`#${id}`" data-slot="link" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
32
|
+
<span data-slot="leading" :class="b24ui.leading({ class: props.b24ui?.leading })">
|
|
32
33
|
<Component
|
|
33
34
|
:is="icons.hash"
|
|
35
|
+
data-slot="leadingIcon"
|
|
34
36
|
:class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
|
|
35
37
|
/>
|
|
36
38
|
</span>
|
|
@@ -25,12 +25,14 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
|
|
|
25
25
|
<template>
|
|
26
26
|
<h4
|
|
27
27
|
:id="id"
|
|
28
|
+
data-slot="base"
|
|
28
29
|
:class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
|
|
29
30
|
>
|
|
30
|
-
<a v-if="id && generate" :href="`#${id}`" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
31
|
-
<span :class="b24ui.leading({ class: props.b24ui?.leading })">
|
|
31
|
+
<a v-if="id && generate" :href="`#${id}`" data-slot="link" :class="b24ui.link({ class: props.b24ui?.link })">
|
|
32
|
+
<span data-slot="leading" :class="b24ui.leading({ class: props.b24ui?.leading })">
|
|
32
33
|
<Component
|
|
33
34
|
:is="icons.hash"
|
|
35
|
+
data-slot="leadingIcon"
|
|
34
36
|
:class="b24ui.leadingIcon({ class: props.b24ui?.leadingIcon })"
|
|
35
37
|
/>
|
|
36
38
|
</span>
|
|
@@ -15,5 +15,5 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
15
15
|
</script>
|
|
16
16
|
|
|
17
17
|
<template>
|
|
18
|
-
<hr :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
18
|
+
<hr data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
19
|
</template>
|
|
@@ -48,6 +48,7 @@ if (props.zoom) {
|
|
|
48
48
|
:width="width"
|
|
49
49
|
:height="height"
|
|
50
50
|
v-bind="$attrs"
|
|
51
|
+
data-slot="base"
|
|
51
52
|
:class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
|
|
52
53
|
/>
|
|
53
54
|
</DefineImageTemplate>
|
|
@@ -58,6 +59,7 @@ if (props.zoom) {
|
|
|
58
59
|
:src="refinedSrc"
|
|
59
60
|
:alt="alt"
|
|
60
61
|
v-bind="$attrs"
|
|
62
|
+
data-slot="zoomedImage"
|
|
61
63
|
:class="b24ui.zoomedImage({ class: [props.b24ui?.zoomedImage] })"
|
|
62
64
|
/>
|
|
63
65
|
</DefineZoomedImageTemplate>
|
|
@@ -81,11 +83,13 @@ if (props.zoom) {
|
|
|
81
83
|
:initial="{ opacity: 0 }"
|
|
82
84
|
:animate="{ opacity: 1 }"
|
|
83
85
|
:exit="{ opacity: 0 }"
|
|
86
|
+
data-slot="overlay"
|
|
84
87
|
:class="b24ui.overlay({ class: [props.b24ui?.overlay] })"
|
|
85
88
|
/>
|
|
86
89
|
|
|
87
90
|
<div
|
|
88
91
|
v-if="open"
|
|
92
|
+
data-slot="content"
|
|
89
93
|
:class="b24ui.content({ class: [props.b24ui?.content] })"
|
|
90
94
|
@click="close"
|
|
91
95
|
>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<li :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<li data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</li>
|
|
22
22
|
</template>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<ol :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<ol data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</ol>
|
|
22
22
|
</template>
|
|
@@ -21,7 +21,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
21
21
|
</script>
|
|
22
22
|
|
|
23
23
|
<template>
|
|
24
|
-
<p :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
24
|
+
<p data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
25
25
|
<slot />
|
|
26
26
|
</p>
|
|
27
27
|
</template>
|
|
@@ -31,17 +31,18 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
31
31
|
</script>
|
|
32
32
|
|
|
33
33
|
<template>
|
|
34
|
-
<div :class="b24ui.root({ class: [props.b24ui?.root], filename: !!filename })">
|
|
35
|
-
<div v-if="filename && !hideHeader" :class="b24ui.header({ class: props.b24ui?.header })">
|
|
36
|
-
<B24CodeIcon :icon="icon" :filename="filename" :class="b24ui.icon({ class: props.b24ui?.icon })" />
|
|
34
|
+
<div data-slot="root" :class="b24ui.root({ class: [props.b24ui?.root], filename: !!filename })">
|
|
35
|
+
<div v-if="filename && !hideHeader" data-slot="header" :class="b24ui.header({ class: props.b24ui?.header })">
|
|
36
|
+
<B24CodeIcon :icon="icon" :filename="filename" data-slot="icon" :class="b24ui.icon({ class: props.b24ui?.icon })" />
|
|
37
37
|
|
|
38
|
-
<span :class="b24ui.filename({ class: props.b24ui?.filename })">{{ filename }}</span>
|
|
38
|
+
<span data-slot="filename" :class="b24ui.filename({ class: props.b24ui?.filename })">{{ filename }}</span>
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
41
|
<B24Button
|
|
42
42
|
color="air-secondary-no-accent"
|
|
43
43
|
size="sm"
|
|
44
44
|
:aria-label="t('prose.pre.copy')"
|
|
45
|
+
data-slot="copy"
|
|
45
46
|
:class="b24ui.copy({ class: props.b24ui?.copy })"
|
|
46
47
|
tabindex="-1"
|
|
47
48
|
:icon="copied ? icons.copyCheck : icons.copy"
|
|
@@ -51,7 +52,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
51
52
|
@click="copy(props.code || '')"
|
|
52
53
|
/>
|
|
53
54
|
|
|
54
|
-
<pre :class="b24ui.base({ class: [props.b24ui?.base, props.class] })" v-bind="$attrs"><slot /></pre>
|
|
55
|
+
<pre data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })" v-bind="$attrs"><slot /></pre>
|
|
55
56
|
</div>
|
|
56
57
|
</template>
|
|
57
58
|
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<strong :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<strong data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</strong>
|
|
22
22
|
</template>
|
|
@@ -25,6 +25,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
25
25
|
<template>
|
|
26
26
|
<B24TableWrapper
|
|
27
27
|
:as="as"
|
|
28
|
+
data-slot="root"
|
|
28
29
|
:class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
|
|
29
30
|
:zebra="props.zebra"
|
|
30
31
|
:row-hover="props.rowHover"
|
|
@@ -32,7 +33,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
32
33
|
:bordered="props.bordered"
|
|
33
34
|
size="sm"
|
|
34
35
|
>
|
|
35
|
-
<table :class="b24ui.base({ class: props.b24ui?.base })">
|
|
36
|
+
<table data-slot="base" :class="b24ui.base({ class: props.b24ui?.base })">
|
|
36
37
|
<slot />
|
|
37
38
|
</table>
|
|
38
39
|
</B24TableWrapper>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<tbody :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<tbody data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</tbody>
|
|
22
22
|
</template>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<td :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<td data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</td>
|
|
22
22
|
</template>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<th :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<th data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</th>
|
|
22
22
|
</template>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<thead :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<thead data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</thead>
|
|
22
22
|
</template>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<tr :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<tr data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</tr>
|
|
22
22
|
</template>
|
|
@@ -16,7 +16,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<ul :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
19
|
+
<ul data-slot="base" :class="b24ui.base({ class: [props.b24ui?.base, props.class] })">
|
|
20
20
|
<slot />
|
|
21
21
|
</ul>
|
|
22
22
|
</template>
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import type { ContentNavigationItem } from '@nuxt/content';
|
|
2
|
+
import type { ContentSearchFile, ContentSearchItem } from '../components/content/ContentSearch.vue';
|
|
1
3
|
declare function _useContentSearch(): {
|
|
2
4
|
open: import("vue").Ref<boolean, boolean>;
|
|
5
|
+
mapFile: (file: ContentSearchFile, link: ContentNavigationItem, parent?: ContentNavigationItem) => ContentSearchItem;
|
|
6
|
+
mapNavigationItems: (children: ContentNavigationItem[], files: ContentSearchFile[], parent?: ContentNavigationItem) => ContentSearchItem[];
|
|
7
|
+
postFilter: (query: string, items: ContentSearchItem[]) => ContentSearchItem[];
|
|
3
8
|
};
|
|
4
9
|
export declare const useContentSearch: typeof _useContentSearch;
|
|
5
10
|
export {};
|
|
@@ -1,9 +1,38 @@
|
|
|
1
1
|
import { ref } from "vue";
|
|
2
2
|
import { createSharedComposable } from "@vueuse/core";
|
|
3
|
+
import icons from "../dictionary/icons.js";
|
|
3
4
|
function _useContentSearch() {
|
|
4
5
|
const open = ref(false);
|
|
6
|
+
function mapFile(file, link, parent) {
|
|
7
|
+
const prefix = [...new Set([parent?.title, ...file.titles].filter(Boolean))];
|
|
8
|
+
return {
|
|
9
|
+
prefix: prefix?.length ? prefix.join(" > ") + " >" : void 0,
|
|
10
|
+
label: file.id === link.path ? link.title : file.title,
|
|
11
|
+
suffix: file.content.replaceAll("<", "<").replaceAll(">", ">"),
|
|
12
|
+
to: file.id,
|
|
13
|
+
icon: link.icon || parent?.icon || (file.level > 1 ? icons.hash : icons.file),
|
|
14
|
+
level: file.level
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function mapNavigationItems(children, files, parent) {
|
|
18
|
+
return children.flatMap((link) => {
|
|
19
|
+
if (link.children?.length) {
|
|
20
|
+
return mapNavigationItems(link.children, files, link);
|
|
21
|
+
}
|
|
22
|
+
return files?.filter((file) => file.id === link.path || file.id.startsWith(`${link.path}#`))?.map((file) => mapFile(file, link, parent)) || [];
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function postFilter(query, items) {
|
|
26
|
+
if (!query) {
|
|
27
|
+
return items?.filter((item) => item.level === 1);
|
|
28
|
+
}
|
|
29
|
+
return items;
|
|
30
|
+
}
|
|
5
31
|
return {
|
|
6
|
-
open
|
|
32
|
+
open,
|
|
33
|
+
mapFile,
|
|
34
|
+
mapNavigationItems,
|
|
35
|
+
postFilter
|
|
7
36
|
};
|
|
8
37
|
}
|
|
9
38
|
export const useContentSearch = /* @__PURE__ */ createSharedComposable(_useContentSearch);
|
|
@@ -91,7 +91,10 @@ export * from '../components/color-mode/ColorModeImage.vue';
|
|
|
91
91
|
export * from '../components/color-mode/ColorModeSelect.vue';
|
|
92
92
|
export * from '../components/color-mode/ColorModeSwitch.vue';
|
|
93
93
|
export * from '../components/locale/LocaleSelect.vue';
|
|
94
|
+
export * from './content';
|
|
94
95
|
export * from './form';
|
|
95
96
|
export * from './icons';
|
|
96
97
|
export * from './locale';
|
|
98
|
+
export * from './prose';
|
|
97
99
|
export * from './color-mode';
|
|
100
|
+
export * from './utils';
|
|
@@ -91,7 +91,10 @@ export * from "../components/color-mode/ColorModeImage.vue";
|
|
|
91
91
|
export * from "../components/color-mode/ColorModeSelect.vue";
|
|
92
92
|
export * from "../components/color-mode/ColorModeSwitch.vue";
|
|
93
93
|
export * from "../components/locale/LocaleSelect.vue";
|
|
94
|
+
export * from "./content.js";
|
|
94
95
|
export * from "./form.js";
|
|
95
96
|
export * from "./icons.js";
|
|
96
97
|
export * from "./locale.js";
|
|
98
|
+
export * from "./prose.js";
|
|
97
99
|
export * from "./color-mode.js";
|
|
100
|
+
export * from "./utils.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get estimate size for virtualizers that checks each item individually
|
|
3
|
+
* NOTE: This requires Reka UI to support functions for estimateSize (https://github.com/unovue/reka-ui/pull/2288)
|
|
4
|
+
* Until then, we check if ANY item has a description and use that for all items
|
|
5
|
+
*/
|
|
6
|
+
export declare function getEstimateSize(items: any[], size: 'xss' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', descriptionKey?: string): number;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { get } from "./index.js";
|
|
2
|
+
function hasDescription(item, descriptionKey) {
|
|
3
|
+
if (typeof item !== "object" || item === null) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const value = get(item, descriptionKey);
|
|
7
|
+
return value !== void 0 && value !== null && value !== "";
|
|
8
|
+
}
|
|
9
|
+
function getSize(size, hasDescription2) {
|
|
10
|
+
if (hasDescription2) {
|
|
11
|
+
return {
|
|
12
|
+
xss: 40,
|
|
13
|
+
xs: 44,
|
|
14
|
+
sm: 48,
|
|
15
|
+
md: 52,
|
|
16
|
+
lg: 56,
|
|
17
|
+
xl: 60
|
|
18
|
+
}[size];
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
xss: 20,
|
|
22
|
+
xs: 24,
|
|
23
|
+
sm: 28,
|
|
24
|
+
md: 32,
|
|
25
|
+
lg: 36,
|
|
26
|
+
xl: 40
|
|
27
|
+
}[size];
|
|
28
|
+
}
|
|
29
|
+
export function getEstimateSize(items, size, descriptionKey) {
|
|
30
|
+
const anyHasDescription = descriptionKey ? items.some((item) => hasDescription(item, descriptionKey)) : false;
|
|
31
|
+
return getSize(size, anyHasDescription);
|
|
32
|
+
}
|
|
@@ -8,7 +8,7 @@ import { globSync } from 'tinyglobby';
|
|
|
8
8
|
import { defuFn } from 'defu';
|
|
9
9
|
|
|
10
10
|
const name = "@bitrix24/b24ui-nuxt";
|
|
11
|
-
const version = "2.1.
|
|
11
|
+
const version = "2.1.4";
|
|
12
12
|
|
|
13
13
|
function getDefaultConfig(theme) {
|
|
14
14
|
return {
|
|
@@ -102,30 +102,32 @@ function resolveComponentDependencies(component, dependencyGraph, resolved = /*
|
|
|
102
102
|
}
|
|
103
103
|
return resolved;
|
|
104
104
|
}
|
|
105
|
-
async function detectUsedComponents(
|
|
105
|
+
async function detectUsedComponents(dirs, prefix, componentDir, includeComponents) {
|
|
106
106
|
const detectedComponents = /* @__PURE__ */ new Set();
|
|
107
107
|
if (includeComponents && includeComponents.length > 0) {
|
|
108
108
|
for (const component of includeComponents) {
|
|
109
109
|
detectedComponents.add(component);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
const appFiles = globSync(["**/*.{vue,ts,js,tsx,jsx}"], {
|
|
113
|
-
cwd: rootDir,
|
|
114
|
-
ignore: ["node_modules/**", ".nuxt/**", "dist/**"]
|
|
115
|
-
});
|
|
116
112
|
const componentPattern = new RegExp(`<(?:Lazy)?${prefix}([A-Z][a-zA-Z]+)|\\b(?:Lazy)?${prefix}([A-Z][a-zA-Z]+)\\b`, "g");
|
|
117
|
-
for (const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
113
|
+
for (const dir of dirs) {
|
|
114
|
+
const appFiles = globSync(["**/*.{vue,ts,js,tsx,jsx}"], {
|
|
115
|
+
cwd: dir,
|
|
116
|
+
ignore: ["node_modules/**", ".nuxt/**", "dist/**"]
|
|
117
|
+
});
|
|
118
|
+
for (const file of appFiles) {
|
|
119
|
+
try {
|
|
120
|
+
const filePath = join(dir, file);
|
|
121
|
+
const content = await readFile(filePath, "utf-8");
|
|
122
|
+
const matches = content.matchAll(componentPattern);
|
|
123
|
+
for (const match of matches) {
|
|
124
|
+
const componentName = match[1] || match[2];
|
|
125
|
+
if (componentName) {
|
|
126
|
+
detectedComponents.add(componentName);
|
|
127
|
+
}
|
|
126
128
|
}
|
|
129
|
+
} catch {
|
|
127
130
|
}
|
|
128
|
-
} catch {
|
|
129
131
|
}
|
|
130
132
|
}
|
|
131
133
|
if (detectedComponents.size === 0) {
|
|
@@ -8927,7 +8929,7 @@ const sidebarHeader = {
|
|
|
8927
8929
|
"flex flex-col",
|
|
8928
8930
|
"text-(--ui-color-base-1)",
|
|
8929
8931
|
"border-b border-(--leftmenu-bg-divider)",
|
|
8930
|
-
"[&>[data-
|
|
8932
|
+
"[&>[data-component=section]+[data-component=section]]:mt-2.5"
|
|
8931
8933
|
].join(" ")
|
|
8932
8934
|
}
|
|
8933
8935
|
};
|
|
@@ -8960,7 +8962,7 @@ const sidebarFooter = {
|
|
|
8960
8962
|
"flex flex-col",
|
|
8961
8963
|
"max-lg:hidden",
|
|
8962
8964
|
// 'border-t border-(--leftmenu-bg-divider)',
|
|
8963
|
-
"[&>[data-
|
|
8965
|
+
"[&>[data-component=section]+[data-component=section]]:mt-2.5"
|
|
8964
8966
|
].join(" ")
|
|
8965
8967
|
}
|
|
8966
8968
|
};
|
|
@@ -10343,8 +10345,12 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
|
|
|
10343
10345
|
async function generateSources() {
|
|
10344
10346
|
let sources = "";
|
|
10345
10347
|
if (!!nuxt && !!resolve && options.experimental?.componentDetection) {
|
|
10346
|
-
const
|
|
10348
|
+
const dirs = [.../* @__PURE__ */ new Set([
|
|
10347
10349
|
nuxt.options.rootDir,
|
|
10350
|
+
...nuxt.options._layers?.map((layer) => layer.config.rootDir).filter(Boolean) || []
|
|
10351
|
+
])];
|
|
10352
|
+
const detectedComponents = await detectUsedComponents(
|
|
10353
|
+
dirs,
|
|
10348
10354
|
"B24",
|
|
10349
10355
|
resolve("./runtime/components"),
|
|
10350
10356
|
Array.isArray(options.experimental.componentDetection) ? options.experimental.componentDetection : void 0
|