maz-ui 5.1.0 → 5.2.0-beta.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.
- package/dist/assets/MazSelect.JjmE1lGO.css +2 -0
- package/dist/assets/{MazSlider.B6IG9SKD.css → MazSlider.Cn29GnTJ.css} +1 -1
- package/dist/chunks/{MazDialogConfirm.CewOLyYr.js → MazDialogConfirm.BL59GDsx.js} +8 -2
- package/dist/chunks/{MazDropzone.BaPph4gM.js → MazDropzone.D180OqDW.js} +1 -1
- package/dist/chunks/{MazInputPhoneNumber.CFe6CXyv.js → MazInputPhoneNumber.BXFEI-eS.js} +1 -1
- package/dist/chunks/{MazLink.D2hozdtA.js → MazLink.DhJZNmks.js} +1 -1
- package/dist/chunks/{MazReadMore.cBAr5X_C.js → MazReadMore.DzcNsBeO.js} +1 -1
- package/dist/chunks/{MazSelect.C90-uZWy.js → MazSelect.DC-7menA.js} +2 -2
- package/dist/chunks/{MazSelectCountry.DRKCTdop.js → MazSelectCountry.5G-rdIHV.js} +1 -1
- package/dist/chunks/{MazSlider.xqineNAn.js → MazSlider.BhyTD25K.js} +13 -10
- package/dist/chunks/{dialog.CZ2L20Jb.js → dialog.bL4e40zE.js} +1 -1
- package/dist/components/MazDialogConfirm.js +1 -1
- package/dist/components/MazDialogConfirm.vue.d.ts +4 -4
- package/dist/components/MazDropzone.js +1 -1
- package/dist/components/MazInputPhoneNumber.js +1 -1
- package/dist/components/MazLink.js +1 -1
- package/dist/components/MazLink.vue.d.ts +1 -1
- package/dist/components/MazReadMore.js +1 -1
- package/dist/components/MazSelect.js +1 -1
- package/dist/components/MazSelectCountry.js +1 -1
- package/dist/components/MazSlider.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/css/main.css +1 -1
- package/dist/plugins/dialog.js +1 -1
- package/dist/plugins/index.js +1 -1
- package/docs/agents/agents-md.md +32 -17
- package/docs/agents/claude-rule.md +32 -17
- package/docs/components/maz-dialog-confirm.md +2 -2
- package/docs/components/maz-dropdown.md +1 -1
- package/docs/components/maz-input-number.md +1 -1
- package/docs/components/maz-input-phone-number.md +1 -1
- package/docs/components/maz-input.md +1 -1
- package/docs/components/maz-link.md +1 -1
- package/docs/components/maz-pull-to-refresh.md +1 -1
- package/docs/components/maz-select-country.md +2 -2
- package/docs/composables/use-dialog.md +2 -1
- package/docs/ecosystem/icons/index.md +29 -26
- package/docs/ecosystem/mcp.md +47 -2
- package/docs/ecosystem/node/setup-agents.md +76 -3
- package/docs/guide/ai-agents.md +52 -18
- package/docs/manifest.json +1 -1
- package/docs/plugins/dialog.md +9 -5
- package/docs/rules.md +32 -17
- package/package.json +27 -9
- package/dist/assets/MazSelect.D0EtY2Ea.css +0 -2
package/docs/plugins/dialog.md
CHANGED
|
@@ -53,7 +53,8 @@ You can display a simple dialog with a title and a message. The dialog will have
|
|
|
53
53
|
|
|
54
54
|
```vue
|
|
55
55
|
<script lang="ts" setup>
|
|
56
|
-
import { useDialog
|
|
56
|
+
import { useDialog } from 'maz-ui/composables/useDialog'
|
|
57
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
57
58
|
|
|
58
59
|
const dialog = useDialog()
|
|
59
60
|
const toast = useToast()
|
|
@@ -91,7 +92,8 @@ The buttons property allows you to display custom buttons in the dialog and repl
|
|
|
91
92
|
|
|
92
93
|
```vue
|
|
93
94
|
<script lang="ts" setup>
|
|
94
|
-
import { useDialog
|
|
95
|
+
import { useDialog } from 'maz-ui/composables/useDialog'
|
|
96
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
95
97
|
|
|
96
98
|
const dialog = useDialog()
|
|
97
99
|
const toast = useToast()
|
|
@@ -143,7 +145,8 @@ The buttons property allows you to display custom buttons in the dialog and repl
|
|
|
143
145
|
|
|
144
146
|
```vue
|
|
145
147
|
<script lang="ts" setup>
|
|
146
|
-
import { useDialog
|
|
148
|
+
import { useDialog } from 'maz-ui/composables/useDialog'
|
|
149
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
147
150
|
|
|
148
151
|
const dialog = useDialog()
|
|
149
152
|
const toast = useToast()
|
|
@@ -161,7 +164,7 @@ async function openDialogResponse() {
|
|
|
161
164
|
},
|
|
162
165
|
{
|
|
163
166
|
text: 'Accept',
|
|
164
|
-
type: '
|
|
167
|
+
type: 'accept',
|
|
165
168
|
response: 'Accepted Response',
|
|
166
169
|
color: 'secondary',
|
|
167
170
|
}
|
|
@@ -193,7 +196,8 @@ You can close the dialog programmatically by calling the close method returned b
|
|
|
193
196
|
|
|
194
197
|
```vue
|
|
195
198
|
<script lang="ts" setup>
|
|
196
|
-
import { useDialog
|
|
199
|
+
import { useDialog } from 'maz-ui/composables/useDialog'
|
|
200
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
197
201
|
|
|
198
202
|
const dialog = useDialog()
|
|
199
203
|
|
package/docs/rules.md
CHANGED
|
@@ -7,42 +7,57 @@ description: "How to use maz-ui and its ecosystem in this project: look-up workf
|
|
|
7
7
|
|
|
8
8
|
> These rules and the docs in `node_modules/maz-ui/docs` match the installed version of maz-ui (`node_modules/maz-ui/package.json`).
|
|
9
9
|
|
|
10
|
-
This project is built with **maz-ui** and its ecosystem
|
|
10
|
+
This project is built with **maz-ui** and its ecosystem. Reuse what it provides instead of re-implementing it: most UI elements, helpers, icons and styles you need already exist.
|
|
11
11
|
|
|
12
12
|
### Look it up before you write it
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
- **MCP server `maz-ui`** (when available): `search_docs` (describe the need: "confirm before delete"), `get_component_api`, `find_icons`, `get_theme_tokens`, `get_doc`, `review_code`.
|
|
15
|
+
- **Version-matched docs** in `node_modules/maz-ui/docs/` (start with `README.md`; in a monorepo, the `maz-ui` of the app).
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
- **Version-matched docs** in `node_modules/maz-ui/docs/` (start with `README.md`; in a monorepo, resolve `maz-ui` from the app package). Read the relevant page before using an API.
|
|
17
|
+
Never guess an API: only use documented props, events, slots and imports.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
### Which package for what
|
|
20
|
+
|
|
21
|
+
`maz-ui` (components, composables, directives, plugins), `@maz-ui/themes` (brand colors, fonts, dark mode), `@maz-ui/icons` (icons, logos, flags), `@maz-ui/utils` (helpers), `@maz-ui/translations` (texts of the components), `@maz-ui/nuxt` (Nuxt module).
|
|
20
22
|
|
|
21
23
|
### Components
|
|
22
24
|
|
|
23
|
-
- Use `Maz*` components instead of native elements or hand-made widgets: `MazBtn` (not `<button>`), `MazInput`, `MazSelect`, `MazCheckbox`, `
|
|
25
|
+
- Use `Maz*` components instead of native elements or hand-made widgets: `MazBtn` (not `<button>`), `MazLink`, `MazInput`, `MazSelect`, `MazCheckbox`, `MazDialog`, `MazDrawer`, `MazPopover`, `MazDropdown`, `MazTabs`, `MazTable`, `MazCard`, `MazAvatar`, `MazBadge`, `MazAlert`, `MazDatePicker`, `MazInputPhoneNumber`, `MazDropzone`, `MazPagination`...
|
|
24
26
|
- Prop values are typed: colors are `primary | secondary | accent | info | success | warning | destructive | contrast | transparent` (plus `surface` on some components), sizes `mini | xs | sm | md | lg | xl`.
|
|
25
|
-
-
|
|
27
|
+
- A button with only an icon needs an `aria-label`.
|
|
28
|
+
|
|
29
|
+
### Feedback, overlays and forms
|
|
30
|
+
|
|
31
|
+
- `useToast()` for notifications, `useDialog()` or `MazDialogConfirm` for confirmations, `useWait()` for loading states, `MazSkeleton` / `MazSpinner` while data loads.
|
|
32
|
+
- These composables need their plugin. Vue: `app.use(ToastPlugin)` from `maz-ui/plugins/toast` (`DialogPlugin`, `WaitPlugin`, `AosPlugin` likewise). Nuxt: `mazUi: { plugins: { toast: true } }`, off by default like the directives (`mazUi.directives.vTooltip`, or import the directive).
|
|
26
33
|
- Forms: `useFormValidator` / `useFormField` with your Standard Schema library (Zod, Valibot, ArkType).
|
|
27
34
|
|
|
28
35
|
### Icons
|
|
29
36
|
|
|
30
|
-
Use `@maz-ui/icons
|
|
37
|
+
Use `@maz-ui/icons`, never inline SVG nor another icon library. Pick the format by usage:
|
|
38
|
+
|
|
39
|
+
- **Icon props** (`<MazBtn :start-icon>`, `<MazIcon :icon>`...): the raw SVG string, the lightest, `@maz-ui/icons/raw/MazTrash`.
|
|
40
|
+
- **Directly in a template**: the component, `@maz-ui/icons/static/MazTrash`, then `<MazTrash class="size-5 text-muted" />` (size and color from the text: `1em`, `currentColor`).
|
|
41
|
+
- **Not visible at first render** (`v-if`, menus, dialogs, tabs): the lazy component, `@maz-ui/icons/lazy/MazTrash`. Never for icons visible on load: each one is an extra request.
|
|
42
|
+
- `<img>` or CSS only for multicolor icons (flags, logos): `@maz-ui/icons/svg/<name>.svg`, the text color does not apply there.
|
|
31
43
|
|
|
32
|
-
### Helpers
|
|
44
|
+
### Helpers
|
|
33
45
|
|
|
34
|
-
Use `@maz-ui/utils
|
|
46
|
+
Use `@maz-ui/utils/helpers/<name>` and the maz-ui composables instead of lodash, VueUse or hand-written code: `debounce`, `throttle`, `sleep`, `isEqual`, `formatCurrency`, `formatDate`, `formatNumber`, `formatPhoneNumber`, `capitalize`, `normalizeString`, `getCookie` / `setCookie`, `useBreakpoints`, `useWindowSize`, `useTimer`, `useIdleTimeout`, `useSwipe`, `vClickOutside`, `vTooltip`, `vLazyImg`...
|
|
47
|
+
|
|
48
|
+
### Texts and languages
|
|
49
|
+
|
|
50
|
+
The texts built in the components come from `@maz-ui/translations`: change the language with `useTranslations().setLocale('fr')` and customize the texts in its options, not in every component.
|
|
35
51
|
|
|
36
52
|
### Styling with Tailwind
|
|
37
53
|
|
|
38
54
|
The maz-ui theme is exposed to Tailwind (`@import 'maz-ui/tailwindcss/theme.css'`) and the project usually extends it. Only use theme tokens:
|
|
39
55
|
|
|
40
|
-
- **Project tokens first**: the Tailwind entry of the project
|
|
41
|
-
|
|
42
|
-
-
|
|
43
|
-
- Never use the default Tailwind palette (`bg-blue-500`, `text-gray-600`, `bg-white`, `text-black`) nor hard-coded colors (`#fff`, `rgb()`, `bg-[#...]`). Theme colors already adapt to dark mode: do not add `dark:` color overrides.
|
|
56
|
+
- **Project tokens first**: the Tailwind entry of the project adds its own `@theme` tokens, variants and utilities, and the `definePreset` file sets the brand values. `get_theme_tokens` lists both (or read these files). When a value is missing, add a token to the project `@theme` instead of an arbitrary value.
|
|
57
|
+
- Colors: `primary`, `secondary`, `accent`, `info`, `success`, `warning`, `destructive`, `contrast` (each with `-foreground` and `-50` to `-950`), `surface`, `foreground`, `muted`, `divider`, `overlay`, `bg-container`, `bg-input`. Example: `bg-surface text-foreground border-divider`.
|
|
58
|
+
- Never the default Tailwind palette (`bg-blue-500`, `text-gray-600`, `bg-white`, `text-black`) nor hard-coded colors (`#fff`, `rgb()`, `bg-[#...]`). Theme colors already adapt to dark mode: no `dark:` color overrides.
|
|
44
59
|
- Radius `rounded-*`, shadows `shadow-sm` to `shadow-xl` and `shadow-elevation`, spacing scale (`p-4`, `gap-2`), breakpoints `mob-*`, `tab-*`, `lap-*` (plus `sm` to `2xl`), utilities `flex-center`, `padded-container`.
|
|
45
|
-
- **No `maz:` prefix** in this project: it is internal to the maz-ui library
|
|
60
|
+
- **No `maz:` prefix** in this project: it is internal to the maz-ui library.
|
|
46
61
|
- In custom CSS, use the variables: `var(--maz-primary)`, `var(--maz-rounded-md)`, `calc(var(--maz-space) * 4)`.
|
|
47
62
|
|
|
48
63
|
### Theme
|
|
@@ -51,8 +66,8 @@ Brand colors, fonts, radius and spacing come from a `@maz-ui/themes` preset (`de
|
|
|
51
66
|
|
|
52
67
|
### Imports
|
|
53
68
|
|
|
54
|
-
- Deep imports: `maz-ui/components/MazBtn`, `maz-ui/composables/useToast`, `maz-ui/directives/vTooltip`, `@maz-ui/utils/helpers/debounce`, `@maz-ui/icons/
|
|
55
|
-
- With `@maz-ui/nuxt`, components and composables are auto-imported: do not import them.
|
|
69
|
+
- Deep imports: `maz-ui/components/MazBtn`, `maz-ui/composables/useToast`, `maz-ui/directives/vTooltip`, `maz-ui/plugins/toast`, `@maz-ui/utils/helpers/debounce`, `@maz-ui/icons/raw/MazTrash`. The `maz-ui` root entry only exports types. Never import from `maz-ui/src` or `maz-ui/dist`.
|
|
70
|
+
- With `@maz-ui/nuxt`, components and composables are auto-imported: do not import them. Icons are not: import them. The theme and the translations are set in the `mazUi` options of `nuxt.config`, not with the `MazUi` Vue plugin.
|
|
56
71
|
|
|
57
72
|
### Before you finish
|
|
58
73
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maz-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.2.0-beta.0",
|
|
5
5
|
"description": "A standalone components library for Vue.Js 3 & Nuxt.Js 3",
|
|
6
6
|
"author": "Louis Mazel <me@loicmazuel.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -201,10 +201,10 @@
|
|
|
201
201
|
},
|
|
202
202
|
"dependencies": {
|
|
203
203
|
"@floating-ui/vue": "^2.0.1",
|
|
204
|
-
"@maz-ui/icons": "5.0.0",
|
|
205
|
-
"@maz-ui/themes": "5.0.0",
|
|
206
|
-
"@maz-ui/translations": "5.0.0",
|
|
207
|
-
"@maz-ui/utils": "5.0.0",
|
|
204
|
+
"@maz-ui/icons": "^5.2.0-beta.0",
|
|
205
|
+
"@maz-ui/themes": "^5.2.0-beta.0",
|
|
206
|
+
"@maz-ui/translations": "^5.2.0-beta.0",
|
|
207
|
+
"@maz-ui/utils": "^5.2.0-beta.0",
|
|
208
208
|
"@tanstack/vue-virtual": "^3.13.47",
|
|
209
209
|
"chart.js": "^4.5.1",
|
|
210
210
|
"dayjs": "^1.11.23",
|
|
@@ -213,27 +213,45 @@
|
|
|
213
213
|
"marked": "^18.1.1"
|
|
214
214
|
},
|
|
215
215
|
"devDependencies": {
|
|
216
|
-
"@
|
|
217
|
-
"@maz-ui/
|
|
218
|
-
"@maz-ui/
|
|
219
|
-
"@maz-ui/
|
|
216
|
+
"@codecov/vite-plugin": "^2.0.1",
|
|
217
|
+
"@maz-ui/eslint-config": "^5.0.0",
|
|
218
|
+
"@maz-ui/node": "^5.2.0-beta.0",
|
|
219
|
+
"@maz-ui/stylelint-config": "^5.2.0-beta.0",
|
|
220
|
+
"@maz-ui/vite-config": "^0.0.0",
|
|
220
221
|
"@tailwindcss/cli": "^4.3.3",
|
|
221
222
|
"@tailwindcss/postcss": "^4.3.3",
|
|
222
223
|
"@tailwindcss/vite": "^4.3.3",
|
|
224
|
+
"@types/node": "^22.20.5",
|
|
225
|
+
"@vitejs/plugin-vue": "^6.0.10",
|
|
226
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
223
227
|
"@vue/test-utils": "^2.5.1",
|
|
224
228
|
"autoprefixer": "^10.6.1",
|
|
229
|
+
"cross-env": "^10.1.0",
|
|
230
|
+
"eslint": "^10.13.0",
|
|
231
|
+
"glob": "^13.0.6",
|
|
225
232
|
"jsdom": "^30.1.3",
|
|
226
233
|
"lightningcss": "^1.33.0",
|
|
227
234
|
"nuxt": "^4.6.2",
|
|
235
|
+
"postcss": "^8.5.31",
|
|
228
236
|
"postcss-nested": "^9.0.0",
|
|
229
237
|
"sass": "^1.105.2",
|
|
230
238
|
"shiki": "^4.5.0",
|
|
239
|
+
"stylelint": "^17.16.0",
|
|
231
240
|
"tailwindcss": "^4.3.3",
|
|
241
|
+
"tsx": "^4.23.15",
|
|
242
|
+
"typescript": "^6.0.3",
|
|
232
243
|
"unplugin-auto-import": "^21.1.0",
|
|
233
244
|
"unplugin-vue-components": "^32.1.0",
|
|
234
245
|
"valibot": "^1.5.0",
|
|
246
|
+
"vite": "^8.3.4",
|
|
247
|
+
"vite-plugin-dts": "^5.1.2",
|
|
248
|
+
"vite-plugin-lib-inject-css": "^2.2.2",
|
|
249
|
+
"vite-svg-loader": "^5.1.3",
|
|
250
|
+
"vitest": "5.0.5",
|
|
235
251
|
"vitest-axe": "^0.1.0",
|
|
252
|
+
"vue": "^3.5.44",
|
|
236
253
|
"vue-router": "^5.4.0",
|
|
254
|
+
"vue-tsc": "3.3.13",
|
|
237
255
|
"zod": "^4.6.7"
|
|
238
256
|
},
|
|
239
257
|
"lint-staged": {
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-2e0180bb],[data-v-2e0180bb]:before,[data-v-2e0180bb]:after{--tw-duration:initial;--tw-ease:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-border-style:solid;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000}[data-v-2e0180bb]::backdrop{--tw-duration:initial;--tw-ease:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-border-style:solid;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000}}}.m-select.--disabled .m-select-input[data-v-2e0180bb]{cursor:var(--maz-disabled-cursor)}.m-select[data-v-2e0180bb]:not(.--disabled) .m-input-input{cursor:pointer}.m-select.--is-open .m-select-chevron[data-v-2e0180bb]{transform:rotate(180deg)}.m-select button.maz-custom[data-v-2e0180bb]{cursor:pointer;appearance:none;--tw-border-style:none;border-style:none}.m-select button.maz-custom[data-v-2e0180bb]:disabled{cursor:var(--maz-disabled-cursor)}.m-select-chevron[data-v-2e0180bb]{color:var(--maz-color-muted,var(--maz-muted));transition-property:all;transition-timing-function:var(--tw-ease,var(--ease-out));transition-duration:var(--tw-duration,var(--duration-normal));--tw-duration:.3s;--tw-ease:var(--maz-easing-out,cubic-bezier(.4, 0, .2, 1));transition-duration:.3s;transition-timing-function:var(--maz-easing-out,cubic-bezier(.4, 0, .2, 1));font-size:1.2em}.m-select-input[data-v-2e0180bb]{cursor:pointer;width:100%;height:100%}.m-select-input[data-v-2e0180bb] input{caret-color:#0000}.m-select-input__toggle-button[data-v-2e0180bb]{background-color:#0000;justify-content:center;align-items:center;height:100%;padding-inline-start:0;display:flex}.m-select-list[data-v-2e0180bb]{z-index:1050;gap:var(--maz-space);border-radius:var(--maz-rounded-md);background-color:var(--maz-container-bg,var(--maz-surface));--tw-shadow:var(--maz-shadow-style-elevation);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-drop-shadow-size:drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));--tw-drop-shadow:drop-shadow(var(--maz-drop-shadow-md,0 3px 3px #0000001f));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);flex-direction:column;min-inline-size:3.5rem;display:flex;overflow:hidden}.m-select-list-item[data-v-2e0180bb]{cursor:pointer;align-items:center;gap:calc(var(--maz-space) * 3);text-overflow:ellipsis;white-space:nowrap;border-radius:var(--maz-rounded-md);border-style:var(--tw-border-style);border-width:var(--maz-border-width);--tw-border-style:solid;width:100%;padding-inline:calc(var(--maz-space) * 3);padding-block:calc(var(--maz-space) * 2);text-align:start;--tw-outline-style:none;background-color:#0000;border-style:solid;border-color:#0000;outline-style:none;display:flex;overflow:hidden}@media (forced-colors:active){.m-select-list-item[data-v-2e0180bb]{outline-offset:2px;outline:2px solid #0000}}.m-select-list-item[data-v-2e0180bb]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ease-out));transition-duration:var(--tw-duration,var(--duration-normal));--tw-duration:.3s;--tw-ease:var(--maz-easing-in-out,cubic-bezier(.4, 0, .2, 1));transition-duration:.3s;transition-timing-function:var(--maz-easing-in-out,cubic-bezier(.4, 0, .2, 1))}.m-select-list-item[data-v-2e0180bb]:focus-within{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}@media (hover:hover){.m-select-list-item[data-v-2e0180bb]:hover{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}}.m-select-list-item[data-v-2e0180bb]:where(.dark,.dark *):focus-within{background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}@media (hover:hover){.m-select-list-item[data-v-2e0180bb]:where(.dark,.dark *):hover{background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}}.m-select-list-item span[data-v-2e0180bb]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.m-select-list-item.--is-none-value[data-v-2e0180bb]{color:var(--maz-color-muted,var(--maz-muted))}.m-select-list-item.--is-selected[data-v-2e0180bb]{color:var(--selected-text-color);background-color:var(--selected-bg-color)}.m-select-list-item.--is-selected[data-v-2e0180bb]:focus-within{outline:var(--selected-text-color) solid var(--maz-border-width);outline-offset:2px}.m-select-list-item.--is-selected.--transparent[data-v-2e0180bb]{background-color:var(--maz-color-surface,var(--maz-surface))}.m-select-list__no-results[data-v-2e0180bb]{padding:calc(var(--maz-space) * 4);justify-content:center;align-items:center;display:flex}.m-select-list__scroll-wrapper[data-v-2e0180bb]{gap:var(--maz-space);padding:calc(var(--maz-space) * 2);flex-direction:column;flex:1;display:flex;overflow:auto}.m-select-list__scroll-wrapper[data-v-2e0180bb]::-webkit-scrollbar{inline-size:.1875rem}.m-select-list__scroll-wrapper[data-v-2e0180bb]::-webkit-scrollbar-track{background:0 0}.m-select-list__scroll-wrapper[data-v-2e0180bb]::-webkit-scrollbar-thumb{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}.m-select-list__scroll-wrapper[data-v-2e0180bb]::-webkit-scrollbar-thumb:where(){background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-select-list__scroll-wrapper[data-v-2e0180bb]::-webkit-scrollbar-thumb{border-radius:1000px}.m-select-list__scroll-wrapper[data-v-2e0180bb]{scrollbar-width:thin;--tw-scrollbar-thumb:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h));--tw-scrollbar-track:transparent;scrollbar-color:var(--tw-scrollbar-thumb) var(--tw-scrollbar-track)}.m-select-list__search-wrapper[data-v-2e0180bb]{padding-inline:calc(var(--maz-space) * 2);padding-top:calc(var(--maz-space) * 2)}.m-select-list-optgroup[data-v-2e0180bb]{padding:calc(var(--maz-space) * .5);text-align:start;color:var(--maz-color-muted,var(--maz-muted));flex:none;font-size:.875em}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scrollbar-thumb{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-scrollbar-track{syntax:"<color>";inherits:false;initial-value:#0000}
|