@bitrix24/b24ui-nuxt 2.1.1 → 2.1.3

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.
Files changed (143) hide show
  1. package/README.md +0 -4
  2. package/cli/templates.mjs +2 -2
  3. package/dist/meta.d.mts +1324 -178
  4. package/dist/meta.mjs +1324 -178
  5. package/dist/module.json +1 -1
  6. package/dist/module.mjs +10 -2
  7. package/dist/runtime/components/Accordion.vue +9 -4
  8. package/dist/runtime/components/Advice.vue +9 -5
  9. package/dist/runtime/components/Alert.vue +9 -7
  10. package/dist/runtime/components/Avatar.vue +4 -2
  11. package/dist/runtime/components/AvatarGroup.vue +3 -3
  12. package/dist/runtime/components/Badge.vue +6 -1
  13. package/dist/runtime/components/Banner.vue +9 -8
  14. package/dist/runtime/components/Breadcrumb.vue +9 -4
  15. package/dist/runtime/components/Button.vue +12 -9
  16. package/dist/runtime/components/Calendar.vue +11 -5
  17. package/dist/runtime/components/Card.vue +4 -4
  18. package/dist/runtime/components/ChatMessage.vue +7 -5
  19. package/dist/runtime/components/ChatMessages.vue +4 -2
  20. package/dist/runtime/components/ChatPalette.vue +3 -3
  21. package/dist/runtime/components/ChatPrompt.vue +4 -3
  22. package/dist/runtime/components/ChatPromptSubmit.vue +1 -0
  23. package/dist/runtime/components/Checkbox.vue +9 -7
  24. package/dist/runtime/components/CheckboxGroup.vue +4 -2
  25. package/dist/runtime/components/Chip.vue +3 -0
  26. package/dist/runtime/components/Collapsible.vue +2 -2
  27. package/dist/runtime/components/ColorPicker.vue +7 -3
  28. package/dist/runtime/components/CommandPalette.vue +60 -21
  29. package/dist/runtime/components/ContextMenu.vue +1 -0
  30. package/dist/runtime/components/ContextMenuContent.vue +19 -6
  31. package/dist/runtime/components/Countdown.vue +8 -1
  32. package/dist/runtime/components/DashboardSearch.vue +1 -0
  33. package/dist/runtime/components/DashboardSearchButton.vue +2 -1
  34. package/dist/runtime/components/DescriptionList.vue +12 -4
  35. package/dist/runtime/components/DropdownMenu.vue +2 -1
  36. package/dist/runtime/components/DropdownMenuContent.vue +21 -7
  37. package/dist/runtime/components/Empty.vue +9 -8
  38. package/dist/runtime/components/Error.vue +5 -5
  39. package/dist/runtime/components/FileUpload.d.vue.ts +5 -0
  40. package/dist/runtime/components/FileUpload.vue +17 -9
  41. package/dist/runtime/components/FileUpload.vue.d.ts +5 -0
  42. package/dist/runtime/components/FormField.vue +11 -11
  43. package/dist/runtime/components/Input.vue +8 -3
  44. package/dist/runtime/components/InputDate.vue +9 -2
  45. package/dist/runtime/components/InputMenu.vue +35 -19
  46. package/dist/runtime/components/InputNumber.vue +5 -2
  47. package/dist/runtime/components/InputTags.vue +12 -3
  48. package/dist/runtime/components/InputTime.vue +8 -2
  49. package/dist/runtime/components/Kbd.vue +1 -1
  50. package/dist/runtime/components/Modal.vue +11 -8
  51. package/dist/runtime/components/Navbar.vue +1 -1
  52. package/dist/runtime/components/NavbarDivider.vue +1 -1
  53. package/dist/runtime/components/NavbarSection.vue +2 -1
  54. package/dist/runtime/components/NavbarSpacer.vue +1 -1
  55. package/dist/runtime/components/NavigationMenu.vue +43 -12
  56. package/dist/runtime/components/PageCard.vue +10 -9
  57. package/dist/runtime/components/PageLinks.vue +9 -7
  58. package/dist/runtime/components/Pagination.vue +8 -8
  59. package/dist/runtime/components/PinInput.vue +2 -0
  60. package/dist/runtime/components/Popover.vue +2 -2
  61. package/dist/runtime/components/Progress.vue +6 -6
  62. package/dist/runtime/components/RadioGroup.d.vue.ts +2 -2
  63. package/dist/runtime/components/RadioGroup.vue +10 -4
  64. package/dist/runtime/components/RadioGroup.vue.d.ts +2 -2
  65. package/dist/runtime/components/Range.vue +5 -4
  66. package/dist/runtime/components/Select.vue +25 -11
  67. package/dist/runtime/components/SelectMenu.vue +33 -14
  68. package/dist/runtime/components/Separator.vue +7 -7
  69. package/dist/runtime/components/Sidebar.vue +1 -1
  70. package/dist/runtime/components/SidebarBody.vue +1 -1
  71. package/dist/runtime/components/SidebarFooter.vue +1 -1
  72. package/dist/runtime/components/SidebarHeader.vue +1 -1
  73. package/dist/runtime/components/SidebarHeading.vue +1 -1
  74. package/dist/runtime/components/SidebarLayout.vue +18 -13
  75. package/dist/runtime/components/SidebarSection.vue +2 -1
  76. package/dist/runtime/components/SidebarSpacer.vue +1 -1
  77. package/dist/runtime/components/Skeleton.vue +1 -0
  78. package/dist/runtime/components/Slideover.vue +10 -7
  79. package/dist/runtime/components/Stepper.vue +12 -9
  80. package/dist/runtime/components/Switch.vue +10 -6
  81. package/dist/runtime/components/Table.vue +18 -13
  82. package/dist/runtime/components/TableWrapper.vue +1 -0
  83. package/dist/runtime/components/Tabs.d.vue.ts +3 -3
  84. package/dist/runtime/components/Tabs.vue +24 -15
  85. package/dist/runtime/components/Tabs.vue.d.ts +3 -3
  86. package/dist/runtime/components/Textarea.vue +8 -3
  87. package/dist/runtime/components/Timeline.vue +9 -6
  88. package/dist/runtime/components/Toast.vue +10 -6
  89. package/dist/runtime/components/Toaster.vue +2 -0
  90. package/dist/runtime/components/Tooltip.vue +4 -4
  91. package/dist/runtime/components/User.vue +13 -6
  92. package/dist/runtime/components/content/ContentSearch.vue +59 -68
  93. package/dist/runtime/components/content/ContentSearchButton.vue +2 -1
  94. package/dist/runtime/components/content/ContentSurround.vue +6 -4
  95. package/dist/runtime/components/content/ContentToc.vue +13 -10
  96. package/dist/runtime/components/prose/A.vue +1 -1
  97. package/dist/runtime/components/prose/Blockquote.vue +1 -1
  98. package/dist/runtime/components/prose/Callout.vue +8 -3
  99. package/dist/runtime/components/prose/Card.vue +5 -3
  100. package/dist/runtime/components/prose/Code.vue +1 -0
  101. package/dist/runtime/components/prose/CodeCollapse.vue +3 -2
  102. package/dist/runtime/components/prose/CodeGroup.vue +6 -6
  103. package/dist/runtime/components/prose/CodePreview.vue +3 -3
  104. package/dist/runtime/components/prose/Collapsible.vue +3 -2
  105. package/dist/runtime/components/prose/Em.vue +1 -1
  106. package/dist/runtime/components/prose/Field.vue +7 -7
  107. package/dist/runtime/components/prose/H1.vue +1 -0
  108. package/dist/runtime/components/prose/H2.vue +4 -2
  109. package/dist/runtime/components/prose/H3.vue +4 -2
  110. package/dist/runtime/components/prose/H4.vue +4 -2
  111. package/dist/runtime/components/prose/H5.vue +1 -0
  112. package/dist/runtime/components/prose/H6.vue +1 -0
  113. package/dist/runtime/components/prose/Hr.vue +1 -1
  114. package/dist/runtime/components/prose/Img.vue +4 -0
  115. package/dist/runtime/components/prose/Li.vue +1 -1
  116. package/dist/runtime/components/prose/Ol.vue +1 -1
  117. package/dist/runtime/components/prose/P.vue +1 -1
  118. package/dist/runtime/components/prose/Pre.vue +6 -5
  119. package/dist/runtime/components/prose/Strong.vue +1 -1
  120. package/dist/runtime/components/prose/Table.d.vue.ts +0 -3
  121. package/dist/runtime/components/prose/Table.vue +2 -1
  122. package/dist/runtime/components/prose/Table.vue.d.ts +0 -3
  123. package/dist/runtime/components/prose/Tbody.vue +1 -1
  124. package/dist/runtime/components/prose/Td.vue +1 -1
  125. package/dist/runtime/components/prose/Th.vue +1 -1
  126. package/dist/runtime/components/prose/Thead.vue +1 -1
  127. package/dist/runtime/components/prose/Tr.vue +1 -1
  128. package/dist/runtime/components/prose/Ul.vue +1 -1
  129. package/dist/runtime/composables/useContentSearch.d.ts +5 -0
  130. package/dist/runtime/composables/useContentSearch.js +30 -1
  131. package/dist/runtime/dictionary/icons.d.ts +2 -0
  132. package/dist/runtime/inertia/components/Link.d.vue.ts +1 -1
  133. package/dist/runtime/inertia/components/Link.vue.d.ts +1 -1
  134. package/dist/runtime/inertia/stubs.js +1 -1
  135. package/dist/runtime/types/index.d.ts +3 -0
  136. package/dist/runtime/types/index.js +3 -0
  137. package/dist/runtime/vue/components/Link.d.vue.ts +1 -1
  138. package/dist/runtime/vue/components/Link.vue +1 -1
  139. package/dist/runtime/vue/components/Link.vue.d.ts +1 -1
  140. package/dist/shared/{b24ui-nuxt.B13KxxqP.mjs → b24ui-nuxt.mq1NUekN.mjs} +21 -13
  141. package/dist/unplugin.mjs +1 -1
  142. package/dist/vite.mjs +1 -1
  143. package/package.json +11 -9
@@ -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>
@@ -22,6 +22,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
22
22
  <template>
23
23
  <h5
24
24
  :id="id"
25
+ data-slot="base"
25
26
  :class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
26
27
  >
27
28
  <slot />
@@ -22,6 +22,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
22
22
  <template>
23
23
  <h6
24
24
  :id="id"
25
+ data-slot="base"
25
26
  :class="b24ui.base({ class: [props.b24ui?.base, props.class] })"
26
27
  >
27
28
  <slot />
@@ -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>
@@ -27,9 +27,6 @@ export interface ProseTableProps {
27
27
  class?: any;
28
28
  b24ui?: ProseTable['slots'];
29
29
  }
30
- /**
31
- * @todo add Pick<Xxxx
32
- */
33
30
  export interface ProseTableSlots {
34
31
  default(props?: {}): any;
35
32
  }
@@ -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>
@@ -27,9 +27,6 @@ export interface ProseTableProps {
27
27
  class?: any;
28
28
  b24ui?: ProseTable['slots'];
29
29
  }
30
- /**
31
- * @todo add Pick<Xxxx
32
- */
33
30
  export interface ProseTableSlots {
34
31
  default(props?: {}): any;
35
32
  }
@@ -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("<", "&lt;").replaceAll(">", "&gt;"),
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);
@@ -2,6 +2,8 @@
2
2
  * Default icons
3
3
  * ---
4
4
  * @link https://bitrix24.github.io/b24icons/
5
+ * @memo sync with docs/content/docs/1.getting-started/6.integrations/1.icons/1.nuxt.md
6
+ * @memo sync with docs/content/docs/1.getting-started/6.integrations/1.icons/2.vue.md
5
7
  */
6
8
  declare const _default: {
7
9
  arrowLeft: import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}>;
@@ -1,6 +1,6 @@
1
1
  import type { InertiaLinkProps } from '@inertiajs/vue3';
2
2
  import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
3
- export interface LinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
3
+ export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
4
  /**
5
5
  * The element or component this component should render as when not a link.
6
6
  * @defaultValue 'button'
@@ -1,6 +1,6 @@
1
1
  import type { InertiaLinkProps } from '@inertiajs/vue3';
2
2
  import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
3
- export interface LinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
3
+ export interface LinkProps extends Partial<Omit<InertiaLinkProps, 'href' | 'onClick'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
4
  /**
5
5
  * The element or component this component should render as when not a link.
6
6
  * @defaultValue 'button'
@@ -74,7 +74,7 @@ const hooks = createHooks();
74
74
  export function useNuxtApp() {
75
75
  return {
76
76
  isHydrating: true,
77
- payload: { serverRendered: false },
77
+ payload: { serverRendered: typeof window === "undefined" },
78
78
  hooks,
79
79
  hook: hooks.hook
80
80
  };
@@ -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";
@@ -1,6 +1,6 @@
1
1
  import type { RouterLinkProps } from 'vue-router';
2
2
  import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
3
- export interface LinkProps extends Omit<RouterLinkProps, 'custom'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
3
+ export interface LinkProps extends Partial<Omit<RouterLinkProps, 'custom'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
4
  /**
5
5
  * The element or component this component should render as when not a link.
6
6
  * @defaultValue 'button'
@@ -36,7 +36,7 @@ const props = defineProps({
36
36
  exactActiveClass: { type: String, required: false },
37
37
  ariaCurrentValue: { type: String, required: false, default: "page" },
38
38
  viewTransition: { type: Boolean, required: false },
39
- to: { type: null, required: true },
39
+ to: { type: null, required: false },
40
40
  replace: { type: Boolean, required: false }
41
41
  });
42
42
  defineSlots();
@@ -1,6 +1,6 @@
1
1
  import type { RouterLinkProps } from 'vue-router';
2
2
  import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
3
- export interface LinkProps extends Omit<RouterLinkProps, 'custom'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
3
+ export interface LinkProps extends Partial<Omit<RouterLinkProps, 'custom'>>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
4
  /**
5
5
  * The element or component this component should render as when not a link.
6
6
  * @defaultValue 'button'
@@ -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.1";
11
+ const version = "2.1.3";
12
12
 
13
13
  function getDefaultConfig(theme) {
14
14
  return {
@@ -3144,7 +3144,6 @@ const error = {
3144
3144
  const fileUpload = {
3145
3145
  slots: {
3146
3146
  root: [
3147
- "light",
3148
3147
  "relative",
3149
3148
  "flex flex-col"
3150
3149
  ].join(" "),
@@ -3153,6 +3152,7 @@ const fileUpload = {
3153
3152
  "flex-1",
3154
3153
  "bg-(--b24ui-background)/90",
3155
3154
  "border-(--b24ui-border-color) border-(length:--b24ui-border-width)",
3155
+ "text-(--b24ui-color)",
3156
3156
  "flex flex-col gap-2 items-stretch justify-center",
3157
3157
  "rounded-(--ui-border-radius-md)",
3158
3158
  "focus-visible:outline-2",
@@ -3174,14 +3174,14 @@ const fileUpload = {
3174
3174
  },
3175
3175
  variants: {
3176
3176
  color: {
3177
- "air-primary": { root: "style-filled-inverted" },
3178
- "air-primary-success": { root: "style-filled-success-inverted" },
3179
- "air-primary-alert": { root: "style-filled-alert-inverted" },
3180
- "air-primary-copilot": { root: "style-filled-copilot-inverted" },
3181
- "air-primary-warning": { root: "style-filled-warning-inverted" },
3182
- "air-secondary": { root: "style-tinted" },
3183
- "air-secondary-alert": { root: "style-tinted-alert" },
3184
- "air-secondary-accent": { root: "style-outline" },
3177
+ "air-primary": { root: "light style-filled-inverted" },
3178
+ "air-primary-success": { root: "light style-filled-success-inverted" },
3179
+ "air-primary-alert": { root: "light style-filled-alert-inverted" },
3180
+ "air-primary-copilot": { root: "light style-filled-copilot-inverted" },
3181
+ "air-primary-warning": { root: "light style-filled-warning-inverted" },
3182
+ "air-secondary": { root: "style-outline" },
3183
+ "air-secondary-alert": { root: "light style-tinted-alert" },
3184
+ "air-secondary-accent": { root: "light style-tinted" },
3185
3185
  "air-secondary-accent-1": { root: "style-outline-accent-1" },
3186
3186
  "air-secondary-accent-2": { root: "style-outline-accent-2" },
3187
3187
  "air-tertiary": { root: "style-outline-no-accent" }
@@ -3239,7 +3239,15 @@ const fileUpload = {
3239
3239
  "-top-1.5",
3240
3240
  "-end-1.5",
3241
3241
  "rounded-(--ui-border-radius-pill)",
3242
- "border"
3242
+ "border",
3243
+ // @memo change color|bg for btn
3244
+ "edge-light:[--ui-btn-background:var(--ui-color-base-white-fixed)]",
3245
+ "edge-dark:[--ui-btn-background:var(--ui-color-base-white-fixed)]",
3246
+ "edge-dark:hover:bg-(--ui-color-base-white-fixed)/90",
3247
+ "edge-dark:[--ui-btn-color:var(--ui-color-g-content-grey-1)]",
3248
+ "dark:[--ui-btn-background:var(--ui-color-g-content-grey-1)]",
3249
+ "dark:hover:bg-(--ui-color-g-content-grey-1)/90",
3250
+ "dark:[--ui-btn-color:var(--ui-color-g-content-grey-4)]"
3243
3251
  ].join(" ")
3244
3252
  }
3245
3253
  },
@@ -8919,7 +8927,7 @@ const sidebarHeader = {
8919
8927
  "flex flex-col",
8920
8928
  "text-(--ui-color-base-1)",
8921
8929
  "border-b border-(--leftmenu-bg-divider)",
8922
- "[&>[data-slot=section]+[data-slot=section]]:mt-2.5"
8930
+ "[&>[data-component=section]+[data-component=section]]:mt-2.5"
8923
8931
  ].join(" ")
8924
8932
  }
8925
8933
  };
@@ -8952,7 +8960,7 @@ const sidebarFooter = {
8952
8960
  "flex flex-col",
8953
8961
  "max-lg:hidden",
8954
8962
  // 'border-t border-(--leftmenu-bg-divider)',
8955
- "[&>[data-slot=section]+[data-slot=section]]:mt-2.5"
8963
+ "[&>[data-component=section]+[data-component=section]]:mt-2.5"
8956
8964
  ].join(" ")
8957
8965
  }
8958
8966
  };
package/dist/unplugin.mjs CHANGED
@@ -3,7 +3,7 @@ import { join, normalize } from 'pathe';
3
3
  import { createUnplugin } from 'unplugin';
4
4
  import { defu } from 'defu';
5
5
  import tailwind from '@tailwindcss/vite';
6
- import { g as getTemplates, d as defaultOptions, a as getDefaultConfig } from './shared/b24ui-nuxt.B13KxxqP.mjs';
6
+ import { g as getTemplates, d as defaultOptions, a as getDefaultConfig } from './shared/b24ui-nuxt.mq1NUekN.mjs';
7
7
  import fs from 'node:fs';
8
8
  import path from 'node:path';
9
9
  import MagicString from 'magic-string';
package/dist/vite.mjs CHANGED
@@ -4,7 +4,7 @@ import 'pathe';
4
4
  import 'unplugin';
5
5
  import 'defu';
6
6
  import '@tailwindcss/vite';
7
- import './shared/b24ui-nuxt.B13KxxqP.mjs';
7
+ import './shared/b24ui-nuxt.mq1NUekN.mjs';
8
8
  import 'scule';
9
9
  import 'knitwork';
10
10
  import '@nuxt/kit';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitrix24/b24ui-nuxt",
3
3
  "description": "Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE",
4
- "version": "2.1.1",
4
+ "version": "2.1.3",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/bitrix24/b24ui.git"
@@ -104,7 +104,7 @@
104
104
  "vue-plugin.d.ts"
105
105
  ],
106
106
  "dependencies": {
107
- "@bitrix24/b24icons-vue": "^2.0.5",
107
+ "@bitrix24/b24icons-nuxt": "^2.0.7",
108
108
  "@internationalized/date": "^3.10.0",
109
109
  "@internationalized/number": "^3.6.5",
110
110
  "@nuxt/kit": "^4.2.1",
@@ -130,7 +130,7 @@
130
130
  "embla-carousel-wheel-gestures": "^8.1.0",
131
131
  "fuse.js": "^7.1.0",
132
132
  "hookable": "^5.5.3",
133
- "knitwork": "^1.2.0",
133
+ "knitwork": "^1.3.0",
134
134
  "magic-string": "^0.30.21",
135
135
  "mlly": "^1.8.0",
136
136
  "motion-v": "^1.7.3",
@@ -146,20 +146,19 @@
146
146
  "unplugin-auto-import": "^20.2.0",
147
147
  "unplugin-vue-components": "^30.0.0",
148
148
  "vaul-vue": "0.4.1",
149
- "vue-component-type-helpers": "^3.1.3"
149
+ "vue-component-type-helpers": "^3.1.4"
150
150
  },
151
151
  "devDependencies": {
152
- "@nuxt/content": "^3.8.0",
153
152
  "@nuxt/eslint-config": "^1.10.0",
154
153
  "@nuxt/module-builder": "^1.0.2",
155
154
  "@nuxt/test-utils": "^3.20.1",
156
155
  "@types/canvas-confetti": "^1.9.0",
157
156
  "@types/node": "^24.7.0",
158
157
  "esno": "^4.8.0",
159
- "nuxt-component-meta": "^0.14.1",
158
+ "nuxt-component-meta": "^0.14.2",
160
159
  "sharp": "^0.34.3",
161
160
  "@vue/test-utils": "^2.4.6",
162
- "ai": "^5.0.90",
161
+ "ai": "^5.0.93",
163
162
  "embla-carousel": "^8.6.0",
164
163
  "eslint": "^9.39.1",
165
164
  "happy-dom": "^20.0.10",
@@ -167,10 +166,11 @@
167
166
  "vitest": "^3.2.4",
168
167
  "vitest-axe": "^0.1.0",
169
168
  "vitest-environment-nuxt": "^1.0.1",
170
- "vue-tsc": "^3.1.3"
169
+ "vue-tsc": "^3.1.4"
171
170
  },
172
171
  "peerDependencies": {
173
172
  "@inertiajs/vue3": "^2.0.7",
173
+ "@nuxt/content": "^3.8.0",
174
174
  "joi": "^18.0.0",
175
175
  "superstruct": "^2.0.0",
176
176
  "typescript": "^5.6.3",
@@ -183,6 +183,9 @@
183
183
  "@inertiajs/vue3": {
184
184
  "optional": true
185
185
  },
186
+ "@nuxt/content": {
187
+ "optional": true
188
+ },
186
189
  "joi": {
187
190
  "optional": true
188
191
  },
@@ -236,7 +239,6 @@
236
239
  "dev:vue": "pnpm --filter ./playgrounds/vue dev -- --uiDev",
237
240
  "dev:vue:build": "pnpm --filter ./playgrounds/vue build",
238
241
  "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxt prepare playgrounds/nuxt && nuxt prepare docs && pnpm dev:vue:build && nuxt prepare playgrounds/demo && nuxt-component-meta playgrounds/nuxt --outputDir ../../src/.component-meta/",
239
- "dev:prepare-component-meta": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxt prepare docs && nuxt-component-meta docs --outputDir ../../src/.component-meta/",
240
242
  "demo:dev": "nuxt dev playgrounds/demo",
241
243
  "demo:generate": "nuxt generate playgrounds/demo",
242
244
  "demo:preview": "nuxt preview playgrounds/demo",