@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,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: getCountryFlagUrl
|
|
3
|
+
description: Get country flag from flagcdn.com with a simple function call
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{ $frontmatter.title }}
|
|
7
|
+
|
|
8
|
+
{{ $frontmatter.description }}
|
|
9
|
+
|
|
10
|
+
<MazSelect
|
|
11
|
+
v-model="countryCode"
|
|
12
|
+
:options="countryOptions"
|
|
13
|
+
label="Select country"
|
|
14
|
+
search
|
|
15
|
+
search-placeholder="Search country"
|
|
16
|
+
@selected-option="(option) => console.log('option', option)"
|
|
17
|
+
>
|
|
18
|
+
<template #default="{ option, isSelected }">
|
|
19
|
+
<div
|
|
20
|
+
class="maz-flex maz-items-center maz-gap-3"
|
|
21
|
+
>
|
|
22
|
+
<img :src="option.flagSrc" class="maz-text-lg" :alt="`Flag of ${option.label}`" />
|
|
23
|
+
<MazBadge
|
|
24
|
+
pastel
|
|
25
|
+
size="0.7rem"
|
|
26
|
+
class="maz-w-9"
|
|
27
|
+
:class="{ 'maz-text-muted': !isSelected }"
|
|
28
|
+
>
|
|
29
|
+
{{ option.value }}
|
|
30
|
+
</MazBadge>
|
|
31
|
+
<span :class="{ 'maz-font-semibold': isSelected }">
|
|
32
|
+
{{ option.label }}
|
|
33
|
+
</span>
|
|
34
|
+
</div>
|
|
35
|
+
</template>
|
|
36
|
+
</MazSelect>
|
|
37
|
+
|
|
38
|
+
## Basic usage
|
|
39
|
+
|
|
40
|
+
<img :src="flagSrc" alt="Flag of France" />
|
|
41
|
+
|
|
42
|
+
```vue
|
|
43
|
+
<template>
|
|
44
|
+
<img :src="flagSrc" alt="Flag of France" />
|
|
45
|
+
</template>
|
|
46
|
+
|
|
47
|
+
<script lang="ts" setup >
|
|
48
|
+
import { getCountryFlagUrl } from 'maz-ui'
|
|
49
|
+
|
|
50
|
+
const flagSrc = getCountryFlagUrl('FR')
|
|
51
|
+
</script>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Sizing
|
|
55
|
+
|
|
56
|
+
<div class="maz-gap-2 maz-flex maz-flex-wrap maz-items-center">
|
|
57
|
+
<img
|
|
58
|
+
v-for="{ src, size, countryCode } in sizedFlags"
|
|
59
|
+
:key="src"
|
|
60
|
+
:src="src"
|
|
61
|
+
:alt="`${countryCode} Flag`"
|
|
62
|
+
/>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
::: details Show full code
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<template>
|
|
69
|
+
<img
|
|
70
|
+
v-for="{ src, size, countryCode } in sizedFlags"
|
|
71
|
+
:key="src"
|
|
72
|
+
:src="src"
|
|
73
|
+
:alt="`${countryCode} Flag`"
|
|
74
|
+
/>
|
|
75
|
+
</template>
|
|
76
|
+
|
|
77
|
+
<script lang="ts" setup>
|
|
78
|
+
import { computed } from 'vue'
|
|
79
|
+
import { getCountryFlagUrl } from 'maz-ui'
|
|
80
|
+
|
|
81
|
+
const countryCode = ref('FR')
|
|
82
|
+
|
|
83
|
+
const sizedFlags = computed(() => {
|
|
84
|
+
const sizes: Size[] = [
|
|
85
|
+
'16x12',
|
|
86
|
+
'20x15',
|
|
87
|
+
'24x18',
|
|
88
|
+
'80x60',
|
|
89
|
+
'h80',
|
|
90
|
+
'w160',
|
|
91
|
+
]
|
|
92
|
+
|
|
93
|
+
return sizes.map(size => ({
|
|
94
|
+
src: getCountryFlagUrl(countryCode.value, size),
|
|
95
|
+
size: size,
|
|
96
|
+
countryCode: countryCode.value
|
|
97
|
+
}))
|
|
98
|
+
})
|
|
99
|
+
</script>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
:::
|
|
103
|
+
|
|
104
|
+
<script lang="ts" setup>
|
|
105
|
+
import { computed, ref, onMounted } from 'vue'
|
|
106
|
+
import { getCountryFlagUrl } from 'maz-ui'
|
|
107
|
+
import { getCountries } from 'libphonenumber-js'
|
|
108
|
+
|
|
109
|
+
const countryCode = ref('FR')
|
|
110
|
+
const flagSrc = computed(() => getCountryFlagUrl(countryCode.value))
|
|
111
|
+
|
|
112
|
+
const sizedFlags = computed(() => {
|
|
113
|
+
const sizes: Size[] = [
|
|
114
|
+
'16x12',
|
|
115
|
+
'20x15',
|
|
116
|
+
'24x18',
|
|
117
|
+
'80x60',
|
|
118
|
+
'h80',
|
|
119
|
+
'w160',
|
|
120
|
+
]
|
|
121
|
+
|
|
122
|
+
return sizes.map(size => ({
|
|
123
|
+
src: getCountryFlagUrl(countryCode.value, size),
|
|
124
|
+
size: size,
|
|
125
|
+
countryCode: countryCode.value
|
|
126
|
+
}))
|
|
127
|
+
})
|
|
128
|
+
|
|
129
|
+
const countryOptions = ref(getCountriesList())
|
|
130
|
+
|
|
131
|
+
onMounted(() => {
|
|
132
|
+
const listOfCountries = getCountriesList(window.navigator.language)
|
|
133
|
+
if (listOfCountries.length > 1) {
|
|
134
|
+
countryOptions.value = listOfCountries
|
|
135
|
+
}
|
|
136
|
+
})
|
|
137
|
+
|
|
138
|
+
function getCountriesList(locale?: string) {
|
|
139
|
+
const countriesList = []
|
|
140
|
+
const isoList = getCountries()
|
|
141
|
+
|
|
142
|
+
for (const iso2 of isoList) {
|
|
143
|
+
const name = new Intl.DisplayNames([locale ?? 'en-US'], { type: 'region' }).of(iso2)
|
|
144
|
+
|
|
145
|
+
if (name) {
|
|
146
|
+
countriesList.push({
|
|
147
|
+
value: iso2,
|
|
148
|
+
label: name,
|
|
149
|
+
flagSrc: getCountryFlagUrl(iso2)
|
|
150
|
+
})
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return countriesList
|
|
155
|
+
}
|
|
156
|
+
</script>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: formatNumber
|
|
3
|
+
description: The module formatNumber is a function that formats numbers with the native api [Intl.NumberFormat](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) from browsers and Node.js
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{ $frontmatter.title }}
|
|
7
|
+
|
|
8
|
+
{{ $frontmatter.description }}
|
|
9
|
+
|
|
10
|
+
> This module uses the native api [Intl.NumberFormat](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) from browsers
|
|
11
|
+
|
|
12
|
+
<MazInput v-model="numberValue" type="number" />
|
|
13
|
+
|
|
14
|
+
<div
|
|
15
|
+
style="padding: 16px; margin-top: 16px; background-color: hsl(var(--maz-background-300));"
|
|
16
|
+
class="maz-flex maz-flex-center maz-rounded maz-gap-0.5"
|
|
17
|
+
>
|
|
18
|
+
formatted value: <strong>{{ numberFormatted }}</strong>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
```vue
|
|
22
|
+
<script lang="ts" setup>
|
|
23
|
+
import { formatNumber } from 'maz-ui'
|
|
24
|
+
import { computed, ref } from 'vue'
|
|
25
|
+
|
|
26
|
+
const numberValue = ref(69)
|
|
27
|
+
|
|
28
|
+
const numberFormatted = computed(() =>
|
|
29
|
+
formatNumber(numberValue.value, 'en-US'),
|
|
30
|
+
)
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<template>
|
|
34
|
+
<MazInput v-model="numberValue" type="number" />
|
|
35
|
+
|
|
36
|
+
<div
|
|
37
|
+
style="padding: 16px; margin-top: 16px; background-color: hsl(var(--maz-background-300));"
|
|
38
|
+
>
|
|
39
|
+
{{ numberFormatted }}
|
|
40
|
+
</div>
|
|
41
|
+
</template>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Options
|
|
45
|
+
|
|
46
|
+
> All options from [Intl.NumberFormat](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) are available
|
|
47
|
+
|
|
48
|
+
## Default options
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
const DEFAULT_OPTIONS: Intl.NumberFormatOptions = {
|
|
52
|
+
minimumFractionDigits: 2,
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
<script lang="ts" setup>
|
|
57
|
+
import { formatNumber } from 'maz-ui'
|
|
58
|
+
import { ref, computed } from 'vue'
|
|
59
|
+
|
|
60
|
+
const numberValue = ref(69)
|
|
61
|
+
|
|
62
|
+
const numberFormatted = computed(() =>
|
|
63
|
+
formatNumber(numberValue.value, 'en-US'),
|
|
64
|
+
)
|
|
65
|
+
</script>
|