adata-ui 0.1.0 → 0.1.4

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.
Files changed (43) hide show
  1. package/README.md +3 -20
  2. package/dist/adata-ui.common.js +591 -42
  3. package/dist/adata-ui.common.js.map +1 -1
  4. package/dist/adata-ui.css +1 -1
  5. package/dist/adata-ui.umd.js +591 -42
  6. package/dist/adata-ui.umd.js.map +1 -1
  7. package/dist/adata-ui.umd.min.js +1 -1
  8. package/dist/adata-ui.umd.min.js.map +1 -1
  9. package/package-lock.json +8132 -241
  10. package/package.json +70 -52
  11. package/src/App.vue +1 -6
  12. package/src/components/Alert/Alert.stories.js +17 -0
  13. package/src/components/Alert/Alert.vue +63 -0
  14. package/src/components/Button/BaseButton.vue +241 -0
  15. package/src/components/Button/Button.stories.js +23 -0
  16. package/src/components/Footer/Footer.stories.js +20 -0
  17. package/src/components/Footer/Footer.vue +233 -0
  18. package/src/components/Header/Header.stories.js +0 -0
  19. package/src/components/Header/Header.vue +135 -0
  20. package/src/components/PasswordField/PasswordField.stories.js +16 -0
  21. package/src/components/PasswordField/PasswordField.vue +68 -0
  22. package/src/components/TextField/TextField.stories.js +17 -0
  23. package/src/components/TextField/TextField.vue +355 -0
  24. package/src/components/index.js +8 -2
  25. package/src/stories/Button.stories.js +46 -0
  26. package/src/stories/Button.vue +54 -0
  27. package/src/stories/Header.stories.js +21 -0
  28. package/src/stories/Header.vue +59 -0
  29. package/src/stories/Introduction.stories.mdx +211 -0
  30. package/src/stories/Page.stories.js +25 -0
  31. package/src/stories/Page.vue +88 -0
  32. package/src/stories/assets/code-brackets.svg +1 -0
  33. package/src/stories/assets/colors.svg +1 -0
  34. package/src/stories/assets/comments.svg +1 -0
  35. package/src/stories/assets/direction.svg +1 -0
  36. package/src/stories/assets/flow.svg +1 -0
  37. package/src/stories/assets/plugin.svg +1 -0
  38. package/src/stories/assets/repo.svg +1 -0
  39. package/src/stories/assets/stackalt.svg +1 -0
  40. package/src/stories/button.css +30 -0
  41. package/src/stories/header.css +26 -0
  42. package/src/stories/page.css +69 -0
  43. package/src/components/HelloWorld.vue +0 -58
package/package.json CHANGED
@@ -1,52 +1,70 @@
1
- {
2
- "name": "adata-ui",
3
- "version": "0.1.0",
4
- "private": false,
5
- "scripts": {
6
- "serve": "vue-cli-service serve",
7
- "build": "vue-cli-service build",
8
- "build-bundle": "vue-cli-service build --target lib --name adata-ui ./src/components/index.js",
9
- "lint": "vue-cli-service lint"
10
- },
11
- "dependencies": {
12
- "core-js": "^3.6.5",
13
- "user": "0.0.0",
14
- "vue": "^2.6.11"
15
- },
16
- "devDependencies": {
17
- "@vue/cli-plugin-babel": "~4.5.0",
18
- "@vue/cli-plugin-eslint": "~4.5.0",
19
- "@vue/cli-service": "~4.5.0",
20
- "babel-eslint": "^10.1.0",
21
- "eslint": "^6.7.2",
22
- "eslint-plugin-vue": "^6.2.2",
23
- "vue-template-compiler": "^2.6.11"
24
- },
25
- "eslintConfig": {
26
- "root": true,
27
- "env": {
28
- "node": true
29
- },
30
- "extends": [
31
- "plugin:vue/essential",
32
- "eslint:recommended"
33
- ],
34
- "parserOptions": {
35
- "parser": "babel-eslint"
36
- },
37
- "rules": {}
38
- },
39
- "browserslist": [
40
- "> 1%",
41
- "last 2 versions",
42
- "not dead"
43
- ],
44
- "main": "./dist/adata-ui.common.js",
45
- "files": [
46
- "dist/*",
47
- "src/*",
48
- "public/*",
49
- "*.json",
50
- "*.js"
51
- ]
52
- }
1
+ {
2
+ "name": "adata-ui",
3
+ "version": "0.1.4",
4
+ "private": false,
5
+ "scripts": {
6
+ "serve": "vue-cli-service serve",
7
+ "build": "vue-cli-service build",
8
+ "build-bundle": "vue-cli-service build --target lib --name adata-ui ./src/components/index.js",
9
+ "lint": "vue-cli-service lint",
10
+ "storybook": "start-storybook -p 6006",
11
+ "build-storybook": "build-storybook",
12
+ "test": "jest"
13
+ },
14
+ "dependencies": {
15
+ "core-js": "^3.6.5",
16
+ "node-sass": "^5.0.0",
17
+ "user": "0.0.0",
18
+ "vue": "^2.6.11",
19
+ "vue-the-mask": "^0.11.1"
20
+ },
21
+ "devDependencies": {
22
+ "@babel/core": "^7.16.7",
23
+ "@storybook/addon-actions": "^6.4.13",
24
+ "@storybook/addon-essentials": "^6.4.13",
25
+ "@storybook/addon-links": "^6.4.13",
26
+ "@storybook/preset-scss": "^1.0.3",
27
+ "@storybook/vue": "^6.4.13",
28
+ "@vue/cli-plugin-babel": "~4.5.0",
29
+ "@vue/cli-plugin-eslint": "~4.5.0",
30
+ "@vue/cli-service": "~4.5.0",
31
+ "babel-eslint": "^10.1.0",
32
+ "babel-loader": "^8.2.3",
33
+ "css-loader": "^5.2.7",
34
+ "eslint": "^6.7.2",
35
+ "eslint-plugin-vue": "^6.2.2",
36
+ "jest": "^27.4.7",
37
+ "sass": "^1.48.0",
38
+ "sass-loader": "^10.1.1",
39
+ "style-loader": "^2.0.0",
40
+ "vue-loader": "^15.9.8",
41
+ "vue-template-compiler": "^2.6.11"
42
+ },
43
+ "eslintConfig": {
44
+ "root": true,
45
+ "env": {
46
+ "node": true
47
+ },
48
+ "extends": [
49
+ "plugin:vue/essential",
50
+ "eslint:recommended"
51
+ ],
52
+ "parserOptions": {
53
+ "parser": "babel-eslint"
54
+ },
55
+ "rules": {}
56
+ },
57
+ "browserslist": [
58
+ "> 1%",
59
+ "last 2 versions",
60
+ "not dead"
61
+ ],
62
+ "main": "./dist/adata-ui.common.js",
63
+ "files": [
64
+ "dist/*",
65
+ "src/*",
66
+ "public/*",
67
+ "*.json",
68
+ "*.js"
69
+ ]
70
+ }
package/src/App.vue CHANGED
@@ -1,18 +1,13 @@
1
1
  <template>
2
2
  <div id="app">
3
- <img alt="Vue logo" src="./assets/logo.png">
4
- <HelloWorld msg="Welcome to Your Vue.js App"/>
5
3
  </div>
6
4
  </template>
7
5
 
8
6
  <script>
9
- import HelloWorld from './components/HelloWorld.vue'
10
7
 
11
8
  export default {
12
9
  name: 'App',
13
- components: {
14
- HelloWorld
15
- }
10
+ components: {}
16
11
  }
17
12
  </script>
18
13
 
@@ -0,0 +1,17 @@
1
+ import Alert from './Alert.vue'
2
+
3
+ export default {
4
+ title: 'Alert',
5
+ component: Alert,
6
+ template: '<alert>button</alert>'
7
+ }
8
+
9
+ const Template = (args, { argTypes }) => ({
10
+ components: { Alert },
11
+ props: Object.keys(argTypes),
12
+ template: '<alert v-bind="$props">Alert</alert>'
13
+ })
14
+
15
+ export const Info = Template.bind({})
16
+ export const Error = Template.bind({})
17
+ Error.args = {error: true}
@@ -0,0 +1,63 @@
1
+ <template>
2
+ <div :class="['note', {'note--error': error}]">
3
+ <svg class="note-svg" v-if="!error" fill="none"
4
+ xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
5
+ <circle cx="8" cy="8" r="6.5" stroke="#007AFF"></circle>
6
+ <path
7
+ d="M9.661 11.137l-.111.457c-.336.132-.604.233-.803.302-.2.07-.432.104-.696.104-.406 0-.722-.1-.947-.297a.961.961 0 01-.338-.755c0-.117.008-.239.025-.363.017-.123.045-.263.082-.419l.419-1.483c.037-.142.069-.277.094-.404.026-.126.038-.243.038-.348 0-.189-.039-.321-.117-.396-.078-.074-.227-.112-.448-.112-.108 0-.22.017-.333.051a4.649 4.649 0 00-.294.096l.112-.457c.275-.112.537-.207.788-.287.251-.08.489-.12.713-.12.403 0 .714.098.933.293a.97.97 0 01.327.76c0 .064-.007.177-.022.34a2.277 2.277 0 01-.084.447l-.417 1.478a3.921 3.921 0 00-.133.752c0 .196.044.33.132.401.088.071.24.107.456.107.102 0 .217-.018.345-.054.128-.035.221-.066.28-.093zm.106-6.203a.865.865 0 01-.292.658.994.994 0 01-.703.272 1 1 0 01-.706-.272.863.863 0 01-.295-.658c0-.257.098-.477.295-.66A1 1 0 018.772 4a.99.99 0 01.703.274.873.873 0 01.292.66z"
8
+ fill="#007AFF"
9
+ ></path>
10
+ </svg>
11
+ <svg class="note-svg" v-else fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="note-error-svg">
12
+ <circle cx="8" cy="8" r="6.5" stroke="#e60000"></circle>
13
+ <path
14
+ d="M9.661 11.137l-.111.457c-.336.132-.604.233-.803.302-.2.07-.432.104-.696.104-.406 0-.722-.1-.947-.297a.961.961 0 01-.338-.755c0-.117.008-.239.025-.363.017-.123.045-.263.082-.419l.419-1.483c.037-.142.069-.277.094-.404.026-.126.038-.243.038-.348 0-.189-.039-.321-.117-.396-.078-.074-.227-.112-.448-.112-.108 0-.22.017-.333.051a4.649 4.649 0 00-.294.096l.112-.457c.275-.112.537-.207.788-.287.251-.08.489-.12.713-.12.403 0 .714.098.933.293a.97.97 0 01.327.76c0 .064-.007.177-.022.34a2.277 2.277 0 01-.084.447l-.417 1.478a3.921 3.921 0 00-.133.752c0 .196.044.33.132.401.088.071.24.107.456.107.102 0 .217-.018.345-.054.128-.035.221-.066.28-.093zm.106-6.203a.865.865 0 01-.292.658.994.994 0 01-.703.272 1 1 0 01-.706-.272.863.863 0 01-.295-.658c0-.257.098-.477.295-.66A1 1 0 018.772 4a.99.99 0 01.703.274.873.873 0 01.292.66z"
15
+ fill="#e60000"></path>
16
+ </svg>
17
+ <span class="text">
18
+ <slot></slot>
19
+ </span>
20
+ </div>
21
+ </template>
22
+ <script>
23
+ export default {
24
+ props: {
25
+ error: {
26
+ type: Boolean,
27
+ default: false
28
+ }
29
+ }
30
+ };
31
+ </script>
32
+ <style lang="scss" scoped>
33
+ .note {
34
+ font-weight: 400;
35
+ font-style: italic;
36
+ font-size: 12px;
37
+ line-height: 20px;
38
+ display: flex;
39
+ align-items: center;
40
+ color: #007aff;
41
+ padding: 8px 16px;
42
+ background: #007AFF19;
43
+ border-radius: 2px;
44
+
45
+ &--error {
46
+ background: rgba(220, 88, 88, 0.2);
47
+ color: #e60000;
48
+ }
49
+
50
+ @media(max-width: 1025px) {
51
+ width: 100%;
52
+ font-weight: 400;
53
+ font-size: 10px;
54
+ line-height: 16px;
55
+ margin: 0 0 16px;
56
+ }
57
+ &-svg {
58
+ margin-right: 8px;
59
+ width: 16px;
60
+ height: 16px;
61
+ }
62
+ }
63
+ </style>
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <component
3
+ :class="[
4
+ 'btn',
5
+ {'full-width': fullwidth},
6
+ `btn-${variant}`,
7
+ `size size-${size}`,
8
+ `size-fz-${fontSize}`,
9
+ ]"
10
+ v-bind="$attrs"
11
+ v-on="$listeners"
12
+ :is="url ? 'nuxt-link' : 'button'"
13
+ :to="url"
14
+ :event="event ? 'click' : ''"
15
+ >
16
+ <slot></slot>
17
+ </component>
18
+ </template>
19
+
20
+
21
+ <script>
22
+ export default {
23
+ name: "BaseButton",
24
+ props: {
25
+ variant: {
26
+ type: String,
27
+ default: "yellow",
28
+ validator: function (value) {
29
+ return (
30
+ [
31
+ 'white',
32
+ 'grey',
33
+ 'yellow',
34
+ 'danger',
35
+ 'success',
36
+ 'primary-outlined',
37
+ 'primary'
38
+ ].includes(value)
39
+ );
40
+ },
41
+ },
42
+ fontSize: {
43
+ type: String,
44
+ validator: function (value) {
45
+ return (
46
+ [
47
+ 'sm',
48
+ ].includes(value)
49
+ );
50
+ },
51
+ },
52
+ size: {
53
+ type: String,
54
+ default: "md",
55
+ validator: function (value) {
56
+ return (
57
+ [
58
+ 'sm',
59
+ 'md',
60
+ 'md-short',
61
+ 'lg',
62
+ ].includes(value)
63
+ );
64
+ },
65
+ },
66
+ tag: {
67
+ type: String,
68
+ default: "button",
69
+ },
70
+ url: {
71
+ type: [String, Boolean],
72
+ default: false
73
+ },
74
+ event: {
75
+ type: Boolean,
76
+ default: true
77
+ },
78
+ fullwidth: {
79
+ type: Boolean,
80
+ default: false
81
+ },
82
+ disabled: {
83
+ type: Boolean,
84
+ default: false
85
+ }
86
+ },
87
+ }
88
+ </script>
89
+
90
+ <style lang="scss" scoped>
91
+
92
+ .btn {
93
+ cursor: pointer;
94
+ border: none;
95
+
96
+ &:disabled {
97
+ cursor: not-allowed;
98
+ }
99
+
100
+ &.full-width {
101
+ width: 100%;
102
+ }
103
+
104
+ &:disabled {
105
+ cursor: not-allowed;
106
+ }
107
+
108
+ &.size {
109
+ box-sizing: border-box;
110
+
111
+ &-sm {
112
+ padding: 6px 16px;
113
+ font-size: 12px;
114
+ line-height: 18px;
115
+ }
116
+
117
+ &-md {
118
+ padding: 8px 36px;
119
+ font-size: 14px;
120
+ line-height: 24px;
121
+
122
+ &-short {
123
+ padding: 8px 16px;
124
+ font-size: 14px;
125
+ line-height: 24px;
126
+ }
127
+ }
128
+
129
+ &-lg {
130
+ padding: 8px 40px;
131
+ font-size: 14px;
132
+ line-height: 24px;
133
+ }
134
+
135
+ &-fz-sm {
136
+ font-size: 12px;
137
+ line-height: 20px;
138
+ }
139
+ }
140
+
141
+ &-grey {
142
+ color: var(--newGray);
143
+ border: 1px solid #9da3ac;
144
+ background: #fff;
145
+
146
+ &:hover {
147
+ background: #eef0f5;
148
+ }
149
+
150
+ &:active {
151
+ background: #eef0f5;
152
+ }
153
+ }
154
+
155
+ &-white {
156
+ background: #FFFFFF;
157
+ color: #007AFF;
158
+
159
+ &:hover {
160
+ background: #eef0f5;
161
+ }
162
+
163
+ &:active {
164
+ background: #d6d6d7;
165
+ }
166
+ }
167
+
168
+ &-yellow {
169
+ background: #FFCD33;
170
+ color: #333333;
171
+
172
+ &:hover {
173
+ background: rgba(255, 205, 51, 0.7);
174
+ }
175
+
176
+ &:active {
177
+ background: #fab619;
178
+ }
179
+ }
180
+
181
+ &-danger {
182
+ border: 1px solid #FF2E43;
183
+ color: #FF2E43;
184
+
185
+ &:hover {
186
+ background: #FF2E43;
187
+ color: #fff;
188
+ }
189
+
190
+ &:active {
191
+ background: #FF2E43;
192
+ color: #fff;
193
+ }
194
+ }
195
+
196
+ &-success {
197
+ background: #00B92D;
198
+ color: #fff;
199
+
200
+ &:hover {
201
+ background: #008621;
202
+ }
203
+
204
+ &:active {
205
+ background: #008621;
206
+ }
207
+ }
208
+
209
+ &-primary-outlined {
210
+ border: 1px solid #007AFF;
211
+ color: #007AFF;
212
+
213
+ &:hover {
214
+ background: #007AFF;
215
+ color: #fff;
216
+ }
217
+
218
+ &:active {
219
+ background: #0055BB;
220
+ color: #fff;
221
+ }
222
+ }
223
+
224
+ &-primary {
225
+ background: #1E88E5;
226
+ color: #FFF;
227
+
228
+ &:hover {
229
+ background: #007AFF;
230
+ color: #fff;
231
+ }
232
+
233
+ &:active {
234
+ background: #0055BB;
235
+ color: #fff;
236
+ }
237
+ }
238
+
239
+ box-sizing: border-box;
240
+ }
241
+ </style>
@@ -0,0 +1,23 @@
1
+ import BaseButton from './BaseButton.vue'
2
+ import { action } from "@storybook/addon-actions"
3
+
4
+ export default {
5
+ title: 'BaseButton',
6
+ component: BaseButton,
7
+ template: '<base-button>Button</base-button>'
8
+ }
9
+
10
+ const Template = (args, { argTypes }) => ({
11
+ components: { BaseButton },
12
+ props: Object.keys(argTypes),
13
+ template: '<base-button @click="action" v-bind="$props">Button</base-button>',
14
+ methods: {
15
+ action: action('click')
16
+ }
17
+ })
18
+
19
+ export const Simple = Template.bind({})
20
+ Simple.args = {
21
+ size: 'lg',
22
+ variant: 'yellow'
23
+ }
@@ -0,0 +1,20 @@
1
+ import Footer from './Footer.vue'
2
+
3
+ export default {
4
+ title: 'Footer',
5
+ component: Footer,
6
+ template: '<Footer></Footer>'
7
+ };
8
+
9
+ const Template = (args, { argTypes }) => ({
10
+ components: { Footer },
11
+ props: Object.keys(argTypes),
12
+ template: '<Footer v-bind="$props"></Footer>'
13
+ });
14
+
15
+ export const MainFooter = Template.bind({});
16
+
17
+ export const WithBottomMenu = Template.bind({});
18
+ WithBottomMenu.args = {
19
+ hasBottomMenu: true
20
+ }