@maz-ui/mcp 4.0.0-beta.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +264 -0
- package/bin/maz-ui-mcp.mjs +7 -0
- package/dist/mcp.d.mts +13 -0
- package/dist/mcp.d.ts +13 -0
- package/dist/mcp.mjs +586 -0
- package/docs/generated-docs/maz-accordion.doc.md +21 -0
- package/docs/generated-docs/maz-animated-counter.doc.md +17 -0
- package/docs/generated-docs/maz-animated-element.doc.md +14 -0
- package/docs/generated-docs/maz-animated-text.doc.md +14 -0
- package/docs/generated-docs/maz-avatar.doc.md +44 -0
- package/docs/generated-docs/maz-backdrop.doc.md +61 -0
- package/docs/generated-docs/maz-badge.doc.md +16 -0
- package/docs/generated-docs/maz-bottom-sheet.doc.md +21 -0
- package/docs/generated-docs/maz-btn.doc.md +30 -0
- package/docs/generated-docs/maz-card-spotlight.doc.md +16 -0
- package/docs/generated-docs/maz-card.doc.md +39 -0
- package/docs/generated-docs/maz-carousel.doc.md +16 -0
- package/docs/generated-docs/maz-chart.doc.md +10 -0
- package/docs/generated-docs/maz-checkbox.doc.md +34 -0
- package/docs/generated-docs/maz-checklist.doc.md +30 -0
- package/docs/generated-docs/maz-circular-progress-bar.doc.md +27 -0
- package/docs/generated-docs/maz-date-picker.doc.md +52 -0
- package/docs/generated-docs/maz-dialog-confirm.doc.md +24 -0
- package/docs/generated-docs/maz-dialog.doc.md +22 -0
- package/docs/generated-docs/maz-drawer.doc.md +26 -0
- package/docs/generated-docs/maz-dropdown.doc.md +42 -0
- package/docs/generated-docs/maz-dropzone.doc.md +82 -0
- package/docs/generated-docs/maz-expand-animation.doc.md +12 -0
- package/docs/generated-docs/maz-fullscreen-loader.doc.md +13 -0
- package/docs/generated-docs/maz-gallery.doc.md +17 -0
- package/docs/generated-docs/maz-icon.doc.md +18 -0
- package/docs/generated-docs/maz-input-code.doc.md +25 -0
- package/docs/generated-docs/maz-input-number.doc.md +31 -0
- package/docs/generated-docs/maz-input-phone-number.doc.md +56 -0
- package/docs/generated-docs/maz-input-price.doc.md +26 -0
- package/docs/generated-docs/maz-input-tags.doc.md +24 -0
- package/docs/generated-docs/maz-input.doc.md +54 -0
- package/docs/generated-docs/maz-lazy-img.doc.md +31 -0
- package/docs/generated-docs/maz-link.doc.md +31 -0
- package/docs/generated-docs/maz-loading-bar.doc.md +6 -0
- package/docs/generated-docs/maz-pagination.doc.md +22 -0
- package/docs/generated-docs/maz-popover.doc.md +70 -0
- package/docs/generated-docs/maz-pull-to-refresh.doc.md +31 -0
- package/docs/generated-docs/maz-radio-buttons.doc.md +33 -0
- package/docs/generated-docs/maz-radio.doc.md +33 -0
- package/docs/generated-docs/maz-reading-progress-bar.doc.md +18 -0
- package/docs/generated-docs/maz-select-country.doc.md +44 -0
- package/docs/generated-docs/maz-select.doc.md +65 -0
- package/docs/generated-docs/maz-slider.doc.md +20 -0
- package/docs/generated-docs/maz-spinner.doc.md +6 -0
- package/docs/generated-docs/maz-stepper.doc.md +29 -0
- package/docs/generated-docs/maz-switch.doc.md +31 -0
- package/docs/generated-docs/maz-table-cell.doc.md +5 -0
- package/docs/generated-docs/maz-table-row.doc.md +11 -0
- package/docs/generated-docs/maz-table-title.doc.md +5 -0
- package/docs/generated-docs/maz-table.doc.md +66 -0
- package/docs/generated-docs/maz-tabs-bar.doc.md +18 -0
- package/docs/generated-docs/maz-tabs-content-item.doc.md +11 -0
- package/docs/generated-docs/maz-tabs-content.doc.md +5 -0
- package/docs/generated-docs/maz-tabs.doc.md +17 -0
- package/docs/generated-docs/maz-textarea.doc.md +41 -0
- package/docs/src/components/index.md +8 -0
- package/docs/src/components/maz-accordion.md +80 -0
- package/docs/src/components/maz-animated-counter.md +124 -0
- package/docs/src/components/maz-animated-element.md +36 -0
- package/docs/src/components/maz-animated-text.md +36 -0
- package/docs/src/components/maz-avatar.md +179 -0
- package/docs/src/components/maz-backdrop.md +16 -0
- package/docs/src/components/maz-badge.md +222 -0
- package/docs/src/components/maz-bottom-sheet.md +398 -0
- package/docs/src/components/maz-btn.md +526 -0
- package/docs/src/components/maz-card-spotlight.md +163 -0
- package/docs/src/components/maz-card.md +447 -0
- package/docs/src/components/maz-carousel.md +127 -0
- package/docs/src/components/maz-chart.md +346 -0
- package/docs/src/components/maz-checkbox.md +168 -0
- package/docs/src/components/maz-checklist.md +414 -0
- package/docs/src/components/maz-circular-progress-bar.md +147 -0
- package/docs/src/components/maz-date-picker.md +1078 -0
- package/docs/src/components/maz-dialog-confirm.md +240 -0
- package/docs/src/components/maz-dialog.md +208 -0
- package/docs/src/components/maz-drawer.md +177 -0
- package/docs/src/components/maz-dropdown.md +650 -0
- package/docs/src/components/maz-dropzone.md +442 -0
- package/docs/src/components/maz-expand-animation.md +99 -0
- package/docs/src/components/maz-fullscreen-loader.md +58 -0
- package/docs/src/components/maz-gallery.md +85 -0
- package/docs/src/components/maz-icon.md +85 -0
- package/docs/src/components/maz-input-code.md +61 -0
- package/docs/src/components/maz-input-number.md +81 -0
- package/docs/src/components/maz-input-phone-number.md +867 -0
- package/docs/src/components/maz-input-price.md +58 -0
- package/docs/src/components/maz-input-tags.md +114 -0
- package/docs/src/components/maz-input.md +453 -0
- package/docs/src/components/maz-lazy-img.md +24 -0
- package/docs/src/components/maz-link.md +156 -0
- package/docs/src/components/maz-loading-bar.md +26 -0
- package/docs/src/components/maz-pagination.md +81 -0
- package/docs/src/components/maz-popover.md +1414 -0
- package/docs/src/components/maz-pull-to-refresh.md +49 -0
- package/docs/src/components/maz-radio-buttons.md +456 -0
- package/docs/src/components/maz-radio.md +141 -0
- package/docs/src/components/maz-reading-progress-bar.md +74 -0
- package/docs/src/components/maz-select-country.md +636 -0
- package/docs/src/components/maz-select.md +439 -0
- package/docs/src/components/maz-slider.md +191 -0
- package/docs/src/components/maz-spinner.md +93 -0
- package/docs/src/components/maz-stepper.md +418 -0
- package/docs/src/components/maz-switch.md +92 -0
- package/docs/src/components/maz-table.md +571 -0
- package/docs/src/components/maz-tabs.md +231 -0
- package/docs/src/components/maz-textarea.md +218 -0
- package/docs/src/composables/use-aos.md +34 -0
- package/docs/src/composables/use-breakpoints.md +35 -0
- package/docs/src/composables/use-dialog.md +88 -0
- package/docs/src/composables/use-display-names.md +174 -0
- package/docs/src/composables/use-form-validator.md +1149 -0
- package/docs/src/composables/use-idle-timeout.md +256 -0
- package/docs/src/composables/use-reading-time.md +168 -0
- package/docs/src/composables/use-string-matching.md +63 -0
- package/docs/src/composables/use-swipe.md +223 -0
- package/docs/src/composables/use-timer.md +130 -0
- package/docs/src/composables/use-toast.md +71 -0
- package/docs/src/composables/use-user-visibility.md +169 -0
- package/docs/src/composables/use-wait.md +62 -0
- package/docs/src/composables/use-window-size.md +18 -0
- package/docs/src/demo/DemoAuthPage.vue +178 -0
- package/docs/src/demo/DemoDashboardPage.vue +298 -0
- package/docs/src/demo/DemoProductPage.vue +135 -0
- package/docs/src/directives/click-outside.md +275 -0
- package/docs/src/directives/fullscreen-img.md +101 -0
- package/docs/src/directives/lazy-img.md +184 -0
- package/docs/src/directives/tooltip.md +458 -0
- package/docs/src/directives/zoom-img.md +127 -0
- package/docs/src/guide/cli.md +144 -0
- package/docs/src/guide/getting-started.md +284 -0
- package/docs/src/guide/icon-set.md +60 -0
- package/docs/src/guide/icons.md +481 -0
- package/docs/src/guide/mcp.md +210 -0
- package/docs/src/guide/migration-v4.md +898 -0
- package/docs/src/guide/nuxt.md +411 -0
- package/docs/src/guide/resolvers.md +697 -0
- package/docs/src/guide/themes.md +789 -0
- package/docs/src/guide/translations.md +1173 -0
- package/docs/src/guide/vue.md +243 -0
- package/docs/src/helpers/camel-case.md +14 -0
- package/docs/src/helpers/capitalize.md +51 -0
- package/docs/src/helpers/check-availability.md +14 -0
- package/docs/src/helpers/country-code-to-unicode-flag.md +213 -0
- package/docs/src/helpers/currency.md +67 -0
- package/docs/src/helpers/date.md +67 -0
- package/docs/src/helpers/debounce-callback.md +14 -0
- package/docs/src/helpers/debounce-id.md +14 -0
- package/docs/src/helpers/debounce.md +14 -0
- package/docs/src/helpers/get-country-flag-url.md +156 -0
- package/docs/src/helpers/is-client.md +14 -0
- package/docs/src/helpers/is-equal.md +14 -0
- package/docs/src/helpers/is-standalone-mode.md +14 -0
- package/docs/src/helpers/kebab-case.md +14 -0
- package/docs/src/helpers/normalize-string.md +14 -0
- package/docs/src/helpers/number.md +65 -0
- package/docs/src/helpers/pascal-case.md +14 -0
- package/docs/src/helpers/script-loader.md +14 -0
- package/docs/src/helpers/sleep.md +14 -0
- package/docs/src/helpers/snake-case.md +14 -0
- package/docs/src/helpers/throttle-id.md +14 -0
- package/docs/src/helpers/throttle.md +14 -0
- package/docs/src/index.md +555 -0
- package/docs/src/made-with-maz-ui.md +58 -0
- package/docs/src/plugins/aos.md +347 -0
- package/docs/src/plugins/dialog.md +411 -0
- package/docs/src/plugins/toast.md +349 -0
- package/docs/src/plugins/wait.md +109 -0
- package/package.json +84 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: useDisplayNames
|
|
3
|
+
description: useDisplayNames is a Vue 3 composable that provides functions to work with display names based on ISO codes. It leverages the Intl.DisplayNames API to fetch and format display names. This composable is useful for applications that need to display display names in a user-friendly format based on different locales.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{ $frontmatter.title }}
|
|
7
|
+
|
|
8
|
+
{{ $frontmatter.description }}
|
|
9
|
+
|
|
10
|
+
## Introduction
|
|
11
|
+
|
|
12
|
+
`useDisplayNames` allows you to fetch and format display names based on ISO codes using the `Intl.DisplayNames` API. This composable is particularly useful for applications that need to display display names in a user-friendly format based on different locales.
|
|
13
|
+
|
|
14
|
+
::: warning
|
|
15
|
+
|
|
16
|
+
Depending on your environment (client or node server) and the browser you are using, the `Intl.DisplayNames` results can be differents (e.g, Firefox and Chrome can return different results).
|
|
17
|
+
|
|
18
|
+
:::
|
|
19
|
+
|
|
20
|
+
## Key Features
|
|
21
|
+
|
|
22
|
+
- Fetches display names based on ISO codes
|
|
23
|
+
- Supports multiple locales
|
|
24
|
+
- Provides functions to get display names for all possible display names
|
|
25
|
+
- Handles errors gracefully and provides fallback values
|
|
26
|
+
|
|
27
|
+
## Basic Usage
|
|
28
|
+
|
|
29
|
+
To see `useDisplayNames` in action, you can try out the following demo. This demo showcases how to use the composable to fetch and display display names dynamically based on user input.
|
|
30
|
+
|
|
31
|
+
<ComponentDemo>
|
|
32
|
+
<div class="maz-flex maz-flex-col maz-gap-4 maz-items-start">
|
|
33
|
+
<MazSelect
|
|
34
|
+
v-model="selectedLocale"
|
|
35
|
+
label="Select a locale"
|
|
36
|
+
:maxListHeight="350"
|
|
37
|
+
:options="[
|
|
38
|
+
{ value: 'en-US', label: 'English (en-US)' },
|
|
39
|
+
{ value: 'fr-FR', label: 'French (fr-FR)' },
|
|
40
|
+
{ value: 'es-ES', label: 'Spanish (es-ES)' },
|
|
41
|
+
{ value: 'zh-CN', label: 'Chinese (zh-CN)' },
|
|
42
|
+
{ value: 'de-DE', label: 'German (de-DE)' },
|
|
43
|
+
{ value: 'it-IT', label: 'Italian (it-IT)' },
|
|
44
|
+
{ value: 'ja-JP', label: 'Japanese (ja-JP)' },
|
|
45
|
+
{ value: 'ko-KR', label: 'Korean (ko-KR)' },
|
|
46
|
+
{ value: 'pt-BR', label: 'Portuguese (pt-BR)' },
|
|
47
|
+
{ value: 'ru-RU', label: 'Russian (ru-RU)' },
|
|
48
|
+
]"
|
|
49
|
+
search
|
|
50
|
+
/>
|
|
51
|
+
<MazSelect
|
|
52
|
+
v-model="code"
|
|
53
|
+
label="Select a language"
|
|
54
|
+
:options="localeOptions?.map(({ name, code }) => ({
|
|
55
|
+
label: `${name} (${code})`,
|
|
56
|
+
value: code
|
|
57
|
+
}))"
|
|
58
|
+
search
|
|
59
|
+
/>
|
|
60
|
+
<p>Translated Language: {{ languageDisplayName || 'undefined' }}</p>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<template #code>
|
|
64
|
+
|
|
65
|
+
```vue
|
|
66
|
+
<script lang="ts" setup>
|
|
67
|
+
import { useDisplayNames } from 'maz-ui/composables/useDisplayNames'
|
|
68
|
+
import { computed, ref } from 'vue'
|
|
69
|
+
|
|
70
|
+
const selectedLocale = ref('en-US')
|
|
71
|
+
const code = ref('')
|
|
72
|
+
|
|
73
|
+
const { getDisplayName, getAllDisplayNames } = useDisplayNames(selectedLocale)
|
|
74
|
+
|
|
75
|
+
const languageDisplayName = getDisplayName(code, { type: 'language' })
|
|
76
|
+
|
|
77
|
+
const localeOptions = getAllDisplayNames({ type: 'language' })
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<template>
|
|
81
|
+
<MazSelect
|
|
82
|
+
v-model="selectedLocale"
|
|
83
|
+
label="Select a locale"
|
|
84
|
+
:max-list-height="350"
|
|
85
|
+
:options="[
|
|
86
|
+
{ value: 'en-US', label: 'English (en-US)' },
|
|
87
|
+
{ value: 'fr-FR', label: 'French (fr-FR)' },
|
|
88
|
+
{ value: 'es-ES', label: 'Spanish (es-ES)' },
|
|
89
|
+
{ value: 'zh-CN', label: 'Chinese (zh-CN)' },
|
|
90
|
+
{ value: 'de-DE', label: 'German (de-DE)' },
|
|
91
|
+
{ value: 'it-IT', label: 'Italian (it-IT)' },
|
|
92
|
+
{ value: 'ja-JP', label: 'Japanese (ja-JP)' },
|
|
93
|
+
{ value: 'ko-KR', label: 'Korean (ko-KR)' },
|
|
94
|
+
{ value: 'pt-BR', label: 'Portuguese (pt-BR)' },
|
|
95
|
+
{ value: 'ru-RU', label: 'Russian (ru-RU)' },
|
|
96
|
+
]"
|
|
97
|
+
search
|
|
98
|
+
/>
|
|
99
|
+
<MazSelect
|
|
100
|
+
v-model="code"
|
|
101
|
+
label="Select a language"
|
|
102
|
+
:options="localeOptions?.map(({ name, code }) => ({
|
|
103
|
+
label: `${name} (${code})`,
|
|
104
|
+
value: code
|
|
105
|
+
}))"
|
|
106
|
+
search
|
|
107
|
+
/>
|
|
108
|
+
<p>Translated Language: {{ languageDisplayName || 'undefined' }}</p>
|
|
109
|
+
</template>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
</template>
|
|
113
|
+
|
|
114
|
+
</ComponentDemo>
|
|
115
|
+
|
|
116
|
+
In this example, the `useDisplayNames` composable is used to fetch and display the language name based on the selected locale and ISO code.
|
|
117
|
+
|
|
118
|
+
The returned value is reactive and will update automatically when the locale or ISO code changes if arguments are reactive (use ref or computed).
|
|
119
|
+
|
|
120
|
+
## Functions
|
|
121
|
+
|
|
122
|
+
`useDisplayNames` can take a locale and ISO code as arguments to avoid pass this value each time you call the function. It is useful when you need to fetch language display names based on the same locale.
|
|
123
|
+
|
|
124
|
+
It provides the following functions:
|
|
125
|
+
|
|
126
|
+
### `getDisplayName`
|
|
127
|
+
|
|
128
|
+
Fetches the display name of a language based on the provided locale and ISO code.
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
function getDisplayName(code: MaybeRefOrGetter<string>, options: {
|
|
132
|
+
type: MaybeRefOrGetter<Intl.DisplayNamesOptions['type']>,
|
|
133
|
+
locale?: MaybeRefOrGetter<string>
|
|
134
|
+
}): ComputedRef<string | undefined>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### `getAllDisplayNames`
|
|
138
|
+
|
|
139
|
+
Fetches the display names for all predefined ISO codes for a given locale.
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
function getAllDisplayNames(options: {
|
|
143
|
+
type: MaybeRefOrGetter<Intl.DisplayNamesOptions['type']>,
|
|
144
|
+
locale?: MaybeRefOrGetter<string>,
|
|
145
|
+
codes?: MaybeRefOrGetter<string[]>,
|
|
146
|
+
exclude?: MaybeRefOrGetter<string[]>,
|
|
147
|
+
preferred?: MaybeRefOrGetter<string[]>,
|
|
148
|
+
onlyIso?: MaybeRefOrGetter<boolean>,
|
|
149
|
+
onlyBcp?: MaybeRefOrGetter<boolean>,
|
|
150
|
+
}): ComputedRef<{ name: string, code: string }[]>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Notes
|
|
154
|
+
|
|
155
|
+
- The `useDisplayNames` composable is designed to be used with Vue 3.
|
|
156
|
+
- The composable functions return `ComputedRef` values, which are reactive and will update automatically when their dependencies change.
|
|
157
|
+
- Handle errors gracefully by providing fallback values when the display name cannot be fetched.
|
|
158
|
+
- The `Intl.DisplayNames` API is used internally to fetch and format the display names based on the provided locale and ISO code.
|
|
159
|
+
- The composable supports multiple locales, allowing you to fetch display names in different languages.
|
|
160
|
+
- Use the `getAllDisplayNames` function to fetch the display names for all predefined ISO codes for a given locale.
|
|
161
|
+
|
|
162
|
+
<script lang="ts" setup>
|
|
163
|
+
import { ref, computed } from 'vue'
|
|
164
|
+
import { useDisplayNames } from 'maz-ui/src/composables/useDisplayNames.js'
|
|
165
|
+
|
|
166
|
+
const selectedLocale = ref('en-US')
|
|
167
|
+
const code = ref('fr-FR')
|
|
168
|
+
|
|
169
|
+
const { getDisplayName, getAllDisplayNames } = useDisplayNames(selectedLocale)
|
|
170
|
+
|
|
171
|
+
const languageDisplayName = getDisplayName(code, { type: 'language' })
|
|
172
|
+
|
|
173
|
+
const localeOptions = getAllDisplayNames({ type: 'language' })
|
|
174
|
+
</script>
|