@trimble-oss/moduswebcomponents-mcp 1.0.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/index.d.ts +2 -0
- package/dist/index.js +337 -0
- package/package.json +39 -0
- package/versions/1.0.0/component-docs/_all_components.json +56 -0
- package/versions/1.0.0/component-docs/modus-wc-autocomplete.json +415 -0
- package/versions/1.0.0/component-docs/modus-wc-date.json +227 -0
- package/versions/1.0.0/component-docs/modus-wc-dropdown-menu.json +164 -0
- package/versions/1.0.0/component-docs/modus-wc-logo.json +61 -0
- package/versions/1.0.0/component-docs/modus-wc-menu-item.json +165 -0
- package/versions/1.0.0/component-docs/modus-wc-menu.json +106 -0
- package/versions/1.0.0/component-docs/modus-wc-navbar.json +290 -0
- package/versions/1.0.0/component-docs/modus-wc-profile-menu.json +64 -0
- package/versions/1.0.0/component-docs/modus-wc-side-navigation.json +102 -0
- package/versions/1.0.0/component-docs/modus-wc-table.json +202 -0
- package/versions/1.0.0/component-docs/modus-wc-tooltip.json +94 -0
- package/versions/1.0.0/component-docs/modus-wc-typography.json +78 -0
- package/versions/1.0.0/docs/_all_docs.json +15 -0
- package/versions/1.0.0/docs/angular.mdx +374 -0
- package/versions/1.0.0/docs/getting-started.mdx +131 -0
- package/versions/1.0.7/component-docs/_all_components.json +55 -0
- package/versions/1.0.7/component-docs/modus-wc-autocomplete.json +405 -0
- package/versions/1.0.7/component-docs/modus-wc-table.json +202 -0
- package/versions/1.0.7/component-docs/modus-wc-tooltip.json +94 -0
- package/versions/1.0.7/docs/_all_docs.json +15 -0
- package/versions/1.0.7/docs/angular.mdx +374 -0
- package/versions/1.1.0/component-docs/_all_components.json +56 -0
- package/versions/1.1.0/component-docs/modus-wc-autocomplete.json +405 -0
- package/versions/1.1.0/component-docs/modus-wc-navbar.json +290 -0
- package/versions/1.1.0/component-docs/modus-wc-profile-menu.json +64 -0
- package/versions/1.1.0/component-docs/modus-wc-side-navigation.json +102 -0
- package/versions/1.1.0/component-docs/modus-wc-table.json +202 -0
- package/versions/1.1.0/component-docs/modus-wc-tooltip.json +94 -0
- package/versions/1.1.0/component-docs/modus-wc-typography.json +78 -0
- package/versions/1.1.0/docs/_all_docs.json +15 -0
- package/versions/1.1.0/docs/angular.mdx +374 -0
- package/versions/1.1.0/docs/getting-started.mdx +131 -0
- package/versions/1.1.1/component-docs/_all_components.json +56 -0
- package/versions/1.1.1/component-docs/modus-wc-autocomplete.json +405 -0
- package/versions/1.1.1/component-docs/modus-wc-navbar.json +290 -0
- package/versions/1.1.1/component-docs/modus-wc-profile-menu.json +64 -0
- package/versions/1.1.1/component-docs/modus-wc-side-navigation.json +102 -0
- package/versions/1.1.1/component-docs/modus-wc-table.json +202 -0
- package/versions/1.1.1/component-docs/modus-wc-tooltip.json +94 -0
- package/versions/1.1.1/component-docs/modus-wc-typography.json +78 -0
- package/versions/1.1.1/docs/_all_docs.json +15 -0
- package/versions/1.1.1/docs/angular.mdx +374 -0
- package/versions/1.1.1/docs/getting-started.mdx +131 -0
- package/versions/base/component-docs/_all_components.json +55 -0
- package/versions/base/component-docs/modus-wc-accordion.json +48 -0
- package/versions/base/component-docs/modus-wc-alert.json +112 -0
- package/versions/base/component-docs/modus-wc-autocomplete.json +397 -0
- package/versions/base/component-docs/modus-wc-avatar.json +83 -0
- package/versions/base/component-docs/modus-wc-badge.json +68 -0
- package/versions/base/component-docs/modus-wc-breadcrumbs.json +63 -0
- package/versions/base/component-docs/modus-wc-button-group.json +100 -0
- package/versions/base/component-docs/modus-wc-button.json +130 -0
- package/versions/base/component-docs/modus-wc-card.json +98 -0
- package/versions/base/component-docs/modus-wc-checkbox.json +149 -0
- package/versions/base/component-docs/modus-wc-chip.json +132 -0
- package/versions/base/component-docs/modus-wc-collapse.json +90 -0
- package/versions/base/component-docs/modus-wc-date.json +227 -0
- package/versions/base/component-docs/modus-wc-divider.json +85 -0
- package/versions/base/component-docs/modus-wc-dropdown-menu.json +154 -0
- package/versions/base/component-docs/modus-wc-file-dropzone.json +155 -0
- package/versions/base/component-docs/modus-wc-handle.json +135 -0
- package/versions/base/component-docs/modus-wc-icon.json +722 -0
- package/versions/base/component-docs/modus-wc-input-feedback.json +71 -0
- package/versions/base/component-docs/modus-wc-input-label.json +84 -0
- package/versions/base/component-docs/modus-wc-loader.json +65 -0
- package/versions/base/component-docs/modus-wc-logo.json +61 -0
- package/versions/base/component-docs/modus-wc-menu-item.json +173 -0
- package/versions/base/component-docs/modus-wc-menu.json +86 -0
- package/versions/base/component-docs/modus-wc-modal.json +108 -0
- package/versions/base/component-docs/modus-wc-navbar.json +280 -0
- package/versions/base/component-docs/modus-wc-number-input.json +219 -0
- package/versions/base/component-docs/modus-wc-pagination.json +103 -0
- package/versions/base/component-docs/modus-wc-panel.json +76 -0
- package/versions/base/component-docs/modus-wc-progress.json +86 -0
- package/versions/base/component-docs/modus-wc-radio.json +139 -0
- package/versions/base/component-docs/modus-wc-rating.json +117 -0
- package/versions/base/component-docs/modus-wc-select.json +159 -0
- package/versions/base/component-docs/modus-wc-side-navigation.json +102 -0
- package/versions/base/component-docs/modus-wc-skeleton.json +65 -0
- package/versions/base/component-docs/modus-wc-slider.json +163 -0
- package/versions/base/component-docs/modus-wc-stepper.json +47 -0
- package/versions/base/component-docs/modus-wc-switch.json +149 -0
- package/versions/base/component-docs/modus-wc-table.json +202 -0
- package/versions/base/component-docs/modus-wc-tabs.json +86 -0
- package/versions/base/component-docs/modus-wc-text-input.json +278 -0
- package/versions/base/component-docs/modus-wc-textarea.json +215 -0
- package/versions/base/component-docs/modus-wc-theme-switcher.json +49 -0
- package/versions/base/component-docs/modus-wc-time-input.json +211 -0
- package/versions/base/component-docs/modus-wc-toast.json +56 -0
- package/versions/base/component-docs/modus-wc-toolbar.json +44 -0
- package/versions/base/component-docs/modus-wc-tooltip.json +94 -0
- package/versions/base/component-docs/modus-wc-typography.json +73 -0
- package/versions/base/component-docs/modus-wc-utility-panel.json +86 -0
- package/versions/base/docs/_all_docs.json +15 -0
- package/versions/base/docs/accessibility.mdx +32 -0
- package/versions/base/docs/angular.mdx +346 -0
- package/versions/base/docs/form-inputs.mdx +86 -0
- package/versions/base/docs/getting-started.mdx +91 -0
- package/versions/base/docs/modus-figma-mcp-integration-guide.mdx +254 -0
- package/versions/base/docs/modus-icon-usage.mdx +210 -0
- package/versions/base/docs/react.mdx +129 -0
- package/versions/base/docs/styling.mdx +107 -0
- package/versions/base/docs/testing.mdx +18 -0
- package/versions/base/docs/vue.mdx +159 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Documentation/Testing" />
|
|
4
|
+
|
|
5
|
+
# Testing
|
|
6
|
+
|
|
7
|
+
## Jest
|
|
8
|
+
|
|
9
|
+
Jest may throw errors during test runs when encountering ES modules or node_modules that need transformation.
|
|
10
|
+
If you encounter errors like "SyntaxError: Unexpected token 'export'" or "Cannot use import statement outside a
|
|
11
|
+
module", add the following `transformIgnorePatterns` configuration to your Jest config:
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
// In jest.config.js or package.json
|
|
15
|
+
"transformIgnorePatterns": [
|
|
16
|
+
"node_modules/(?!(your-problematic-module|another-module)/)"
|
|
17
|
+
]
|
|
18
|
+
```
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { Meta } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
<Meta title="Documentation/Frameworks/Vue" />
|
|
4
|
+
|
|
5
|
+
# Vue Framework Integration
|
|
6
|
+
|
|
7
|
+
This guide will help you get started with consuming the Modus Vue Web Component library in your Vue project.
|
|
8
|
+
|
|
9
|
+
We highly recommend using the Modus Vue Components library for Vue based projects.
|
|
10
|
+
These components are automatically generated using the Stencil Vue Framework Integration.
|
|
11
|
+
|
|
12
|
+
Follow the steps outlined below to integrate and use Modus Vue Web Components effectively.
|
|
13
|
+
|
|
14
|
+
Please refer to the [official stencil documentation](https://stenciljs.com/docs/vue) for more information on how to integrate with your Vue project.
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
Modus Vue Components have a peer dependency with Modus Web Components and require the
|
|
19
|
+
installation of both packages.
|
|
20
|
+
|
|
21
|
+
### 1. Install `@trimble-oss/moduswebcomponents-vue`:
|
|
22
|
+
|
|
23
|
+
<b>
|
|
24
|
+
Lock the installed package versions to avoid unintended breakages on future
|
|
25
|
+
npm installs.
|
|
26
|
+
</b>
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install @trimble-oss/moduswebcomponents @trimble-oss/moduswebcomponents-vue@<latest-version>
|
|
30
|
+
# e.g.,
|
|
31
|
+
npm install @trimble-oss/moduswebcomponents@1.0.0 @trimble-oss/moduswebcomponents-vue@1.0.0
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Set up the styling:
|
|
35
|
+
|
|
36
|
+
You will need to import our styling in your main JavaScript or CSS file:
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
// main.ts
|
|
40
|
+
import '@trimble-oss/moduswebcomponents/modus-wc-styles.css';
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 3. Use the component library as normal:
|
|
44
|
+
|
|
45
|
+
**Note:** Use camelCase for multi-word properties (e.g., `alertTitle` instead of `alert-title`)
|
|
46
|
+
|
|
47
|
+
```vue
|
|
48
|
+
<template>
|
|
49
|
+
<ModusWcButton color="primary" @click="handleClick"> Click Me </ModusWcButton>
|
|
50
|
+
|
|
51
|
+
<ModusWcBadge aria-label="Badge" content="Words" />
|
|
52
|
+
</template>
|
|
53
|
+
|
|
54
|
+
<script setup lang="ts">
|
|
55
|
+
import {
|
|
56
|
+
ModusWcButton,
|
|
57
|
+
ModusWcBadge,
|
|
58
|
+
} from '@trimble-oss/moduswebcomponents-vue';
|
|
59
|
+
|
|
60
|
+
const handleClick = () => {
|
|
61
|
+
console.log('Button clicked!');
|
|
62
|
+
};
|
|
63
|
+
</script>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Custom Elements Configuration
|
|
67
|
+
|
|
68
|
+
When using web components directly in Vue, you need to configure Vue to recognize custom elements:
|
|
69
|
+
|
|
70
|
+
### 1. Install `@trimble-oss/moduswebcomponents`:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npm install @trimble-oss/moduswebcomponents@latest
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 2. Set up the styling:
|
|
77
|
+
|
|
78
|
+
```js
|
|
79
|
+
// main.ts
|
|
80
|
+
import '@trimble-oss/moduswebcomponents/modus-wc-styles.css';
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 3. Configure Vue to work with custom elements:
|
|
84
|
+
|
|
85
|
+
In your `vite.config.ts`, you need to tell Vue to ignore custom elements:
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
// vite.config.ts
|
|
89
|
+
import { defineConfig } from 'vite';
|
|
90
|
+
import vue from '@vitejs/plugin-vue';
|
|
91
|
+
|
|
92
|
+
export default defineConfig({
|
|
93
|
+
plugins: [
|
|
94
|
+
vue({
|
|
95
|
+
template: {
|
|
96
|
+
compilerOptions: {
|
|
97
|
+
// Tell Vue to ignore all components starting with "modus-wc"
|
|
98
|
+
isCustomElement: (tag) => tag.startsWith('modus-wc'),
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
}),
|
|
102
|
+
],
|
|
103
|
+
});
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 4. Use the web components in your Vue templates:
|
|
107
|
+
|
|
108
|
+
```vue
|
|
109
|
+
<template>
|
|
110
|
+
<modus-wc-button label="Click Me" />
|
|
111
|
+
<modus-wc-badge aria-label="Badge" content="Words" />
|
|
112
|
+
</template>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Wrapping Components
|
|
116
|
+
|
|
117
|
+
When using Modus Vue Components directly, it is recommended to wrap them in corresponding Vue components within your application. This will abstract away from the library dependency, allowing more flexibility for you and your application in the future.
|
|
118
|
+
|
|
119
|
+
Wrapped Modus Avatar Example:
|
|
120
|
+
|
|
121
|
+
```vue
|
|
122
|
+
<template>
|
|
123
|
+
<ModusWcAvatar v-bind="$props" />
|
|
124
|
+
</template>
|
|
125
|
+
|
|
126
|
+
<script setup lang="ts">
|
|
127
|
+
import { ModusWcAvatar } from '@trimble-oss/moduswebcomponents-vue';
|
|
128
|
+
import type { ComponentProps } from 'vue-component-type-helpers';
|
|
129
|
+
|
|
130
|
+
interface Props extends ComponentProps<typeof ModusWcAvatar> {}
|
|
131
|
+
|
|
132
|
+
defineProps<Props>();
|
|
133
|
+
</script>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
or, a more complex wrapper:
|
|
137
|
+
|
|
138
|
+
```vue
|
|
139
|
+
<template>
|
|
140
|
+
<ModusWcTextInput v-bind="$props" @inputChange="handleInputChange" />
|
|
141
|
+
</template>
|
|
142
|
+
|
|
143
|
+
<script setup lang="ts">
|
|
144
|
+
import { ModusWcTextInput } from '@trimble-oss/moduswebcomponents-vue';
|
|
145
|
+
import type { ComponentProps } from 'vue-component-type-helpers';
|
|
146
|
+
|
|
147
|
+
interface Props
|
|
148
|
+
extends Omit<ComponentProps<typeof ModusWcTextInput>, 'onInputChange'> {
|
|
149
|
+
onValueChange?: (value: string) => void;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const props = defineProps<Props>();
|
|
153
|
+
|
|
154
|
+
const handleInputChange = (e: CustomEvent) => {
|
|
155
|
+
const value = e.detail.target.value;
|
|
156
|
+
props.onValueChange?.(value);
|
|
157
|
+
};
|
|
158
|
+
</script>
|
|
159
|
+
```
|