Skip to content

Commit 9ac5b89

Browse files
committed
moved project language to typescript from common js
1 parent 46f65ce commit 9ac5b89

34 files changed

+3453
-10418
lines changed

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
!docs/.vitepress
2+
dist
3+
examples

.eslintrc.js

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
1+
/* eslint-env node */
2+
require('@rushstack/eslint-patch/modern-module-resolution')
3+
14
module.exports = {
5+
root: true,
26
env: {
3-
node: true,
7+
node: true
48
},
5-
extends: [
6-
'eslint:recommended',
7-
'plugin:vue/vue3-recommended',
8-
'prettier'
9-
],
10-
parserOptions: {
11-
ecmaVersion: 12,
12-
sourceType: 'module',
13-
},
14-
plugins: ['vue'],
15-
rules: {},
9+
extends: ['plugin:vue/vue3-recommended', 'eslint:recommended', '@vue/eslint-config-typescript/recommended', '@vue/eslint-config-prettier']
1610
}

.prettierrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"printWidth": 160,
3+
"semi": false,
4+
"singleQuote": true,
5+
"arrowParens": "always",
6+
"trailingComma": "none",
7+
"singleAttributePerLine": true
8+
}

.prettierrc.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

.vscode/settings.json

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
11
{
2-
"editor.formatOnSave": true,
3-
"editor.defaultFormatter": "esbenp.prettier-vscode",
4-
"[vue]": {
5-
"editor.defaultFormatter": "esbenp.prettier-vscode"
6-
},
7-
"[javascript]": {
8-
"editor.defaultFormatter": "esbenp.prettier-vscode"
9-
},
10-
"prettier.requireConfig": true
2+
"editor.formatOnPaste": false,
3+
"editor.formatOnSave": true
114
}

babel.config.js

Lines changed: 0 additions & 12 deletions
This file was deleted.

docs/.vuepress/components/Number.vue

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<template>
2+
<input
3+
type="text"
4+
autocomplete="off"
5+
:value="maskedValue"
6+
@change="change"
7+
@input="input"
8+
v-number="config"
9+
class="v-number"
10+
/>
11+
</template>
12+
13+
<script>
14+
export default {
15+
name: 'Number',
16+
props: {
17+
modelValue: {
18+
required: true
19+
},
20+
nullValue: [Number, String],
21+
masked: Boolean,
22+
reverseFill: Boolean,
23+
prefill: Boolean,
24+
precision: Number,
25+
minimumFractionDigits: Number,
26+
decimal: String,
27+
min: Number,
28+
max: Number,
29+
separator: String,
30+
prefix: String,
31+
suffix: String
32+
},
33+
emits: ['update:model-value', 'input:model-value'],
34+
data() {
35+
return {
36+
maskedValue: this.modelValue,
37+
unmaskedValue: null
38+
}
39+
},
40+
methods: {
41+
input({ target }) {
42+
this.maskedValue = target.value
43+
this.unmaskedValue = target.unmaskedValue
44+
this.$emit('input:model-value', this.emittedValue)
45+
},
46+
change() {
47+
this.$emit('update:model-value', this.emittedValue)
48+
}
49+
},
50+
computed: {
51+
emittedValue() {
52+
return this.masked ? this.maskedValue : this.unmaskedValue
53+
},
54+
config() {
55+
const config = {}
56+
Object.keys(this.$props)
57+
.filter((item) => item !== 'modelValue')
58+
.forEach((item) => {
59+
config[item] = this.$props[item]
60+
})
61+
return config
62+
}
63+
},
64+
watch: {
65+
modelValue(val) {
66+
if (this.unmaskedValue !== val) {
67+
this.maskedValue = val
68+
}
69+
}
70+
}
71+
}
72+
</script>

docs/.vuepress/components/PlayGround.vue

Lines changed: 60 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div class="grid gap-y-4 md:grid-cols-2 md:gap-x-8 items-center my-8">
44
<div class="grid">
55
<div class="font-medium mb-2">Component</div>
6-
<number
6+
<Number
77
v-if="updated"
88
v-model="price"
99
v-bind="config"
@@ -43,53 +43,93 @@
4343
Export
4444
</button>
4545
<Dialog v-model="exportDialogVisible">
46-
<pre class="m-0" style="margin: 0">{{ config }}</pre>
46+
<pre
47+
class="m-0"
48+
style="margin: 0"
49+
>{{ config }}</pre
50+
>
4751
</Dialog>
4852
</div>
4953
</div>
5054
<hr class="mb-8" />
5155
<div class="grid grid-cols-1 md:grid-cols-3 gap-x-8">
5256
<div class="mb-5 min-w-0 grid">
5357
<div class="mb-2 font-medium">Separator</div>
54-
<BaseInput type="text" v-model="config.separator" />
58+
<BaseInput
59+
type="text"
60+
v-model="config.separator"
61+
/>
5562
</div>
5663
<div class="mb-5 min-w-0 grid">
5764
<div class="mb-2 font-medium">Decimal</div>
58-
<BaseInput type="text" v-model="config.decimal" />
65+
<BaseInput
66+
type="text"
67+
v-model="config.decimal"
68+
/>
5969
</div>
6070
<div class="mb-5 min-w-0 grid">
6171
<div class="mb-2 font-medium">Prefix</div>
62-
<BaseInput type="text" v-model="config.prefix" />
72+
<BaseInput
73+
type="text"
74+
v-model="config.prefix"
75+
/>
6376
</div>
6477
<div class="mb-5 min-w-0 grid">
6578
<div class="mb-2 font-medium">Suffix</div>
66-
<BaseInput type="text" v-model="config.suffix" />
79+
<BaseInput
80+
type="text"
81+
v-model="config.suffix"
82+
/>
6783
</div>
6884
<div class="mb-5 min-w-0 grid">
6985
<div class="mb-2 font-medium">Precision</div>
70-
<BaseInput type="number" v-model.number="config.precision" />
86+
<BaseInput
87+
type="number"
88+
v-model.number="config.precision"
89+
/>
7190
</div>
7291
<div class="mb-5 min-w-0 grid">
7392
<div class="mb-2 font-medium">Null value</div>
74-
<BaseInput type="text" v-model="config.nullValue" />
93+
<BaseInput
94+
type="text"
95+
v-model="config.nullValue"
96+
/>
7597
</div>
7698
<div class="mb-5 min-w-0 grid">
7799
<div class="mb-2 font-medium">Minimum fraction digits</div>
78-
<BaseInput type="text" v-model="config.minimumFractionDigits" />
100+
<BaseInput
101+
type="text"
102+
v-model="config.minimumFractionDigits"
103+
/>
79104
</div>
80105
<div class="mb-5 min-w-0 grid">
81106
<div class="mb-2 font-medium">Minimum value</div>
82-
<BaseInput type="text" v-model.number="config.min" />
107+
<BaseInput
108+
type="text"
109+
v-model.number="config.min"
110+
/>
83111
</div>
84112
<div class="mb-5 min-w-0 grid">
85113
<div class="mb-2 font-medium">Maximum value</div>
86-
<BaseInput type="text" v-model.number="config.max" />
114+
<BaseInput
115+
type="text"
116+
v-model.number="config.max"
117+
/>
87118
</div>
88119
</div>
89120
<div class="mb-8">
90-
<Checkbox v-model="config.masked" label="Masked?" />
91-
<Checkbox v-model="config.reverseFill" label="Reverse Fill?" />
92-
<Checkbox v-model="config.prefill" label="Prefill?" />
121+
<Checkbox
122+
v-model="config.masked"
123+
label="Masked?"
124+
/>
125+
<Checkbox
126+
v-model="config.reverseFill"
127+
label="Reverse Fill?"
128+
/>
129+
<Checkbox
130+
v-model="config.prefill"
131+
label="Prefill?"
132+
/>
93133
</div>
94134
</div>
95135
</template>
@@ -110,8 +150,8 @@ export default {
110150
precision: 2,
111151
nullValue: '',
112152
masked: false,
113-
reverseFill: false,
114-
},
153+
reverseFill: false
154+
}
115155
}
116156
},
117157
watch: {
@@ -122,8 +162,8 @@ export default {
122162
this.$nextTick(() => {
123163
this.updated = true
124164
})
125-
},
126-
},
165+
}
166+
}
127167
},
128168
methods: {
129169
onChange() {
@@ -137,7 +177,7 @@ export default {
137177
},
138178
onBlur() {
139179
console.log('onBlur', arguments)
140-
},
141-
},
180+
}
181+
}
142182
}
143183
</script>

0 commit comments

Comments
 (0)