@adyen/eslint-plugin-bento 2.6.4 → 2.7.1
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/CHANGELOG.md +16 -0
- package/configs/vue-recommended.js +2 -0
- package/configs/vue-strict.js +2 -0
- package/index.js +2 -0
- package/package.json +1 -1
- package/rules/deprecation-components-input-emit/README.md +160 -0
- package/rules/deprecation-components-input-emit/__tests__/deprecation-components-input-emit.vue +22 -0
- package/rules/deprecation-components-input-emit/__tests__/eslint.config.js +25 -0
- package/rules/deprecation-components-input-emit/deprecation-components-input-emit.integration.test.ts +35 -0
- package/rules/deprecation-components-input-emit/deprecation-components-input-emit.js +48 -0
- package/rules/deprecation-components-input-emit/deprecation-components-input-emit.test.ts +280 -0
- package/rules/deprecation-components-value-prop/README.md +160 -0
- package/rules/deprecation-components-value-prop/__tests__/deprecation-components-value-prop.vue +69 -0
- package/rules/deprecation-components-value-prop/__tests__/eslint.config.js +25 -0
- package/rules/deprecation-components-value-prop/deprecation-components-value-prop.integration.test.ts +37 -0
- package/rules/deprecation-components-value-prop/deprecation-components-value-prop.js +61 -0
- package/rules/deprecation-components-value-prop/deprecation-components-value-prop.test.ts +424 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.7.1 (2026-03-04)
|
|
4
|
+
|
|
5
|
+
This was a version bump only for eslint to align it with other projects, there were no code changes.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 2.7.0 (2026-02-25)
|
|
9
|
+
|
|
10
|
+
### Miscellaneous Chores
|
|
11
|
+
|
|
12
|
+
- added deprecation rules to migrate from `value` to `model-value` ([05241680e](https://github.com/Adyen/bento/commit/05241680e))
|
|
13
|
+
|
|
14
|
+
### ❤️ Thank You
|
|
15
|
+
|
|
16
|
+
- mafalda
|
|
17
|
+
|
|
18
|
+
|
|
3
19
|
## 2.6.4 (2026-02-19)
|
|
4
20
|
|
|
5
21
|
This was a version bump only for eslint to align it with other projects, there were no code changes.
|
|
@@ -11,6 +11,8 @@ module.exports = [
|
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
rules: {
|
|
14
|
+
'@adyen/bento/deprecation-components-input-emit': 'warn',
|
|
15
|
+
'@adyen/bento/deprecation-components-value-prop': 'warn',
|
|
14
16
|
'@adyen/bento/deprecation-currency-default-slot': 'warn',
|
|
15
17
|
'@adyen/bento/deprecation-tag-default-slot': 'warn',
|
|
16
18
|
'@adyen/bento/vue-old-spacer-tokens': 'warn',
|
package/configs/vue-strict.js
CHANGED
|
@@ -11,6 +11,8 @@ module.exports = [
|
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
rules: {
|
|
14
|
+
'@adyen/bento/deprecation-components-input-emit': 'error',
|
|
15
|
+
'@adyen/bento/deprecation-components-value-prop': 'error',
|
|
14
16
|
'@adyen/bento/deprecation-currency-default-slot': 'error',
|
|
15
17
|
'@adyen/bento/deprecation-tag-default-slot': 'error',
|
|
16
18
|
'@adyen/bento/vue-old-spacer-tokens': 'error',
|
package/index.js
CHANGED
|
@@ -11,6 +11,8 @@ const plugin = {
|
|
|
11
11
|
'vue-strict': require('./configs/vue-strict'),
|
|
12
12
|
},
|
|
13
13
|
rules: {
|
|
14
|
+
'deprecation-components-input-emit': require('./rules/deprecation-components-input-emit/deprecation-components-input-emit'),
|
|
15
|
+
'deprecation-components-value-prop': require('./rules/deprecation-components-value-prop/deprecation-components-value-prop'),
|
|
14
16
|
'deprecation-currency-default-slot': require('./rules/deprecation-currency-default-slot/deprecation-currency-default-slot'),
|
|
15
17
|
'deprecation-tag-default-slot': require('./rules/deprecation-tag-default-slot/deprecation-tag-default-slot'),
|
|
16
18
|
'vue-old-spacer-tokens': require('./rules/vue-old-spacer-tokens/vue-old-spacer-tokens'),
|
package/package.json
CHANGED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# deprecation-components-input-emit
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
The `input` emit in the following components is deprecated:
|
|
6
|
+
|
|
7
|
+
- `bento-date-picker`
|
|
8
|
+
- `bento-date-range-picker`
|
|
9
|
+
- `bento-dropdown`
|
|
10
|
+
- `bento-dropdown-avatar`
|
|
11
|
+
- `bento-dropdown-country`
|
|
12
|
+
- `bento-dropdown-currency`
|
|
13
|
+
- `bento-dropdown-payment-method`
|
|
14
|
+
- `bento-dropdown-tag`
|
|
15
|
+
- `bento-file-uploader`
|
|
16
|
+
- `bento-input-field`
|
|
17
|
+
- `bento-input-field-password`
|
|
18
|
+
- `bento-input-field-phone-number`
|
|
19
|
+
- `bento-checkbox-group`
|
|
20
|
+
- `bento-radio-group`
|
|
21
|
+
- `bento-selection-card-group`
|
|
22
|
+
- `bento-textarea`
|
|
23
|
+
|
|
24
|
+
Please use `update:model-value` instead.
|
|
25
|
+
|
|
26
|
+
## Rule Details
|
|
27
|
+
|
|
28
|
+
This rule reports usages of the deprecated item.
|
|
29
|
+
|
|
30
|
+
### ❌ Incorrect
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<bento-date-picker @input="handler" />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<bento-date-range-picker @input="handler" />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<bento-dropdown @input="handler" />
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<bento-dropdown-avatar @input="handler" />
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<bento-dropdown-country @input="handler" />
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```html
|
|
53
|
+
<bento-dropdown-currency @input="handler" />
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<bento-dropdown-payment-method @input="handler" />
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```html
|
|
61
|
+
<bento-dropdown-tag @input="handler" />
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<bento-file-uploader @input="handler" />
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<bento-input-field @input="handler" />
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<bento-input-field-password @input="handler" />
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<bento-input-field-phone-number @input="handler" />
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```html
|
|
81
|
+
<bento-checkbox-group @input="handler" />
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<bento-radio-group @input="handler" />
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```html
|
|
89
|
+
<bento-selection-card-group @input="handler" />
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```html
|
|
93
|
+
<bento-textarea @input="handler" />
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### ✅ Correct
|
|
97
|
+
|
|
98
|
+
```html
|
|
99
|
+
<bento-date-picker @update:model-value="handler" />
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
```html
|
|
103
|
+
<bento-date-range-picker @update:model-value="handler" />
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```html
|
|
107
|
+
<bento-dropdown @update:model-value="handler" />
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```html
|
|
111
|
+
<bento-dropdown-avatar @update:model-value="handler" />
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```html
|
|
115
|
+
<bento-dropdown-country @update:model-value="handler" />
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
```html
|
|
119
|
+
<bento-dropdown-currency @update:model-value="handler" />
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
```html
|
|
123
|
+
<bento-dropdown-payment-method @update:model-value="handler" />
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
```html
|
|
127
|
+
<bento-dropdown-tag @update:model-value="handler" />
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
```html
|
|
131
|
+
<bento-file-uploader @update:model-value="handler" />
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
```html
|
|
135
|
+
<bento-input-field @update:model-value="handler" />
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```html
|
|
139
|
+
<bento-input-field-password @update:model-value="handler" />
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```html
|
|
143
|
+
<bento-input-field-phone-number @update:model-value="handler" />
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```html
|
|
147
|
+
<bento-checkbox-group @update:model-value="handler" />
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
```html
|
|
151
|
+
<bento-radio-group @update:model-value="handler" />
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```html
|
|
155
|
+
<bento-selection-card-group @update:model-value="handler" />
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
```html
|
|
159
|
+
<bento-textarea @update:model-value="handler" />
|
|
160
|
+
```
|
package/rules/deprecation-components-input-emit/__tests__/deprecation-components-input-emit.vue
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<bento-date-picker @input="handler" />
|
|
4
|
+
<bento-date-range-picker @input="handler" />
|
|
5
|
+
<bento-dropdown @input="handler" />
|
|
6
|
+
<bento-dropdown-avatar @input="handler" />
|
|
7
|
+
<bento-dropdown-country @input="handler" />
|
|
8
|
+
<bento-dropdown-currency @input="handler" />
|
|
9
|
+
<bento-dropdown-payment-method @input="handler" />
|
|
10
|
+
<bento-dropdown-tag @input="handler" />
|
|
11
|
+
<bento-file-uploader @input="handler" />
|
|
12
|
+
<bento-input-field @input="handler" />
|
|
13
|
+
<bento-input-field-password @input="handler" />
|
|
14
|
+
<bento-input-field-phone-number @input="handler" />
|
|
15
|
+
<bento-checkbox-group @input="handler" />
|
|
16
|
+
<bento-radio-group @input="handler" />
|
|
17
|
+
<bento-selection-card-group @input="handler" />
|
|
18
|
+
<bento-textarea @input="handler" />
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script setup></script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const { defineConfig } = require('eslint/config');
|
|
2
|
+
const vueParser = require('vue-eslint-parser');
|
|
3
|
+
const tsParser = require('@typescript-eslint/parser');
|
|
4
|
+
const adyenBento = require('@adyen/eslint-plugin-bento');
|
|
5
|
+
|
|
6
|
+
module.exports = defineConfig([
|
|
7
|
+
{
|
|
8
|
+
languageOptions: {
|
|
9
|
+
ecmaVersion: 'latest',
|
|
10
|
+
sourceType: 'module',
|
|
11
|
+
parser: vueParser,
|
|
12
|
+
parserOptions: {
|
|
13
|
+
parser: tsParser,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
plugins: {
|
|
17
|
+
'@adyen/bento': adyenBento,
|
|
18
|
+
},
|
|
19
|
+
rules: {
|
|
20
|
+
// Register the specific rule we are testing
|
|
21
|
+
'@adyen/bento/deprecation-components-input-emit': 'warn',
|
|
22
|
+
},
|
|
23
|
+
files: ['**/*.vue'],
|
|
24
|
+
},
|
|
25
|
+
]);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { execFileSyncEslintVueFiles } from '../../utils/exec-file-sync-eslint-vue-files';
|
|
3
|
+
|
|
4
|
+
describe('@adyen/bento/deprecation-components-input-emit', () => {
|
|
5
|
+
it('should lint with warning', () => {
|
|
6
|
+
// Load .eslintrc
|
|
7
|
+
const eslintrc = path.resolve(__dirname, '__tests__', 'eslint.config.js');
|
|
8
|
+
// Load the test file generated alongside this one
|
|
9
|
+
const vueFile = path.resolve(__dirname, '__tests__', 'deprecation-components-input-emit.vue');
|
|
10
|
+
|
|
11
|
+
// Execute the linter
|
|
12
|
+
const result = JSON.parse(execFileSyncEslintVueFiles(eslintrc, vueFile));
|
|
13
|
+
|
|
14
|
+
/* ------------------------------------------------ */
|
|
15
|
+
/* CASE 2: SINGLE REPLACEMENT */
|
|
16
|
+
/* ------------------------------------------------ */
|
|
17
|
+
|
|
18
|
+
// For emits/slots, we generate 1 example FOR EACH component.
|
|
19
|
+
expect(result[0].warningCount).toBe(16);
|
|
20
|
+
|
|
21
|
+
// Verify the message structure on the first error found.
|
|
22
|
+
// Since the rule is the same for all components, checking the first one confirms the message is correct.
|
|
23
|
+
expect(result[0].messages[0]).toMatchObject({
|
|
24
|
+
ruleId: '@adyen/bento/deprecation-components-input-emit',
|
|
25
|
+
severity: 1,
|
|
26
|
+
|
|
27
|
+
messageId: 'deprecation',
|
|
28
|
+
message: `The "input" emit is deprecated. Please use "update:model-value" instead.`,
|
|
29
|
+
|
|
30
|
+
fix: expect.objectContaining({
|
|
31
|
+
text: expect.stringContaining('update:model-value'),
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('eslint').Rule.RuleContext} RuleContext
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('eslint-plugin-vue/lib/utils').RuleModule} RuleModule
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const VueUtils = require('eslint-plugin-vue/lib/utils');
|
|
9
|
+
|
|
10
|
+
/** @type {RuleModule} */
|
|
11
|
+
module.exports = {
|
|
12
|
+
meta: {
|
|
13
|
+
type: 'suggestion',
|
|
14
|
+
docs: {
|
|
15
|
+
description:
|
|
16
|
+
'Deprecates usage of input emit in bento-date-picker, bento-date-range-picker, bento-dropdown, bento-dropdown-avatar, bento-dropdown-country, bento-dropdown-currency, bento-dropdown-payment-method, bento-dropdown-tag, bento-file-uploader, bento-input-field, bento-input-field-password, bento-input-field-phone-number, bento-checkbox-group, bento-radio-group, bento-selection-card-group, bento-textarea',
|
|
17
|
+
category: 'Deprecations',
|
|
18
|
+
url: 'https://github.com/Adyen/bento/blob/main/packages/eslint/rules/deprecation-components-input-emit/README.md',
|
|
19
|
+
recommended: true,
|
|
20
|
+
},
|
|
21
|
+
messages: {
|
|
22
|
+
deprecation: `The "input" emit is deprecated. Please use "update:model-value" instead.`,
|
|
23
|
+
},
|
|
24
|
+
fixable: 'code',
|
|
25
|
+
schema: [],
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
/** @param {RuleContext} context */
|
|
29
|
+
create(context) {
|
|
30
|
+
/* ------------------------------------------------ */
|
|
31
|
+
/* CASE 3: EMIT DEPRECATION (Multiple Components) */
|
|
32
|
+
/* ------------------------------------------------ */
|
|
33
|
+
return VueUtils.defineTemplateBodyVisitor(context, {
|
|
34
|
+
// @click="foo" or v-on:click="foo"
|
|
35
|
+
[`VElement:matches([name="bento-date-picker"], [name="BentoDatePicker"], [name="bento-date-range-picker"], [name="BentoDateRangePicker"], [name="bento-dropdown"], [name="BentoDropdown"], [name="bento-dropdown-avatar"], [name="BentoDropdownAvatar"], [name="bento-dropdown-country"], [name="BentoDropdownCountry"], [name="bento-dropdown-currency"], [name="BentoDropdownCurrency"], [name="bento-dropdown-payment-method"], [name="BentoDropdownPaymentMethod"], [name="bento-dropdown-tag"], [name="BentoDropdownTag"], [name="bento-file-uploader"], [name="BentoFileUploader"], [name="bento-input-field"], [name="BentoInputField"], [name="bento-input-field-password"], [name="BentoInputFieldPassword"], [name="bento-input-field-phone-number"], [name="BentoInputFieldPhoneNumber"], [name="bento-checkbox-group"], [name="BentoCheckboxGroup"], [name="bento-radio-group"], [name="BentoRadioGroup"], [name="bento-selection-card-group"], [name="BentoSelectionCardGroup"], [name="bento-textarea"], [name="BentoTextarea"]) > VStartTag > VAttribute[directive=true][key.name.name="on"][key.argument.name="input"]`](
|
|
36
|
+
node
|
|
37
|
+
) {
|
|
38
|
+
context.report({
|
|
39
|
+
node,
|
|
40
|
+
messageId: 'deprecation',
|
|
41
|
+
fix(fixer) {
|
|
42
|
+
return fixer.replaceText(node.key.argument, 'update:model-value');
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
};
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { RuleTester } from 'eslint';
|
|
2
|
+
import vueParser from 'vue-eslint-parser';
|
|
3
|
+
import tsParser from '@typescript-eslint/parser';
|
|
4
|
+
import deprecationComponentsInputEmit from './deprecation-components-input-emit';
|
|
5
|
+
|
|
6
|
+
const ruleTester = new RuleTester({
|
|
7
|
+
languageOptions: {
|
|
8
|
+
ecmaVersion: 'latest',
|
|
9
|
+
sourceType: 'module',
|
|
10
|
+
parser: vueParser,
|
|
11
|
+
parserOptions: {
|
|
12
|
+
parser: tsParser,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
describe('@adyen/bento/deprecation-components-input-emit', () => {
|
|
18
|
+
ruleTester.run('deprecation-components-input-emit', deprecationComponentsInputEmit, {
|
|
19
|
+
valid: [
|
|
20
|
+
{
|
|
21
|
+
name: 'Valid usage for bento-date-picker',
|
|
22
|
+
filename: 'test.vue',
|
|
23
|
+
code: `
|
|
24
|
+
<template>
|
|
25
|
+
<bento-date-picker @update:model-value="val" />
|
|
26
|
+
</template>
|
|
27
|
+
`,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Valid usage for bento-date-range-picker',
|
|
31
|
+
filename: 'test.vue',
|
|
32
|
+
code: `
|
|
33
|
+
<template>
|
|
34
|
+
<bento-date-range-picker @update:model-value="val" />
|
|
35
|
+
</template>
|
|
36
|
+
`,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Valid usage for bento-dropdown',
|
|
40
|
+
filename: 'test.vue',
|
|
41
|
+
code: `
|
|
42
|
+
<template>
|
|
43
|
+
<bento-dropdown @update:model-value="val" />
|
|
44
|
+
</template>
|
|
45
|
+
`,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Valid usage for bento-dropdown-avatar',
|
|
49
|
+
filename: 'test.vue',
|
|
50
|
+
code: `
|
|
51
|
+
<template>
|
|
52
|
+
<bento-dropdown-avatar @update:model-value="val" />
|
|
53
|
+
</template>
|
|
54
|
+
`,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Valid usage for bento-dropdown-country',
|
|
58
|
+
filename: 'test.vue',
|
|
59
|
+
code: `
|
|
60
|
+
<template>
|
|
61
|
+
<bento-dropdown-country @update:model-value="val" />
|
|
62
|
+
</template>
|
|
63
|
+
`,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Valid usage for bento-dropdown-currency',
|
|
67
|
+
filename: 'test.vue',
|
|
68
|
+
code: `
|
|
69
|
+
<template>
|
|
70
|
+
<bento-dropdown-currency @update:model-value="val" />
|
|
71
|
+
</template>
|
|
72
|
+
`,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Valid usage for bento-dropdown-payment-method',
|
|
76
|
+
filename: 'test.vue',
|
|
77
|
+
code: `
|
|
78
|
+
<template>
|
|
79
|
+
<bento-dropdown-payment-method @update:model-value="val" />
|
|
80
|
+
</template>
|
|
81
|
+
`,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'Valid usage for bento-dropdown-tag',
|
|
85
|
+
filename: 'test.vue',
|
|
86
|
+
code: `
|
|
87
|
+
<template>
|
|
88
|
+
<bento-dropdown-tag @update:model-value="val" />
|
|
89
|
+
</template>
|
|
90
|
+
`,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Valid usage for bento-file-uploader',
|
|
94
|
+
filename: 'test.vue',
|
|
95
|
+
code: `
|
|
96
|
+
<template>
|
|
97
|
+
<bento-file-uploader @update:model-value="val" />
|
|
98
|
+
</template>
|
|
99
|
+
`,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: 'Valid usage for bento-input-field',
|
|
103
|
+
filename: 'test.vue',
|
|
104
|
+
code: `
|
|
105
|
+
<template>
|
|
106
|
+
<bento-input-field @update:model-value="val" />
|
|
107
|
+
</template>
|
|
108
|
+
`,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'Valid usage for bento-input-field-password',
|
|
112
|
+
filename: 'test.vue',
|
|
113
|
+
code: `
|
|
114
|
+
<template>
|
|
115
|
+
<bento-input-field-password @update:model-value="val" />
|
|
116
|
+
</template>
|
|
117
|
+
`,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: 'Valid usage for bento-input-field-phone-number',
|
|
121
|
+
filename: 'test.vue',
|
|
122
|
+
code: `
|
|
123
|
+
<template>
|
|
124
|
+
<bento-input-field-phone-number @update:model-value="val" />
|
|
125
|
+
</template>
|
|
126
|
+
`,
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'Valid usage for bento-checkbox-group',
|
|
130
|
+
filename: 'test.vue',
|
|
131
|
+
code: `
|
|
132
|
+
<template>
|
|
133
|
+
<bento-checkbox-group @update:model-value="val" />
|
|
134
|
+
</template>
|
|
135
|
+
`,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: 'Valid usage for bento-radio-group',
|
|
139
|
+
filename: 'test.vue',
|
|
140
|
+
code: `
|
|
141
|
+
<template>
|
|
142
|
+
<bento-radio-group @update:model-value="val" />
|
|
143
|
+
</template>
|
|
144
|
+
`,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'Valid usage for bento-selection-card-group',
|
|
148
|
+
filename: 'test.vue',
|
|
149
|
+
code: `
|
|
150
|
+
<template>
|
|
151
|
+
<bento-selection-card-group @update:model-value="val" />
|
|
152
|
+
</template>
|
|
153
|
+
`,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
name: 'Valid usage for bento-textarea',
|
|
157
|
+
filename: 'test.vue',
|
|
158
|
+
code: `
|
|
159
|
+
<template>
|
|
160
|
+
<bento-textarea @update:model-value="val" />
|
|
161
|
+
</template>
|
|
162
|
+
`,
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
invalid: [
|
|
166
|
+
{
|
|
167
|
+
name: 'Invalid: Emit event on bento-date-picker',
|
|
168
|
+
filename: 'test.vue',
|
|
169
|
+
code: `<template><bento-date-picker @input="val" /></template>`,
|
|
170
|
+
output: `<template><bento-date-picker @update:model-value="val" /></template>`,
|
|
171
|
+
errors: [{ messageId: 'deprecation' }],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: 'Invalid: Emit event on bento-date-range-picker',
|
|
175
|
+
filename: 'test.vue',
|
|
176
|
+
code: `<template><bento-date-range-picker @input="val" /></template>`,
|
|
177
|
+
output: `<template><bento-date-range-picker @update:model-value="val" /></template>`,
|
|
178
|
+
errors: [{ messageId: 'deprecation' }],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'Invalid: Emit event on bento-dropdown',
|
|
182
|
+
filename: 'test.vue',
|
|
183
|
+
code: `<template><bento-dropdown @input="val" /></template>`,
|
|
184
|
+
output: `<template><bento-dropdown @update:model-value="val" /></template>`,
|
|
185
|
+
errors: [{ messageId: 'deprecation' }],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'Invalid: Emit event on bento-dropdown-avatar',
|
|
189
|
+
filename: 'test.vue',
|
|
190
|
+
code: `<template><bento-dropdown-avatar @input="val" /></template>`,
|
|
191
|
+
output: `<template><bento-dropdown-avatar @update:model-value="val" /></template>`,
|
|
192
|
+
errors: [{ messageId: 'deprecation' }],
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'Invalid: Emit event on bento-dropdown-country',
|
|
196
|
+
filename: 'test.vue',
|
|
197
|
+
code: `<template><bento-dropdown-country @input="val" /></template>`,
|
|
198
|
+
output: `<template><bento-dropdown-country @update:model-value="val" /></template>`,
|
|
199
|
+
errors: [{ messageId: 'deprecation' }],
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: 'Invalid: Emit event on bento-dropdown-currency',
|
|
203
|
+
filename: 'test.vue',
|
|
204
|
+
code: `<template><bento-dropdown-currency @input="val" /></template>`,
|
|
205
|
+
output: `<template><bento-dropdown-currency @update:model-value="val" /></template>`,
|
|
206
|
+
errors: [{ messageId: 'deprecation' }],
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'Invalid: Emit event on bento-dropdown-payment-method',
|
|
210
|
+
filename: 'test.vue',
|
|
211
|
+
code: `<template><bento-dropdown-payment-method @input="val" /></template>`,
|
|
212
|
+
output: `<template><bento-dropdown-payment-method @update:model-value="val" /></template>`,
|
|
213
|
+
errors: [{ messageId: 'deprecation' }],
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'Invalid: Emit event on bento-dropdown-tag',
|
|
217
|
+
filename: 'test.vue',
|
|
218
|
+
code: `<template><bento-dropdown-tag @input="val" /></template>`,
|
|
219
|
+
output: `<template><bento-dropdown-tag @update:model-value="val" /></template>`,
|
|
220
|
+
errors: [{ messageId: 'deprecation' }],
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: 'Invalid: Emit event on bento-file-uploader',
|
|
224
|
+
filename: 'test.vue',
|
|
225
|
+
code: `<template><bento-file-uploader @input="val" /></template>`,
|
|
226
|
+
output: `<template><bento-file-uploader @update:model-value="val" /></template>`,
|
|
227
|
+
errors: [{ messageId: 'deprecation' }],
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: 'Invalid: Emit event on bento-input-field',
|
|
231
|
+
filename: 'test.vue',
|
|
232
|
+
code: `<template><bento-input-field @input="val" /></template>`,
|
|
233
|
+
output: `<template><bento-input-field @update:model-value="val" /></template>`,
|
|
234
|
+
errors: [{ messageId: 'deprecation' }],
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
name: 'Invalid: Emit event on bento-input-field-password',
|
|
238
|
+
filename: 'test.vue',
|
|
239
|
+
code: `<template><bento-input-field-password @input="val" /></template>`,
|
|
240
|
+
output: `<template><bento-input-field-password @update:model-value="val" /></template>`,
|
|
241
|
+
errors: [{ messageId: 'deprecation' }],
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
name: 'Invalid: Emit event on bento-input-field-phone-number',
|
|
245
|
+
filename: 'test.vue',
|
|
246
|
+
code: `<template><bento-input-field-phone-number @input="val" /></template>`,
|
|
247
|
+
output: `<template><bento-input-field-phone-number @update:model-value="val" /></template>`,
|
|
248
|
+
errors: [{ messageId: 'deprecation' }],
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'Invalid: Emit event on bento-checkbox-group',
|
|
252
|
+
filename: 'test.vue',
|
|
253
|
+
code: `<template><bento-checkbox-group @input="val" /></template>`,
|
|
254
|
+
output: `<template><bento-checkbox-group @update:model-value="val" /></template>`,
|
|
255
|
+
errors: [{ messageId: 'deprecation' }],
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: 'Invalid: Emit event on bento-radio-group',
|
|
259
|
+
filename: 'test.vue',
|
|
260
|
+
code: `<template><bento-radio-group @input="val" /></template>`,
|
|
261
|
+
output: `<template><bento-radio-group @update:model-value="val" /></template>`,
|
|
262
|
+
errors: [{ messageId: 'deprecation' }],
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: 'Invalid: Emit event on bento-selection-card-group',
|
|
266
|
+
filename: 'test.vue',
|
|
267
|
+
code: `<template><bento-selection-card-group @input="val" /></template>`,
|
|
268
|
+
output: `<template><bento-selection-card-group @update:model-value="val" /></template>`,
|
|
269
|
+
errors: [{ messageId: 'deprecation' }],
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
name: 'Invalid: Emit event on bento-textarea',
|
|
273
|
+
filename: 'test.vue',
|
|
274
|
+
code: `<template><bento-textarea @input="val" /></template>`,
|
|
275
|
+
output: `<template><bento-textarea @update:model-value="val" /></template>`,
|
|
276
|
+
errors: [{ messageId: 'deprecation' }],
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
});
|
|
280
|
+
});
|