@nuxt/ui 4.5.1 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +1 -1
  2. package/dist/module.d.mts +7 -0
  3. package/dist/module.json +2 -2
  4. package/dist/module.mjs +79 -67
  5. package/dist/runtime/components/Avatar.vue +10 -12
  6. package/dist/runtime/components/Banner.vue +1 -1
  7. package/dist/runtime/components/BlogPost.vue +3 -2
  8. package/dist/runtime/components/Calendar.d.vue.ts +4 -4
  9. package/dist/runtime/components/Calendar.vue.d.ts +4 -4
  10. package/dist/runtime/components/ChangelogVersion.vue +3 -2
  11. package/dist/runtime/components/ChangelogVersions.vue +1 -1
  12. package/dist/runtime/components/ChatMessage.d.vue.ts +4 -1
  13. package/dist/runtime/components/ChatMessage.vue +5 -0
  14. package/dist/runtime/components/ChatMessage.vue.d.ts +4 -1
  15. package/dist/runtime/components/ChatMessages.vue +14 -1
  16. package/dist/runtime/components/ChatPrompt.vue +6 -1
  17. package/dist/runtime/components/ChatReasoning.d.vue.ts +78 -0
  18. package/dist/runtime/components/ChatReasoning.vue +162 -0
  19. package/dist/runtime/components/ChatReasoning.vue.d.ts +78 -0
  20. package/dist/runtime/components/ChatShimmer.d.vue.ts +34 -0
  21. package/dist/runtime/components/ChatShimmer.vue +37 -0
  22. package/dist/runtime/components/ChatShimmer.vue.d.ts +34 -0
  23. package/dist/runtime/components/ChatTool.d.vue.ts +88 -0
  24. package/dist/runtime/components/ChatTool.vue +105 -0
  25. package/dist/runtime/components/ChatTool.vue.d.ts +88 -0
  26. package/dist/runtime/components/Checkbox.d.vue.ts +22 -19
  27. package/dist/runtime/components/Checkbox.vue +9 -8
  28. package/dist/runtime/components/Checkbox.vue.d.ts +22 -19
  29. package/dist/runtime/components/DashboardGroup.d.vue.ts +1 -1
  30. package/dist/runtime/components/DashboardGroup.vue.d.ts +1 -1
  31. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  32. package/dist/runtime/components/DashboardSidebar.vue +6 -3
  33. package/dist/runtime/components/Drawer.vue +6 -4
  34. package/dist/runtime/components/DropdownMenu.d.vue.ts +29 -3
  35. package/dist/runtime/components/DropdownMenu.vue +9 -0
  36. package/dist/runtime/components/DropdownMenu.vue.d.ts +29 -3
  37. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +9 -3
  38. package/dist/runtime/components/DropdownMenuContent.vue +62 -9
  39. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +9 -3
  40. package/dist/runtime/components/EditorDragHandle.d.vue.ts +4 -4
  41. package/dist/runtime/components/EditorDragHandle.vue.d.ts +4 -4
  42. package/dist/runtime/components/Error.vue +5 -5
  43. package/dist/runtime/components/FileUpload.d.vue.ts +6 -0
  44. package/dist/runtime/components/FileUpload.vue +11 -7
  45. package/dist/runtime/components/FileUpload.vue.d.ts +6 -0
  46. package/dist/runtime/components/Icon.d.vue.ts +2 -1
  47. package/dist/runtime/components/Icon.vue +3 -3
  48. package/dist/runtime/components/Icon.vue.d.ts +2 -1
  49. package/dist/runtime/components/InputDate.d.vue.ts +4 -4
  50. package/dist/runtime/components/InputDate.vue.d.ts +4 -4
  51. package/dist/runtime/components/InputMenu.d.vue.ts +7 -1
  52. package/dist/runtime/components/InputMenu.vue +67 -48
  53. package/dist/runtime/components/InputMenu.vue.d.ts +7 -1
  54. package/dist/runtime/components/InputTime.d.vue.ts +53 -27
  55. package/dist/runtime/components/InputTime.vue +52 -27
  56. package/dist/runtime/components/InputTime.vue.d.ts +53 -27
  57. package/dist/runtime/components/Kbd.vue +1 -1
  58. package/dist/runtime/components/Modal.vue +6 -4
  59. package/dist/runtime/components/NavigationMenu.vue +1 -0
  60. package/dist/runtime/components/Popover.vue +1 -1
  61. package/dist/runtime/components/Progress.d.vue.ts +1 -1
  62. package/dist/runtime/components/Progress.vue.d.ts +1 -1
  63. package/dist/runtime/components/SelectMenu.d.vue.ts +1 -1
  64. package/dist/runtime/components/SelectMenu.vue +1 -1
  65. package/dist/runtime/components/SelectMenu.vue.d.ts +1 -1
  66. package/dist/runtime/components/Sidebar.d.vue.ts +131 -0
  67. package/dist/runtime/components/Sidebar.vue +222 -0
  68. package/dist/runtime/components/Sidebar.vue.d.ts +131 -0
  69. package/dist/runtime/components/Slideover.vue +6 -4
  70. package/dist/runtime/components/Switch.d.vue.ts +22 -19
  71. package/dist/runtime/components/Switch.vue +7 -6
  72. package/dist/runtime/components/Switch.vue.d.ts +22 -19
  73. package/dist/runtime/components/Table.d.vue.ts +1 -1
  74. package/dist/runtime/components/Table.vue +12 -4
  75. package/dist/runtime/components/Table.vue.d.ts +1 -1
  76. package/dist/runtime/components/Tooltip.d.vue.ts +2 -0
  77. package/dist/runtime/components/Tooltip.vue +3 -2
  78. package/dist/runtime/components/Tooltip.vue.d.ts +2 -0
  79. package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  80. package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  81. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +3 -1
  82. package/dist/runtime/components/content/ContentNavigation.vue +9 -2
  83. package/dist/runtime/components/content/ContentSurround.vue +6 -2
  84. package/dist/runtime/components/content/ContentToc.d.vue.ts +5 -0
  85. package/dist/runtime/components/content/ContentToc.vue +57 -11
  86. package/dist/runtime/components/content/ContentToc.vue.d.ts +5 -0
  87. package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +1 -1
  88. package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +1 -1
  89. package/dist/runtime/components/prose/Pre.vue +0 -4
  90. package/dist/runtime/composables/index.d.ts +12 -0
  91. package/dist/runtime/composables/index.js +12 -0
  92. package/dist/runtime/composables/useEditorMenu.js +1 -1
  93. package/dist/runtime/composables/useFileUpload.d.ts +2 -2
  94. package/dist/runtime/composables/useFileUpload.js +3 -3
  95. package/dist/runtime/composables/{internal/useFilter.js → useFilter.js} +1 -1
  96. package/dist/runtime/composables/useIMEGuard.d.ts +10 -0
  97. package/dist/runtime/composables/useIMEGuard.js +22 -0
  98. package/dist/runtime/composables/useScrollShadow.d.ts +23 -0
  99. package/dist/runtime/composables/useScrollShadow.js +36 -0
  100. package/dist/runtime/index.css +1 -1
  101. package/dist/runtime/keyframes.css +1 -1
  102. package/dist/runtime/locale/ar.js +13 -0
  103. package/dist/runtime/locale/az.js +13 -0
  104. package/dist/runtime/locale/be.js +13 -0
  105. package/dist/runtime/locale/bg.js +13 -0
  106. package/dist/runtime/locale/bn.js +13 -0
  107. package/dist/runtime/locale/ca.js +13 -0
  108. package/dist/runtime/locale/ckb.js +13 -0
  109. package/dist/runtime/locale/cs.js +13 -0
  110. package/dist/runtime/locale/da.js +13 -0
  111. package/dist/runtime/locale/de.js +13 -0
  112. package/dist/runtime/locale/de_ch.js +13 -0
  113. package/dist/runtime/locale/el.js +13 -0
  114. package/dist/runtime/locale/en.js +13 -0
  115. package/dist/runtime/locale/es.js +13 -0
  116. package/dist/runtime/locale/et.js +13 -0
  117. package/dist/runtime/locale/eu.js +13 -0
  118. package/dist/runtime/locale/fa_ir.js +13 -0
  119. package/dist/runtime/locale/fi.js +13 -0
  120. package/dist/runtime/locale/fr.js +13 -0
  121. package/dist/runtime/locale/gl.js +13 -0
  122. package/dist/runtime/locale/he.js +13 -0
  123. package/dist/runtime/locale/hi.js +13 -0
  124. package/dist/runtime/locale/hr.js +13 -0
  125. package/dist/runtime/locale/hu.js +13 -0
  126. package/dist/runtime/locale/hy.js +13 -0
  127. package/dist/runtime/locale/id.js +13 -0
  128. package/dist/runtime/locale/index.d.ts +1 -0
  129. package/dist/runtime/locale/index.js +1 -0
  130. package/dist/runtime/locale/is.d.ts +3 -0
  131. package/dist/runtime/locale/is.js +142 -0
  132. package/dist/runtime/locale/it.js +13 -0
  133. package/dist/runtime/locale/ja.js +13 -0
  134. package/dist/runtime/locale/ka.js +13 -0
  135. package/dist/runtime/locale/kk.js +13 -0
  136. package/dist/runtime/locale/km.js +13 -0
  137. package/dist/runtime/locale/ko.js +13 -0
  138. package/dist/runtime/locale/ky.js +13 -0
  139. package/dist/runtime/locale/lb.js +13 -0
  140. package/dist/runtime/locale/lo.js +13 -0
  141. package/dist/runtime/locale/lt.js +13 -0
  142. package/dist/runtime/locale/mn.js +13 -0
  143. package/dist/runtime/locale/ms.js +13 -0
  144. package/dist/runtime/locale/nb_no.js +13 -0
  145. package/dist/runtime/locale/nl.js +13 -0
  146. package/dist/runtime/locale/pl.js +13 -0
  147. package/dist/runtime/locale/pt.js +13 -0
  148. package/dist/runtime/locale/pt_br.js +13 -0
  149. package/dist/runtime/locale/ro.js +13 -0
  150. package/dist/runtime/locale/ru.js +13 -0
  151. package/dist/runtime/locale/sk.js +13 -0
  152. package/dist/runtime/locale/sl.js +13 -0
  153. package/dist/runtime/locale/sq.js +13 -0
  154. package/dist/runtime/locale/sv.js +13 -0
  155. package/dist/runtime/locale/th.js +13 -0
  156. package/dist/runtime/locale/tj.js +13 -0
  157. package/dist/runtime/locale/tr.js +13 -0
  158. package/dist/runtime/locale/ug_cn.js +13 -0
  159. package/dist/runtime/locale/uk.js +13 -0
  160. package/dist/runtime/locale/ur.js +13 -0
  161. package/dist/runtime/locale/uz.js +13 -0
  162. package/dist/runtime/locale/vi.js +13 -0
  163. package/dist/runtime/locale/zh_cn.js +13 -0
  164. package/dist/runtime/locale/zh_tw.js +13 -0
  165. package/dist/runtime/types/index.d.ts +4 -0
  166. package/dist/runtime/types/index.js +4 -0
  167. package/dist/runtime/types/locale.d.ts +13 -0
  168. package/dist/runtime/utils/ai.d.ts +23 -0
  169. package/dist/runtime/utils/ai.js +16 -0
  170. package/dist/runtime/utils/editor.js +17 -5
  171. package/dist/runtime/vue/components/Icon.d.vue.ts +1 -4
  172. package/dist/runtime/vue/components/Icon.vue +28 -3
  173. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -4
  174. package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +1 -1
  175. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +1 -1
  176. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +3 -1
  177. package/dist/shared/{ui.DI_ypO2T.mjs → ui.DJUbBpE2.mjs} +298 -39
  178. package/dist/unplugin.d.mts +15 -5
  179. package/dist/unplugin.mjs +53 -30
  180. package/dist/vite.d.mts +1 -0
  181. package/dist/vite.mjs +1 -1
  182. package/package.json +50 -47
  183. /package/dist/runtime/composables/{internal/useFilter.d.ts → useFilter.d.ts} +0 -0
@@ -20,6 +20,7 @@ const props = defineProps({
20
20
  color: { type: null, required: false },
21
21
  highlight: { type: Boolean, required: false },
22
22
  highlightColor: { type: null, required: false },
23
+ highlightVariant: { type: null, required: false },
23
24
  links: { type: Array, required: false },
24
25
  class: { type: null, required: false },
25
26
  ui: { type: Object, required: false },
@@ -41,9 +42,11 @@ const [DefineListTemplate, ReuseListTemplate] = createReusableTemplate({
41
42
  }
42
43
  });
43
44
  const [DefineTriggerTemplate, ReuseTriggerTemplate] = createReusableTemplate();
45
+ const [DefineContentTemplate, ReuseContentTemplate] = createReusableTemplate();
44
46
  const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.contentToc || {} })({
45
47
  color: props.color,
46
48
  highlight: props.highlight,
49
+ highlightVariant: props.highlightVariant,
47
50
  highlightColor: props.highlightColor || props.color
48
51
  }));
49
52
  function scrollToHeading(id) {
@@ -54,18 +57,58 @@ function scrollToHeading(id) {
54
57
  function flattenLinks(links) {
55
58
  return links.flatMap((link) => [link, ...link.children ? flattenLinks(link.children) : []]);
56
59
  }
60
+ function flattenLinksWithLevel(links, level = 0) {
61
+ return links.flatMap((link) => [
62
+ { link, level },
63
+ ...link.children ? flattenLinksWithLevel(link.children, level + 1) : []
64
+ ]);
65
+ }
66
+ const linkHeight = 1.75;
57
67
  const indicatorStyle = computed(() => {
58
68
  if (!activeHeadings.value?.length) {
59
69
  return;
60
70
  }
61
71
  const flatLinks = flattenLinks(props.links || []);
62
72
  const activeIndex = flatLinks.findIndex((link) => activeHeadings.value.includes(link.id));
63
- const linkHeight = 1.75;
64
73
  return {
65
74
  "--indicator-size": `${linkHeight * activeHeadings.value.length}rem`,
66
75
  "--indicator-position": activeIndex >= 0 ? `${activeIndex * linkHeight}rem` : "0rem"
67
76
  };
68
77
  });
78
+ const circuitMaskStyle = computed(() => {
79
+ if (!props.highlight || props.highlightVariant !== "circuit" || !props.links?.length) {
80
+ return;
81
+ }
82
+ const flatLinks = flattenLinksWithLevel(props.links);
83
+ const svgUnit = 16;
84
+ const svgLinkHeight = linkHeight * svgUnit;
85
+ const svgHeight = flatLinks.length * svgLinkHeight;
86
+ const x0 = 0.5;
87
+ const x1 = 10.5;
88
+ let path = "";
89
+ let currentX = x0;
90
+ let y = 0;
91
+ flatLinks.forEach((item, index) => {
92
+ const targetX = item.level > 0 ? x1 : x0;
93
+ const nextY = y + svgLinkHeight;
94
+ if (index === 0) {
95
+ path += `M${targetX} ${y}`;
96
+ currentX = targetX;
97
+ }
98
+ if (targetX !== currentX) {
99
+ path += ` L${targetX} ${y + 6}`;
100
+ currentX = targetX;
101
+ }
102
+ path += ` L${currentX} ${nextY - (index < flatLinks.length - 1 && flatLinks[index + 1]?.level !== item.level ? 6 : 0)}`;
103
+ y = nextY;
104
+ });
105
+ const svgPath = encodeURIComponent(`<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 ${svgHeight}'><path d='${path}' stroke='black' stroke-width='1' fill='none'/></svg>`);
106
+ return {
107
+ width: "0.75rem",
108
+ height: `${flatLinks.length * linkHeight}rem`,
109
+ maskImage: `url("data:image/svg+xml,${svgPath}")`
110
+ };
111
+ });
69
112
  const nuxtApp = useNuxtApp();
70
113
  nuxtApp.hooks.hook("page:loading:end", () => {
71
114
  const headings = Array.from(document.querySelectorAll("h2, h3"));
@@ -109,6 +152,17 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
109
152
  </span>
110
153
  </DefineTriggerTemplate>
111
154
 
155
+ <DefineContentTemplate>
156
+ <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="{ ...indicatorStyle, ...circuitMaskStyle || {} }">
157
+ <div data-slot="indicatorLine" :class="ui.indicatorLine({ class: uiProp?.indicatorLine })" />
158
+ <div v-if="indicatorStyle" data-slot="indicatorActive" :class="ui.indicatorActive({ class: uiProp?.indicatorActive })" />
159
+ </div>
160
+
161
+ <slot name="content" :links="links">
162
+ <ReuseListTemplate :links="links" :level="0" />
163
+ </slot>
164
+ </DefineContentTemplate>
165
+
112
166
  <CollapsibleRoot v-slot="{ open }" v-bind="{ ...rootProps, ...$attrs }" :default-open="defaultOpen" data-slot="root" :class="ui.root({ class: [uiProp?.root, props.class] })">
113
167
  <div data-slot="container" :class="ui.container({ class: uiProp?.container })">
114
168
  <div v-if="!!slots.top" data-slot="top" :class="ui.top({ class: uiProp?.top })">
@@ -121,11 +175,7 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
121
175
  </CollapsibleTrigger>
122
176
 
123
177
  <CollapsibleContent data-slot="content" :class="ui.content({ class: [uiProp?.content, 'lg:hidden'] })">
124
- <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="indicatorStyle" />
125
-
126
- <slot name="content" :links="links">
127
- <ReuseListTemplate :links="links" :level="0" />
128
- </slot>
178
+ <ReuseContentTemplate />
129
179
  </CollapsibleContent>
130
180
 
131
181
  <p data-slot="trigger" :class="ui.trigger({ class: 'hidden lg:flex' })">
@@ -133,11 +183,7 @@ nuxtApp.hooks.hook("page:transition:finish", () => {
133
183
  </p>
134
184
 
135
185
  <div data-slot="content" :class="ui.content({ class: [uiProp?.content, 'hidden lg:flex'] })">
136
- <div v-if="highlight" data-slot="indicator" :class="ui.indicator({ class: uiProp?.indicator })" :style="indicatorStyle" />
137
-
138
- <slot name="content" :links="links">
139
- <ReuseListTemplate :links="links" :level="0" />
140
- </slot>
186
+ <ReuseContentTemplate />
141
187
  </div>
142
188
  </template>
143
189
 
@@ -40,6 +40,11 @@ export interface ContentTocProps<T extends ContentTocLink = ContentTocLink> exte
40
40
  * @defaultValue 'primary'
41
41
  */
42
42
  highlightColor?: ContentToc['variants']['highlightColor'];
43
+ /**
44
+ * The variant of the highlight indicator.
45
+ * @defaultValue 'straight'
46
+ */
47
+ highlightVariant?: ContentToc['variants']['highlightVariant'];
43
48
  links?: T[];
44
49
  class?: any;
45
50
  ui?: ContentToc['slots'];
@@ -16,5 +16,5 @@ declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
16
16
  }>, {
17
17
  valueKey: "code";
18
18
  labelKey: import("../../types").GetItemKeys<Locale<any>[]>;
19
- searchInput: boolean | import("../Input.vue").InputProps;
19
+ searchInput: boolean | Omit<import("../Input.vue").InputProps, "modelValue" | "defaultValue">;
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -16,5 +16,5 @@ declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
16
16
  }>, {
17
17
  valueKey: "code";
18
18
  labelKey: import("../../types").GetItemKeys<Locale<any>[]>;
19
- searchInput: boolean | import("../Input.vue").InputProps;
19
+ searchInput: boolean | Omit<import("../Input.vue").InputProps, "modelValue" | "defaultValue">;
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -52,7 +52,3 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.pre ||
52
52
  <pre :class="ui.base({ class: [uiProp?.base, props.class] })" v-bind="$attrs"><slot /></pre>
53
53
  </div>
54
54
  </template>
55
-
56
- <style>
57
- .shiki span.line{display:block}.shiki span.line.highlight{margin:0 -16px;padding:0 16px;@apply bg-(--ui-bg-accented)/50}
58
- </style>
@@ -1,8 +1,20 @@
1
1
  export * from './defineLocale';
2
2
  export * from './defineShortcuts';
3
+ export * from './useAvatarGroup';
4
+ export * from './useComponentIcons';
5
+ export * from './useComponentUI';
6
+ export * from './useContentSearch';
7
+ export * from './useEditorMenu';
8
+ export * from './useFieldGroup';
3
9
  export * from './useFileUpload';
10
+ export * from './useFilter';
11
+ export * from './useFormField';
12
+ export * from './useIMEGuard';
4
13
  export * from './useKbd';
14
+ export * from './useLocale';
5
15
  export * from './useOverlay';
16
+ export * from './usePortal';
6
17
  export * from './useResizable';
18
+ export * from './useScrollShadow';
7
19
  export * from './useScrollspy';
8
20
  export * from './useToast';
@@ -1,8 +1,20 @@
1
1
  export * from "./defineLocale.js";
2
2
  export * from "./defineShortcuts.js";
3
+ export * from "./useAvatarGroup.js";
4
+ export * from "./useComponentIcons.js";
5
+ export * from "./useComponentUI.js";
6
+ export * from "./useContentSearch.js";
7
+ export * from "./useEditorMenu.js";
8
+ export * from "./useFieldGroup.js";
3
9
  export * from "./useFileUpload.js";
10
+ export * from "./useFilter.js";
11
+ export * from "./useFormField.js";
12
+ export * from "./useIMEGuard.js";
4
13
  export * from "./useKbd.js";
14
+ export * from "./useLocale.js";
5
15
  export * from "./useOverlay.js";
16
+ export * from "./usePortal.js";
6
17
  export * from "./useResizable.js";
18
+ export * from "./useScrollShadow.js";
7
19
  export * from "./useScrollspy.js";
8
20
  export * from "./useToast.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, h, computed, unref, watch } from "vue";
2
2
  import { defu } from "defu";
3
- import { useFilter } from "./internal/useFilter.js";
3
+ import { useFilter } from "./useFilter.js";
4
4
  import { computePosition } from "@floating-ui/dom";
5
5
  import { VueRenderer } from "@tiptap/vue-3";
6
6
  import Suggestion from "@tiptap/suggestion";
@@ -6,8 +6,8 @@ export interface UseFileUploadOptions {
6
6
  * @defaultValue '*'
7
7
  */
8
8
  accept?: MaybeRef<string>;
9
- reset?: boolean;
10
- multiple?: boolean;
9
+ reset?: MaybeRef<boolean>;
10
+ multiple?: MaybeRef<boolean>;
11
11
  dropzone?: boolean;
12
12
  onUpdate: (files: File[]) => void;
13
13
  }
@@ -33,7 +33,7 @@ export function useFileUpload(options) {
33
33
  if (files instanceof FileList) {
34
34
  files = Array.from(files);
35
35
  }
36
- if (files.length > 1 && !multiple) {
36
+ if (files.length > 1 && !unref(multiple)) {
37
37
  files = [files[0]];
38
38
  }
39
39
  if (fromDropZone && inputRef.value?.$el) {
@@ -61,9 +61,9 @@ export function useFileUpload(options) {
61
61
  isDragging.value = value;
62
62
  });
63
63
  const { onChange, open: open2 } = useFileDialog({
64
- accept: unref(accept),
64
+ accept,
65
65
  multiple,
66
- input: unref(inputRef)?.$el,
66
+ input: computed(() => unref(inputRef)?.$el),
67
67
  reset
68
68
  });
69
69
  fileDialog.open = open2;
@@ -1,5 +1,5 @@
1
1
  import { useFilter as useRekaFilter } from "reka-ui";
2
- import { get } from "../../utils/index.js";
2
+ import { get } from "../utils/index.js";
3
3
  export function useFilter() {
4
4
  const { contains, startsWith } = useRekaFilter({ sensitivity: "base" });
5
5
  function score(value, searchTerm) {
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Prevents Enter-to-submit from firing during IME composition.
3
+ *
4
+ * Handles the Safari quirk where `compositionend` fires before `keydown`,
5
+ * making `event.isComposing` unreliable (https://bugs.webkit.org/show_bug.cgi?id=165004).
6
+ */
7
+ export declare function useIMEGuard(callback: (event: KeyboardEvent) => void): {
8
+ onKeydown: (event: KeyboardEvent) => void;
9
+ onCompositionEnd: () => void;
10
+ };
@@ -0,0 +1,22 @@
1
+ export function useIMEGuard(callback) {
2
+ let compositionJustEnded = false;
3
+ function isComposing(event) {
4
+ return event.isComposing || event.keyCode === 229;
5
+ }
6
+ function onKeydown(event) {
7
+ if (compositionJustEnded || isComposing(event)) {
8
+ return;
9
+ }
10
+ event.preventDefault();
11
+ callback(event);
12
+ }
13
+ let compositionEndTimer;
14
+ function onCompositionEnd() {
15
+ clearTimeout(compositionEndTimer);
16
+ compositionJustEnded = true;
17
+ compositionEndTimer = setTimeout(() => {
18
+ compositionJustEnded = false;
19
+ }, 50);
20
+ }
21
+ return { onKeydown, onCompositionEnd };
22
+ }
@@ -0,0 +1,23 @@
1
+ import type { CSSProperties, MaybeRef, MaybeRefOrGetter } from 'vue';
2
+ export interface UseScrollShadowOptions {
3
+ /**
4
+ * The shadow size in pixels.
5
+ * @defaultValue 24
6
+ */
7
+ size?: MaybeRefOrGetter<number>;
8
+ /**
9
+ * The scroll direction to apply shadows.
10
+ * @defaultValue 'vertical'
11
+ */
12
+ orientation?: MaybeRefOrGetter<'vertical' | 'horizontal'>;
13
+ }
14
+ export declare function useScrollShadow(element: MaybeRef<HTMLElement | null | undefined>, options?: UseScrollShadowOptions): {
15
+ style: import("vue").ComputedRef<CSSProperties | undefined>;
16
+ isOverflowing: import("vue").ComputedRef<boolean>;
17
+ arrivedState: {
18
+ left: boolean;
19
+ right: boolean;
20
+ top: boolean;
21
+ bottom: boolean;
22
+ };
23
+ };
@@ -0,0 +1,36 @@
1
+ import { computed, toValue } from "vue";
2
+ import { useScroll } from "@vueuse/core";
3
+ export function useScrollShadow(element, options = {}) {
4
+ const { arrivedState } = useScroll(element);
5
+ const style = computed(() => {
6
+ const el = toValue(element);
7
+ const orientation = toValue(options.orientation) ?? "vertical";
8
+ const [startKey, endKey] = orientation === "horizontal" ? ["left", "right"] : ["top", "bottom"];
9
+ const showStart = !arrivedState[startKey];
10
+ const showEnd = !arrivedState[endKey];
11
+ if (!showStart && !showEnd) return void 0;
12
+ const overflows = el ? orientation === "horizontal" ? el.scrollWidth > el.clientWidth : el.scrollHeight > el.clientHeight : false;
13
+ if (!overflows) return void 0;
14
+ const size = `${toValue(options.size) ?? 24}px`;
15
+ const angle = orientation === "horizontal" ? "90deg" : "180deg";
16
+ if (showStart && showEnd) {
17
+ return { maskImage: `linear-gradient(${angle}, transparent, #000 ${size}, #000 calc(100% - ${size}), transparent)` };
18
+ }
19
+ if (showStart) {
20
+ return { maskImage: `linear-gradient(${angle}, transparent, #000 ${size})` };
21
+ }
22
+ return { maskImage: `linear-gradient(${angle}, #000, #000 calc(100% - ${size}), transparent)` };
23
+ });
24
+ const isOverflowing = computed(() => {
25
+ void (arrivedState.top, arrivedState.bottom, arrivedState.left, arrivedState.right);
26
+ const el = toValue(element);
27
+ if (!el) return false;
28
+ const orientation = toValue(options.orientation) ?? "vertical";
29
+ return orientation === "horizontal" ? el.scrollWidth > el.clientWidth : el.scrollHeight > el.clientHeight;
30
+ });
31
+ return {
32
+ style,
33
+ isOverflowing,
34
+ arrivedState
35
+ };
36
+ }
@@ -1 +1 @@
1
- @import "#build/ui.css";@import "./keyframes.css";@source "./components";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer theme{:host,:root{--ui-header-height:--spacing(16)}.light,:host,:root{--ui-text-dimmed:var(--ui-color-neutral-400);--ui-text-muted:var(--ui-color-neutral-500);--ui-text-toned:var(--ui-color-neutral-600);--ui-text:var(--ui-color-neutral-700);--ui-text-highlighted:var(--ui-color-neutral-900);--ui-text-inverted:#fff;--ui-bg:#fff;--ui-bg-muted:var(--ui-color-neutral-50);--ui-bg-elevated:var(--ui-color-neutral-100);--ui-bg-accented:var(--ui-color-neutral-200);--ui-bg-inverted:var(--ui-color-neutral-900);--ui-border:var(--ui-color-neutral-200);--ui-border-muted:var(--ui-color-neutral-200);--ui-border-accented:var(--ui-color-neutral-300);--ui-border-inverted:var(--ui-color-neutral-900);--ui-radius:0.25rem;--ui-container:80rem}.dark{--ui-text-dimmed:var(--ui-color-neutral-500);--ui-text-muted:var(--ui-color-neutral-400);--ui-text-toned:var(--ui-color-neutral-300);--ui-text:var(--ui-color-neutral-200);--ui-text-highlighted:#fff;--ui-text-inverted:var(--ui-color-neutral-900);--ui-bg:var(--ui-color-neutral-900);--ui-bg-muted:var(--ui-color-neutral-800);--ui-bg-elevated:var(--ui-color-neutral-800);--ui-bg-accented:var(--ui-color-neutral-700);--ui-bg-inverted:#fff;--ui-border:var(--ui-color-neutral-800);--ui-border-muted:var(--ui-color-neutral-700);--ui-border-accented:var(--ui-color-neutral-700);--ui-border-inverted:#fff}}
1
+ @import "#build/ui.css";@import "./keyframes.css";@source "./components";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer theme{:host,:root{--ui-header-height:4rem;--ui-radius:0.25rem;--ui-container:80rem}.light,:host,:root{--ui-text-dimmed:var(--ui-color-neutral-400);--ui-text-muted:var(--ui-color-neutral-500);--ui-text-toned:var(--ui-color-neutral-600);--ui-text:var(--ui-color-neutral-700);--ui-text-highlighted:var(--ui-color-neutral-900);--ui-text-inverted:#fff;--ui-bg:#fff;--ui-bg-muted:var(--ui-color-neutral-50);--ui-bg-elevated:var(--ui-color-neutral-100);--ui-bg-accented:var(--ui-color-neutral-200);--ui-bg-inverted:var(--ui-color-neutral-900);--ui-border:var(--ui-color-neutral-200);--ui-border-muted:var(--ui-color-neutral-200);--ui-border-accented:var(--ui-color-neutral-300);--ui-border-inverted:var(--ui-color-neutral-900)}.dark{--ui-text-dimmed:var(--ui-color-neutral-500);--ui-text-muted:var(--ui-color-neutral-400);--ui-text-toned:var(--ui-color-neutral-300);--ui-text:var(--ui-color-neutral-200);--ui-text-highlighted:#fff;--ui-text-inverted:var(--ui-color-neutral-900);--ui-bg:var(--ui-color-neutral-900);--ui-bg-muted:var(--ui-color-neutral-800);--ui-bg-elevated:var(--ui-color-neutral-800);--ui-bg-accented:var(--ui-color-neutral-700);--ui-bg-inverted:#fff;--ui-border:var(--ui-color-neutral-800);--ui-border-muted:var(--ui-color-neutral-700);--ui-border-accented:var(--ui-color-neutral-700);--ui-border-inverted:#fff}}
@@ -1 +1 @@
1
- @keyframes accordion-up{0%{height:var(--reka-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--reka-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--reka-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes toast-slide-in-from-top{0%{transform:translateY(-100%)}to{transform:var(--transform)}}@keyframes toast-slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:var(--transform)}}@keyframes toast-slide-up{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(0) translateY(calc(var(--translate) - 100%))}}@keyframes toast-slide-down{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(0) translateY(calc(var(--translate) + 100%))}}@keyframes toast-pulse-a{0%,to{scale:1}50%{scale:1.04}}@keyframes toast-pulse-b{0%,to{scale:1}50%{scale:1.04}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap))) scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(-100%) translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(100%) translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-to-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes carousel-rtl{0%,to{width:50%}0%{transform:translateX(100%)}to{transform:translateX(-200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes carousel-inverse-rtl{0%,to{width:50%}0%{transform:translateX(-200%)}to{transform:translateX(100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translateX(-25%)}50%{transform:translateX(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{margin-left:25%;width:50%}50%{margin-left:5%;width:90%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(calc(-100% - var(--gap)),0,0)}}@keyframes marquee-rtl{0%{transform:translateZ(0)}to{transform:translate3d(calc(100% + var(--gap)),0,0)}}@keyframes marquee-vertical{0%{transform:translateZ(0)}to{transform:translate3d(0,calc(-100% - var(--gap)),0)}}@keyframes marquee-vertical-rtl{0%{transform:translate3d(0,calc(-100% - var(--gap)),0)}to{transform:translate3d(0,calc(-100%*var(--gap)),0)}}
1
+ @keyframes accordion-up{0%{height:var(--reka-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--reka-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--reka-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes toast-slide-in-from-top{0%{transform:translateY(-100%)}to{transform:var(--transform)}}@keyframes toast-slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:var(--transform)}}@keyframes toast-slide-up{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(0) translateY(calc(var(--translate) - 100%))}}@keyframes toast-slide-down{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(0) translateY(calc(var(--translate) + 100%))}}@keyframes toast-pulse-a{0%,to{scale:1}50%{scale:1.04}}@keyframes toast-pulse-b{0%,to{scale:1}50%{scale:1.04}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap))) scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(-100%) translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(100%) translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-to-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes carousel-rtl{0%,to{width:50%}0%{transform:translateX(100%)}to{transform:translateX(-200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes carousel-inverse-rtl{0%,to{width:50%}0%{transform:translateX(-200%)}to{transform:translateX(100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translateX(-25%)}50%{transform:translateX(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{margin-left:25%;width:50%}50%{margin-left:5%;width:90%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(calc(-100% - var(--gap)),0,0)}}@keyframes marquee-rtl{0%{transform:translateZ(0)}to{transform:translate3d(calc(100% + var(--gap)),0,0)}}@keyframes marquee-vertical{0%{transform:translateZ(0)}to{transform:translate3d(0,calc(-100% - var(--gap)),0)}}@keyframes marquee-vertical-rtl{0%{transform:translate3d(0,calc(-100% - var(--gap)),0)}to{transform:translate3d(0,calc(-100%*var(--gap)),0)}}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@keyframes shimmer-rtl{0%{background-position:0}to{background-position:100%}}
@@ -33,6 +33,11 @@ export default defineLocale({
33
33
  chatPromptSubmit: {
34
34
  label: "\u0625\u0631\u0633\u0627\u0644"
35
35
  },
36
+ chatReasoning: {
37
+ thinking: "\u064A\u0641\u0643\u0651\u0631\u2026",
38
+ thought: "\u0641\u0643\u0651\u0631",
39
+ thoughtFor: "\u0641\u0643\u0651\u0631 \u0644\u0645\u062F\u0629 {duration}"
40
+ },
36
41
  colorMode: {
37
42
  dark: "\u062F\u0627\u0643\u0646",
38
43
  light: "\u0641\u0627\u062A\u062D",
@@ -57,6 +62,10 @@ export default defineLocale({
57
62
  contentToc: {
58
63
  title: "\u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629"
59
64
  },
65
+ dropdownMenu: {
66
+ noMatch: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0645\u0637\u0627\u0628\u0642\u0629",
67
+ search: "\u0628\u062D\u062B\u2026"
68
+ },
60
69
  dashboardSearch: {
61
70
  theme: "\u0627\u0644\u0633\u0645\u0629"
62
71
  },
@@ -111,6 +120,10 @@ export default defineLocale({
111
120
  copy: "\u0646\u0633\u062E \u0627\u0644\u0643\u0648\u062F \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0641\u0638\u0629"
112
121
  }
113
122
  },
123
+ sidebar: {
124
+ close: "\u0625\u063A\u0644\u0627\u0642",
125
+ toggle: "\u062A\u0628\u062F\u064A\u0644"
126
+ },
114
127
  selectMenu: {
115
128
  create: '\u0625\u0646\u0634\u0627\u0621 "{label}"',
116
129
  noData: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A",
@@ -32,6 +32,11 @@ export default defineLocale({
32
32
  chatPromptSubmit: {
33
33
  label: "G\xF6nd\u0259r"
34
34
  },
35
+ chatReasoning: {
36
+ thinking: "D\xFC\u015F\xFCn\xFCr\u2026",
37
+ thought: "D\xFC\u015F\xFCnd\xFC",
38
+ thoughtFor: "{duration} d\xFC\u015F\xFCnd\xFC"
39
+ },
35
40
  colorMode: {
36
41
  dark: "Qaranl\u0131q",
37
42
  light: "\u0130\u015F\u0131ql\u0131",
@@ -56,6 +61,10 @@ export default defineLocale({
56
61
  contentToc: {
57
62
  title: "Bu s\u0259hif\u0259d\u0259"
58
63
  },
64
+ dropdownMenu: {
65
+ noMatch: "Uy\u011Fun m\u0259lumat tap\u0131lmad\u0131",
66
+ search: "Axtar\u2026"
67
+ },
59
68
  dashboardSearch: {
60
69
  theme: "Tema"
61
70
  },
@@ -110,6 +119,10 @@ export default defineLocale({
110
119
  copy: "Kodu bufer\u0259 kopyala"
111
120
  }
112
121
  },
122
+ sidebar: {
123
+ close: "Ba\u011Fla",
124
+ toggle: "D\u0259yi\u015Fdir"
125
+ },
113
126
  selectMenu: {
114
127
  create: '"{label}" yarat',
115
128
  noData: "M\u0259lumat yoxdur",
@@ -32,6 +32,11 @@ export default defineLocale({
32
32
  chatPromptSubmit: {
33
33
  label: "\u0410\u0434\u043F\u0440\u0430\u0432\u0456\u0446\u044C"
34
34
  },
35
+ chatReasoning: {
36
+ thinking: "\u0414\u0443\u043C\u0430\u0435\u2026",
37
+ thought: "\u041F\u0430\u0434\u0443\u043C\u0430\u045E",
38
+ thoughtFor: "\u0414\u0443\u043C\u0430\u045E {duration}"
39
+ },
35
40
  colorMode: {
36
41
  dark: "\u0426\u0451\u043C\u043D\u0430\u044F",
37
42
  light: "\u0421\u0432\u0435\u0442\u043B\u0430\u044F",
@@ -56,6 +61,10 @@ export default defineLocale({
56
61
  contentToc: {
57
62
  title: "\u041D\u0430 \u0433\u044D\u0442\u0430\u0439 \u0441\u0442\u0430\u0440\u043E\u043D\u0446\u044B"
58
63
  },
64
+ dropdownMenu: {
65
+ noMatch: "\u0421\u0443\u043F\u0430\u0434\u0437\u0435\u043D\u043D\u044F\u045E \u043D\u0435 \u0437\u043D\u043E\u0439\u0434\u0437\u0435\u043D\u0430",
66
+ search: "\u041F\u043E\u0448\u0443\u043A\u2026"
67
+ },
59
68
  dashboardSearch: {
60
69
  theme: "\u0422\u044D\u043C\u0430"
61
70
  },
@@ -110,6 +119,10 @@ export default defineLocale({
110
119
  copy: "\u0421\u043A\u0430\u043F\u0456\u044F\u0432\u0430\u0446\u044C \u043A\u043E\u0434 \u0443 \u0431\u0443\u0444\u0435\u0440 \u0430\u0431\u043C\u0435\u043D\u0443"
111
120
  }
112
121
  },
122
+ sidebar: {
123
+ close: "\u0417\u0430\u043A\u0440\u044B\u0446\u044C",
124
+ toggle: "\u041F\u0435\u0440\u0430\u043A\u043B\u044E\u0447\u044B\u0446\u044C"
125
+ },
113
126
  selectMenu: {
114
127
  create: '\u0421\u0442\u0432\u0430\u0440\u044B\u0446\u044C "{label}"',
115
128
  noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u044B\u0445",
@@ -32,6 +32,11 @@ export default defineLocale({
32
32
  chatPromptSubmit: {
33
33
  label: "\u0418\u0437\u043F\u0440\u0430\u0442\u0438"
34
34
  },
35
+ chatReasoning: {
36
+ thinking: "\u041C\u0438\u0441\u043B\u0438\u2026",
37
+ thought: "\u041F\u043E\u043C\u0438\u0441\u043B\u0438",
38
+ thoughtFor: "\u041C\u0438\u0441\u043B\u0438\u043B {duration}"
39
+ },
35
40
  colorMode: {
36
41
  dark: "\u0422\u044A\u043C\u043D\u043E",
37
42
  light: "\u0421\u0432\u0435\u0442\u043B\u043E",
@@ -56,6 +61,10 @@ export default defineLocale({
56
61
  contentToc: {
57
62
  title: "\u0421\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435"
58
63
  },
64
+ dropdownMenu: {
65
+ noMatch: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438",
66
+ search: "\u041F\u043E\u0442\u044A\u0440\u0441\u0435\u0442\u0435\u2026"
67
+ },
59
68
  dashboardSearch: {
60
69
  theme: "\u0422\u0435\u043C\u0430"
61
70
  },
@@ -110,6 +119,10 @@ export default defineLocale({
110
119
  copy: "\u041A\u043E\u043F\u0438\u0440\u0430\u0439 \u043A\u043E\u0434\u0430 \u0432 \u043A\u043B\u0438\u043F\u0431\u043E\u0440\u0434\u0430"
111
120
  }
112
121
  },
122
+ sidebar: {
123
+ close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435",
124
+ toggle: "\u041F\u0440\u0435\u0432\u043A\u043B\u044E\u0447\u0432\u0430\u043D\u0435"
125
+ },
113
126
  selectMenu: {
114
127
  create: '\u0421\u044A\u0437\u0434\u0430\u0439\u0442\u0435 "{label}"',
115
128
  noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438",
@@ -32,6 +32,11 @@ export default defineLocale({
32
32
  chatPromptSubmit: {
33
33
  label: "\u09AA\u09CD\u09B0\u09C7\u09B0\u09A3 \u0995\u09B0\u09C1\u09A8"
34
34
  },
35
+ chatReasoning: {
36
+ thinking: "\u09AD\u09BE\u09AC\u099B\u09C7\u2026",
37
+ thought: "\u09AD\u09C7\u09AC\u09C7\u099B\u09C7",
38
+ thoughtFor: "{duration} \u09AD\u09C7\u09AC\u09C7\u099B\u09C7"
39
+ },
35
40
  colorMode: {
36
41
  dark: "\u0997\u09BE\u09A2\u09BC",
37
42
  light: "\u09B9\u09BE\u09B2\u0995\u09BE",
@@ -56,6 +61,10 @@ export default defineLocale({
56
61
  contentToc: {
57
62
  title: "\u098F\u0987 \u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u09AF\u09BC"
58
63
  },
64
+ dropdownMenu: {
65
+ noMatch: "\u0995\u09CB\u09A8 \u09AE\u09BF\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",
66
+ search: "\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8\u2026"
67
+ },
59
68
  dashboardSearch: {
60
69
  theme: "\u09A5\u09BF\u09AE"
61
70
  },
@@ -110,6 +119,10 @@ export default defineLocale({
110
119
  copy: "\u0995\u09CB\u09A1 \u0995\u09CD\u09B2\u09BF\u09AA\u09AC\u09CB\u09B0\u09CD\u09A1\u09C7 \u0995\u09AA\u09BF \u0995\u09B0\u09C1\u09A8"
111
120
  }
112
121
  },
122
+ sidebar: {
123
+ close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09B0\u09C1\u09A8",
124
+ toggle: "\u099F\u0997\u09B2 \u0995\u09B0\u09C1\u09A8"
125
+ },
113
126
  selectMenu: {
114
127
  create: '"{label}" \u09A4\u09C8\u09B0\u09BF \u0995\u09B0\u09C1\u09A8',
115
128
  noData: "\u0995\u09CB\u09A8 \u09A4\u09A5\u09CD\u09AF \u09A8\u09C7\u0987",
@@ -32,6 +32,11 @@ export default defineLocale({
32
32
  chatPromptSubmit: {
33
33
  label: "Enviar"
34
34
  },
35
+ chatReasoning: {
36
+ thinking: "Pensant\u2026",
37
+ thought: "Ha pensat",
38
+ thoughtFor: "Ha pensat durant {duration}"
39
+ },
35
40
  colorMode: {
36
41
  dark: "Fosc",
37
42
  light: "Clar",
@@ -56,6 +61,10 @@ export default defineLocale({
56
61
  contentToc: {
57
62
  title: "En aquesta p\xE0gina"
58
63
  },
64
+ dropdownMenu: {
65
+ noMatch: "No hi ha dades coincidents",
66
+ search: "Cerca\u2026"
67
+ },
59
68
  dashboardSearch: {
60
69
  theme: "Tema"
61
70
  },
@@ -110,6 +119,10 @@ export default defineLocale({
110
119
  copy: "Copiar codi al portapapers"
111
120
  }
112
121
  },
122
+ sidebar: {
123
+ close: "Tancar",
124
+ toggle: "Canviar"
125
+ },
113
126
  selectMenu: {
114
127
  create: 'Crear "{label}"',
115
128
  noData: "Sense dades",
@@ -33,6 +33,11 @@ export default defineLocale({
33
33
  chatPromptSubmit: {
34
34
  label: "\u0646\u0627\u0631\u062F\u0646"
35
35
  },
36
+ chatReasoning: {
37
+ thinking: "\u0628\u06CC\u0631\u06A9\u0631\u062F\u0646\u06D5\u0648\u06D5\u2026",
38
+ thought: "\u0628\u06CC\u0631\u06CC \u06A9\u0631\u062F\u06D5\u0648\u06D5",
39
+ thoughtFor: "\u0628\u06D5 \u0645\u0627\u0648\u06D5\u06CC {duration} \u0628\u06CC\u0631\u06CC \u06A9\u0631\u062F\u06D5\u0648\u06D5"
40
+ },
36
41
  colorMode: {
37
42
  dark: "\u062A\u0627\u0631\u06CC\u06A9",
38
43
  light: "\u0695\u0648\u0648\u0646\u0627\u06A9",
@@ -57,6 +62,10 @@ export default defineLocale({
57
62
  contentToc: {
58
63
  title: "\u0644\u06D5\u0645 \u067E\u06D5\u0695\u06D5\u06CC\u06D5\u062F\u0627"
59
64
  },
65
+ dropdownMenu: {
66
+ noMatch: "\u0647\u06CC\u0686 \u0626\u06D5\u0646\u062C\u0627\u0645\u06CE\u06A9 \u0646\u06D5\u062F\u06C6\u0632\u0631\u0627\u06CC\u06D5\u0648\u06D5",
67
+ search: "\u06AF\u06D5\u0695\u0627\u0646\u2026"
68
+ },
60
69
  dashboardSearch: {
61
70
  theme: "\u0695\u0648\u0648\u06A9\u0627\u0631"
62
71
  },
@@ -111,6 +120,10 @@ export default defineLocale({
111
120
  copy: "\u0644\u06D5\u0628\u06D5\u0631\u06AF\u0631\u062A\u0646\u06D5\u0648\u06D5\u06CC \u06A9\u06C6\u062F"
112
121
  }
113
122
  },
123
+ sidebar: {
124
+ close: "\u062F\u0627\u062E\u0633\u062A\u0646",
125
+ toggle: "\u06AF\u06C6\u0695\u06CC\u0646"
126
+ },
114
127
  selectMenu: {
115
128
  create: '"{label}" \u0632\u06CC\u0627\u062F\u06A9\u0631\u062F\u0646\u06CC',
116
129
  noData: "\u0647\u06CC\u0686 \u062F\u0627\u062A\u0627\u06CC\u06D5\u06A9 \u0646\u06CC\u06CC\u06D5",