@mozaic-ds/vue 2.16.0 → 2.17.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/mozaic-vue.css +2 -1
- package/dist/mozaic-vue.d.ts +134 -91
- package/dist/mozaic-vue.js +17184 -10878
- package/dist/mozaic-vue.js.map +1 -1
- package/dist/mozaic-vue.umd.cjs +23 -22
- package/dist/mozaic-vue.umd.cjs.map +1 -1
- package/package.json +10 -5
- package/src/components/BrandPresets.mdx +2 -2
- package/src/components/ComponentsMapping.mdx +98 -0
- package/src/components/accordionlist/MAccordionList.figma.ts +43 -0
- package/src/components/accordionlistitem/MAccordionListItem.figma.ts +27 -0
- package/src/components/actionbottombar/MActionBottomBar.figma.ts +24 -0
- package/src/components/actionlistbox/MActionListbox.figma.ts +30 -0
- package/src/components/avatar/MAvatar.figma.ts +31 -0
- package/src/components/breadcrumb/MBreadcrumb.figma.ts +31 -0
- package/src/components/builtinmenu/MBuiltInMenu.figma.ts +23 -0
- package/src/components/button/MButton.figma.ts +41 -0
- package/src/components/callout/MCallout.figma.ts +29 -0
- package/src/components/carousel/MCarousel.figma.ts +32 -0
- package/src/components/checkbox/MCheckbox.figma.ts +45 -0
- package/src/components/checkboxgroup/MCheckboxGroup.figma.ts +30 -0
- package/src/components/checklistmenu/MCheckListMenu.figma.ts +29 -0
- package/src/components/circularprogressbar/MCircularProgressbar.figma.ts +31 -0
- package/src/components/combobox/MCombobox.figma.ts +48 -0
- package/src/components/combobox/MCombobox.spec.ts +1 -1
- package/src/components/combobox/MCombobox.vue +18 -9
- package/src/components/combobox/README.md +2 -2
- package/src/components/container/MContainer.figma.ts +30 -0
- package/src/components/datatable/DataTable.stories.ts +277 -0
- package/src/components/datatable/DataTableCells.stories.ts +251 -0
- package/src/components/datatable/DataTableEmpty.stories.ts +102 -0
- package/src/components/datatable/DataTableExpandable.stories.ts +95 -0
- package/src/components/datatable/DataTableNested.stories.ts +96 -0
- package/src/components/datatable/DataTableSelectable.stories.ts +124 -0
- package/src/components/datatable/DataTableSortable.stories.ts +164 -0
- package/src/components/datatable/MDataTable.types.ts +54 -0
- package/src/components/datatable/assets/styles.scss +10 -0
- package/src/components/datatable/datatable.mdx +62 -0
- package/src/components/datatable/tools/data.js +8 -0
- package/src/components/datatable/tools/data.json +2018 -0
- package/src/components/datatable/utils.js +19 -0
- package/src/components/datepicker/MDatepicker.figma.ts +20 -0
- package/src/components/divider/MDivider.figma.ts +30 -0
- package/src/components/drawer/MDrawer.figma.ts +37 -0
- package/src/components/drawer/README.md +1 -1
- package/src/components/field/MField.figma.ts +30 -0
- package/src/components/fileuploader/MFileUploader.figma.ts +23 -0
- package/src/components/fileuploaderitem/MFileUploaderItem.figma.ts +27 -0
- package/src/components/flag/MFlag.figma.ts +26 -0
- package/src/components/iconbutton/MIconButton.figma.ts +54 -0
- package/src/components/kpiitem/MKpiItem.figma.ts +33 -0
- package/src/components/linearprogressbarbuffer/MLinearProgressbarBuffer.figma.ts +31 -0
- package/src/components/linearprogressbarpercentage/MLinearProgressbarPercentage.figma.ts +26 -0
- package/src/components/link/MLink.figma.ts +32 -0
- package/src/components/loader/MLoader.figma.ts +30 -0
- package/src/components/loadingoverlay/MLoadingOverlay.figma.ts +18 -0
- package/src/components/modal/MModal.figma.ts +27 -0
- package/src/components/navigationindicator/MNavigationIndicator.figma.ts +24 -0
- package/src/components/numberbadge/MNumberBadge.figma.ts +31 -0
- package/src/components/optionListbox/MOptionListbox.figma.ts +36 -0
- package/src/components/optionListbox/MOptionListbox.vue +18 -18
- package/src/components/optionListbox/README.md +1 -1
- package/src/components/overlay/MOverlay.figma.ts +20 -0
- package/src/components/pageheader/MPageHeader.figma.ts +21 -0
- package/src/components/pagination/MPagination.figma.ts +34 -0
- package/src/components/passwordinput/MPasswordInput.figma.ts +30 -0
- package/src/components/phonenumber/MPhoneNumber.figma.ts +47 -0
- package/src/components/pincode/MPincode.figma.ts +41 -0
- package/src/components/pincode/MPincode.spec.ts +1 -4
- package/src/components/pincode/MPincode.vue +11 -15
- package/src/components/popover/MPopover.figma.ts +42 -0
- package/src/components/quantityselector/MQuantitySelector.figma.ts +50 -0
- package/src/components/radio/MRadio.figma.ts +40 -0
- package/src/components/radiogroup/MRadioGroup.figma.ts +30 -0
- package/src/components/segmentedcontrol/MSegmentedControl.figma.ts +33 -0
- package/src/components/select/MSelect.figma.ts +49 -0
- package/src/components/sidebar/MSidebar.figma.ts +28 -0
- package/src/components/sidebarexpandableitem/MSidebarExpandableItem.figma.ts +19 -0
- package/src/components/sidebarfooter/MSidebarFooter.figma.ts +21 -0
- package/src/components/sidebarheader/MSidebarHeader.figma.ts +18 -0
- package/src/components/sidebarnavitem/MSidebarNavItem.figma.ts +23 -0
- package/src/components/sidebarshortcutitem/MSidebarShortcutItem.figma.ts +20 -0
- package/src/components/starrating/MStarRating.figma.ts +35 -0
- package/src/components/statusbadge/MStatusBadge.figma.ts +27 -0
- package/src/components/statusdot/MStatusDot.figma.ts +31 -0
- package/src/components/statusmessage/MStatusMessage.figma.ts +28 -0
- package/src/components/statusmessage/MStatusMessage.spec.ts +15 -0
- package/src/components/statusmessage/MStatusMessage.stories.ts +4 -0
- package/src/components/statusmessage/MStatusMessage.vue +7 -0
- package/src/components/statusmessage/README.md +2 -0
- package/src/components/statusnotification/MStatusNotification.figma.ts +29 -0
- package/src/components/stepperbottombar/MStepperBottomBar.figma.ts +20 -0
- package/src/components/steppercompact/MStepperCompact.figma.ts +21 -0
- package/src/components/stepperinline/MStepperInline.figma.ts +23 -0
- package/src/components/stepperstacked/MStepperStacked.figma.ts +23 -0
- package/src/components/tabs/MTabs.figma.ts +33 -0
- package/src/components/tag/MTag.figma.ts +26 -0
- package/src/components/tag/MTag.stories.ts +13 -3
- package/src/components/tag/MTag.vue +11 -1
- package/src/components/tag/README.md +6 -0
- package/src/components/textarea/MTextArea.figma.ts +28 -0
- package/src/components/textinput/MTextInput.figma.ts +51 -0
- package/src/components/tile/MTile.figma.ts +31 -0
- package/src/components/tileclickable/MTileClickable.figma.ts +31 -0
- package/src/components/tileexpandable/MTileExpandable.figma.ts +31 -0
- package/src/components/tileselectable/MTileSelectable.figma.ts +29 -0
- package/src/components/toaster/MToaster.figma.ts +25 -0
- package/src/components/toggle/MToggle.figma.ts +39 -0
- package/src/components/togglegroup/MToggleGroup.figma.ts +30 -0
- package/src/components/tooltip/MTooltip.figma.ts +29 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mozaic-ds/vue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.17.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Mozaic-Vue is the Vue.js implementation of ADEO Design system",
|
|
6
6
|
"author": "ADEO - ADEO Design system",
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"release:beta": "release-it --preRelease=beta",
|
|
33
33
|
"prepublishOnly": "npm run build",
|
|
34
34
|
"npm:publish": "npm publish --access public",
|
|
35
|
-
"npm:publish:beta": "npm publish --access public --tag beta"
|
|
35
|
+
"npm:publish:beta": "npm publish --access public --tag beta",
|
|
36
|
+
"figma:connect": "figma connect parse",
|
|
37
|
+
"figma:connect:publish": "dotenv -e .env -- figma connect publish"
|
|
36
38
|
},
|
|
37
39
|
"files": [
|
|
38
40
|
"dist/*",
|
|
@@ -41,7 +43,7 @@
|
|
|
41
43
|
"*.d.ts"
|
|
42
44
|
],
|
|
43
45
|
"dependencies": {
|
|
44
|
-
"@mozaic-ds/styles": "^2.
|
|
46
|
+
"@mozaic-ds/styles": "^2.15.0",
|
|
45
47
|
"@mozaic-ds/web-fonts": "^1.65.0",
|
|
46
48
|
"postcss-scss": "^4.0.9",
|
|
47
49
|
"vue": "^3.5.13"
|
|
@@ -49,7 +51,9 @@
|
|
|
49
51
|
"devDependencies": {
|
|
50
52
|
"@commitlint/cli": "^20.1.0",
|
|
51
53
|
"@commitlint/config-conventional": "^20.0.0",
|
|
54
|
+
"@figma/code-connect": "^1.4.1",
|
|
52
55
|
"@mozaic-ds/css-dev-tools": "1.75.0",
|
|
56
|
+
"@mozaic-ds/datatable-vue": "^1.0.0",
|
|
53
57
|
"@mozaic-ds/icons-vue": "^2.5.0",
|
|
54
58
|
"@release-it/conventional-changelog": "^10.0.1",
|
|
55
59
|
"@storybook/addon-a11y": "^10.0.4",
|
|
@@ -64,13 +68,14 @@
|
|
|
64
68
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
65
69
|
"@vue/eslint-config-typescript": "^14.5.0",
|
|
66
70
|
"@vue/test-utils": "^2.4.6",
|
|
71
|
+
"dotenv-cli": "^11.0.0",
|
|
67
72
|
"eslint": "^10.0.2",
|
|
68
73
|
"eslint-plugin-storybook": "^10.0.5",
|
|
69
74
|
"eslint-plugin-vue": "^10.0.0",
|
|
70
75
|
"eslint-plugin-vuejs-accessibility": "^2.4.1",
|
|
71
76
|
"globals": "^17.3.0",
|
|
72
77
|
"husky": "^9.1.7",
|
|
73
|
-
"jsdom": "^
|
|
78
|
+
"jsdom": "^29.0.0",
|
|
74
79
|
"libphonenumber-js": "^1.12.23",
|
|
75
80
|
"lint-staged": "^16.1.5",
|
|
76
81
|
"mdx-mermaid": "^2.0.3",
|
|
@@ -82,7 +87,7 @@
|
|
|
82
87
|
"storybook": "^10.0.4",
|
|
83
88
|
"storybook-addon-tag-badges": "^3.0.2",
|
|
84
89
|
"typescript": "^5.7.2",
|
|
85
|
-
"vite": "^
|
|
90
|
+
"vite": "^8.0.0",
|
|
86
91
|
"vite-plugin-dts": "^4.5.3",
|
|
87
92
|
"vitest": "^4.0.7",
|
|
88
93
|
"vue-component-meta": "^3.0.8",
|
|
@@ -34,7 +34,7 @@ All it has to do is insert the following code into its main Sass file (entrypoin
|
|
|
34
34
|
dark
|
|
35
35
|
code={`
|
|
36
36
|
// Entrypoint stylesheet
|
|
37
|
-
@use "@mozaic-ds/tokens/<presetName
|
|
37
|
+
@use "@mozaic-ds/tokens/<presetName>/theme" as *;
|
|
38
38
|
`}
|
|
39
39
|
/>
|
|
40
40
|
|
|
@@ -49,7 +49,7 @@ For example, for ADEO
|
|
|
49
49
|
dark
|
|
50
50
|
code={`
|
|
51
51
|
// Entrypoint stylesheet
|
|
52
|
-
@use "@mozaic-ds/tokens/adeo" as *;
|
|
52
|
+
@use "@mozaic-ds/tokens/adeo/theme" as *;
|
|
53
53
|
`}
|
|
54
54
|
/>
|
|
55
55
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Components v1 → v2" />
|
|
4
|
+
|
|
5
|
+
# Components mapping v1 → v2
|
|
6
|
+
|
|
7
|
+
## Introduction
|
|
8
|
+
|
|
9
|
+
This document summarizes all component changes between the ADS Vue V1 and V2 design system libraries — including renames, splits, merges, removals, and new additions.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Mapping Table
|
|
13
|
+
|
|
14
|
+
<table>
|
|
15
|
+
<thead>
|
|
16
|
+
<tr>
|
|
17
|
+
<th>V1 Component</th>
|
|
18
|
+
<th>V2 Component</th>
|
|
19
|
+
<th>Status</th>
|
|
20
|
+
</tr>
|
|
21
|
+
</thead>
|
|
22
|
+
<tbody>
|
|
23
|
+
<tr><td><code>MAccordion</code></td><td><code>MAccordionList</code> + <code>MAccordionListItem</code></td><td>🔀 Split</td></tr>
|
|
24
|
+
<tr><td><code>MActionBar</code> + <code>MBottomBar</code></td><td><code>MActionBottomBar</code></td><td>🔗 Merged</td></tr>
|
|
25
|
+
<tr><td><code>MListBoxActions</code></td><td><code>MActionListBox</code></td><td>🔄 Renamed</td></tr>
|
|
26
|
+
<tr><td>—</td><td><code>MAvatar</code></td><td>✨ New</td></tr>
|
|
27
|
+
<tr><td><code>MBreadcrumb</code></td><td><code>MBreadcrumb</code></td><td>✅ Same name</td></tr>
|
|
28
|
+
<tr><td><code>MMenu</code></td><td><code>MBuiltInMenu</code></td><td>🔄 Renamed</td></tr>
|
|
29
|
+
<tr><td><code>MButton</code></td><td><code>MButton</code></td><td>✅ Same name</td></tr>
|
|
30
|
+
<tr><td>—</td><td><code>MCallout</code></td><td>✨ New</td></tr>
|
|
31
|
+
<tr><td>—</td><td><code>MCarousel</code></td><td>✨ New</td></tr>
|
|
32
|
+
<tr><td><code>MCheckbox</code></td><td><code>MCheckbox</code></td><td>✅ Same name</td></tr>
|
|
33
|
+
<tr><td><code>MCheckboxGroup</code></td><td><code>MCheckboxGroup</code></td><td>✅ Same name</td></tr>
|
|
34
|
+
<tr><td>—</td><td><code>MChecklistMenu</code></td><td>✨ New</td></tr>
|
|
35
|
+
<tr><td>—</td><td><code>MCircularProgressBar</code></td><td>✨ New</td></tr>
|
|
36
|
+
<tr><td><code>MAutocomplete</code> + <code>MDropdown</code></td><td><code>MCombobox</code></td><td>🔗 Merged</td></tr>
|
|
37
|
+
<tr><td><code>MContainer</code></td><td><code>MContainer</code></td><td>✅ Same name</td></tr>
|
|
38
|
+
<tr><td>—</td><td><code>MDatePicker</code></td><td>✨ New</td></tr>
|
|
39
|
+
<tr><td>—</td><td><code>MDivider</code></td><td>✨ New</td></tr>
|
|
40
|
+
<tr><td><code>MLayer</code></td><td><code>MDrawer</code></td><td>🔄 Renamed</td></tr>
|
|
41
|
+
<tr><td><code>MField</code></td><td><code>MField</code></td><td>✅ Same name</td></tr>
|
|
42
|
+
<tr><td>—</td><td><code>MFieldGroup</code></td><td>✨ New</td></tr>
|
|
43
|
+
<tr><td><code>MFileUploader</code></td><td><code>MFileUploader</code></td><td>✅ Same name</td></tr>
|
|
44
|
+
<tr><td>—</td><td><code>MFileUploaderItem</code></td><td>✨ New</td></tr>
|
|
45
|
+
<tr><td><code>MFlag</code></td><td><code>MFlag</code></td><td>✅ Same name</td></tr>
|
|
46
|
+
<tr><td><code>MIcon</code></td><td><em>removed</em></td><td>🗑️ Removed</td></tr>
|
|
47
|
+
<tr><td>—</td><td><code>MIconButton</code></td><td>✨ New</td></tr>
|
|
48
|
+
<tr><td>—</td><td><code>MKpiItem</code></td><td>✨ New</td></tr>
|
|
49
|
+
<tr><td><code>MProgress</code></td><td><code>MLinearProgressBarBuffer</code> + <code>MLinearProgressBarPercentage</code></td><td>🔀 Split</td></tr>
|
|
50
|
+
<tr><td><code>MLink</code></td><td><code>MLink</code></td><td>✅ Same name</td></tr>
|
|
51
|
+
<tr><td><code>MLoader</code></td><td><code>MLoader</code></td><td>✅ Same name</td></tr>
|
|
52
|
+
<tr><td>—</td><td><code>MLoadingOverlay</code></td><td>✨ New</td></tr>
|
|
53
|
+
<tr><td><code>MModal</code></td><td><code>MModal</code></td><td>✅ Same name</td></tr>
|
|
54
|
+
<tr><td>—</td><td><code>MNavigationIndicator</code></td><td>✨ New</td></tr>
|
|
55
|
+
<tr><td><code>MNotification</code></td><td><code>MStatusNotification</code></td><td>🔄 Renamed</td></tr>
|
|
56
|
+
<tr><td>—</td><td><code>MNumberBadge</code></td><td>✨ New</td></tr>
|
|
57
|
+
<tr><td><code>MListbox</code></td><td><code>MOptionListBox</code></td><td>🔄 Renamed</td></tr>
|
|
58
|
+
<tr><td><code>MOverlay</code></td><td><code>MOverlay</code></td><td>✅ Same name</td></tr>
|
|
59
|
+
<tr><td>—</td><td><code>MPageHeader</code></td><td>✨ New</td></tr>
|
|
60
|
+
<tr><td><code>MPagination</code></td><td><code>MPagination</code></td><td>✅ Same name</td></tr>
|
|
61
|
+
<tr><td><code>MPasswordInput</code></td><td><code>MPasswordInput</code></td><td>✅ Same name</td></tr>
|
|
62
|
+
<tr><td><code>MPhoneNumber</code></td><td><code>MPhoneNumber</code></td><td>✅ Same name</td></tr>
|
|
63
|
+
<tr><td>—</td><td><code>MPinCode</code></td><td>✨ New</td></tr>
|
|
64
|
+
<tr><td>—</td><td><code>MPopover</code></td><td>✨ New</td></tr>
|
|
65
|
+
<tr><td><code>MQuantitySelector</code></td><td><code>MQuantitySelector</code></td><td>✅ Same name</td></tr>
|
|
66
|
+
<tr><td><code>MRadio</code></td><td><code>MRadio</code></td><td>✅ Same name</td></tr>
|
|
67
|
+
<tr><td><code>MRadioGroup</code></td><td><code>MRadioGroup</code></td><td>✅ Same name</td></tr>
|
|
68
|
+
<tr><td><code>MSegmentedControl</code></td><td><code>MSegmentedControl</code></td><td>✅ Same name</td></tr>
|
|
69
|
+
<tr><td><code>MSelect</code></td><td><code>MSelect</code></td><td>✅ Same name</td></tr>
|
|
70
|
+
<tr><td><code>MSidebar</code></td><td><code>MSidebar</code> + 6 sub-components</td><td>🔀 Split</td></tr>
|
|
71
|
+
<tr><td>—</td><td><code>MSidebarExpandableItem</code></td><td>✨ New</td></tr>
|
|
72
|
+
<tr><td>—</td><td><code>MSidebarFooter</code></td><td>✨ New</td></tr>
|
|
73
|
+
<tr><td>—</td><td><code>MSidebarHeader</code></td><td>✨ New</td></tr>
|
|
74
|
+
<tr><td>—</td><td><code>MSidebarNavItem</code></td><td>✨ New</td></tr>
|
|
75
|
+
<tr><td>—</td><td><code>MSidebarShortcutItem</code></td><td>✨ New</td></tr>
|
|
76
|
+
<tr><td>—</td><td><code>MSidebarShortcuts</code></td><td>✨ New</td></tr>
|
|
77
|
+
<tr><td>—</td><td><code>MStarRating</code></td><td>✨ New</td></tr>
|
|
78
|
+
<tr><td><code>MBadge</code></td><td><code>MStatusBadge</code></td><td>🔄 Renamed</td></tr>
|
|
79
|
+
<tr><td>—</td><td><code>MStatusDot</code></td><td>✨ New</td></tr>
|
|
80
|
+
<tr><td>—</td><td><code>MStatusMessage</code></td><td>✨ New</td></tr>
|
|
81
|
+
<tr><td><code>MStepper</code> (<code>compact: false</code>)</td><td><code>MStepperInline</code></td><td>🔄 Renamed</td></tr>
|
|
82
|
+
<tr><td><code>MStepper</code> (<code>compact: true</code>)</td><td><code>MStepperCompact</code></td><td>🔄 Renamed</td></tr>
|
|
83
|
+
<tr><td>—</td><td><code>MStepperBottomBar</code></td><td>✨ New</td></tr>
|
|
84
|
+
<tr><td>—</td><td><code>MStepperStacked</code></td><td>✨ New</td></tr>
|
|
85
|
+
<tr><td><code>MTab</code> / <code>MTabsV2</code></td><td><code>MTabs</code></td><td>🔄 Renamed</td></tr>
|
|
86
|
+
<tr><td><code>MTag</code></td><td><code>MTag</code></td><td>✅ Same name</td></tr>
|
|
87
|
+
<tr><td><code>MTextArea</code></td><td><code>MTextArea</code></td><td>✅ Same name</td></tr>
|
|
88
|
+
<tr><td><code>MTextInput</code></td><td><code>MTextInput</code></td><td>✅ Same name</td></tr>
|
|
89
|
+
<tr><td>—</td><td><code>MTile</code></td><td>✨ New</td></tr>
|
|
90
|
+
<tr><td>—</td><td><code>MTileClickable</code></td><td>✨ New</td></tr>
|
|
91
|
+
<tr><td>—</td><td><code>MTileExpandable</code></td><td>✨ New</td></tr>
|
|
92
|
+
<tr><td><code>MOptionCard</code></td><td><code>MTileSelectable</code></td><td>🔄 Renamed</td></tr>
|
|
93
|
+
<tr><td>—</td><td><code>MToaster</code></td><td>✨ New</td></tr>
|
|
94
|
+
<tr><td><code>MToggle</code></td><td><code>MToggle</code></td><td>✅ Same name</td></tr>
|
|
95
|
+
<tr><td>—</td><td><code>MToggleGroup</code></td><td>✨ New</td></tr>
|
|
96
|
+
<tr><td>—</td><td><code>MTooltip</code></td><td>✨ New</td></tr>
|
|
97
|
+
</tbody>
|
|
98
|
+
</table>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MAccordionList
|
|
3
|
+
* Links Figma Accordion List to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=1647%3A16440',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
appearance: figma.enum('Appareance', {
|
|
12
|
+
Standard: 'standard',
|
|
13
|
+
Ghost: 'ghost',
|
|
14
|
+
}),
|
|
15
|
+
showItem02: figma.boolean('Show Item 02'),
|
|
16
|
+
showItem03: figma.boolean('Show Item 03'),
|
|
17
|
+
showItem04: figma.boolean('Show Item 04'),
|
|
18
|
+
showItem05: figma.boolean('Show Item 05'),
|
|
19
|
+
showItem06: figma.boolean('Show Item 06'),
|
|
20
|
+
showItem07: figma.boolean('Show Item 07'),
|
|
21
|
+
showItem08: figma.boolean('Show Item 08'),
|
|
22
|
+
},
|
|
23
|
+
example: ({ appearance }) =>
|
|
24
|
+
html`<script setup>
|
|
25
|
+
import { MAccordionList, MAccordionListItem } from '@mozaic-ds/vue';
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<MAccordionList appearance=${appearance}>
|
|
29
|
+
<MAccordionListItem id="1" title="Content title">
|
|
30
|
+
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
|
|
31
|
+
</MAccordionListItem>
|
|
32
|
+
<MAccordionListItem id="2" title="Content title">
|
|
33
|
+
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
|
|
34
|
+
</MAccordionListItem>
|
|
35
|
+
<MAccordionListItem id="3" title="Content title">
|
|
36
|
+
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
|
|
37
|
+
</MAccordionListItem>
|
|
38
|
+
<MAccordionListItem id="4" title="Content title">
|
|
39
|
+
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
|
|
40
|
+
</MAccordionListItem>
|
|
41
|
+
</MAccordionList>`,
|
|
42
|
+
},
|
|
43
|
+
);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MAccordionListItem
|
|
3
|
+
* Links Figma Accordion List Item to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/branch/tOAc8mV1PF5g0tjBfSbUXA/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=1647%3A16442',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
title: figma.string('Title'),
|
|
12
|
+
subtitle: figma.boolean('Has subtitle', {
|
|
13
|
+
true: figma.string('Subtitle'),
|
|
14
|
+
false: undefined,
|
|
15
|
+
}),
|
|
16
|
+
},
|
|
17
|
+
example: ({ title, subtitle }) =>
|
|
18
|
+
html`<script setup>
|
|
19
|
+
import { MAccordionListItem } from '@mozaic-ds/vue';
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<MAccordionListItem id="accordion-1" title=${title} subtitle=${subtitle}>
|
|
23
|
+
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
|
|
24
|
+
</MAccordionListItem>`,
|
|
25
|
+
imports: ["import { MAccordionListItem } from '@mozaic-ds/vue'"],
|
|
26
|
+
},
|
|
27
|
+
);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MActionBottomBar
|
|
3
|
+
* Links Figma Action bottom bar (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=10709-6937',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
shadow: figma.boolean('Has shadow'),
|
|
12
|
+
},
|
|
13
|
+
example: ({ shadow }) =>
|
|
14
|
+
html`<script setup>
|
|
15
|
+
import { MActionBottomBar, MButton } from '@mozaic-ds/vue';
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<MActionBottomBar shadow=${shadow}>
|
|
19
|
+
<template #right>
|
|
20
|
+
<MButton size="s" appearance="accent">Save</MButton>
|
|
21
|
+
</template>
|
|
22
|
+
</MActionBottomBar>`,
|
|
23
|
+
},
|
|
24
|
+
);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MActionListbox
|
|
3
|
+
* Links Figma Action listbox (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=6-29046',
|
|
9
|
+
{
|
|
10
|
+
props: {},
|
|
11
|
+
example: () =>
|
|
12
|
+
html`<script setup>
|
|
13
|
+
import { MActionListbox, MButton } from '@mozaic-ds/vue';
|
|
14
|
+
import { Copy20, Download20, Trash20 } from '@mozaic-ds/icons-vue';
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<MActionListbox
|
|
18
|
+
title="Listbox title"
|
|
19
|
+
:items="[
|
|
20
|
+
{ id: '1', label: 'Duplicate', icon: Copy20 },
|
|
21
|
+
{ id: '2', label: 'Download', icon: Download20 },
|
|
22
|
+
{ id: '3', label: 'Delete', icon: Trash20, appearance: 'danger', divider: true },
|
|
23
|
+
]"
|
|
24
|
+
>
|
|
25
|
+
<template #activator="{ id }">
|
|
26
|
+
<MButton :popovertarget="id">Open menu</MButton>
|
|
27
|
+
</template>
|
|
28
|
+
</MActionListbox>`,
|
|
29
|
+
},
|
|
30
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MAvatar
|
|
3
|
+
* Links Figma Avatar (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=5-6412',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
size: figma.enum('Size', {
|
|
12
|
+
'S (32px)': 's',
|
|
13
|
+
'M (48px)': 'm',
|
|
14
|
+
'L (64px)': 'l',
|
|
15
|
+
}),
|
|
16
|
+
type: figma.enum('Type', {
|
|
17
|
+
Picture: 'picture',
|
|
18
|
+
Initials: 'initials',
|
|
19
|
+
Icon: 'icon',
|
|
20
|
+
}),
|
|
21
|
+
},
|
|
22
|
+
example: ({ size }) =>
|
|
23
|
+
html`<script setup>
|
|
24
|
+
import { MAvatar } from '@mozaic-ds/vue';
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<MAvatar size=${size}>
|
|
28
|
+
<img src="/placeholder.png" alt="Avatar" />
|
|
29
|
+
</MAvatar>`,
|
|
30
|
+
},
|
|
31
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MBreadcrumb
|
|
3
|
+
* Links Figma Breadcrumb (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=6-11237',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
appearance: figma.enum('Appearance', {
|
|
12
|
+
Standard: 'standard',
|
|
13
|
+
'Inverse (only on dark background)': 'inverse',
|
|
14
|
+
}),
|
|
15
|
+
},
|
|
16
|
+
example: ({ appearance }) =>
|
|
17
|
+
html`<script setup>
|
|
18
|
+
import { MBreadcrumb } from '@mozaic-ds/vue';
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<MBreadcrumb
|
|
22
|
+
appearance=${appearance}
|
|
23
|
+
:links="[
|
|
24
|
+
{ label: 'Home', href: '#' },
|
|
25
|
+
{ label: 'Level 01', href: '#' },
|
|
26
|
+
{ label: 'Current Page', href: '#' },
|
|
27
|
+
]"
|
|
28
|
+
aria-label="breadcrumb"
|
|
29
|
+
></MBreadcrumb>`,
|
|
30
|
+
},
|
|
31
|
+
);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MBuiltInMenu
|
|
3
|
+
* Links Figma Built-in menu (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=6-11260',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
outlined: figma.enum('is outlined', {
|
|
12
|
+
'true': true,
|
|
13
|
+
'false': false,
|
|
14
|
+
}),
|
|
15
|
+
},
|
|
16
|
+
example: ({ outlined }) =>
|
|
17
|
+
html`<script setup>
|
|
18
|
+
import { MBuiltInMenu } from '@mozaic-ds/vue';
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<MBuiltInMenu :items="[{ label: 'Label' }, { label: 'Label' }]" outlined=${outlined} />`,
|
|
22
|
+
},
|
|
23
|
+
);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MButton
|
|
3
|
+
* Links Figma Button to @mozaic-ds/vue
|
|
4
|
+
* Props discovered via Figma MCP get_code_connect_suggestions
|
|
5
|
+
*/
|
|
6
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
7
|
+
|
|
8
|
+
figma.connect(
|
|
9
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=1%3A609',
|
|
10
|
+
{
|
|
11
|
+
props: {
|
|
12
|
+
label: figma.string('Label'),
|
|
13
|
+
appearance: figma.enum('Appearance', {
|
|
14
|
+
Standard: 'standard',
|
|
15
|
+
Accent: 'accent',
|
|
16
|
+
Danger: 'danger',
|
|
17
|
+
'Inverse (only on dark background)': 'inverse',
|
|
18
|
+
}),
|
|
19
|
+
size: figma.enum('Size', {
|
|
20
|
+
S: 's',
|
|
21
|
+
'M (default)': 'm',
|
|
22
|
+
L: 'l',
|
|
23
|
+
}),
|
|
24
|
+
iconLeft: figma.boolean('Icon left'),
|
|
25
|
+
iconRight: figma.boolean('Icon right'),
|
|
26
|
+
iconOnly: figma.boolean('Icon only'),
|
|
27
|
+
disabled: figma.boolean('Is disabled'),
|
|
28
|
+
isLoading: figma.boolean('Is loading'),
|
|
29
|
+
outlined: figma.enum('Type', { Outlined: true }),
|
|
30
|
+
ghost: figma.enum('Type', { Ghost: true }),
|
|
31
|
+
},
|
|
32
|
+
example: ({ label, appearance, size, disabled, isLoading, outlined, ghost }) =>
|
|
33
|
+
html`<script setup>
|
|
34
|
+
import { MButton } from '@mozaic-ds/vue';
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<MButton appearance=${appearance} size=${size} disabled=${disabled} :is-loading=${isLoading} outlined=${outlined} ghost=${ghost}>
|
|
38
|
+
${label}
|
|
39
|
+
</MButton>`,
|
|
40
|
+
},
|
|
41
|
+
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MCallout
|
|
3
|
+
* Links Figma Callout (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=5-6504',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
appearance: figma.enum('Appearance', {
|
|
12
|
+
Standard: 'standard',
|
|
13
|
+
Accent: 'accent',
|
|
14
|
+
Tips: 'tips',
|
|
15
|
+
Inverse: 'inverse',
|
|
16
|
+
}),
|
|
17
|
+
},
|
|
18
|
+
example: ({ appearance }) =>
|
|
19
|
+
html`<script setup>
|
|
20
|
+
import { MCallout } from '@mozaic-ds/vue';
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<MCallout
|
|
24
|
+
title="This is a title, be concise and use the description message to give details."
|
|
25
|
+
description="Description message."
|
|
26
|
+
appearance=${appearance}
|
|
27
|
+
></MCallout>`,
|
|
28
|
+
},
|
|
29
|
+
);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MCarousel
|
|
3
|
+
* Links Figma Carousel (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=5-6454',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
hasScrollbar: figma.boolean('Has scrollbar'),
|
|
12
|
+
hasPagination: figma.boolean('Has pagination'),
|
|
13
|
+
breakpoint: figma.enum('Breakpoint', {
|
|
14
|
+
'S to M (320 to 1023px)': 's',
|
|
15
|
+
'L to XXL (1024 and up)': 'l',
|
|
16
|
+
}),
|
|
17
|
+
},
|
|
18
|
+
example: () =>
|
|
19
|
+
html`<script setup>
|
|
20
|
+
import { MCarousel } from '@mozaic-ds/vue';
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<MCarousel>
|
|
24
|
+
<template #header>
|
|
25
|
+
<h2>Carousel title</h2>
|
|
26
|
+
</template>
|
|
27
|
+
<div>Slide 1</div>
|
|
28
|
+
<div>Slide 2</div>
|
|
29
|
+
<div>Slide 3</div>
|
|
30
|
+
</MCarousel>`,
|
|
31
|
+
},
|
|
32
|
+
);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MCheckbox
|
|
3
|
+
* Links Figma Checkbox (stand-alone) (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=6-29180',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
modelValue: figma.enum('Is checked', {
|
|
12
|
+
True: true,
|
|
13
|
+
False: false,
|
|
14
|
+
}),
|
|
15
|
+
indeterminate: figma.enum('is Indeterminate', {
|
|
16
|
+
True: true,
|
|
17
|
+
False: false,
|
|
18
|
+
}),
|
|
19
|
+
disabled: figma.enum('State', {
|
|
20
|
+
Disabled: true,
|
|
21
|
+
Default: false,
|
|
22
|
+
Hovered: false,
|
|
23
|
+
Focused: false,
|
|
24
|
+
'Read-only': false,
|
|
25
|
+
}),
|
|
26
|
+
isInvalid: figma.enum('is invalid', {
|
|
27
|
+
True: true,
|
|
28
|
+
False: false,
|
|
29
|
+
}),
|
|
30
|
+
},
|
|
31
|
+
example: ({ modelValue, indeterminate, disabled, isInvalid }) =>
|
|
32
|
+
html`<script setup>
|
|
33
|
+
import { MCheckbox } from '@mozaic-ds/vue';
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<MCheckbox
|
|
37
|
+
id="checkbox-id"
|
|
38
|
+
label="Checkbox Label"
|
|
39
|
+
:model-value=${modelValue}
|
|
40
|
+
:indeterminate=${indeterminate}
|
|
41
|
+
disabled=${disabled}
|
|
42
|
+
:is-invalid=${isInvalid}
|
|
43
|
+
></MCheckbox>`,
|
|
44
|
+
},
|
|
45
|
+
);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MCheckboxGroup
|
|
3
|
+
* Links Figma Checkbox group (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=6-29096',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
inline: figma.enum('Layout', {
|
|
12
|
+
'Stacked (default)': false,
|
|
13
|
+
Inline: true,
|
|
14
|
+
}),
|
|
15
|
+
},
|
|
16
|
+
example: ({ inline }) =>
|
|
17
|
+
html`<script setup>
|
|
18
|
+
import { MCheckboxGroup } from '@mozaic-ds/vue';
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<MCheckboxGroup
|
|
22
|
+
name="group"
|
|
23
|
+
:options="[
|
|
24
|
+
{ id: '1', label: 'Option 1', value: '1' },
|
|
25
|
+
{ id: '2', label: 'Option 2', value: '2' },
|
|
26
|
+
]"
|
|
27
|
+
inline=${inline}
|
|
28
|
+
/>`,
|
|
29
|
+
},
|
|
30
|
+
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MCheckListMenu
|
|
3
|
+
* Links Figma Check-list menu (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=72-30681',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
outlined: figma.enum('is outlined', {
|
|
12
|
+
'true': true,
|
|
13
|
+
'false': false,
|
|
14
|
+
}),
|
|
15
|
+
},
|
|
16
|
+
example: ({ outlined }) =>
|
|
17
|
+
html`<script setup>
|
|
18
|
+
import { MCheckListMenu } from '@mozaic-ds/vue';
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<MCheckListMenu
|
|
22
|
+
:items="[
|
|
23
|
+
{ label: 'Label', checked: true },
|
|
24
|
+
{ label: 'Label', checked: false },
|
|
25
|
+
]"
|
|
26
|
+
outlined=${outlined}
|
|
27
|
+
/>`,
|
|
28
|
+
},
|
|
29
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Connect mapping for MCircularProgressbar
|
|
3
|
+
* Links Figma Circular progress bar (ADS2) to @mozaic-ds/vue
|
|
4
|
+
*/
|
|
5
|
+
import figma, { html } from '@figma/code-connect/html';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=61-2204',
|
|
9
|
+
{
|
|
10
|
+
props: {
|
|
11
|
+
size: figma.enum('Size', {
|
|
12
|
+
S: 's',
|
|
13
|
+
M: 'm',
|
|
14
|
+
L: 'l',
|
|
15
|
+
}),
|
|
16
|
+
value: figma.enum('Completion', {
|
|
17
|
+
'0%': 0,
|
|
18
|
+
'25%': 25,
|
|
19
|
+
'50%': 50,
|
|
20
|
+
'75%': 75,
|
|
21
|
+
'100%': 100,
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
example: ({ size, value }) =>
|
|
25
|
+
html`<script setup>
|
|
26
|
+
import { MCircularProgressbar } from '@mozaic-ds/vue';
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<MCircularProgressbar size=${size} :value=${value} aria-label="Progress bar"></MCircularProgressbar>`,
|
|
30
|
+
},
|
|
31
|
+
);
|