@maz-ui/mcp 5.0.1-beta.0 → 5.1.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/README.md +61 -228
- package/bin/maz-ui-mcp.mjs +2 -5
- package/dist/cli.d.mts +7 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.mjs +14 -0
- package/dist/index.d.mts +340 -0
- package/dist/index.d.ts +340 -0
- package/dist/index.mjs +14 -0
- package/dist/shared/mcp.DzqVbCaL.mjs +2346 -0
- package/docs/README.md +207 -0
- package/docs/agents/agents-md.md +52 -0
- package/docs/agents/claude-rule.md +52 -0
- package/docs/components/maz-accordion.md +76 -0
- package/docs/{src/components → components}/maz-alert.md +31 -164
- package/docs/components/maz-animated-counter.md +87 -0
- package/docs/components/maz-animated-element.md +46 -0
- package/docs/components/maz-animated-text.md +53 -0
- package/docs/components/maz-avatar.md +193 -0
- package/docs/components/maz-backdrop.md +178 -0
- package/docs/{src/components → components}/maz-badge.md +26 -67
- package/docs/components/maz-bottom-sheet.md +257 -0
- package/docs/{src/components → components}/maz-btn-group.md +26 -189
- package/docs/{src/components → components}/maz-btn.md +60 -245
- package/docs/components/maz-card-spotlight.md +84 -0
- package/docs/{src/components → components}/maz-card.md +67 -192
- package/docs/components/maz-carousel.md +153 -0
- package/docs/{src/components → components}/maz-chart.md +17 -161
- package/docs/components/maz-checkbox.md +138 -0
- package/docs/components/maz-checklist.md +251 -0
- package/docs/components/maz-circular-progress-bar.md +109 -0
- package/docs/{src/components → components}/maz-code-highlight.md +15 -93
- package/docs/components/maz-container.md +241 -0
- package/docs/{src/components → components}/maz-date-picker.md +85 -454
- package/docs/components/maz-dialog-confirm.md +215 -0
- package/docs/components/maz-dialog.md +143 -0
- package/docs/components/maz-drawer.md +106 -0
- package/docs/components/maz-dropdown.md +419 -0
- package/docs/{src/components → components}/maz-dropzone.md +80 -221
- package/docs/components/maz-expand-animation.md +82 -0
- package/docs/components/maz-fullscreen-loader.md +58 -0
- package/docs/components/maz-gallery.md +79 -0
- package/docs/{src/components → components}/maz-icon.md +32 -83
- package/docs/components/maz-input-code.md +73 -0
- package/docs/components/maz-input-number.md +79 -0
- package/docs/components/maz-input-phone-number.md +536 -0
- package/docs/components/maz-input-price.md +68 -0
- package/docs/components/maz-input-tags.md +112 -0
- package/docs/{src/components → components}/maz-input.md +74 -221
- package/docs/components/maz-lazy-img.md +113 -0
- package/docs/components/maz-link.md +146 -0
- package/docs/components/maz-loading-bar.md +38 -0
- package/docs/{src/components → components}/maz-markdown-editor.md +72 -125
- package/docs/components/maz-pagination.md +82 -0
- package/docs/components/maz-popover.md +794 -0
- package/docs/{src/components → components}/maz-pull-to-refresh.md +59 -45
- package/docs/components/maz-radio-buttons.md +313 -0
- package/docs/components/maz-radio.md +119 -0
- package/docs/{src/components → components}/maz-read-more.md +31 -122
- package/docs/components/maz-reading-progress-bar.md +96 -0
- package/docs/{src/components → components}/maz-select-country.md +80 -340
- package/docs/{src/components → components}/maz-select.md +76 -206
- package/docs/components/maz-sidebar-content.md +25 -0
- package/docs/components/maz-sidebar-footer.md +25 -0
- package/docs/components/maz-sidebar-group.md +27 -0
- package/docs/components/maz-sidebar-header.md +25 -0
- package/docs/components/maz-sidebar-menu-button.md +41 -0
- package/docs/components/maz-sidebar-menu-item.md +25 -0
- package/docs/components/maz-sidebar-menu-sub.md +32 -0
- package/docs/components/maz-sidebar-menu.md +25 -0
- package/docs/components/maz-sidebar-separator.md +21 -0
- package/docs/components/maz-sidebar-trigger.md +25 -0
- package/docs/{src/components → components}/maz-sidebar.md +117 -329
- package/docs/{src/components → components}/maz-skeleton.md +27 -156
- package/docs/{src/components → components}/maz-slider.md +33 -66
- package/docs/components/maz-spinner.md +84 -0
- package/docs/{src/components → components}/maz-stepper.md +43 -185
- package/docs/components/maz-switch.md +86 -0
- package/docs/components/maz-table-cell.md +27 -0
- package/docs/components/maz-table-row.md +28 -0
- package/docs/components/maz-table-title.md +27 -0
- package/docs/components/maz-table-virtualizer.md +31 -0
- package/docs/components/maz-table.md +426 -0
- package/docs/components/maz-tabs-bar.md +43 -0
- package/docs/components/maz-tabs-content-item.md +27 -0
- package/docs/components/maz-tabs-content.md +27 -0
- package/docs/{src/components → components}/maz-tabs.md +89 -126
- package/docs/components/maz-textarea.md +255 -0
- package/docs/components/maz-ticker.md +427 -0
- package/docs/components/maz-timeline.md +304 -0
- package/docs/components/maz-ui-provider.md +26 -0
- package/docs/{src/components → components}/maz-window-mockup.md +38 -105
- package/docs/composables/use-aos.md +41 -0
- package/docs/composables/use-breakpoints.md +42 -0
- package/docs/composables/use-dialog.md +58 -0
- package/docs/{src/composables → composables}/use-display-names.md +12 -59
- package/docs/{src/composables → composables}/use-drag.md +14 -68
- package/docs/{src/composables → composables}/use-form-validator.md +22 -696
- package/docs/{src/composables → composables}/use-idle-timeout.md +13 -97
- package/docs/{src/composables → composables}/use-pull-to-refresh.md +14 -7
- package/docs/{src/composables → composables}/use-reading-time.md +20 -56
- package/docs/composables/use-string-matching.md +41 -0
- package/docs/{src/composables → composables}/use-swipe.md +14 -81
- package/docs/{src/composables → composables}/use-timer.md +12 -38
- package/docs/composables/use-toast.md +50 -0
- package/docs/{src/composables → composables}/use-user-visibility.md +14 -56
- package/docs/composables/use-wait.md +50 -0
- package/docs/composables/use-window-size.md +25 -0
- package/docs/{src/directives → directives}/click-outside.md +13 -99
- package/docs/{src/directives → directives}/fullscreen-img.md +10 -28
- package/docs/{src/directives → directives}/lazy-img.md +14 -49
- package/docs/{src/directives → directives}/tooltip.md +12 -217
- package/docs/{src/directives → directives}/zoom-img.md +11 -38
- package/docs/{src/ecosystem → ecosystem}/eslint-config.md +37 -29
- package/docs/ecosystem/icons/icon-set.md +25 -0
- package/docs/{src/ecosystem → ecosystem}/icons/index.md +22 -16
- package/docs/ecosystem/mcp.md +165 -0
- package/docs/{src/ecosystem → ecosystem}/node/exec-promise.md +12 -6
- package/docs/ecosystem/node/index.md +53 -0
- package/docs/{src/ecosystem → ecosystem}/node/logger.md +12 -6
- package/docs/{src/ecosystem → ecosystem}/node/print-banner.md +12 -4
- package/docs/ecosystem/node/setup-agents.md +102 -0
- package/docs/{src/ecosystem → ecosystem}/nuxt.md +46 -19
- package/docs/{src/ecosystem → ecosystem}/stylelint-config.md +33 -25
- package/docs/{src/ecosystem → ecosystem}/themes.md +72 -235
- package/docs/{src/ecosystem → ecosystem}/translations.md +25 -23
- package/docs/ecosystem/utils/camel-case.md +37 -0
- package/docs/ecosystem/utils/capitalize.md +37 -0
- package/docs/{src/ecosystem → ecosystem}/utils/check-availability.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/cookie.md +18 -12
- package/docs/ecosystem/utils/country-code-to-unicode-flag.md +128 -0
- package/docs/{src/ecosystem → ecosystem}/utils/currency.md +12 -26
- package/docs/{src/ecosystem → ecosystem}/utils/date.md +10 -24
- package/docs/ecosystem/utils/debounce-callback.md +44 -0
- package/docs/{src/ecosystem → ecosystem}/utils/debounce-id.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/debounce.md +14 -8
- package/docs/ecosystem/utils/fetch-locale-ip.md +39 -0
- package/docs/{src/ecosystem → ecosystem}/utils/format-json.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/format-phone-number.md +12 -6
- package/docs/ecosystem/utils/get-browser-locale.md +35 -0
- package/docs/ecosystem/utils/get-country-flag-url.md +67 -0
- package/docs/{src/ecosystem → ecosystem}/utils/get-error-message.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/idle-timeout.md +15 -9
- package/docs/{src/ecosystem → ecosystem}/utils/index.md +10 -13
- package/docs/{src/ecosystem → ecosystem}/utils/is-client.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/is-equal.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/is-ios.md +12 -6
- package/docs/ecosystem/utils/is-server.md +37 -0
- package/docs/ecosystem/utils/is-standalone-mode.md +49 -0
- package/docs/{src/ecosystem → ecosystem}/utils/kebab-case.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/normalize-string.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/number.md +10 -24
- package/docs/{src/ecosystem → ecosystem}/utils/pascal-case.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/prevent-ios-input-zoom.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/script-loader.md +16 -8
- package/docs/{src/ecosystem → ecosystem}/utils/sleep.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/snake-case.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/swipe-handler.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/textarea-autogrow.md +12 -6
- package/docs/{src/ecosystem → ecosystem}/utils/throttle-id.md +13 -7
- package/docs/{src/ecosystem → ecosystem}/utils/throttle.md +14 -8
- package/docs/ecosystem/utils/truthy-filter.md +37 -0
- package/docs/{src/ecosystem → ecosystem}/utils/types/deep-key-of.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/types/deep-partial.md +10 -4
- package/docs/ecosystem/utils/types/deep-required.md +45 -0
- package/docs/ecosystem/utils/types/flatten-object-keys.md +50 -0
- package/docs/{src/ecosystem → ecosystem}/utils/types/generic-instance-type.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/types/infer-maybe-ref.md +10 -4
- package/docs/ecosystem/utils/upper-first.md +38 -0
- package/docs/{src/ecosystem → ecosystem}/utils/user-visibility.md +12 -6
- package/docs/guide/ai-agents.md +237 -0
- package/docs/{src/guide → guide}/browser-support.md +22 -15
- package/docs/{src/guide → guide}/getting-started.md +34 -139
- package/docs/{src/guide → guide}/global-defaults.md +12 -11
- package/docs/{src/guide → guide}/maz-ui-provider.md +17 -16
- package/docs/{src/guide → guide}/migration-v5.md +95 -88
- package/docs/{src/guide → guide}/resolvers.md +33 -100
- package/docs/guide/tailwind.md +483 -0
- package/docs/{src/guide → guide}/vue.md +33 -39
- package/docs/manifest.json +1 -0
- package/docs/{src/plugins → plugins}/aos.md +20 -55
- package/docs/{src/plugins → plugins}/dialog.md +14 -161
- package/docs/plugins/toast.md +221 -0
- package/docs/plugins/wait.md +78 -0
- package/docs/reference/icons.md +46 -0
- package/docs/reference/tailwind-tokens.md +191 -0
- package/docs/rules.md +57 -0
- package/package.json +84 -22
- package/dist/mcp.d.mts +0 -153
- package/dist/mcp.d.ts +0 -153
- package/dist/mcp.mjs +0 -1511
- package/docs/generated-docs/maz-accordion.doc.md +0 -21
- package/docs/generated-docs/maz-alert.doc.md +0 -20
- package/docs/generated-docs/maz-animated-counter.doc.md +0 -17
- package/docs/generated-docs/maz-animated-element.doc.md +0 -14
- package/docs/generated-docs/maz-animated-text.doc.md +0 -17
- package/docs/generated-docs/maz-avatar.doc.md +0 -45
- package/docs/generated-docs/maz-backdrop.doc.md +0 -55
- package/docs/generated-docs/maz-badge.doc.md +0 -16
- package/docs/generated-docs/maz-bottom-sheet.doc.md +0 -24
- package/docs/generated-docs/maz-btn-group.doc.md +0 -20
- package/docs/generated-docs/maz-btn.doc.md +0 -33
- package/docs/generated-docs/maz-card-spotlight.doc.md +0 -16
- package/docs/generated-docs/maz-card.doc.md +0 -39
- package/docs/generated-docs/maz-carousel.doc.md +0 -17
- package/docs/generated-docs/maz-chart.doc.md +0 -10
- package/docs/generated-docs/maz-checkbox.doc.md +0 -33
- package/docs/generated-docs/maz-checklist.doc.md +0 -30
- package/docs/generated-docs/maz-circular-progress-bar.doc.md +0 -27
- package/docs/generated-docs/maz-code-highlight.doc.md +0 -11
- package/docs/generated-docs/maz-container.doc.md +0 -26
- package/docs/generated-docs/maz-date-picker.doc.md +0 -56
- package/docs/generated-docs/maz-dialog-confirm.doc.md +0 -24
- package/docs/generated-docs/maz-dialog.doc.md +0 -22
- package/docs/generated-docs/maz-drawer.doc.md +0 -25
- package/docs/generated-docs/maz-dropdown.doc.md +0 -45
- package/docs/generated-docs/maz-dropzone.doc.md +0 -82
- package/docs/generated-docs/maz-expand-animation.doc.md +0 -12
- package/docs/generated-docs/maz-fullscreen-loader.doc.md +0 -13
- package/docs/generated-docs/maz-gallery.doc.md +0 -17
- package/docs/generated-docs/maz-icon.doc.md +0 -16
- package/docs/generated-docs/maz-input-code.doc.md +0 -25
- package/docs/generated-docs/maz-input-number.doc.md +0 -33
- package/docs/generated-docs/maz-input-phone-number.doc.md +0 -62
- package/docs/generated-docs/maz-input-price.doc.md +0 -26
- package/docs/generated-docs/maz-input-tags.doc.md +0 -24
- package/docs/generated-docs/maz-input.doc.md +0 -54
- package/docs/generated-docs/maz-lazy-img.doc.md +0 -49
- package/docs/generated-docs/maz-link.doc.md +0 -31
- package/docs/generated-docs/maz-loading-bar.doc.md +0 -6
- package/docs/generated-docs/maz-markdown-editor.doc.md +0 -65
- package/docs/generated-docs/maz-pagination.doc.md +0 -21
- package/docs/generated-docs/maz-popover.doc.md +0 -79
- package/docs/generated-docs/maz-pull-to-refresh.doc.md +0 -50
- package/docs/generated-docs/maz-radio-buttons.doc.md +0 -34
- package/docs/generated-docs/maz-radio.doc.md +0 -33
- package/docs/generated-docs/maz-read-more.doc.md +0 -18
- package/docs/generated-docs/maz-reading-progress-bar.doc.md +0 -18
- package/docs/generated-docs/maz-select-country.doc.md +0 -45
- package/docs/generated-docs/maz-select.doc.md +0 -32
- package/docs/generated-docs/maz-sidebar-content.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-footer.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-group.doc.md +0 -11
- package/docs/generated-docs/maz-sidebar-header.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-menu-button.doc.md +0 -27
- package/docs/generated-docs/maz-sidebar-menu-item.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-menu-sub.doc.md +0 -16
- package/docs/generated-docs/maz-sidebar-menu.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-separator.doc.md +0 -0
- package/docs/generated-docs/maz-sidebar-trigger.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar.doc.md +0 -36
- package/docs/generated-docs/maz-skeleton.doc.md +0 -12
- package/docs/generated-docs/maz-slider.doc.md +0 -20
- package/docs/generated-docs/maz-spinner.doc.md +0 -6
- package/docs/generated-docs/maz-stepper.doc.md +0 -30
- package/docs/generated-docs/maz-switch.doc.md +0 -31
- package/docs/generated-docs/maz-table-cell.doc.md +0 -5
- package/docs/generated-docs/maz-table-row.doc.md +0 -12
- package/docs/generated-docs/maz-table-title.doc.md +0 -5
- package/docs/generated-docs/maz-table-virtualizer.doc.md +0 -20
- package/docs/generated-docs/maz-table.doc.md +0 -72
- package/docs/generated-docs/maz-tabs-bar.doc.md +0 -29
- package/docs/generated-docs/maz-tabs-content-item.doc.md +0 -11
- package/docs/generated-docs/maz-tabs-content.doc.md +0 -5
- package/docs/generated-docs/maz-tabs.doc.md +0 -20
- package/docs/generated-docs/maz-textarea.doc.md +0 -46
- package/docs/generated-docs/maz-ticker.doc.md +0 -25
- package/docs/generated-docs/maz-timeline.doc.md +0 -32
- package/docs/generated-docs/maz-ui-provider.doc.md +0 -12
- package/docs/generated-docs/maz-window-mockup.doc.md +0 -23
- package/docs/src/blog/v4.md +0 -276
- package/docs/src/blog/v5.md +0 -184
- package/docs/src/changelog.md +0 -7
- package/docs/src/components/index.md +0 -8
- package/docs/src/components/maz-accordion.md +0 -80
- package/docs/src/components/maz-animated-counter.md +0 -124
- package/docs/src/components/maz-animated-element.md +0 -36
- package/docs/src/components/maz-animated-text.md +0 -36
- package/docs/src/components/maz-avatar.md +0 -227
- package/docs/src/components/maz-backdrop.md +0 -250
- package/docs/src/components/maz-bottom-sheet.md +0 -533
- package/docs/src/components/maz-card-spotlight.md +0 -163
- package/docs/src/components/maz-carousel.md +0 -231
- package/docs/src/components/maz-checkbox.md +0 -168
- package/docs/src/components/maz-checklist.md +0 -414
- package/docs/src/components/maz-circular-progress-bar.md +0 -145
- package/docs/src/components/maz-container.md +0 -363
- package/docs/src/components/maz-dialog-confirm.md +0 -240
- package/docs/src/components/maz-dialog.md +0 -164
- package/docs/src/components/maz-drawer.md +0 -181
- package/docs/src/components/maz-dropdown.md +0 -691
- package/docs/src/components/maz-expand-animation.md +0 -99
- package/docs/src/components/maz-fullscreen-loader.md +0 -58
- package/docs/src/components/maz-gallery.md +0 -85
- package/docs/src/components/maz-input-code.md +0 -61
- package/docs/src/components/maz-input-number.md +0 -81
- package/docs/src/components/maz-input-phone-number.md +0 -942
- package/docs/src/components/maz-input-price.md +0 -67
- package/docs/src/components/maz-input-tags.md +0 -114
- package/docs/src/components/maz-lazy-img.md +0 -88
- package/docs/src/components/maz-link.md +0 -178
- package/docs/src/components/maz-loading-bar.md +0 -26
- package/docs/src/components/maz-pagination.md +0 -79
- package/docs/src/components/maz-popover.md +0 -1416
- package/docs/src/components/maz-radio-buttons.md +0 -462
- package/docs/src/components/maz-radio.md +0 -142
- package/docs/src/components/maz-reading-progress-bar.md +0 -74
- package/docs/src/components/maz-spinner.md +0 -93
- package/docs/src/components/maz-switch.md +0 -92
- package/docs/src/components/maz-table.md +0 -732
- package/docs/src/components/maz-textarea.md +0 -400
- package/docs/src/components/maz-ticker.md +0 -692
- package/docs/src/components/maz-timeline.md +0 -478
- package/docs/src/composables/use-aos.md +0 -34
- package/docs/src/composables/use-breakpoints.md +0 -35
- package/docs/src/composables/use-dialog.md +0 -88
- package/docs/src/composables/use-string-matching.md +0 -63
- package/docs/src/composables/use-toast.md +0 -71
- package/docs/src/composables/use-wait.md +0 -62
- package/docs/src/composables/use-window-size.md +0 -18
- package/docs/src/ecosystem/icons/icon-set.md +0 -123
- package/docs/src/ecosystem/mcp.md +0 -210
- package/docs/src/ecosystem/node/index.md +0 -53
- package/docs/src/ecosystem/utils/camel-case.md +0 -31
- package/docs/src/ecosystem/utils/capitalize.md +0 -50
- package/docs/src/ecosystem/utils/country-code-to-unicode-flag.md +0 -213
- package/docs/src/ecosystem/utils/debounce-callback.md +0 -38
- package/docs/src/ecosystem/utils/fetch-locale-ip.md +0 -33
- package/docs/src/ecosystem/utils/get-browser-locale.md +0 -29
- package/docs/src/ecosystem/utils/get-country-flag-url.md +0 -156
- package/docs/src/ecosystem/utils/is-server.md +0 -31
- package/docs/src/ecosystem/utils/is-standalone-mode.md +0 -43
- package/docs/src/ecosystem/utils/truthy-filter.md +0 -31
- package/docs/src/ecosystem/utils/types/deep-required.md +0 -39
- package/docs/src/ecosystem/utils/types/flatten-object-keys.md +0 -44
- package/docs/src/ecosystem/utils/upper-first.md +0 -32
- package/docs/src/guide/cli.md +0 -144
- package/docs/src/guide/migration-v4.md +0 -925
- package/docs/src/guide/tailwind.md +0 -158
- package/docs/src/index.md +0 -603
- package/docs/src/made-with-maz-ui.md +0 -58
- package/docs/src/plugins/toast.md +0 -349
- package/docs/src/plugins/wait.md +0 -109
- package/docs/src/theme-editor.md +0 -21
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: MazChart
|
|
3
|
-
description: MazChart is a standalone component which generates graphics & charts with chart.js
|
|
2
|
+
title: "MazChart"
|
|
3
|
+
description: "MazChart is a standalone component which generates graphics & charts with chart.js"
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/components/maz-chart"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# MazChart
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
> MazChart is a standalone component which generates graphics & charts with chart.js
|
|
11
|
+
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import MazChart from 'maz-ui/components/MazChart'`
|
|
14
|
+
- Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
|
|
15
|
+
- Web: https://maz-ui.com/components/maz-chart
|
|
9
16
|
|
|
10
17
|
## Documentation
|
|
11
18
|
|
|
@@ -13,19 +20,15 @@ Follow the [Chart.JS](https://www.chartjs.org/docs/latest/) documentation to cre
|
|
|
13
20
|
|
|
14
21
|
You can use all the plugins of Chart.JS. Follow the examples below.
|
|
15
22
|
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
**Tip: Performance**
|
|
24
|
+
|
|
25
|
+
`MazChart` lazy-loads `chart.js` on mount and registers only the controllers, elements and scales needed for the chart `type` you requested. A `<MazChart type="pie">` won't pull `BarController`, `LineElement` or any other unused module. The chart instance is also held outside Vue's reactivity (`shallowRef` + `markRaw`) - this avoids accidental deep proxying of the underlying chart and the freezes that can come with it on large datasets.
|
|
18
26
|
|
|
19
27
|
When `data` or `options` change after the initial render, `chart.update()` is called with `'none'` by default so updates don't animate. Pass `update-mode="default"` (or any other Chart.js update mode) to opt back into animations.
|
|
20
|
-
:::
|
|
21
28
|
|
|
22
29
|
## Bar chart
|
|
23
30
|
|
|
24
|
-
|
|
25
|
-
v-bind="{ ...barChart }"
|
|
26
|
-
/>
|
|
27
|
-
|
|
28
|
-
::: details View code
|
|
31
|
+
**Details: View code**
|
|
29
32
|
|
|
30
33
|
```vue
|
|
31
34
|
<script setup lang="ts">
|
|
@@ -71,19 +74,9 @@ const barChart = {
|
|
|
71
74
|
</template>
|
|
72
75
|
```
|
|
73
76
|
|
|
74
|
-
:::
|
|
75
|
-
|
|
76
77
|
## Pie chart
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
<MazChart
|
|
81
|
-
:type="pieChart.type"
|
|
82
|
-
:data="pieChart.data"
|
|
83
|
-
:options="pieChart.options"
|
|
84
|
-
/>
|
|
85
|
-
|
|
86
|
-
::: details View code
|
|
79
|
+
**Details: View code**
|
|
87
80
|
|
|
88
81
|
```vue
|
|
89
82
|
<script setup lang="ts">
|
|
@@ -121,15 +114,9 @@ const pieChart = {
|
|
|
121
114
|
</template>
|
|
122
115
|
```
|
|
123
116
|
|
|
124
|
-
:::
|
|
125
|
-
|
|
126
117
|
## Line chart
|
|
127
118
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
<MazChart v-bind="lineChart" />
|
|
131
|
-
|
|
132
|
-
::: details View code
|
|
119
|
+
**Details: View code**
|
|
133
120
|
|
|
134
121
|
```vue
|
|
135
122
|
<script setup lang="ts">
|
|
@@ -199,139 +186,10 @@ const lineChart = {
|
|
|
199
186
|
</template>
|
|
200
187
|
```
|
|
201
188
|
|
|
202
|
-
:::
|
|
203
|
-
|
|
204
|
-
<script setup lang="ts">
|
|
205
|
-
import dataLabels from 'chartjs-plugin-datalabels'
|
|
206
|
-
|
|
207
|
-
let delayed: boolean
|
|
208
|
-
|
|
209
|
-
const animation = {
|
|
210
|
-
onComplete: () => {
|
|
211
|
-
delayed = true
|
|
212
|
-
},
|
|
213
|
-
delay: (context: Record<string, any>) => {
|
|
214
|
-
let delay = 0
|
|
215
|
-
if (context.type === 'data' && context.mode === 'default' && !delayed) {
|
|
216
|
-
delay = context.dataIndex *100 + context.datasetIndex* 50
|
|
217
|
-
}
|
|
218
|
-
return delay
|
|
219
|
-
},
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
const pieChart = {
|
|
223
|
-
type: 'doughnut',
|
|
224
|
-
data: {
|
|
225
|
-
labels: [
|
|
226
|
-
`Perfects - ${40}%`,
|
|
227
|
-
`Bons - ${35}%`,
|
|
228
|
-
`Mauvais - ${25}%`,
|
|
229
|
-
],
|
|
230
|
-
datasets: [
|
|
231
|
-
{
|
|
232
|
-
backgroundColor: [
|
|
233
|
-
'#fcb731',
|
|
234
|
-
'rgb(28 209 161)',
|
|
235
|
-
'rgb(255, 109, 106)',
|
|
236
|
-
],
|
|
237
|
-
data: [
|
|
238
|
-
40,
|
|
239
|
-
35,
|
|
240
|
-
25,
|
|
241
|
-
],
|
|
242
|
-
},
|
|
243
|
-
],
|
|
244
|
-
},
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
const lineChart = {
|
|
248
|
-
type: 'line',
|
|
249
|
-
// locally registered and available for this chart
|
|
250
|
-
plugins: [dataLabels],
|
|
251
|
-
data: {
|
|
252
|
-
labels: [1, 2, 3, 4, 5, 6],
|
|
253
|
-
datasets: [
|
|
254
|
-
{
|
|
255
|
-
label: 'Moyenne des bons pronos du groupe',
|
|
256
|
-
data: [10, 15, 20, 25, 30, 35],
|
|
257
|
-
fill: false,
|
|
258
|
-
borderColor: 'rgb(28 209 161)',
|
|
259
|
-
tension: 0.5,
|
|
260
|
-
backgroundColor: '#17a2b8',
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
label: 'Vos bons pronos',
|
|
264
|
-
data: [20, 15, 15, 30, 22, 40],
|
|
265
|
-
fill: false,
|
|
266
|
-
borderColor: '#333',
|
|
267
|
-
tension: 0.5,
|
|
268
|
-
backgroundColor: '#1e90ff',
|
|
269
|
-
},
|
|
270
|
-
],
|
|
271
|
-
},
|
|
272
|
-
options: {
|
|
273
|
-
plugins: {
|
|
274
|
-
datalabels: {
|
|
275
|
-
backgroundColor: (context: Record<string, any>) => {
|
|
276
|
-
return context.dataset.backgroundColor
|
|
277
|
-
},
|
|
278
|
-
borderRadius: 4,
|
|
279
|
-
color: 'white',
|
|
280
|
-
font: {
|
|
281
|
-
weight: 'bold',
|
|
282
|
-
},
|
|
283
|
-
padding: 6,
|
|
284
|
-
},
|
|
285
|
-
},
|
|
286
|
-
animation,
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
const barChart = {
|
|
291
|
-
type: 'bar',
|
|
292
|
-
data: {
|
|
293
|
-
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
|
|
294
|
-
datasets: [{
|
|
295
|
-
label: 'My First Dataset',
|
|
296
|
-
data: [65, 59, 80, 81, 56, 55, 40],
|
|
297
|
-
backgroundColor: [
|
|
298
|
-
'rgba(255, 99, 132, 0.2)',
|
|
299
|
-
'rgba(255, 159, 64, 0.2)',
|
|
300
|
-
'rgba(255, 205, 86, 0.2)',
|
|
301
|
-
'rgba(75, 192, 192, 0.2)',
|
|
302
|
-
'rgba(54, 162, 235, 0.2)',
|
|
303
|
-
'rgba(153, 102, 255, 0.2)',
|
|
304
|
-
'rgba(201, 203, 207, 0.2)'
|
|
305
|
-
],
|
|
306
|
-
borderColor: [
|
|
307
|
-
'rgb(255, 99, 132)',
|
|
308
|
-
'rgb(255, 159, 64)',
|
|
309
|
-
'rgb(255, 205, 86)',
|
|
310
|
-
'rgb(75, 192, 192)',
|
|
311
|
-
'rgb(54, 162, 235)',
|
|
312
|
-
'rgb(153, 102, 255)',
|
|
313
|
-
'rgb(201, 203, 207)'
|
|
314
|
-
],
|
|
315
|
-
borderWidth: 1
|
|
316
|
-
}]
|
|
317
|
-
},
|
|
318
|
-
}
|
|
319
|
-
</script>
|
|
320
|
-
|
|
321
|
-
## Accessibility
|
|
322
|
-
|
|
323
|
-
A chart is drawn in a `<canvas>`, which has no accessible content. Give it a name with `aria-label` (or `aria-labelledby`): the canvas is then exposed as an image (`role="img"`). For complex data, also provide the values in text (a table, a summary) next to the chart.
|
|
324
|
-
|
|
325
189
|
```vue
|
|
326
190
|
<MazChart type="bar" :data="data" aria-label="Sales by quarter, from 120 to 340 units" />
|
|
327
191
|
```
|
|
328
192
|
|
|
329
|
-
<!--@include: ./../../.vitepress/generated-docs/maz-chart.doc.md-->
|
|
330
|
-
|
|
331
|
-
## Types
|
|
332
|
-
|
|
333
|
-
`MazChartProps` is generic over the chart type, the data point shape and the label type — it mirrors the same generic signature as `Chart.js` itself:
|
|
334
|
-
|
|
335
193
|
```ts
|
|
336
194
|
interface MazChartProps<
|
|
337
195
|
T extends ChartType = ChartType,
|
|
@@ -346,5 +204,3 @@ interface MazChartProps<
|
|
|
346
204
|
updateMode?: UpdateMode
|
|
347
205
|
}
|
|
348
206
|
```
|
|
349
|
-
|
|
350
|
-
For the underlying types, see [chart.js types](https://www.chartjs.org/docs/latest/api/).
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "MazCheckbox"
|
|
3
|
+
description: "MazCheckbox is a standalone component that replaces the standard html input checkbox. Color options are available."
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/components/maz-checkbox"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# MazCheckbox
|
|
9
|
+
|
|
10
|
+
> MazCheckbox is a standalone component that replaces the standard html input checkbox. Color options are available.
|
|
11
|
+
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import MazCheckbox from 'maz-ui/components/MazCheckbox'`
|
|
14
|
+
- Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
|
|
15
|
+
- Web: https://maz-ui.com/components/maz-checkbox
|
|
16
|
+
|
|
17
|
+
> Before use it, you should install the MazUi plugin in your project, follow instructions in [Getting Started](../guide/getting-started.md)
|
|
18
|
+
|
|
19
|
+
## Basic usage
|
|
20
|
+
|
|
21
|
+
`v-model=""`
|
|
22
|
+
|
|
23
|
+
```vue
|
|
24
|
+
<script lang="ts" setup>
|
|
25
|
+
import MazCheckbox from 'maz-ui/components/MazCheckbox'
|
|
26
|
+
import { ref } from 'vue'
|
|
27
|
+
|
|
28
|
+
const checked = ref(false)
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<template>
|
|
32
|
+
<MazCheckbox v-model="checked" :label="checked ? 'Checked' : 'Unchecked'" />
|
|
33
|
+
</template>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Colors
|
|
37
|
+
|
|
38
|
+
`v-model=""`
|
|
39
|
+
|
|
40
|
+
**Details: View code**
|
|
41
|
+
|
|
42
|
+
```vue
|
|
43
|
+
<script lang="ts" setup>
|
|
44
|
+
import type { Color } from 'maz-ui/components'
|
|
45
|
+
import MazCheckbox from 'maz-ui/components/MazCheckbox'
|
|
46
|
+
import { ref } from 'vue'
|
|
47
|
+
|
|
48
|
+
const chosenColors = ref([])
|
|
49
|
+
|
|
50
|
+
const colors: Color[] = [
|
|
51
|
+
'primary',
|
|
52
|
+
'secondary',
|
|
53
|
+
'info',
|
|
54
|
+
'success',
|
|
55
|
+
'warning',
|
|
56
|
+
'destructive',
|
|
57
|
+
'contrast',
|
|
58
|
+
'accent',
|
|
59
|
+
]
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<template>
|
|
63
|
+
<MazCheckbox
|
|
64
|
+
v-for="color in colors"
|
|
65
|
+
:id="color"
|
|
66
|
+
:key="color"
|
|
67
|
+
v-model="chosenColors"
|
|
68
|
+
:color="color"
|
|
69
|
+
name="color"
|
|
70
|
+
:value="color"
|
|
71
|
+
>
|
|
72
|
+
{{ color }}
|
|
73
|
+
</MazCheckbox>
|
|
74
|
+
</template>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Sizing
|
|
78
|
+
|
|
79
|
+
`v-model=""`
|
|
80
|
+
|
|
81
|
+
**Details: View code**
|
|
82
|
+
|
|
83
|
+
```vue
|
|
84
|
+
<script lang="ts" setup>
|
|
85
|
+
import type { MazSize } from 'maz-ui/components'
|
|
86
|
+
import MazCheckbox from 'maz-ui/components/MazCheckbox'
|
|
87
|
+
import { ref } from 'vue'
|
|
88
|
+
|
|
89
|
+
const chosenSizes = ref([])
|
|
90
|
+
|
|
91
|
+
const sizes: MazSize[] = ['mini', 'xs', 'sm', 'md', 'lg', 'xl']
|
|
92
|
+
</script>
|
|
93
|
+
|
|
94
|
+
<template>
|
|
95
|
+
<MazCheckbox
|
|
96
|
+
v-for="size in sizes"
|
|
97
|
+
:key="size"
|
|
98
|
+
v-model="chosenSizes"
|
|
99
|
+
name="size"
|
|
100
|
+
:value="size"
|
|
101
|
+
:size="size"
|
|
102
|
+
>
|
|
103
|
+
{{ size }}
|
|
104
|
+
</MazCheckbox>
|
|
105
|
+
</template>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Disabled
|
|
109
|
+
|
|
110
|
+
## MazCheckbox API
|
|
111
|
+
|
|
112
|
+
`import MazCheckbox from 'maz-ui/components/MazCheckbox'`
|
|
113
|
+
|
|
114
|
+
### Props
|
|
115
|
+
|
|
116
|
+
- `model-value` (`T`, `v-model`): The model value of the checkbox.
|
|
117
|
+
- `id` (`string`): The id of the checkbox.
|
|
118
|
+
- `color` (`"primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent"`, default: `"primary"`): The color of the checkbox.
|
|
119
|
+
- `value` (`MazCheckboxValue`): The value of the checkbox when selected.
|
|
120
|
+
- `name` (`string`, default: `"m-checkbox"`): The name of the checkbox.
|
|
121
|
+
- `size` (`"xs" | "sm" | "md" | "lg" | "xl" | "mini"`): The size of the checkbox.
|
|
122
|
+
- `label` (`string`): Text label.
|
|
123
|
+
- `disabled` (`boolean`): If the checkbox is disabled.
|
|
124
|
+
- `error` (`boolean`): Whether there is an error with the input.
|
|
125
|
+
- `success` (`boolean`): Whether the input is successful.
|
|
126
|
+
- `warning` (`boolean`): Whether there is a warning with the input.
|
|
127
|
+
- `hint` (`string`): The hint text to display below the input.
|
|
128
|
+
|
|
129
|
+
### Events
|
|
130
|
+
|
|
131
|
+
- `@update:model-value` (payload: `value: T`): Emitted when the model value change
|
|
132
|
+
- `@blur` (payload: `value: FocusEvent`): Emitted when the checkbox lost focus
|
|
133
|
+
- `@change` (payload: `value: T`): Emitted when the model value change
|
|
134
|
+
- `@focus` (payload: `value: FocusEvent`): Emitted when the checkbox is focused
|
|
135
|
+
|
|
136
|
+
### Slots
|
|
137
|
+
|
|
138
|
+
- `#default` Bindings: `value: MazCheckboxValue`.
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "MazChecklist"
|
|
3
|
+
description: "MazChecklist is a standalone component that allows creating a checklist with integrated search functionality. It provides a flexible and customizable user interface for selecting multiple items from a list of options. The component supports real-time search, color customization, and displays messages when no results are found."
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/components/maz-checklist"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# MazChecklist
|
|
9
|
+
|
|
10
|
+
> MazChecklist is a standalone component that allows creating a checklist with integrated search functionality. It provides a flexible and customizable user interface for selecting multiple items from a list of options. The component supports real-time search, color customization, and displays messages when no results are found.
|
|
11
|
+
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import MazChecklist from 'maz-ui/components/MazChecklist'`
|
|
14
|
+
- Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
|
|
15
|
+
- Web: https://maz-ui.com/components/maz-checklist
|
|
16
|
+
|
|
17
|
+
> Before use it, you should install the MazUi plugin in your project, follow instructions in [Getting Started](../guide/getting-started.md)
|
|
18
|
+
|
|
19
|
+
**Tip:**
|
|
20
|
+
|
|
21
|
+
This component can be translated globally using the [MazUi](../ecosystem/translations.md) plugin.
|
|
22
|
+
|
|
23
|
+
## Basic usage
|
|
24
|
+
|
|
25
|
+
```vue
|
|
26
|
+
<template>
|
|
27
|
+
Selected languages: {{ languages || 'none' }}
|
|
28
|
+
|
|
29
|
+
<br />
|
|
30
|
+
|
|
31
|
+
<MazChecklist
|
|
32
|
+
v-model="languages"
|
|
33
|
+
v-model:query="query"
|
|
34
|
+
title="Select your languages"
|
|
35
|
+
:search="{
|
|
36
|
+
enabled: true,
|
|
37
|
+
placeholder: 'Search a language',
|
|
38
|
+
debounce: 300,
|
|
39
|
+
autoFocus: false,
|
|
40
|
+
size: 'sm'
|
|
41
|
+
}"
|
|
42
|
+
:items="languagesOptions"
|
|
43
|
+
class="h-80"
|
|
44
|
+
>
|
|
45
|
+
<template #item="{ item }">
|
|
46
|
+
<div class="flex w-full items-center justify-between gap-2">
|
|
47
|
+
<span class="capitalize">{{ item.label }}</span>
|
|
48
|
+
<MazBadge color="theme" outlined>
|
|
49
|
+
{{ item.value }}
|
|
50
|
+
</MazBadge>
|
|
51
|
+
</div>
|
|
52
|
+
</template>
|
|
53
|
+
</MazChecklist>
|
|
54
|
+
</template>
|
|
55
|
+
|
|
56
|
+
<script lang="ts" setup>
|
|
57
|
+
import { ref } from 'vue'
|
|
58
|
+
import MazChecklist from 'maz-ui/components/MazChecklist'
|
|
59
|
+
import { useDisplayNames } from 'maz-ui/composables/useDisplayNames'
|
|
60
|
+
|
|
61
|
+
const query = ref<string>()
|
|
62
|
+
const languages = ref<string[]>()
|
|
63
|
+
const languagesOptions = useDisplayNames('en-US').getAllDisplayNames({ type: 'language' }).value.map(({ code, name }) => ({
|
|
64
|
+
label: name,
|
|
65
|
+
value: code,
|
|
66
|
+
}))
|
|
67
|
+
</script>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Custom search function
|
|
71
|
+
|
|
72
|
+
You can replace the default search function by providing a custom search function. Useful when you need to search by multiple fields, if you want to use a different search algorithm or if you want search into your database by fetching data from an API.
|
|
73
|
+
|
|
74
|
+
```vue
|
|
75
|
+
<template>
|
|
76
|
+
Selected employees: {{ selectedEmployees || 'none' }}
|
|
77
|
+
|
|
78
|
+
<br />
|
|
79
|
+
|
|
80
|
+
<MazChecklist
|
|
81
|
+
v-model="selectedEmployees"
|
|
82
|
+
v-model:query="employeeQuery"
|
|
83
|
+
title="Select team members"
|
|
84
|
+
:search="{
|
|
85
|
+
placeholder: 'Search by name, email, or department...',
|
|
86
|
+
debounce: 200,
|
|
87
|
+
block: true,
|
|
88
|
+
}"
|
|
89
|
+
:items="employees"
|
|
90
|
+
:search-function="customEmployeeSearch"
|
|
91
|
+
color="success"
|
|
92
|
+
elevation
|
|
93
|
+
class="max-h-96"
|
|
94
|
+
>
|
|
95
|
+
<template #item="{ item }">
|
|
96
|
+
<div class="flex w-full items-center gap-4">
|
|
97
|
+
<div class="flex h-12 w-12 flex-none items-center justify-center rounded-full bg-linear-to-br from-primary-500 to-secondary-500 text-white font-semibold text-lg">
|
|
98
|
+
{{ item.initials }}
|
|
99
|
+
</div>
|
|
100
|
+
<div class="flex flex-1 flex-col gap-1">
|
|
101
|
+
<div class="flex items-center gap-2">
|
|
102
|
+
<span class="font-semibold text-normal">{{ item.label }}</span>
|
|
103
|
+
<MazBadge :color="item.departmentColor" size="xs">
|
|
104
|
+
{{ item.department }}
|
|
105
|
+
</MazBadge>
|
|
106
|
+
</div>
|
|
107
|
+
<span class="text-muted text-sm">{{ item.email }}</span>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="flex flex-none items-center gap-1">
|
|
110
|
+
<MazIcon icon="/star.svg" class="text-warning-500" size="1rem" />
|
|
111
|
+
<span class="text-sm font-medium">{{ item.rating }}</span>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</template>
|
|
115
|
+
</MazChecklist>
|
|
116
|
+
</template>
|
|
117
|
+
|
|
118
|
+
<script lang="ts" setup>
|
|
119
|
+
import { ref } from 'vue'
|
|
120
|
+
import MazChecklist from 'maz-ui/components/MazChecklist'
|
|
121
|
+
|
|
122
|
+
const employeeQuery = ref<string>()
|
|
123
|
+
const selectedEmployees = ref<string[]>()
|
|
124
|
+
|
|
125
|
+
const employees = [
|
|
126
|
+
{
|
|
127
|
+
label: 'Sarah Johnson',
|
|
128
|
+
value: 'sarah.johnson',
|
|
129
|
+
email: 'sarah.johnson@company.com',
|
|
130
|
+
department: 'Engineering',
|
|
131
|
+
departmentColor: 'info',
|
|
132
|
+
initials: 'SJ',
|
|
133
|
+
rating: 4.9
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: 'Michael Chen',
|
|
137
|
+
value: 'michael.chen',
|
|
138
|
+
email: 'michael.chen@company.com',
|
|
139
|
+
department: 'Design',
|
|
140
|
+
departmentColor: 'warning',
|
|
141
|
+
initials: 'MC',
|
|
142
|
+
rating: 4.7
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
label: 'Emma Rodriguez',
|
|
146
|
+
value: 'emma.rodriguez',
|
|
147
|
+
email: 'emma.rodriguez@company.com',
|
|
148
|
+
department: 'Marketing',
|
|
149
|
+
departmentColor: 'success',
|
|
150
|
+
initials: 'ER',
|
|
151
|
+
rating: 4.8
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
label: 'David Kim',
|
|
155
|
+
value: 'david.kim',
|
|
156
|
+
email: 'david.kim@company.com',
|
|
157
|
+
department: 'Engineering',
|
|
158
|
+
departmentColor: 'info',
|
|
159
|
+
initials: 'DK',
|
|
160
|
+
rating: 4.6
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
label: 'Lisa Thompson',
|
|
164
|
+
value: 'lisa.thompson',
|
|
165
|
+
email: 'lisa.thompson@company.com',
|
|
166
|
+
department: 'Product',
|
|
167
|
+
departmentColor: 'contrast',
|
|
168
|
+
initials: 'LT',
|
|
169
|
+
rating: 4.9
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
label: 'John Doe',
|
|
173
|
+
value: 'john.doe',
|
|
174
|
+
email: 'john.doe@company.com',
|
|
175
|
+
department: 'Marketing',
|
|
176
|
+
departmentColor: 'success',
|
|
177
|
+
initials: 'JD',
|
|
178
|
+
rating: 4.9
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
label: 'Jane Smith',
|
|
182
|
+
value: 'jane.smith',
|
|
183
|
+
email: 'jane.smith@company.com',
|
|
184
|
+
department: 'Engineering',
|
|
185
|
+
departmentColor: 'info',
|
|
186
|
+
initials: 'JS',
|
|
187
|
+
rating: 4.9
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
label: 'Jim Beam',
|
|
191
|
+
value: 'jim.beam',
|
|
192
|
+
email: 'jim.beam@company.com',
|
|
193
|
+
department: 'Sales',
|
|
194
|
+
departmentColor: 'destructive',
|
|
195
|
+
initials: 'JB',
|
|
196
|
+
rating: 4.9
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
label: 'Jill Johnson',
|
|
200
|
+
value: 'jill.johnson',
|
|
201
|
+
email: 'jill.johnson@company.com',
|
|
202
|
+
department: 'Marketing',
|
|
203
|
+
departmentColor: 'success',
|
|
204
|
+
initials: 'JJ',
|
|
205
|
+
rating: 4.9
|
|
206
|
+
},
|
|
207
|
+
]
|
|
208
|
+
|
|
209
|
+
function customEmployeeSearch(query: string, items: typeof employees) {
|
|
210
|
+
const searchTerm = query.toLowerCase().trim()
|
|
211
|
+
|
|
212
|
+
if (!searchTerm) return items
|
|
213
|
+
|
|
214
|
+
return items.filter(employee =>
|
|
215
|
+
employee.label.toLowerCase().includes(searchTerm) ||
|
|
216
|
+
employee.email.toLowerCase().includes(searchTerm) ||
|
|
217
|
+
employee.department.toLowerCase().includes(searchTerm) ||
|
|
218
|
+
employee.value.toLowerCase().includes(searchTerm)
|
|
219
|
+
)
|
|
220
|
+
}
|
|
221
|
+
</script>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## MazChecklist API
|
|
225
|
+
|
|
226
|
+
`import MazChecklist from 'maz-ui/components/MazChecklist'`
|
|
227
|
+
|
|
228
|
+
### Props
|
|
229
|
+
|
|
230
|
+
- `model-value` (`T[]`, `v-model`): The model value of the checklist (selected items).
|
|
231
|
+
- `query` (`string`, `v-model:query`): The query to filter the items (model).
|
|
232
|
+
- `items` (`O[]`): The list of items to display.
|
|
233
|
+
- `title` (`string`): The title of the checklist.
|
|
234
|
+
- `elevation` (`boolean`, default: `false`): Add elevation to the card.
|
|
235
|
+
- `search` (`boolean | MazInputProps<string>`, default: `{ enabled: false, debounce: 300, autoFocus: false }`): The search input options.
|
|
236
|
+
- `search-options` (`(NormalizeStringOptions & { threshold?: number | undefined; })`): The options to normalize the search query (used by the default search function) By default, the threshold is 0.75.
|
|
237
|
+
- `search-function` (`((query: string, items: O[]) => O[] | undefined)`): Replace the default search function to provide a custom search function.
|
|
238
|
+
- `color` (`"primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent"`, default: `"primary"`): The color of the checklist (card, checkbox and search input).
|
|
239
|
+
- `translations` (`{ noResultsFound?: string | undefined; searchInput?: { placeholder?: string | undefined; } | undefined; }`, default: `Translations from`): Translations of the checklist component.
|
|
240
|
+
|
|
241
|
+
### Events
|
|
242
|
+
|
|
243
|
+
- `@update:model-value` (payload: `value?: T[] | undefined`): Emitted when the model value change
|
|
244
|
+
- `@update:query` (payload: `value?: string | undefined`): Emitted when the query change
|
|
245
|
+
|
|
246
|
+
### Slots
|
|
247
|
+
|
|
248
|
+
- `#title`: use this slot to customize the title
|
|
249
|
+
- `#no-results`: use this slot to customize the no results area
|
|
250
|
+
- `#no-results-text`: use this slot to customize the no results message
|
|
251
|
+
- `#item`: use this slot to customize the item Bindings: `selectedValues: T[]`, `item: O`.
|