@nuxt/ui 3.0.2 → 3.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 (220) hide show
  1. package/.nuxt/ui/accordion.ts +25 -4
  2. package/.nuxt/ui/alert.ts +52 -31
  3. package/.nuxt/ui/avatar-group.ts +24 -3
  4. package/.nuxt/ui/avatar.ts +26 -5
  5. package/.nuxt/ui/badge.ts +56 -35
  6. package/.nuxt/ui/breadcrumb.ts +28 -7
  7. package/.nuxt/ui/button-group.ts +23 -2
  8. package/.nuxt/ui/button.ts +66 -45
  9. package/.nuxt/ui/calendar.ts +39 -18
  10. package/.nuxt/ui/card.ts +28 -7
  11. package/.nuxt/ui/carousel.ts +29 -8
  12. package/.nuxt/ui/checkbox-group.ts +82 -0
  13. package/.nuxt/ui/checkbox.ts +163 -29
  14. package/.nuxt/ui/chip.ts +31 -10
  15. package/.nuxt/ui/collapsible.ts +23 -2
  16. package/.nuxt/ui/color-picker.ts +26 -5
  17. package/.nuxt/ui/command-palette.ts +37 -16
  18. package/.nuxt/ui/container.ts +23 -2
  19. package/.nuxt/ui/context-menu.ts +56 -35
  20. package/.nuxt/ui/drawer.ts +33 -12
  21. package/.nuxt/ui/dropdown-menu.ts +57 -36
  22. package/.nuxt/ui/form-field.ts +29 -8
  23. package/.nuxt/ui/form.ts +23 -2
  24. package/.nuxt/ui/index.ts +1 -0
  25. package/.nuxt/ui/input-menu.ts +65 -44
  26. package/.nuxt/ui/input-number.ts +43 -22
  27. package/.nuxt/ui/input.ts +46 -25
  28. package/.nuxt/ui/kbd.ts +27 -6
  29. package/.nuxt/ui/link.ts +26 -5
  30. package/.nuxt/ui/modal.ts +28 -7
  31. package/.nuxt/ui/navigation-menu.ts +102 -83
  32. package/.nuxt/ui/pagination.ts +23 -2
  33. package/.nuxt/ui/pin-input.ts +43 -22
  34. package/.nuxt/ui/popover.ts +25 -4
  35. package/.nuxt/ui/progress.ts +40 -19
  36. package/.nuxt/ui/radio-group.ts +273 -37
  37. package/.nuxt/ui/select-menu.ts +59 -35
  38. package/.nuxt/ui/select.ts +55 -34
  39. package/.nuxt/ui/separator.ts +31 -10
  40. package/.nuxt/ui/skeleton.ts +24 -3
  41. package/.nuxt/ui/slideover.ts +27 -6
  42. package/.nuxt/ui/slider.ts +39 -18
  43. package/.nuxt/ui/stepper.ts +41 -20
  44. package/.nuxt/ui/switch.ts +43 -22
  45. package/.nuxt/ui/table.ts +38 -17
  46. package/.nuxt/ui/tabs.ts +55 -34
  47. package/.nuxt/ui/textarea.ts +63 -37
  48. package/.nuxt/ui/toast.ts +47 -26
  49. package/.nuxt/ui/toaster.ts +23 -2
  50. package/.nuxt/ui/tooltip.ts +25 -4
  51. package/.nuxt/ui/tree.ts +41 -20
  52. package/.nuxt/ui.css +56 -12
  53. package/README.md +11 -0
  54. package/cli/templates.mjs +18 -17
  55. package/dist/module.json +5 -5
  56. package/dist/module.mjs +11 -7
  57. package/dist/runtime/components/Accordion.vue +36 -93
  58. package/dist/runtime/components/Accordion.vue.d.ts +91 -0
  59. package/dist/runtime/components/Alert.vue +37 -100
  60. package/dist/runtime/components/Alert.vue.d.ts +96 -0
  61. package/dist/runtime/components/App.vue +28 -34
  62. package/dist/runtime/components/App.vue.d.ts +24 -0
  63. package/dist/runtime/components/Avatar.vue +42 -75
  64. package/dist/runtime/components/Avatar.vue.d.ts +60 -0
  65. package/dist/runtime/components/AvatarGroup.vue +40 -77
  66. package/dist/runtime/components/AvatarGroup.vue.d.ts +40 -0
  67. package/dist/runtime/components/Badge.vue +33 -62
  68. package/dist/runtime/components/Badge.vue.d.ts +62 -0
  69. package/dist/runtime/components/Breadcrumb.vue +37 -90
  70. package/dist/runtime/components/Breadcrumb.vue.d.ts +82 -0
  71. package/dist/runtime/components/Button.vue +95 -104
  72. package/dist/runtime/components/Button.vue.d.ts +73 -0
  73. package/dist/runtime/components/ButtonGroup.vue +20 -46
  74. package/dist/runtime/components/ButtonGroup.vue.d.ts +55 -0
  75. package/dist/runtime/components/Calendar.vue +67 -150
  76. package/dist/runtime/components/Calendar.vue.d.ts +107 -0
  77. package/dist/runtime/components/Card.vue +18 -40
  78. package/dist/runtime/components/Card.vue.d.ts +38 -0
  79. package/dist/runtime/components/Carousel.vue +112 -234
  80. package/dist/runtime/components/Carousel.vue.d.ts +120 -0
  81. package/dist/runtime/components/Checkbox.vue +52 -93
  82. package/dist/runtime/components/Checkbox.vue.d.ts +76 -0
  83. package/dist/runtime/components/CheckboxGroup.vue +121 -0
  84. package/dist/runtime/components/CheckboxGroup.vue.d.ts +75 -0
  85. package/dist/runtime/components/Chip.vue +26 -69
  86. package/dist/runtime/components/Chip.vue.d.ts +71 -0
  87. package/dist/runtime/components/Collapsible.vue +22 -41
  88. package/dist/runtime/components/Collapsible.vue.d.ts +50 -0
  89. package/dist/runtime/components/ColorPicker.vue +111 -197
  90. package/dist/runtime/components/ColorPicker.vue.d.ts +63 -0
  91. package/dist/runtime/components/CommandPalette.vue +96 -237
  92. package/dist/runtime/components/CommandPalette.vue.d.ts +173 -0
  93. package/dist/runtime/components/Container.vue +15 -28
  94. package/dist/runtime/components/Container.vue.d.ts +27 -0
  95. package/dist/runtime/components/ContextMenu.vue +34 -133
  96. package/dist/runtime/components/ContextMenu.vue.d.ts +127 -0
  97. package/dist/runtime/components/ContextMenuContent.vue +73 -81
  98. package/dist/runtime/components/ContextMenuContent.vue.d.ts +105 -0
  99. package/dist/runtime/components/Drawer.vue +49 -83
  100. package/dist/runtime/components/Drawer.vue.d.ts +88 -0
  101. package/dist/runtime/components/DropdownMenu.vue +39 -142
  102. package/dist/runtime/components/DropdownMenu.vue.d.ts +141 -0
  103. package/dist/runtime/components/DropdownMenuContent.vue +78 -88
  104. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +55 -0
  105. package/dist/runtime/components/Form.vue +135 -220
  106. package/dist/runtime/components/Form.vue.d.ts +66 -0
  107. package/dist/runtime/components/FormField.vue +35 -77
  108. package/dist/runtime/components/FormField.vue.d.ts +70 -0
  109. package/dist/runtime/components/Icon.vue +12 -19
  110. package/dist/runtime/components/Icon.vue.d.ts +17 -0
  111. package/dist/runtime/components/Input.vue +82 -140
  112. package/dist/runtime/components/Input.vue.d.ts +91 -0
  113. package/dist/runtime/components/InputMenu.vue +185 -332
  114. package/dist/runtime/components/InputMenu.vue.d.ts +312 -0
  115. package/dist/runtime/components/InputNumber.vue +71 -133
  116. package/dist/runtime/components/InputNumber.vue.d.ts +193 -0
  117. package/dist/runtime/components/Kbd.vue +20 -46
  118. package/dist/runtime/components/Kbd.vue.d.ts +55 -0
  119. package/dist/runtime/components/Link.vue +98 -176
  120. package/dist/runtime/components/Link.vue.d.ts +124 -0
  121. package/dist/runtime/components/LinkBase.vue +33 -42
  122. package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
  123. package/dist/runtime/components/Modal.vue +53 -116
  124. package/dist/runtime/components/Modal.vue.d.ts +109 -0
  125. package/dist/runtime/components/NavigationMenu.vue +77 -209
  126. package/dist/runtime/components/NavigationMenu.vue.d.ts +159 -0
  127. package/dist/runtime/components/OverlayProvider.vue +14 -18
  128. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
  129. package/dist/runtime/components/Pagination.vue +46 -140
  130. package/dist/runtime/components/Pagination.vue.d.ts +143 -0
  131. package/dist/runtime/components/PinInput.vue +61 -78
  132. package/dist/runtime/components/PinInput.vue.d.ts +68 -0
  133. package/dist/runtime/components/Popover.vue +47 -84
  134. package/dist/runtime/components/Popover.vue.d.ts +80 -0
  135. package/dist/runtime/components/Progress.vue +70 -131
  136. package/dist/runtime/components/Progress.vue.d.ts +97 -0
  137. package/dist/runtime/components/RadioGroup.vue +70 -132
  138. package/dist/runtime/components/RadioGroup.vue.d.ts +88 -0
  139. package/dist/runtime/components/Select.vue +110 -224
  140. package/dist/runtime/components/Select.vue.d.ts +139 -0
  141. package/dist/runtime/components/SelectMenu.vue +161 -310
  142. package/dist/runtime/components/SelectMenu.vue.d.ts +184 -0
  143. package/dist/runtime/components/Separator.vue +29 -71
  144. package/dist/runtime/components/Separator.vue.d.ts +75 -0
  145. package/dist/runtime/components/Skeleton.vue +21 -23
  146. package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
  147. package/dist/runtime/components/Slideover.vue +53 -120
  148. package/dist/runtime/components/Slideover.vue.d.ts +111 -0
  149. package/dist/runtime/components/Slider.vue +46 -84
  150. package/dist/runtime/components/Slider.vue.d.ts +71 -0
  151. package/dist/runtime/components/Stepper.vue +45 -115
  152. package/dist/runtime/components/Stepper.vue.d.ts +89 -0
  153. package/dist/runtime/components/Switch.vue +45 -93
  154. package/dist/runtime/components/Switch.vue.d.ts +73 -0
  155. package/dist/runtime/components/Table.vue +163 -267
  156. package/dist/runtime/components/Table.vue.d.ts +183 -0
  157. package/dist/runtime/components/Tabs.vue +41 -107
  158. package/dist/runtime/components/Tabs.vue.d.ts +104 -0
  159. package/dist/runtime/components/Textarea.vue +113 -158
  160. package/dist/runtime/components/Textarea.vue.d.ts +95 -0
  161. package/dist/runtime/components/Toast.vue +49 -110
  162. package/dist/runtime/components/Toast.vue.d.ts +95 -0
  163. package/dist/runtime/components/Toaster.vue +70 -107
  164. package/dist/runtime/components/Toaster.vue.d.ts +63 -0
  165. package/dist/runtime/components/Tooltip.vue +38 -65
  166. package/dist/runtime/components/Tooltip.vue.d.ts +65 -0
  167. package/dist/runtime/components/Tree.vue +59 -166
  168. package/dist/runtime/components/Tree.vue.d.ts +128 -0
  169. package/dist/runtime/composables/defineShortcuts.d.ts +1 -1
  170. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  171. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  172. package/dist/runtime/composables/useFormField.d.ts +2 -2
  173. package/dist/runtime/composables/useOverlay.d.ts +14 -7
  174. package/dist/runtime/composables/useOverlay.js +14 -6
  175. package/dist/runtime/composables/usePortal.d.ts +6 -0
  176. package/dist/runtime/composables/usePortal.js +17 -0
  177. package/dist/runtime/index.css +1 -1
  178. package/dist/runtime/inertia/components/Link.vue +146 -0
  179. package/dist/runtime/inertia/components/Link.vue.d.ts +92 -0
  180. package/dist/runtime/inertia/stubs.d.ts +43 -0
  181. package/dist/runtime/inertia/stubs.js +82 -0
  182. package/dist/runtime/locale/bg.d.ts +3 -0
  183. package/dist/runtime/locale/bg.js +54 -0
  184. package/dist/runtime/locale/index.d.ts +5 -1
  185. package/dist/runtime/locale/index.js +5 -1
  186. package/dist/runtime/locale/kk.d.ts +3 -0
  187. package/dist/runtime/locale/kk.js +54 -0
  188. package/dist/runtime/locale/tj.d.ts +3 -0
  189. package/dist/runtime/locale/tj.js +54 -0
  190. package/dist/runtime/locale/ug_cn.d.ts +3 -0
  191. package/dist/runtime/locale/ug_cn.js +55 -0
  192. package/dist/runtime/types/form.d.ts +4 -1
  193. package/dist/runtime/types/index.d.ts +1 -0
  194. package/dist/runtime/types/index.js +1 -0
  195. package/dist/runtime/types/utils.d.ts +47 -7
  196. package/dist/runtime/utils/link.d.ts +3 -3
  197. package/dist/runtime/utils/link.js +1 -0
  198. package/dist/runtime/utils/tv.js +2 -2
  199. package/dist/runtime/vue/components/Icon.vue +7 -8
  200. package/dist/runtime/vue/components/Icon.vue.d.ts +14 -0
  201. package/dist/runtime/vue/components/Link.vue +118 -202
  202. package/dist/runtime/vue/components/Link.vue.d.ts +124 -0
  203. package/dist/runtime/vue/stubs.d.ts +2 -2
  204. package/dist/shared/{ui.BkNUP964.mjs → ui.D7lOOabO.mjs} +621 -362
  205. package/dist/types.d.mts +3 -5
  206. package/dist/unplugin.d.mts +4 -0
  207. package/dist/unplugin.mjs +25 -4
  208. package/dist/vite.mjs +1 -1
  209. package/package.json +94 -53
  210. package/dist/module.cjs +0 -62
  211. package/dist/module.d.cts +0 -45
  212. package/dist/module.d.ts +0 -45
  213. package/dist/shared/ui.BL-XB3u1.cjs +0 -3555
  214. package/dist/types.d.ts +0 -7
  215. package/dist/unplugin.cjs +0 -232
  216. package/dist/unplugin.d.cts +0 -62
  217. package/dist/unplugin.d.ts +0 -62
  218. package/dist/vite.cjs +0 -23
  219. package/dist/vite.d.cts +0 -15
  220. package/dist/vite.d.ts +0 -15
@@ -0,0 +1,146 @@
1
+ <script>
2
+ import theme from "#build/ui/link";
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { defu } from "defu";
8
+ import { useForwardProps } from "reka-ui";
9
+ import { reactiveOmit } from "@vueuse/core";
10
+ import { usePage, Link as InertiaLink } from "@inertiajs/vue3";
11
+ import { hasProtocol } from "ufo";
12
+ import { useAppConfig } from "#imports";
13
+ import { tv } from "../../utils/tv";
14
+ defineOptions({ inheritAttrs: false });
15
+ const props = defineProps({
16
+ as: { type: null, required: false, default: "button" },
17
+ type: { type: null, required: false, default: "button" },
18
+ disabled: { type: Boolean, required: false },
19
+ active: { type: Boolean, required: false, default: void 0 },
20
+ exact: { type: Boolean, required: false },
21
+ inactiveClass: { type: String, required: false, default: "" },
22
+ custom: { type: Boolean, required: false },
23
+ raw: { type: Boolean, required: false },
24
+ class: { type: null, required: false },
25
+ activeClass: { type: String, required: false, default: "" },
26
+ to: { type: String, required: false },
27
+ href: { type: String, required: false },
28
+ external: { type: Boolean, required: false },
29
+ target: { type: [String, Object, null], required: false },
30
+ ariaCurrentValue: { type: String, required: false },
31
+ data: { type: Object, required: false },
32
+ method: { type: String, required: false },
33
+ headers: { type: Object, required: false },
34
+ onClick: { type: Function, required: false },
35
+ preserveScroll: { type: [Boolean, String, Function], required: false },
36
+ preserveState: { type: [Boolean, String, Function], required: false },
37
+ replace: { type: Boolean, required: false },
38
+ only: { type: Array, required: false },
39
+ except: { type: Array, required: false },
40
+ onCancelToken: { type: Function, required: false },
41
+ onBefore: { type: Function, required: false },
42
+ onStart: { type: Function, required: false },
43
+ onProgress: { type: Function, required: false },
44
+ onFinish: { type: Function, required: false },
45
+ onCancel: { type: Function, required: false },
46
+ onSuccess: { type: Function, required: false },
47
+ onError: { type: Function, required: false },
48
+ queryStringArrayFormat: { type: String, required: false },
49
+ async: { type: Boolean, required: false },
50
+ prefetch: { type: [Boolean, String, Array], required: false },
51
+ cacheFor: { type: [Number, String, Array], required: false }
52
+ });
53
+ defineSlots();
54
+ const appConfig = useAppConfig();
55
+ const routerLinkProps = useForwardProps(reactiveOmit(props, "as", "type", "disabled", "active", "exact", "activeClass", "inactiveClass", "to", "raw", "class"));
56
+ const ui = computed(() => tv({
57
+ extend: tv(theme),
58
+ ...defu({
59
+ variants: {
60
+ active: {
61
+ true: props.activeClass,
62
+ false: props.inactiveClass
63
+ }
64
+ }
65
+ }, appConfig.ui?.link || {})
66
+ }));
67
+ const isExternal = computed(() => {
68
+ if (!props.to) return false;
69
+ return typeof props.to === "string" && hasProtocol(props.to, { acceptRelative: true });
70
+ });
71
+ const linkClass = computed(() => {
72
+ const active = isActive.value;
73
+ if (props.raw) {
74
+ return [props.class, active ? props.activeClass : props.inactiveClass];
75
+ }
76
+ return ui.value({ class: props.class, active, disabled: props.disabled });
77
+ });
78
+ const page = usePage();
79
+ const url = computed(() => props.to ?? props.href ?? "#");
80
+ const isActive = computed(() => props.active || (props.exact ? url.value === props.href : page?.url.startsWith(url.value)));
81
+ </script>
82
+
83
+ <template>
84
+ <template v-if="!isExternal">
85
+ <InertiaLink v-bind="routerLinkProps" :href="url" custom>
86
+ <template v-if="custom">
87
+ <slot
88
+ v-bind="{
89
+ ...$attrs,
90
+ as,
91
+ type,
92
+ disabled,
93
+ href: url,
94
+ active: isActive
95
+ }"
96
+ />
97
+ </template>
98
+ <ULinkBase
99
+ v-else
100
+ v-bind="{
101
+ ...$attrs,
102
+ as,
103
+ type,
104
+ disabled,
105
+ href: url,
106
+ active: isActive
107
+ }"
108
+ :class="linkClass"
109
+ >
110
+ <slot :active="isActive" />
111
+ </ULinkBase>
112
+ </InertiaLink>
113
+ </template>
114
+
115
+ <template v-else>
116
+ <template v-if="custom">
117
+ <slot
118
+ v-bind="{
119
+ ...$attrs,
120
+ as,
121
+ type,
122
+ disabled,
123
+ href: to,
124
+ target: isExternal ? '_blank' : void 0,
125
+ active: isActive
126
+ }"
127
+ />
128
+ </template>
129
+ <ULinkBase
130
+ v-else
131
+ v-bind="{
132
+ ...$attrs,
133
+ as,
134
+ type,
135
+ disabled,
136
+ href: url,
137
+ target: isExternal ? '_blank' : void 0,
138
+ active: isActive
139
+ }"
140
+ :is-external="isExternal"
141
+ :class="linkClass"
142
+ >
143
+ <slot :active="isActive" />
144
+ </ULinkBase>
145
+ </template>
146
+ </template>
@@ -0,0 +1,92 @@
1
+ import type { ButtonHTMLAttributes } from 'vue';
2
+ import type { InertiaLinkProps } from '@inertiajs/vue3';
3
+ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href'> {
4
+ activeClass?: string;
5
+ /**
6
+ * Route Location the link should navigate to when clicked on.
7
+ */
8
+ to?: string;
9
+ /**
10
+ * An alias for `to`. If used with `to`, `href` will be ignored
11
+ */
12
+ href?: NuxtLinkProps['to'];
13
+ /**
14
+ * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
15
+ */
16
+ external?: boolean;
17
+ /**
18
+ * Where to display the linked URL, as the name for a browsing context.
19
+ */
20
+ target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
21
+ ariaCurrentValue?: string;
22
+ }
23
+ export interface LinkProps extends NuxtLinkProps {
24
+ /**
25
+ * The element or component this component should render as when not a link.
26
+ * @defaultValue 'button'
27
+ */
28
+ as?: any;
29
+ /**
30
+ * The type of the button when not a link.
31
+ * @defaultValue 'button'
32
+ */
33
+ type?: ButtonHTMLAttributes['type'];
34
+ disabled?: boolean;
35
+ /** Force the link to be active independent of the current route. */
36
+ active?: boolean;
37
+ /** Will only be active if the current route is an exact match. */
38
+ exact?: boolean;
39
+ /** The class to apply when the link is inactive. */
40
+ inactiveClass?: string;
41
+ custom?: boolean;
42
+ /** When `true`, only styles from `class`, `activeClass`, and `inactiveClass` will be applied. */
43
+ raw?: boolean;
44
+ class?: any;
45
+ }
46
+ export interface LinkSlots {
47
+ default(props: {
48
+ active: boolean;
49
+ }): any;
50
+ }
51
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<LinkProps>, {
52
+ as: string;
53
+ type: string;
54
+ active: undefined;
55
+ activeClass: string;
56
+ inactiveClass: string;
57
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<LinkProps>, {
58
+ as: string;
59
+ type: string;
60
+ active: undefined;
61
+ activeClass: string;
62
+ inactiveClass: string;
63
+ }>>> & Readonly<{}>, {
64
+ type: "reset" | "submit" | "button";
65
+ as: any;
66
+ activeClass: string;
67
+ active: boolean;
68
+ inactiveClass: string;
69
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<LinkSlots> & LinkSlots>;
70
+ export default _default;
71
+ type __VLS_WithDefaults<P, D> = {
72
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
73
+ default: D[K];
74
+ }> : P[K];
75
+ };
76
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
77
+ type __VLS_TypePropsToOption<T> = {
78
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
79
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
80
+ } : {
81
+ type: import('vue').PropType<T[K]>;
82
+ required: true;
83
+ };
84
+ };
85
+ type __VLS_WithTemplateSlots<T, S> = T & {
86
+ new (): {
87
+ $slots: S;
88
+ };
89
+ };
90
+ type __VLS_PrettifyLocal<T> = {
91
+ [K in keyof T]: T[K];
92
+ } & {};
@@ -0,0 +1,43 @@
1
+ import type { Ref } from 'vue';
2
+ import type { NuxtApp } from '#app';
3
+ export { useHead } from '@unhead/vue';
4
+ export { defineShortcuts } from '../composables/defineShortcuts';
5
+ export { defineLocale } from '../composables/defineLocale';
6
+ export { useLocale } from '../composables/useLocale';
7
+ export declare const useRoute: () => {
8
+ fullPath: string;
9
+ };
10
+ export declare const useRouter: () => void;
11
+ export declare const useColorMode: () => {
12
+ forced: boolean;
13
+ preference?: undefined;
14
+ readonly value?: undefined;
15
+ } | {
16
+ preference: "system" | "light" | "dark";
17
+ readonly value: import("@vueuse/core").BasicColorMode;
18
+ forced: boolean;
19
+ };
20
+ export declare const useAppConfig: () => any;
21
+ export declare const useCookie: <T = string>(_name: string, _options?: Record<string, any>) => {
22
+ value: Ref<T, T>;
23
+ get: () => T;
24
+ set: () => void;
25
+ update: () => void;
26
+ refresh: () => Promise<Awaited<T>>;
27
+ remove: () => void;
28
+ };
29
+ export declare const useState: <T>(key: string, init: () => T) => Ref<T>;
30
+ export declare function useNuxtApp(): {
31
+ isHydrating: boolean;
32
+ payload: {
33
+ serverRendered: boolean;
34
+ };
35
+ hooks: import("hookable").Hookable<Record<string, any>, string>;
36
+ hook: <NameT extends string>(name: NameT, function_: any, options?: {
37
+ allowDeprecated?: boolean;
38
+ }) => () => void;
39
+ };
40
+ export declare function useRuntimeHook(name: string, fn: (...args: any[]) => void): void;
41
+ export declare function defineNuxtPlugin(plugin: (nuxtApp: NuxtApp) => void): {
42
+ install(app: import("vue").App<any>): void;
43
+ };
@@ -0,0 +1,82 @@
1
+ import { ref, onScopeDispose } from "vue";
2
+ import { createHooks } from "hookable";
3
+ import appConfig from "#build/app.config";
4
+ import { useColorMode as useColorModeVueUse } from "@vueuse/core";
5
+ import { usePage } from "@inertiajs/vue3";
6
+ export { useHead } from "@unhead/vue";
7
+ export { defineShortcuts } from "../composables/defineShortcuts.js";
8
+ export { defineLocale } from "../composables/defineLocale.js";
9
+ export { useLocale } from "../composables/useLocale.js";
10
+ export const useRoute = () => {
11
+ const page = usePage();
12
+ return {
13
+ fullPath: page.url
14
+ };
15
+ };
16
+ export const useRouter = () => {
17
+ };
18
+ export const useColorMode = () => {
19
+ if (!appConfig.colorMode) {
20
+ return {
21
+ forced: true
22
+ };
23
+ }
24
+ const { store, system } = useColorModeVueUse();
25
+ return {
26
+ get preference() {
27
+ return store.value === "auto" ? "system" : store.value;
28
+ },
29
+ set preference(value) {
30
+ store.value = value === "system" ? "auto" : value;
31
+ },
32
+ get value() {
33
+ return store.value === "auto" ? system.value : store.value;
34
+ },
35
+ forced: false
36
+ };
37
+ };
38
+ export const useAppConfig = () => appConfig;
39
+ export const useCookie = (_name, _options = {}) => {
40
+ const value = ref(null);
41
+ return {
42
+ value,
43
+ get: () => value.value,
44
+ set: () => {
45
+ },
46
+ update: () => {
47
+ },
48
+ refresh: () => Promise.resolve(value.value),
49
+ remove: () => {
50
+ }
51
+ };
52
+ };
53
+ const state = {};
54
+ export const useState = (key, init) => {
55
+ if (state[key]) {
56
+ return state[key];
57
+ }
58
+ const value = ref(init());
59
+ state[key] = value;
60
+ return value;
61
+ };
62
+ const hooks = createHooks();
63
+ export function useNuxtApp() {
64
+ return {
65
+ isHydrating: true,
66
+ payload: { serverRendered: false },
67
+ hooks,
68
+ hook: hooks.hook
69
+ };
70
+ }
71
+ export function useRuntimeHook(name, fn) {
72
+ const nuxtApp = useNuxtApp();
73
+ const unregister = nuxtApp.hook(name, fn);
74
+ onScopeDispose(unregister);
75
+ }
76
+ export function defineNuxtPlugin(plugin) {
77
+ return {
78
+ install(app) {
79
+ app.runWithContext(() => plugin({ vueApp: app }));
80
+ }
81
+ };
82
+ }
@@ -0,0 +1,3 @@
1
+ import type { Messages } from '../types';
2
+ declare const _default: import("../types").Locale<Messages>;
3
+ export default _default;
@@ -0,0 +1,54 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438",
4
+ code: "bg",
5
+ messages: {
6
+ inputMenu: {
7
+ noMatch: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438",
8
+ noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438",
9
+ create: '\u0421\u044A\u0437\u0434\u0430\u0439\u0442\u0435 "{label}"'
10
+ },
11
+ calendar: {
12
+ prevYear: "\u041F\u0440\u0435\u0434\u0438\u0448\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430",
13
+ nextYear: "\u0421\u043B\u0435\u0434\u0432\u0430\u0449\u0430 \u0433\u043E\u0434\u0438\u043D\u0430",
14
+ prevMonth: "\u041F\u0440\u0435\u0434\u0438\u0448\u0435\u043D \u043C\u0435\u0441\u0435\u0446",
15
+ nextMonth: "\u0421\u043B\u0435\u0434\u0432\u0430\u0449 \u043C\u0435\u0441\u0435\u0446"
16
+ },
17
+ inputNumber: {
18
+ increment: "\u0423\u0432\u0435\u043B\u0438\u0447\u0430\u0432\u0430\u043D\u0435",
19
+ decrement: "\u041D\u0430\u043C\u0430\u043B\u044F\u0432\u0430\u043D\u0435"
20
+ },
21
+ commandPalette: {
22
+ placeholder: "\u0412\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0438\u043B\u0438 \u043F\u043E\u0442\u044A\u0440\u0441\u0435\u0442\u0435...",
23
+ noMatch: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438",
24
+ noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438",
25
+ close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435"
26
+ },
27
+ selectMenu: {
28
+ noMatch: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438",
29
+ noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438",
30
+ create: '\u0421\u044A\u0437\u0434\u0430\u0439\u0442\u0435 "{label}"',
31
+ search: "\u041F\u043E\u0442\u044A\u0440\u0441\u0435\u0442\u0435..."
32
+ },
33
+ toast: {
34
+ close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435"
35
+ },
36
+ carousel: {
37
+ prev: "\u041D\u0430\u0437\u0430\u0434",
38
+ next: "\u041D\u0430\u043F\u0440\u0435\u0434",
39
+ goto: "\u041E\u0442\u0438\u0434\u0435\u0442\u0435 \u043D\u0430 \u0441\u043B\u0430\u0439\u0434 {slide}"
40
+ },
41
+ modal: {
42
+ close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435"
43
+ },
44
+ slideover: {
45
+ close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435"
46
+ },
47
+ alert: {
48
+ close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435"
49
+ },
50
+ table: {
51
+ noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438"
52
+ }
53
+ }
54
+ });
@@ -1,9 +1,10 @@
1
1
  export { default as ar } from './ar';
2
2
  export { default as az } from './az';
3
+ export { default as bg } from './bg';
3
4
  export { default as bn } from './bn';
4
5
  export { default as ca } from './ca';
5
- export { default as cs } from './cs';
6
6
  export { default as ckb } from './ckb';
7
+ export { default as cs } from './cs';
7
8
  export { default as da } from './da';
8
9
  export { default as de } from './de';
9
10
  export { default as el } from './el';
@@ -21,6 +22,7 @@ export { default as id } from './id';
21
22
  export { default as it } from './it';
22
23
  export { default as ja } from './ja';
23
24
  export { default as km } from './km';
25
+ export { default as kk } from './kk';
24
26
  export { default as ko } from './ko';
25
27
  export { default as nb_no } from './nb_no';
26
28
  export { default as nl } from './nl';
@@ -32,8 +34,10 @@ export { default as ru } from './ru';
32
34
  export { default as sk } from './sk';
33
35
  export { default as sv } from './sv';
34
36
  export { default as th } from './th';
37
+ export { default as tj } from './tj';
35
38
  export { default as tr } from './tr';
36
39
  export { default as uk } from './uk';
40
+ export { default as ug_cn } from './ug_cn';
37
41
  export { default as ur } from './ur';
38
42
  export { default as uz } from './uz';
39
43
  export { default as vi } from './vi';
@@ -1,9 +1,10 @@
1
1
  export { default as ar } from "./ar.js";
2
2
  export { default as az } from "./az.js";
3
+ export { default as bg } from "./bg.js";
3
4
  export { default as bn } from "./bn.js";
4
5
  export { default as ca } from "./ca.js";
5
- export { default as cs } from "./cs.js";
6
6
  export { default as ckb } from "./ckb.js";
7
+ export { default as cs } from "./cs.js";
7
8
  export { default as da } from "./da.js";
8
9
  export { default as de } from "./de.js";
9
10
  export { default as el } from "./el.js";
@@ -21,6 +22,7 @@ export { default as id } from "./id.js";
21
22
  export { default as it } from "./it.js";
22
23
  export { default as ja } from "./ja.js";
23
24
  export { default as km } from "./km.js";
25
+ export { default as kk } from "./kk.js";
24
26
  export { default as ko } from "./ko.js";
25
27
  export { default as nb_no } from "./nb_no.js";
26
28
  export { default as nl } from "./nl.js";
@@ -32,8 +34,10 @@ export { default as ru } from "./ru.js";
32
34
  export { default as sk } from "./sk.js";
33
35
  export { default as sv } from "./sv.js";
34
36
  export { default as th } from "./th.js";
37
+ export { default as tj } from "./tj.js";
35
38
  export { default as tr } from "./tr.js";
36
39
  export { default as uk } from "./uk.js";
40
+ export { default as ug_cn } from "./ug_cn.js";
37
41
  export { default as ur } from "./ur.js";
38
42
  export { default as uz } from "./uz.js";
39
43
  export { default as vi } from "./vi.js";
@@ -0,0 +1,3 @@
1
+ import type { Messages } from '../types';
2
+ declare const _default: import("../types").Locale<Messages>;
3
+ export default _default;
@@ -0,0 +1,54 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "\u049A\u0430\u0437\u0430\u049B\u0448\u0430",
4
+ code: "kk",
5
+ messages: {
6
+ inputMenu: {
7
+ noMatch: "\u0421\u04D9\u0439\u043A\u0435\u0441 \u043A\u0435\u043B\u0435\u0442\u0456\u043D \u0434\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B",
8
+ noData: "\u0414\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B",
9
+ create: '"{label}" \u0436\u0430\u0441\u0430\u0443'
10
+ },
11
+ calendar: {
12
+ prevYear: "\u0410\u043B\u0434\u044B\u04A3\u0493\u044B \u0436\u044B\u043B",
13
+ nextYear: "\u041A\u0435\u043B\u0435\u0441\u0456 \u0436\u044B\u043B",
14
+ prevMonth: "\u0410\u043B\u0434\u044B\u04A3\u0493\u044B \u0430\u0439",
15
+ nextMonth: "\u041A\u0435\u043B\u0435\u0441\u0456 \u0430\u0439"
16
+ },
17
+ inputNumber: {
18
+ increment: "\u0410\u0440\u0442\u0442\u044B\u0440\u0443",
19
+ decrement: "\u0410\u0437\u0430\u0439\u0442\u0443"
20
+ },
21
+ commandPalette: {
22
+ placeholder: "\u041A\u043E\u043C\u0430\u043D\u0434\u0430 \u0435\u043D\u0433\u0456\u0437\u0456\u04A3\u0456\u0437 \u043D\u0435\u043C\u0435\u0441\u0435 \u0456\u0437\u0434\u0435\u04A3\u0456\u0437...",
23
+ noMatch: "\u0421\u04D9\u0439\u043A\u0435\u0441 \u043A\u0435\u043B\u0435\u0442\u0456\u043D \u0434\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B",
24
+ noData: "\u0414\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B",
25
+ close: "\u0416\u0430\u0431\u0443"
26
+ },
27
+ selectMenu: {
28
+ noMatch: "\u0421\u04D9\u0439\u043A\u0435\u0441 \u043A\u0435\u043B\u0435\u0442\u0456\u043D \u0434\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B",
29
+ noData: "\u0414\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B",
30
+ create: '"{label}" \u0436\u0430\u0441\u0430\u0443',
31
+ search: "\u0406\u0437\u0434\u0435\u0443..."
32
+ },
33
+ toast: {
34
+ close: "\u0416\u0430\u0431\u0443"
35
+ },
36
+ carousel: {
37
+ prev: "\u0410\u043B\u0434\u044B\u04A3\u0493\u044B",
38
+ next: "\u041A\u0435\u043B\u0435\u0441\u0456",
39
+ goto: "{slide} \u0441\u043B\u0430\u0439\u0434\u049B\u0430 \u04E9\u0442\u0443"
40
+ },
41
+ modal: {
42
+ close: "\u0416\u0430\u0431\u0443"
43
+ },
44
+ slideover: {
45
+ close: "\u0416\u0430\u0431\u0443"
46
+ },
47
+ alert: {
48
+ close: "\u0416\u0430\u0431\u0443"
49
+ },
50
+ table: {
51
+ noData: "\u0414\u0435\u0440\u0435\u043A\u0442\u0435\u0440 \u0436\u043E\u049B"
52
+ }
53
+ }
54
+ });
@@ -0,0 +1,3 @@
1
+ import type { Messages } from '../types';
2
+ declare const _default: import("../types").Locale<Messages>;
3
+ export default _default;
@@ -0,0 +1,54 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "\u0422\u043E\u04B7\u0438\u043A\u04E3",
4
+ code: "tj",
5
+ messages: {
6
+ inputMenu: {
7
+ noMatch: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442\u0438 \u043C\u0443\u0432\u043E\u0444\u0438\u049B \u0451\u0444\u0442 \u043D\u0430\u0448\u0443\u0434",
8
+ noData: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442 \u043D\u0435\u0441\u0442",
9
+ create: '"{label}" \u0441\u043E\u0437\u0435\u0434'
10
+ },
11
+ calendar: {
12
+ prevYear: "\u0421\u043E\u043B\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430",
13
+ nextYear: "\u0421\u043E\u043B\u0438 \u043E\u044F\u043D\u0434\u0430",
14
+ prevMonth: "\u041C\u043E\u04B3\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430",
15
+ nextMonth: "\u041C\u043E\u04B3\u0438 \u043E\u044F\u043D\u0434\u0430"
16
+ },
17
+ inputNumber: {
18
+ increment: "\u0417\u0438\u0451\u0434 \u043A\u0430\u0440\u0434\u0430\u043D",
19
+ decrement: "\u041A\u0430\u043C \u043A\u0430\u0440\u0434\u0430\u043D"
20
+ },
21
+ commandPalette: {
22
+ placeholder: "\u0424\u0430\u0440\u043C\u043E\u043D\u0440\u043E \u043D\u0430\u0432\u0438\u0441\u0435\u0434 \u0451 \u04B7\u0443\u0441\u0442\u0443\u04B7\u04EF \u043A\u0443\u043D\u0435\u0434...",
23
+ noMatch: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442\u0438 \u043C\u0443\u0432\u043E\u0444\u0438\u049B \u0451\u0444\u0442 \u043D\u0430\u0448\u0443\u0434",
24
+ noData: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442 \u043D\u0435\u0441\u0442",
25
+ close: "\u0411\u0430\u0441\u0442\u0430\u043D"
26
+ },
27
+ selectMenu: {
28
+ noMatch: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442\u0438 \u043C\u0443\u0432\u043E\u0444\u0438\u049B \u0451\u0444\u0442 \u043D\u0430\u0448\u0443\u0434",
29
+ noData: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442 \u043D\u0435\u0441\u0442",
30
+ create: '"{label}" \u0441\u043E\u0437\u0435\u0434',
31
+ search: "\u04B6\u0443\u0441\u0442\u0443\u04B7\u04EF..."
32
+ },
33
+ toast: {
34
+ close: "\u0411\u0430\u0441\u0442\u0430\u043D"
35
+ },
36
+ carousel: {
37
+ prev: "\u049A\u0430\u0431\u043B\u04E3",
38
+ next: "\u0411\u0430\u044A\u0434\u04E3",
39
+ goto: "\u0411\u0430 \u0441\u043B\u0430\u0439\u0434\u0438 {slide} \u0433\u0443\u0437\u0430\u0440\u0435\u0434"
40
+ },
41
+ modal: {
42
+ close: "\u0411\u0430\u0441\u0442\u0430\u043D"
43
+ },
44
+ slideover: {
45
+ close: "\u0411\u0430\u0441\u0442\u0430\u043D"
46
+ },
47
+ alert: {
48
+ close: "\u0411\u0430\u0441\u0442\u0430\u043D"
49
+ },
50
+ table: {
51
+ noData: "\u041C\u0430\u044A\u043B\u0443\u043C\u043E\u0442 \u043D\u0435\u0441\u0442"
52
+ }
53
+ }
54
+ });
@@ -0,0 +1,3 @@
1
+ import type { Messages } from '../types';
2
+ declare const _default: import("../types").Locale<Messages>;
3
+ export default _default;
@@ -0,0 +1,55 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "\u0626\u06C7\u064A\u063A\u06C7\u0631\u0686\u06D5",
4
+ code: "ug-CN",
5
+ dir: "rtl",
6
+ messages: {
7
+ inputMenu: {
8
+ noMatch: "\u0645\u0627\u0633 \u0643\u06D0\u0644\u0649\u062F\u0649\u063A\u0627\u0646 \u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642",
9
+ noData: "\u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642",
10
+ create: '"{label}" \u0646\u0649 \u0642\u06C7\u0631\u06C7\u0634'
11
+ },
12
+ calendar: {
13
+ prevYear: "\u0626\u0627\u0644\u062F\u0649\u0646\u0642\u0649 \u064A\u0649\u0644",
14
+ nextYear: "\u0643\u06D0\u0644\u06D5\u0631 \u064A\u0649\u0644",
15
+ prevMonth: "\u0626\u0627\u0644\u062F\u0649\u0646\u0642\u0649 \u0626\u0627\u064A",
16
+ nextMonth: "\u0643\u06D0\u0644\u06D5\u0631 \u0626\u0627\u064A"
17
+ },
18
+ inputNumber: {
19
+ increment: "\u0643\u06C6\u067E\u06D5\u064A\u062A\u0649\u0634",
20
+ decrement: "\u0626\u0627\u0632\u0627\u064A\u062A\u0649\u0634"
21
+ },
22
+ commandPalette: {
23
+ placeholder: "\u0628\u06C7\u064A\u0631\u06C7\u0642 \u0643\u0649\u0631\u06AF\u06C8\u0632\u06C8\u06AD \u064A\u0627\u0643\u0649 \u0626\u0649\u0632\u062F\u06D5\u06AD...",
24
+ noMatch: "\u0645\u0627\u0633 \u0643\u06D0\u0644\u0649\u062F\u0649\u063A\u0627\u0646 \u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642",
25
+ noData: "\u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642",
26
+ close: "\u062A\u0627\u0642\u0627\u0634"
27
+ },
28
+ selectMenu: {
29
+ noMatch: "\u0645\u0627\u0633 \u0643\u06D0\u0644\u0649\u062F\u0649\u063A\u0627\u0646 \u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642",
30
+ noData: "\u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642",
31
+ create: '"{label}" \u0646\u0649 \u0642\u06C7\u0631\u06C7\u0634',
32
+ search: "\u0626\u0649\u0632\u062F\u06D5\u0634..."
33
+ },
34
+ toast: {
35
+ close: "\u062A\u0627\u0642\u0627\u0634"
36
+ },
37
+ carousel: {
38
+ prev: "\u0626\u0627\u0644\u062F\u0649\u0646\u0642\u0649 \u0628\u06D5\u062A",
39
+ next: "\u0643\u06D0\u064A\u0649\u0646\u0643\u0649 \u0628\u06D5\u062A",
40
+ goto: "{slide}-\u0628\u06D5\u062A\u0643\u06D5 \u0626\u0627\u062A\u0644\u0627\u0634"
41
+ },
42
+ modal: {
43
+ close: "\u062A\u0627\u0642\u0627\u0634"
44
+ },
45
+ slideover: {
46
+ close: "\u062A\u0627\u0642\u0627\u0634"
47
+ },
48
+ alert: {
49
+ close: "\u062A\u0627\u0642\u0627\u0634"
50
+ },
51
+ table: {
52
+ noData: "\u0633\u0627\u0646\u0644\u0649\u0642 \u0645\u06D5\u0644\u06C7\u0645\u0627\u062A \u064A\u0648\u0642"
53
+ }
54
+ }
55
+ });