@bitrix24/b24ui-nuxt 2.0.8 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/meta.d.mts +84957 -50082
  2. package/dist/meta.mjs +84957 -50082
  3. package/dist/module.d.mts +13 -1
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +8 -7
  6. package/dist/runtime/air-design-tokens/001_b24_global.css +1 -1
  7. package/dist/runtime/air-design-tokens/003_b24_context_light.css +1 -1
  8. package/dist/runtime/air-design-tokens/004_b24_context_dark.css +1 -1
  9. package/dist/runtime/air-design-tokens/005_b24_context_edge-light.css +1 -1
  10. package/dist/runtime/air-design-tokens/006_b24_context_edge-dark.css +1 -1
  11. package/dist/runtime/air-design-tokens/007_b24_global.css +1 -1
  12. package/dist/runtime/air-design-tokens/008_ui_global.css +1 -1
  13. package/dist/runtime/air-design-tokens/009_b24_tools.css +1 -1
  14. package/dist/runtime/air-design-tokens/components/badge-counter.css +1 -1
  15. package/dist/runtime/air-design-tokens/components/button.css +1 -1
  16. package/dist/runtime/air-design-tokens/components/navigation-menu.css +1 -1
  17. package/dist/runtime/air-design-tokens/components/popup.css +1 -1
  18. package/dist/runtime/air-design-tokens/components/scrollbar.css +1 -2
  19. package/dist/runtime/air-design-tokens/index.css +1 -1
  20. package/dist/runtime/components/Advice.d.vue.ts +1 -1
  21. package/dist/runtime/components/Advice.vue +1 -3
  22. package/dist/runtime/components/Advice.vue.d.ts +1 -1
  23. package/dist/runtime/components/App.d.vue.ts +1 -1
  24. package/dist/runtime/components/App.vue +2 -1
  25. package/dist/runtime/components/App.vue.d.ts +1 -1
  26. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  27. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  28. package/dist/runtime/components/Button.vue +1 -0
  29. package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -2
  30. package/dist/runtime/components/ChatPrompt.vue +5 -5
  31. package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -2
  32. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +5 -5
  33. package/dist/runtime/components/ChatPromptSubmit.vue +53 -4
  34. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +5 -5
  35. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  36. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  37. package/dist/runtime/components/CommandPalette.vue +5 -4
  38. package/dist/runtime/components/DashboardSearch.d.vue.ts +3 -6
  39. package/dist/runtime/components/DashboardSearch.vue +2 -3
  40. package/dist/runtime/components/DashboardSearch.vue.d.ts +3 -6
  41. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
  42. package/dist/runtime/components/DashboardSearchButton.vue +44 -6
  43. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
  44. package/dist/runtime/components/Error.d.vue.ts +1 -1
  45. package/dist/runtime/components/Error.vue.d.ts +1 -1
  46. package/dist/runtime/components/FileUpload.d.vue.ts +3 -2
  47. package/dist/runtime/components/FileUpload.vue +9 -9
  48. package/dist/runtime/components/FileUpload.vue.d.ts +3 -2
  49. package/dist/runtime/components/Form.d.vue.ts +3 -2
  50. package/dist/runtime/components/Form.vue +3 -4
  51. package/dist/runtime/components/Form.vue.d.ts +3 -2
  52. package/dist/runtime/components/Input.d.vue.ts +7 -7
  53. package/dist/runtime/components/Input.vue +2 -2
  54. package/dist/runtime/components/Input.vue.d.ts +7 -7
  55. package/dist/runtime/components/InputDate.d.vue.ts +115 -0
  56. package/dist/runtime/components/InputDate.vue +198 -0
  57. package/dist/runtime/components/InputDate.vue.d.ts +115 -0
  58. package/dist/runtime/components/InputMenu.d.vue.ts +7 -128
  59. package/dist/runtime/components/InputMenu.vue +3 -3
  60. package/dist/runtime/components/InputMenu.vue.d.ts +7 -128
  61. package/dist/runtime/components/InputNumber.d.vue.ts +25 -124
  62. package/dist/runtime/components/InputNumber.vue +3 -3
  63. package/dist/runtime/components/InputNumber.vue.d.ts +25 -124
  64. package/dist/runtime/components/InputTags.d.vue.ts +6 -109
  65. package/dist/runtime/components/InputTags.vue +8 -8
  66. package/dist/runtime/components/InputTags.vue.d.ts +6 -109
  67. package/dist/runtime/components/InputTime.d.vue.ts +99 -0
  68. package/dist/runtime/components/InputTime.vue +170 -0
  69. package/dist/runtime/components/InputTime.vue.d.ts +99 -0
  70. package/dist/runtime/components/Link.d.vue.ts +4 -49
  71. package/dist/runtime/components/Link.vue +1 -0
  72. package/dist/runtime/components/Link.vue.d.ts +4 -49
  73. package/dist/runtime/components/Modal.d.vue.ts +6 -1
  74. package/dist/runtime/components/Modal.vue +37 -9
  75. package/dist/runtime/components/Modal.vue.d.ts +6 -1
  76. package/dist/runtime/components/Pagination.d.vue.ts +2 -2
  77. package/dist/runtime/components/Pagination.vue.d.ts +2 -2
  78. package/dist/runtime/components/PinInput.d.vue.ts +3 -3
  79. package/dist/runtime/components/PinInput.vue.d.ts +3 -3
  80. package/dist/runtime/components/Progress.d.vue.ts +1 -1
  81. package/dist/runtime/components/Progress.vue.d.ts +1 -1
  82. package/dist/runtime/components/Select.d.vue.ts +6 -107
  83. package/dist/runtime/components/Select.vue +3 -3
  84. package/dist/runtime/components/Select.vue.d.ts +6 -107
  85. package/dist/runtime/components/SelectMenu.d.vue.ts +7 -106
  86. package/dist/runtime/components/SelectMenu.vue +3 -3
  87. package/dist/runtime/components/SelectMenu.vue.d.ts +7 -106
  88. package/dist/runtime/components/Slideover.d.vue.ts +1 -1
  89. package/dist/runtime/components/Slideover.vue.d.ts +1 -1
  90. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  91. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  92. package/dist/runtime/components/Table.d.vue.ts +5 -4
  93. package/dist/runtime/components/Table.vue +4 -3
  94. package/dist/runtime/components/Table.vue.d.ts +5 -4
  95. package/dist/runtime/components/Textarea.d.vue.ts +7 -6
  96. package/dist/runtime/components/Textarea.vue +2 -2
  97. package/dist/runtime/components/Textarea.vue.d.ts +7 -6
  98. package/dist/runtime/components/Toast.vue +5 -5
  99. package/dist/runtime/components/Toaster.d.vue.ts +1 -1
  100. package/dist/runtime/components/Toaster.vue.d.ts +1 -1
  101. package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
  102. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
  103. package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
  104. package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -3
  105. package/dist/runtime/components/color-mode/ColorModeButton.vue +54 -6
  106. package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -3
  107. package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
  108. package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
  109. package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
  110. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  111. package/dist/runtime/components/color-mode/ColorModeSelect.vue +47 -5
  112. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  113. package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
  114. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
  115. package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
  116. package/dist/runtime/components/content/ContentSearch.d.vue.ts +3 -6
  117. package/dist/runtime/components/content/ContentSearch.vue +2 -3
  118. package/dist/runtime/components/content/ContentSearch.vue.d.ts +3 -6
  119. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
  120. package/dist/runtime/components/content/ContentSearchButton.vue +43 -5
  121. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
  122. package/dist/runtime/components/content/ContentSurround.vue +7 -1
  123. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +11 -7
  124. package/dist/runtime/components/locale/LocaleSelect.vue +50 -6
  125. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +11 -7
  126. package/dist/runtime/components/prose/Callout.vue +4 -0
  127. package/dist/runtime/composables/index.d.ts +8 -0
  128. package/dist/runtime/composables/index.js +8 -0
  129. package/dist/runtime/composables/useFileUpload.d.ts +2 -1
  130. package/dist/runtime/composables/useFileUpload.js +13 -4
  131. package/dist/runtime/index.css +1 -1
  132. package/dist/runtime/inertia/components/Link.d.vue.ts +17 -10
  133. package/dist/runtime/inertia/components/Link.vue +8 -6
  134. package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
  135. package/dist/runtime/inertia/stubs.d.ts +1 -1
  136. package/dist/runtime/plugins/colors.js +4 -8
  137. package/dist/runtime/types/html.d.ts +8 -0
  138. package/dist/runtime/types/index.d.ts +2 -0
  139. package/dist/runtime/types/index.js +2 -0
  140. package/dist/runtime/types/input.d.ts +5 -5
  141. package/dist/runtime/types/utils.d.ts +2 -0
  142. package/dist/runtime/utils/content.d.ts +2 -2
  143. package/dist/runtime/utils/dashboard.d.ts +1 -1
  144. package/dist/runtime/utils/link.d.ts +1 -0
  145. package/dist/runtime/utils/link.js +40 -24
  146. package/dist/runtime/vue/components/Link.d.vue.ts +8 -37
  147. package/dist/runtime/vue/components/Link.vue +6 -11
  148. package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
  149. package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -2
  150. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +55 -5
  151. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -2
  152. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
  153. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +46 -3
  154. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
  155. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
  156. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
  157. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
  158. package/dist/runtime/vue/stubs.d.ts +2 -2
  159. package/dist/runtime/vue/stubs.js +1 -1
  160. package/dist/shared/{b24ui-nuxt.CEMVb5Ee.mjs → b24ui-nuxt.CXLCGBie.mjs} +353 -128
  161. package/dist/unplugin.d.mts +3 -1
  162. package/dist/unplugin.mjs +4 -3
  163. package/dist/vite.mjs +3 -3
  164. package/package.json +27 -17
  165. /package/dist/runtime/{air-design-tokens/002_b24_context_utility.css → types/html.js} +0 -0
@@ -6,7 +6,7 @@ import theme from "#build/b24ui/content/content-search-button";
6
6
  import { computed, toRef } from "vue";
7
7
  import { useForwardProps } from "reka-ui";
8
8
  import { defu } from "defu";
9
- import { reactivePick, createReusableTemplate } from "@vueuse/core";
9
+ import { reactiveOmit, createReusableTemplate } from "@vueuse/core";
10
10
  import { useAppConfig } from "#imports";
11
11
  import { useContentSearch } from "../../composables/useContentSearch";
12
12
  import { useLocale } from "../../composables/useLocale";
@@ -21,17 +21,55 @@ const props = defineProps({
21
21
  icon: { type: [Function, Object], required: false },
22
22
  label: { type: String, required: false },
23
23
  color: { type: null, required: false, default: "air-tertiary-no-accent" },
24
- size: { type: null, required: false },
25
24
  collapsed: { type: Boolean, required: false, default: true },
26
25
  tooltip: { type: [Boolean, Object], required: false, default: false },
27
26
  kbds: { type: Array, required: false, default: () => ["meta", "k"] },
28
27
  b24ui: { type: void 0, required: false },
29
- class: { type: null, required: false }
28
+ class: { type: null, required: false },
29
+ activeColor: { type: null, required: false },
30
+ depth: { type: null, required: false },
31
+ activeDepth: { type: null, required: false },
32
+ size: { type: null, required: false },
33
+ rounded: { type: Boolean, required: false },
34
+ block: { type: Boolean, required: false },
35
+ loadingAuto: { type: Boolean, required: false },
36
+ normalCase: { type: Boolean, required: false },
37
+ useWait: { type: Boolean, required: false },
38
+ useClock: { type: Boolean, required: false },
39
+ useDropdown: { type: Boolean, required: false },
40
+ onClick: { type: [Function, Array], required: false },
41
+ activeClass: { type: String, required: false },
42
+ inactiveClass: { type: String, required: false },
43
+ avatar: { type: Object, required: false },
44
+ loading: { type: Boolean, required: false },
45
+ as: { type: null, required: false },
46
+ type: { type: null, required: false },
47
+ disabled: { type: Boolean, required: false },
48
+ active: { type: Boolean, required: false },
49
+ exact: { type: Boolean, required: false },
50
+ exactQuery: { type: [Boolean, String], required: false },
51
+ exactHash: { type: Boolean, required: false },
52
+ isAction: { type: Boolean, required: false },
53
+ to: { type: null, required: false },
54
+ href: { type: null, required: false },
55
+ external: { type: Boolean, required: false },
56
+ target: { type: [String, Object, null], required: false },
57
+ rel: { type: [String, Object, null], required: false },
58
+ noRel: { type: Boolean, required: false },
59
+ prefetchedClass: { type: String, required: false },
60
+ prefetch: { type: Boolean, required: false },
61
+ prefetchOn: { type: [String, Object], required: false },
62
+ noPrefetch: { type: Boolean, required: false },
63
+ trailingSlash: { type: String, required: false },
64
+ exactActiveClass: { type: String, required: false },
65
+ ariaCurrentValue: { type: String, required: false },
66
+ viewTransition: { type: Boolean, required: false },
67
+ replace: { type: Boolean, required: false }
30
68
  });
31
69
  const slots = defineSlots();
32
70
  const [DefineButtonTemplate, ReuseButtonTemplate] = createReusableTemplate();
33
71
  const getProxySlots = () => omit(slots, ["trailing"]);
34
- const rootProps = useForwardProps(reactivePick(props, "color", "size"));
72
+ const buttonProps = useForwardProps(reactiveOmit(props, "icon", "label", "collapsed", "tooltip", "kbds", "class", "b24ui"));
35
73
  const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} : props.tooltip, { delayDuration: 0, content: { side: "right" } }));
36
74
  const { t } = useLocale();
37
75
  const { open } = useContentSearch();
@@ -45,7 +83,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.content
45
83
  :icon="icon || icons.search"
46
84
  :label="label || t('contentSearchButton.label')"
47
85
  v-bind="{
48
- ...rootProps,
86
+ ...buttonProps,
49
87
  ...collapsed ? {
50
88
  'label': void 0,
51
89
  'aria-label': label || t('contentSearchButton.label')
@@ -3,7 +3,7 @@ import theme from '#build/b24ui/content/content-search-button';
3
3
  import type { ButtonProps, ButtonSlots, IconComponent, KbdProps, TooltipProps } from '../../types';
4
4
  import type { ComponentConfig } from '../../types/tv';
5
5
  type ContentSearchButton = ComponentConfig<typeof theme, AppConfig, 'contentSearchButton'>;
6
- export interface ContentSearchButtonProps {
6
+ export interface ContentSearchButtonProps extends Omit<ButtonProps, 'icon' | 'label' | 'color'> {
7
7
  /**
8
8
  * The icon displayed in the button.
9
9
  * @defaultValue icons.search
@@ -20,7 +20,6 @@ export interface ContentSearchButtonProps {
20
20
  * @defaultValue 'air-tertiary-no-accent'
21
21
  */
22
22
  color?: ButtonProps['color'];
23
- size?: ButtonProps['size'];
24
23
  /**
25
24
  * Whether the button is collapsed.
26
25
  * @defaultValue true
@@ -41,7 +40,7 @@ export interface ContentSearchButtonProps {
41
40
  class?: any;
42
41
  }
43
42
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContentSearchButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContentSearchButtonProps> & Readonly<{}>, {
44
- color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "default" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
43
+ color: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
45
44
  tooltip: boolean | TooltipProps;
46
45
  kbds: KbdProps["value"][] | KbdProps[];
47
46
  collapsed: boolean;
@@ -21,7 +21,13 @@ const props = defineProps({
21
21
  });
22
22
  defineSlots();
23
23
  const appConfig = useAppConfig();
24
- const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate();
24
+ const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate({
25
+ props: {
26
+ link: Object,
27
+ icon: [Object, Function],
28
+ direction: String
29
+ }
30
+ });
25
31
  const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.contentSurround || {} })());
26
32
  </script>
27
33
 
@@ -1,16 +1,20 @@
1
- import type { SelectMenuProps } from '@bitrix24/b24ui-nuxt';
1
+ import type { SelectMenuProps } from '../SelectMenu.vue';
2
2
  import type { Locale } from '../../types/locale';
3
- export interface LocaleSelectProps extends /** @vue-ignore */ Pick<SelectMenuProps<any>, 'color' | 'size' | 'trailingIcon' | 'selectedIcon' | 'content' | 'arrow' | 'portal' | 'disabled' | 'b24ui'> {
3
+ export interface LocaleSelectProps extends Omit<SelectMenuProps<Locale<any>[], 'code', false>, 'items' | 'modelValue'> {
4
4
  locales?: Locale<any>[];
5
5
  }
6
6
  declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
7
- modelValue?: string;
7
+ modelValue: string;
8
8
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
- "update:modelValue": (value: string | undefined) => any;
9
+ "update:modelValue": (value: string) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<LocaleSelectProps & {
11
- modelValue?: string;
11
+ modelValue: string;
12
12
  }> & Readonly<{
13
- "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
14
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
14
+ }>, {
15
+ labelKey: string;
16
+ valueKey: "code";
17
+ searchInput: boolean | import("../Input.vue").InputProps;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
19
  declare const _default: typeof __VLS_export;
16
20
  export default _default;
@@ -3,11 +3,57 @@
3
3
  </script>
4
4
 
5
5
  <script setup>
6
+ import { useForwardProps } from "reka-ui";
7
+ import { reactiveOmit } from "@vueuse/core";
6
8
  import B24SelectMenu from "../SelectMenu.vue";
7
- defineProps({
8
- locales: { type: Array, required: false }
9
+ defineOptions({ inheritAttrs: false });
10
+ const props = defineProps({
11
+ locales: { type: Array, required: false },
12
+ id: { type: String, required: false },
13
+ placeholder: { type: String, required: false },
14
+ searchInput: { type: [Boolean, Object], required: false, default: false },
15
+ color: { type: null, required: false },
16
+ size: { type: null, required: false },
17
+ noPadding: { type: Boolean, required: false },
18
+ noBorder: { type: Boolean, required: false },
19
+ underline: { type: Boolean, required: false },
20
+ rounded: { type: Boolean, required: false },
21
+ tag: { type: String, required: false },
22
+ tagColor: { type: null, required: false },
23
+ required: { type: Boolean, required: false },
24
+ trailingIcon: { type: [Function, Object], required: false },
25
+ selectedIcon: { type: [Function, Object], required: false },
26
+ content: { type: Object, required: false },
27
+ arrow: { type: [Boolean, Object], required: false },
28
+ portal: { type: [Boolean, String], required: false, skipCheck: true },
29
+ virtualize: { type: [Boolean, Object], required: false },
30
+ valueKey: { type: String, required: false, default: "code" },
31
+ labelKey: { type: null, required: false, default: "name" },
32
+ descriptionKey: { type: null, required: false },
33
+ defaultValue: { type: null, required: false },
34
+ multiple: { type: Boolean, required: false },
35
+ highlight: { type: Boolean, required: false },
36
+ createItem: { type: [Boolean, String, Object], required: false },
37
+ filterFields: { type: Array, required: false },
38
+ ignoreFilter: { type: Boolean, required: false },
39
+ autofocus: { type: Boolean, required: false },
40
+ autofocusDelay: { type: Number, required: false },
41
+ class: { type: null, required: false },
42
+ b24ui: { type: null, required: false },
43
+ open: { type: Boolean, required: false },
44
+ defaultOpen: { type: Boolean, required: false },
45
+ disabled: { type: Boolean, required: false },
46
+ name: { type: String, required: false },
47
+ resetSearchTermOnBlur: { type: Boolean, required: false },
48
+ resetSearchTermOnSelect: { type: Boolean, required: false },
49
+ highlightOnHover: { type: Boolean, required: false },
50
+ icon: { type: [Function, Object], required: false },
51
+ avatar: { type: Object, required: false },
52
+ loading: { type: Boolean, required: false },
53
+ trailing: { type: Boolean, required: false }
9
54
  });
10
- const modelValue = defineModel({ type: String });
55
+ const selectMenuProps = useForwardProps(reactiveOmit(props, "locales"));
56
+ const modelValue = defineModel({ type: String, ...{ required: true } });
11
57
  function getEmojiFlag(locale) {
12
58
  const languageToCountry = {
13
59
  en: "us",
@@ -58,9 +104,7 @@ function getEmojiFlag(locale) {
58
104
  <template>
59
105
  <B24SelectMenu
60
106
  v-model="modelValue"
61
- :search-input="false"
62
- value-key="code"
63
- label-key="name"
107
+ v-bind="{ ...selectMenuProps, ...$attrs }"
64
108
  :items="locales"
65
109
  >
66
110
  <template #leading>
@@ -1,16 +1,20 @@
1
- import type { SelectMenuProps } from '@bitrix24/b24ui-nuxt';
1
+ import type { SelectMenuProps } from '../SelectMenu.vue';
2
2
  import type { Locale } from '../../types/locale';
3
- export interface LocaleSelectProps extends /** @vue-ignore */ Pick<SelectMenuProps<any>, 'color' | 'size' | 'trailingIcon' | 'selectedIcon' | 'content' | 'arrow' | 'portal' | 'disabled' | 'b24ui'> {
3
+ export interface LocaleSelectProps extends Omit<SelectMenuProps<Locale<any>[], 'code', false>, 'items' | 'modelValue'> {
4
4
  locales?: Locale<any>[];
5
5
  }
6
6
  declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
7
- modelValue?: string;
7
+ modelValue: string;
8
8
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
- "update:modelValue": (value: string | undefined) => any;
9
+ "update:modelValue": (value: string) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<LocaleSelectProps & {
11
- modelValue?: string;
11
+ modelValue: string;
12
12
  }> & Readonly<{
13
- "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
14
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
14
+ }>, {
15
+ labelKey: string;
16
+ valueKey: "code";
17
+ searchInput: boolean | import("../Input.vue").InputProps;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
19
  declare const _default: typeof __VLS_export;
16
20
  export default _default;
@@ -9,6 +9,7 @@ import { tv } from "../../utils/tv";
9
9
  import icons from "../../dictionary/icons";
10
10
  import B24Link from "../Link.vue";
11
11
  import GitHubIcon from "@bitrix24/b24icons-vue/social/GitHubIcon";
12
+ import InfoCircleIcon from "@bitrix24/b24icons-vue/outline/InfoCircleIcon";
12
13
  defineOptions({ inheritAttrs: false });
13
14
  const props = defineProps({
14
15
  to: { type: null, required: false },
@@ -33,6 +34,9 @@ const iconFromIconName = computed(() => {
33
34
  switch (props.iconName) {
34
35
  case "GitHubIcon":
35
36
  return GitHubIcon;
37
+ /** @todo change icon */
38
+ case "MdnWebDocIcon":
39
+ return InfoCircleIcon;
36
40
  }
37
41
  return void 0;
38
42
  });
@@ -0,0 +1,8 @@
1
+ export * from './defineLocale';
2
+ export * from './defineShortcuts';
3
+ export * from './useFileUpload';
4
+ export * from './useKbd';
5
+ export * from './useOverlay';
6
+ export * from './useResizable';
7
+ export * from './useScrollspy';
8
+ export * from './useToast';
@@ -0,0 +1,8 @@
1
+ export * from "./defineLocale.js";
2
+ export * from "./defineShortcuts.js";
3
+ export * from "./useFileUpload.js";
4
+ export * from "./useKbd.js";
5
+ export * from "./useOverlay.js";
6
+ export * from "./useResizable.js";
7
+ export * from "./useScrollspy.js";
8
+ export * from "./useToast.js";
@@ -1,3 +1,4 @@
1
+ import type { ComponentPublicInstance } from 'vue';
1
2
  import type { MaybeRef } from '@vueuse/core';
2
3
  export interface UseFileUploadOptions {
3
4
  /**
@@ -14,6 +15,6 @@ export interface UseFileUploadOptions {
14
15
  export declare function useFileUpload(options: UseFileUploadOptions): {
15
16
  isDragging: import("vue").Ref<boolean, boolean>;
16
17
  open: () => void;
17
- inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
18
+ inputRef: import("vue").Ref<ComponentPublicInstance | undefined, ComponentPublicInstance | undefined>;
18
19
  dropzoneRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
19
20
  };
@@ -26,7 +26,7 @@ export function useFileUpload(options) {
26
26
  const inputRef = ref();
27
27
  const dropzoneRef = ref();
28
28
  const dataTypes = computed(() => parseAcceptToDataTypes(unref(accept)));
29
- const onDrop = (files) => {
29
+ const onDrop = (files, fromDropZone = false) => {
30
30
  if (!files || files.length === 0) {
31
31
  return;
32
32
  }
@@ -36,6 +36,15 @@ export function useFileUpload(options) {
36
36
  if (files.length > 1 && !multiple) {
37
37
  files = [files[0]];
38
38
  }
39
+ if (fromDropZone && inputRef.value?.$el) {
40
+ try {
41
+ const dt = new DataTransfer();
42
+ files.forEach((file) => dt.items.add(file));
43
+ inputRef.value.$el.files = dt.files;
44
+ } catch (e) {
45
+ console.warn("Could not sync files to input element:", e);
46
+ }
47
+ }
39
48
  onUpdate(files);
40
49
  };
41
50
  const isDragging = ref(false);
@@ -47,18 +56,18 @@ export function useFileUpload(options) {
47
56
  fileDialog.open();
48
57
  }
49
58
  onMounted(() => {
50
- const { isOverDropZone } = dropzone ? useDropZone(dropzoneRef, { dataTypes: dataTypes.value, onDrop }) : { isOverDropZone: ref(false) };
59
+ const { isOverDropZone } = dropzone ? useDropZone(dropzoneRef, { dataTypes: dataTypes.value, onDrop: (files) => onDrop(files, true) }) : { isOverDropZone: ref(false) };
51
60
  watch(isOverDropZone, (value) => {
52
61
  isDragging.value = value;
53
62
  });
54
63
  const { onChange, open: open2 } = useFileDialog({
55
64
  accept: unref(accept),
56
65
  multiple,
57
- input: unref(inputRef),
66
+ input: unref(inputRef)?.$el,
58
67
  reset
59
68
  });
60
69
  fileDialog.open = open2;
61
- onChange((fileList) => onDrop(fileList));
70
+ onChange((fileList) => onDrop(fileList, false));
62
71
  });
63
72
  return {
64
73
  isDragging,
@@ -1 +1 @@
1
- @import "#build/b24ui.css";@import "./keyframes.css";@import "./air-design-tokens/tw-style/index.css";@import "./air-design-tokens/index.css";@layer base{.sidebar-layout.--inner,body{--air-theme-background:var(--air-theme-bg-image,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll) var(--air-theme-bg-color,transparent);--air-theme-background-blurred:var(--air-theme-bg-image-blurred,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll)}.sidebar-layout.--inner,body{background:var(--air-theme-background)}body{scrollbar-gutter:stable}}
1
+ @import "#build/b24ui.css";@import "./keyframes.css";@import "./air-design-tokens/tw-style/index.css";@import "./air-design-tokens/index.css";@variant light (&:where(.light, .light *));@variant edge-dark (&:where(.edge-dark, .edge-dark *));@variant edge-light (&:where(.edge-light, .edge-light *));@variant dark (&:where(.dark, .dark *));@layer base{.sidebar-layout.--inner,body{--air-theme-background:var(--air-theme-bg-image,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll) var(--air-theme-bg-color,transparent);--air-theme-background-blurred:var(--air-theme-bg-image-blurred,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll)}}@theme default inline{--text-color-dimmed:var(--ui-color-base-6);--text-color-muted:var(--ui-color-design-plain-na-content-secondary);--text-color-description:var(--b24ui-typography-description-color);--text-color-legend:var(--b24ui-typography-legend-color);--text-color-label:var(--b24ui-typography-label-color)}
@@ -1,6 +1,11 @@
1
- import type { ButtonHTMLAttributes } from 'vue';
2
1
  import type { InertiaLinkProps } from '@inertiajs/vue3';
3
- interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
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'> {
4
+ /**
5
+ * The element or component this component should render as when not a link.
6
+ * @defaultValue 'button'
7
+ */
8
+ as?: any;
4
9
  activeClass?: string;
5
10
  /**
6
11
  * Route Location the link should navigate to when clicked on.
@@ -9,7 +14,7 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
9
14
  /**
10
15
  * An alias for `to`. If used with `to`, `href` will be ignored
11
16
  */
12
- href?: NuxtLinkProps['to'];
17
+ href?: LinkProps['to'];
13
18
  /**
14
19
  * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
15
20
  */
@@ -18,14 +23,16 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
18
23
  * Where to display the linked URL, as the name for a browsing context.
19
24
  */
20
25
  target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
21
- ariaCurrentValue?: string;
22
- }
23
- export interface LinkProps extends NuxtLinkProps {
24
26
  /**
25
- * The element or component this component should render as when not a link.
26
- * @defaultValue 'button'
27
+ * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
27
28
  */
28
- as?: any;
29
+ rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
30
+ /**
31
+ * Value passed to the attribute `aria-current` when the link is exact active.
32
+ *
33
+ * @defaultValue `'page'`
34
+ */
35
+ ariaCurrentValue?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
29
36
  /**
30
37
  * The type of the button when not a link.
31
38
  * @defaultValue 'button'
@@ -53,8 +60,8 @@ export interface LinkSlots {
53
60
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
54
61
  as: any;
55
62
  type: "reset" | "submit" | "button";
56
- activeClass: string;
57
63
  active: boolean;
64
+ activeClass: string;
58
65
  inactiveClass: string;
59
66
  isAction: boolean;
60
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
@@ -15,6 +15,13 @@ import B24LinkBase from "./../../components/LinkBase.vue";
15
15
  defineOptions({ inheritAttrs: false });
16
16
  const props = defineProps({
17
17
  as: { type: null, required: false, default: "button" },
18
+ activeClass: { type: String, required: false, default: "" },
19
+ to: { type: String, required: false },
20
+ href: { type: String, required: false },
21
+ external: { type: Boolean, required: false },
22
+ target: { type: [String, Object, null], required: false },
23
+ rel: { type: [String, Object, null], required: false },
24
+ ariaCurrentValue: { type: String, required: false },
18
25
  type: { type: null, required: false, default: "button" },
19
26
  disabled: { type: Boolean, required: false },
20
27
  active: { type: Boolean, required: false, default: void 0 },
@@ -24,12 +31,6 @@ const props = defineProps({
24
31
  isAction: { type: Boolean, required: false, default: false },
25
32
  raw: { type: Boolean, required: false },
26
33
  class: { type: null, required: false },
27
- activeClass: { type: String, required: false, default: "" },
28
- to: { type: String, required: false },
29
- href: { type: String, required: false },
30
- external: { type: Boolean, required: false },
31
- target: { type: [String, Object, null], required: false },
32
- ariaCurrentValue: { type: String, required: false },
33
34
  data: { type: null, required: false },
34
35
  method: { type: String, required: false },
35
36
  replace: { type: Boolean, required: false },
@@ -41,6 +42,7 @@ const props = defineProps({
41
42
  headers: { type: Object, required: false },
42
43
  queryStringArrayFormat: { type: String, required: false },
43
44
  async: { type: Boolean, required: false },
45
+ viewTransition: { type: [Boolean, Function], required: false },
44
46
  onCancelToken: { type: Function, required: false },
45
47
  onBefore: { type: Function, required: false },
46
48
  onBeforeUpdate: { type: Function, required: false },
@@ -1,6 +1,11 @@
1
- import type { ButtonHTMLAttributes } from 'vue';
2
1
  import type { InertiaLinkProps } from '@inertiajs/vue3';
3
- interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
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'> {
4
+ /**
5
+ * The element or component this component should render as when not a link.
6
+ * @defaultValue 'button'
7
+ */
8
+ as?: any;
4
9
  activeClass?: string;
5
10
  /**
6
11
  * Route Location the link should navigate to when clicked on.
@@ -9,7 +14,7 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
9
14
  /**
10
15
  * An alias for `to`. If used with `to`, `href` will be ignored
11
16
  */
12
- href?: NuxtLinkProps['to'];
17
+ href?: LinkProps['to'];
13
18
  /**
14
19
  * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
15
20
  */
@@ -18,14 +23,16 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
18
23
  * Where to display the linked URL, as the name for a browsing context.
19
24
  */
20
25
  target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
21
- ariaCurrentValue?: string;
22
- }
23
- export interface LinkProps extends NuxtLinkProps {
24
26
  /**
25
- * The element or component this component should render as when not a link.
26
- * @defaultValue 'button'
27
+ * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
27
28
  */
28
- as?: any;
29
+ rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
30
+ /**
31
+ * Value passed to the attribute `aria-current` when the link is exact active.
32
+ *
33
+ * @defaultValue `'page'`
34
+ */
35
+ ariaCurrentValue?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
29
36
  /**
30
37
  * The type of the button when not a link.
31
38
  * @defaultValue 'button'
@@ -53,8 +60,8 @@ export interface LinkSlots {
53
60
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
54
61
  as: any;
55
62
  type: "reset" | "submit" | "button";
56
- activeClass: string;
57
63
  active: boolean;
64
+ activeClass: string;
58
65
  inactiveClass: string;
59
66
  isAction: boolean;
60
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
@@ -17,7 +17,7 @@ export declare const useColorMode: () => {
17
17
  preference?: undefined;
18
18
  readonly value?: undefined;
19
19
  } | {
20
- preference: "system" | import("@vueuse/core").BasicColorMode;
20
+ preference: import("@vueuse/core").BasicColorMode | "system";
21
21
  readonly value: import("@vueuse/core").BasicColorMode;
22
22
  forced: boolean;
23
23
  };
@@ -1,17 +1,13 @@
1
1
  import { computed } from "vue";
2
- import {
3
- defineNuxtPlugin,
4
- useNuxtApp,
5
- useHead
6
- } from "#imports";
2
+ import { defineNuxtPlugin, useNuxtApp, useHead } from "#imports";
7
3
  export default defineNuxtPlugin(() => {
8
4
  const nuxtApp = useNuxtApp();
9
5
  const root = computed(() => {
10
- return `@layer base {
11
- :root {
6
+ return `@layer theme {
7
+ :root, :host {
12
8
  ${[].join("\n ")}
13
9
  }
14
- :root, .light {
10
+ :root, :host, .light {
15
11
  ${[].join("\n ")}
16
12
  }
17
13
  .dark {
@@ -0,0 +1,8 @@
1
+ import type { AnchorHTMLAttributes as VueAnchorHTMLAttributes, ButtonHTMLAttributes as VueButtonHTMLAttributes, FormHTMLAttributes as VueFormHTMLAttributes, ImgHTMLAttributes as VueImgHTMLAttributes, InputHTMLAttributes as VueInputHTMLAttributes, TableHTMLAttributes as VueTableHTMLAttributes, TextareaHTMLAttributes as VueTextareaHTMLAttributes } from 'vue';
2
+ export type AnchorHTMLAttributes = Pick<VueAnchorHTMLAttributes, 'download' | 'href' | 'hreflang' | 'media' | 'ping' | 'rel' | 'target' | 'type' | 'referrerpolicy'>;
3
+ export type ButtonHTMLAttributes = Pick<VueButtonHTMLAttributes, 'autofocus' | 'disabled' | 'form' | 'formaction' | 'formenctype' | 'formmethod' | 'formnovalidate' | 'formtarget' | 'name' | 'type'>;
4
+ export type FormHTMLAttributes = Pick<VueFormHTMLAttributes, 'acceptcharset' | 'action' | 'autocomplete' | 'enctype' | 'method' | 'name' | 'novalidate' | 'target'>;
5
+ export type ImgHTMLAttributes = Pick<VueImgHTMLAttributes, 'alt' | 'crossorigin' | 'decoding' | 'height' | 'loading' | 'referrerpolicy' | 'sizes' | 'src' | 'srcset' | 'usemap' | 'width'>;
6
+ export type InputHTMLAttributes = Pick<VueInputHTMLAttributes, 'autocomplete' | 'autofocus' | 'disabled' | 'enterKeyHint' | 'form' | 'formaction' | 'formenctype' | 'formmethod' | 'formnovalidate' | 'formtarget' | 'list' | 'max' | 'maxlength' | 'min' | 'minlength' | 'name' | 'pattern' | 'placeholder' | 'readonly' | 'required' | 'size' | 'step' | 'type'>;
7
+ export type TableHTMLAttributes = Pick<VueTableHTMLAttributes, 'cellpadding' | 'cellspacing' | 'summary' | 'width'>;
8
+ export type TextareaHTMLAttributes = Pick<VueTextareaHTMLAttributes, 'autocomplete' | 'autofocus' | 'cols' | 'dirname' | 'disabled' | 'form' | 'maxlength' | 'minlength' | 'name' | 'placeholder' | 'readonly' | 'required' | 'rows' | 'wrap'>;
@@ -36,9 +36,11 @@ export * from '../components/FileUpload.vue';
36
36
  export * from '../components/Form.vue';
37
37
  export * from '../components/FormField.vue';
38
38
  export * from '../components/Input.vue';
39
+ export * from '../components/InputDate.vue';
39
40
  export * from '../components/InputMenu.vue';
40
41
  export * from '../components/InputNumber.vue';
41
42
  export * from '../components/InputTags.vue';
43
+ export * from '../components/InputTime.vue';
42
44
  export * from '../components/Kbd.vue';
43
45
  export * from '../components/Link.vue';
44
46
  export * from '../components/Modal.vue';
@@ -36,9 +36,11 @@ export * from "../components/FileUpload.vue";
36
36
  export * from "../components/Form.vue";
37
37
  export * from "../components/FormField.vue";
38
38
  export * from "../components/Input.vue";
39
+ export * from "../components/InputDate.vue";
39
40
  export * from "../components/InputMenu.vue";
40
41
  export * from "../components/InputNumber.vue";
41
42
  export * from "../components/InputTags.vue";
43
+ export * from "../components/InputTime.vue";
42
44
  export * from "../components/Kbd.vue";
43
45
  export * from "../components/Link.vue";
44
46
  export * from "../components/Modal.vue";
@@ -1,8 +1,8 @@
1
- export interface ModelModifiers {
2
- string?: boolean;
3
- number?: boolean;
4
- trim?: boolean;
1
+ export interface ModelModifiers<T = any> {
2
+ string?: string extends T ? boolean : never;
3
+ number?: number extends T ? boolean : never;
4
+ trim?: string extends T ? boolean : never;
5
5
  lazy?: boolean;
6
- nullable?: boolean;
6
+ nullable?: null extends T ? boolean : never;
7
7
  optional?: boolean;
8
8
  }
@@ -42,4 +42,6 @@ export type StringOrVNode = string | VNode | (() => VNode);
42
42
  export type EmitsToProps<T> = {
43
43
  [K in keyof T as `on${Capitalize<string & K>}`]: T[K] extends [...args: infer Args] ? (...args: Args) => void : never;
44
44
  };
45
+ export type NonUnion<T> = [T] extends [infer U] ? _NonUnion<U, U> : never;
46
+ type _NonUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never;
45
47
  export {};
@@ -4,13 +4,13 @@ type MapContentNavigationItemOptions = {
4
4
  labelAttribute?: string;
5
5
  deep?: number;
6
6
  };
7
- export declare function mapContentNavigationItem(item: ContentNavigationItem, options?: MapContentNavigationItemOptions, currentDepth?: number): Omit<ContentNavigationItem, "title" | "path"> & {
7
+ export declare function mapContentNavigationItem(item: ContentNavigationItem, options?: MapContentNavigationItemOptions, currentDepth?: number): Omit<ContentNavigationItem, "path" | "title"> & {
8
8
  label?: string;
9
9
  to?: string;
10
10
  type?: string;
11
11
  icon?: IconComponent;
12
12
  };
13
- export declare function mapContentNavigation(navigation: ContentNavigationItem[], options?: MapContentNavigationItemOptions): (Omit<ContentNavigationItem, "title" | "path"> & {
13
+ export declare function mapContentNavigation(navigation: ContentNavigationItem[], options?: MapContentNavigationItemOptions): (Omit<ContentNavigationItem, "path" | "title"> & {
14
14
  label?: string;
15
15
  to?: string;
16
16
  type?: string;
@@ -1,6 +1,6 @@
1
1
  import type { Ref } from 'vue';
2
2
  import type { UseLoadingProps } from '../composables/useLoading';
3
- export interface DashboardContext extends Pick<UseLoadingProps, 'storage' | 'storageKey'> {
3
+ export interface DashboardContext extends /** @vue-ignore */ Pick<UseLoadingProps, 'storage' | 'storageKey'> {
4
4
  contextId?: string;
5
5
  sidebarOpen?: Ref<boolean>;
6
6
  isLoading?: Ref<boolean>;
@@ -1,4 +1,5 @@
1
1
  import type { LinkProps } from '../types';
2
+ export declare const linkKeys: readonly ["active", "activeClass", "ariaCurrentValue", "as", "disabled", "download", "exact", "exactActiveClass", "exactHash", "exactQuery", "external", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "href", "hreflang", "inactiveClass", "media", "noPrefetch", "noRel", "onClick", "ping", "prefetch", "prefetchOn", "prefetchedClass", "referrerpolicy", "rel", "replace", "target", "title", "to", "trailingSlash", "type", "viewTransition"];
2
3
  export declare function pickLinkProps(link: LinkProps & {
3
4
  [key: string]: any;
4
5
  }): import("@vueuse/shared").ReactivePickReturn<LinkProps & {