@vtj/materials 0.9.30 → 0.10.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.
Files changed (56) hide show
  1. package/dist/assets/antdv/index.umd.js +2 -2
  2. package/dist/assets/charts/index.umd.js +2 -2
  3. package/dist/assets/element/index.umd.js +2 -2
  4. package/dist/assets/ui/index.umd.js +2 -2
  5. package/dist/assets/uni-h5/index.umd.js +7 -0
  6. package/dist/assets/vant/index.umd.js +2 -2
  7. package/dist/deps/@vtj/charts/index.umd.js +2 -2
  8. package/dist/deps/@vtj/icons/index.umd.js +2 -2
  9. package/dist/deps/@vtj/icons/style.css +1 -1
  10. package/dist/deps/@vtj/ui/index.umd.js +2 -2
  11. package/dist/deps/@vtj/uni/index.umd.js +7 -0
  12. package/dist/deps/@vtj/uni/style.css +1 -0
  13. package/dist/deps/@vtj/utils/index.umd.js +2 -2
  14. package/dist/deps/@vueuse/core/index.iife.min.js +1 -1
  15. package/dist/deps/uni-app/index.umd.js +1 -0
  16. package/dist/deps/uni-h5/index.umd.js +19 -0
  17. package/dist/deps/uni-h5/style.css +1 -0
  18. package/dist/deps/uni-h5-vue/index.umd.js +8 -0
  19. package/package.json +15 -8
  20. package/src/uni-app/index.ts +1 -0
  21. package/src/uni-h5/components/Switch.ts +36 -0
  22. package/src/uni-h5/components/audio.ts +69 -0
  23. package/src/uni-h5/components/button.ts +206 -0
  24. package/src/uni-h5/components/canvas.ts +50 -0
  25. package/src/uni-h5/components/checkbox.ts +81 -0
  26. package/src/uni-h5/components/coverImage.ts +18 -0
  27. package/src/uni-h5/components/coverView.ts +19 -0
  28. package/src/uni-h5/components/editor.ts +49 -0
  29. package/src/uni-h5/components/form.ts +53 -0
  30. package/src/uni-h5/components/icon.ts +44 -0
  31. package/src/uni-h5/components/image.ts +80 -0
  32. package/src/uni-h5/components/index.ts +119 -0
  33. package/src/uni-h5/components/input.ts +220 -0
  34. package/src/uni-h5/components/label.ts +17 -0
  35. package/src/uni-h5/components/map.ts +207 -0
  36. package/src/uni-h5/components/matchMedia.ts +59 -0
  37. package/src/uni-h5/components/movableArea.ts +31 -0
  38. package/src/uni-h5/components/movableView.ts +97 -0
  39. package/src/uni-h5/components/navigator.ts +90 -0
  40. package/src/uni-h5/components/picker.ts +81 -0
  41. package/src/uni-h5/components/pickerView.ts +163 -0
  42. package/src/uni-h5/components/progress.ts +71 -0
  43. package/src/uni-h5/components/radio.ts +127 -0
  44. package/src/uni-h5/components/richText.ts +67 -0
  45. package/src/uni-h5/components/scrollView.ts +157 -0
  46. package/src/uni-h5/components/slider.ts +75 -0
  47. package/src/uni-h5/components/swiper.ts +220 -0
  48. package/src/uni-h5/components/text.ts +38 -0
  49. package/src/uni-h5/components/textarea.ts +169 -0
  50. package/src/uni-h5/components/video.ts +276 -0
  51. package/src/uni-h5/components/view.ts +39 -0
  52. package/src/uni-h5/components/webView.ts +54 -0
  53. package/src/uni-h5/index.ts +11 -0
  54. package/src/uni-h5/style.scss +59 -0
  55. package/src/uni-h5-vue/index.ts +2 -0
  56. package/src/version.ts +2 -2
@@ -0,0 +1,157 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription = {
4
+ name: 'ScrollView',
5
+ label: '滚动视图',
6
+ categoryId: 'container',
7
+ props: [
8
+ {
9
+ name: 'scroll-x',
10
+ title: '允许横向滚动',
11
+ defaultValue: false,
12
+ setters: 'BooleanSetter'
13
+ },
14
+ {
15
+ name: 'scroll-y',
16
+ title: '允许纵向滚动',
17
+ defaultValue: false,
18
+ setters: 'BooleanSetter'
19
+ },
20
+ {
21
+ name: 'upper-threshold',
22
+ title: '距顶部/左边多远时(单位px),触发 scrolltoupper 事件',
23
+ defaultValue: 50,
24
+ setters: ['NumberSetter', 'StringSetter']
25
+ },
26
+ {
27
+ name: 'lower-threshold',
28
+ title: '距底部/右边多远时(单位px),触发 scrolltolower 事件',
29
+ defaultValue: 50,
30
+ setters: ['NumberSetter', 'StringSetter']
31
+ },
32
+ {
33
+ name: 'scroll-top',
34
+ title: '设置竖向滚动条位置',
35
+ setters: ['NumberSetter', 'StringSetter']
36
+ },
37
+ {
38
+ name: 'scroll-left',
39
+ title: '设置横向滚动条位置',
40
+ setters: ['NumberSetter', 'StringSetter']
41
+ },
42
+ {
43
+ name: 'scroll-into-view',
44
+ title:
45
+ '值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素',
46
+ setters: 'StringSetter'
47
+ },
48
+ {
49
+ name: 'scroll-with-animation',
50
+ title: '在设置滚动条位置时使用动画过渡',
51
+ defaultValue: false,
52
+ setters: 'BooleanSetter'
53
+ },
54
+ {
55
+ name: 'enable-back-to-top',
56
+ title: 'iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向',
57
+ defaultValue: false,
58
+ setters: 'BooleanSetter'
59
+ },
60
+ {
61
+ name: 'show-scrollbar',
62
+ title: '控制是否出现滚动条',
63
+ defaultValue: false,
64
+ setters: 'BooleanSetter'
65
+ },
66
+ {
67
+ name: 'refresher-enabled',
68
+ title: '开启自定义下拉刷新',
69
+ defaultValue: false,
70
+ setters: 'BooleanSetter'
71
+ },
72
+ {
73
+ name: 'refresher-threshold',
74
+ title: '设置自定义下拉刷新阈值',
75
+ defaultValue: 45,
76
+ setters: 'NumberSetter'
77
+ },
78
+ {
79
+ name: 'refresher-default-style',
80
+ title: '设置自定义下拉刷新默认样式',
81
+ defaultValue: 'black',
82
+ setters: 'SelectSetter',
83
+ options: ['black', 'white', 'none', 'none']
84
+ },
85
+ {
86
+ name: 'refresher-background',
87
+ title: '设置自定义下拉刷新区域背景颜色',
88
+ defaultValue: '#FFF',
89
+ setters: 'ColorSetter'
90
+ },
91
+ {
92
+ name: 'refresher-triggered',
93
+ title: '设置当前下拉刷新状态',
94
+ defaultValue: false,
95
+ setters: 'BooleanSetter'
96
+ },
97
+ {
98
+ name: 'enable-flex',
99
+ title: '启用 flexbox 布局',
100
+ defaultValue: false,
101
+ setters: 'BooleanSetter'
102
+ },
103
+ {
104
+ name: 'scroll-anchoring',
105
+ title: '开启 scroll anchoring 特性,即控制滚动位置不随内容变化而抖动',
106
+ defaultValue: false,
107
+ setters: 'BooleanSetter'
108
+ }
109
+ ],
110
+ events: [
111
+ 'scrolltoupper',
112
+ 'scrolltolower',
113
+ 'scroll',
114
+ 'refresherpulling',
115
+ 'refresherrefresh',
116
+ 'refresherrestore',
117
+ 'refresherabort'
118
+ ],
119
+ snippet: {
120
+ props: {
121
+ 'scroll-y': true,
122
+ 'scroll-top': 0,
123
+ style: { height: '300px' }
124
+ },
125
+ children: [
126
+ {
127
+ name: 'view',
128
+ props: {
129
+ id: 'demo1',
130
+ class: 'scroll-view-item uni-bg-red',
131
+ style: { 'min-height': '300px', background: 'red' }
132
+ },
133
+ children: 'A'
134
+ },
135
+ {
136
+ name: 'view',
137
+ props: {
138
+ id: 'demo2',
139
+ class: 'scroll-view-item uni-bg-green',
140
+ style: { 'min-height': '300px', background: 'green' }
141
+ },
142
+ children: 'B'
143
+ },
144
+ {
145
+ name: 'view',
146
+ props: {
147
+ id: 'demo3',
148
+ class: 'scroll-view-item uni-bg-blue',
149
+ style: { 'min-height': '300px', background: 'blue' }
150
+ },
151
+ children: 'C'
152
+ }
153
+ ]
154
+ }
155
+ };
156
+
157
+ export default desc;
@@ -0,0 +1,75 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription = {
4
+ name: 'Slider',
5
+ label: '滑动选择器',
6
+ categoryId: 'form',
7
+ props: [
8
+ {
9
+ name: 'min',
10
+ title: '最小值',
11
+ defaultValue: 0,
12
+ setters: 'NumberSetter'
13
+ },
14
+ {
15
+ name: 'max',
16
+ title: '最大值',
17
+ defaultValue: '100',
18
+ setters: 'NumberSetter'
19
+ },
20
+ {
21
+ name: 'step',
22
+ title: '步长,取值必须大于 0,并且可被(max - min)整除',
23
+ defaultValue: 1,
24
+ setters: 'NumberSetter'
25
+ },
26
+ {
27
+ name: 'disabled',
28
+ title: '是否禁用',
29
+ defaultValue: false,
30
+ setters: 'BooleanSetter'
31
+ },
32
+ {
33
+ name: 'value',
34
+ title: '当前取值',
35
+ defaultValue: 0,
36
+ setters: 'NumberSetter'
37
+ },
38
+ {
39
+ name: 'activeColor',
40
+ title: '滑块左侧已选择部分的线条颜色',
41
+ setters: 'ColorSetter'
42
+ },
43
+ {
44
+ name: 'backgroundColor',
45
+ title: '滑块右侧背景条的颜色',
46
+ defaultValue: '#e9e9e9',
47
+ setters: 'ColorSetter'
48
+ },
49
+ {
50
+ name: 'block-size',
51
+ title: '滑块的大小,取值范围为 12 - 28',
52
+ defaultValue: 28,
53
+ setters: 'NumberSetter'
54
+ },
55
+ {
56
+ name: 'block-color',
57
+ title: '滑块的颜色',
58
+ defaultValue: '#ffffff',
59
+ setters: 'ColorSetter'
60
+ },
61
+ {
62
+ name: 'show-value',
63
+ title: '是否显示当前 value',
64
+ defaultValue: false,
65
+ setters: 'BooleanSetter'
66
+ }
67
+ ],
68
+ events: ['change', 'changing'],
69
+ snippet: {
70
+ props: {
71
+ value: 60
72
+ }
73
+ }
74
+ };
75
+ export default desc;
@@ -0,0 +1,220 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription[] = [
4
+ {
5
+ name: 'Swiper',
6
+ label: '滑块视图容器',
7
+ categoryId: 'container',
8
+ props: [
9
+ {
10
+ name: 'indicator-dots',
11
+ title: '是否显示面板指示点',
12
+ defaultValue: false,
13
+ setters: 'BooleanSetter'
14
+ },
15
+ {
16
+ name: 'indicator-color',
17
+ title: '指示点颜色',
18
+ defaultValue: 'rgba(0, 0, 0, .3)',
19
+ setters: 'ColorSetter'
20
+ },
21
+ {
22
+ name: 'indicator-active-color',
23
+ title: '当前选中的指示点颜色',
24
+ defaultValue: '#000000',
25
+ setters: 'ColorSetter'
26
+ },
27
+ {
28
+ name: 'active-class',
29
+ title: 'swiper-item 可见时的 class',
30
+ setters: 'StringSetter'
31
+ },
32
+ {
33
+ name: 'changing-class',
34
+ title:
35
+ 'acceleration 设置为 true 时且处于滑动过程中,中间若干屏处于可见时的class',
36
+ setters: 'StringSetter'
37
+ },
38
+ {
39
+ name: 'autoplay',
40
+ title: '是否自动切换',
41
+ defaultValue: false,
42
+ setters: 'BooleanSetter'
43
+ },
44
+ {
45
+ name: 'current',
46
+ title: '当前所在滑块的 index',
47
+ defaultValue: 0,
48
+ setters: 'NumberSetter'
49
+ },
50
+ {
51
+ name: 'current-item-id',
52
+ title: '当前所在滑块的 item-id ,不能与 current 被同时指定',
53
+ setters: 'StringSetter'
54
+ },
55
+ {
56
+ name: 'interval',
57
+ title: '自动切换时间间隔',
58
+ defaultValue: 5000,
59
+ setters: 'NumberSetter'
60
+ },
61
+ {
62
+ name: 'duration',
63
+ title: '滑动动画时长',
64
+ defaultValue: 500,
65
+ setters: 'NumberSetter'
66
+ },
67
+ {
68
+ name: 'circular',
69
+ title: '是否采用衔接滑动,即播放到末尾后重新回到开头',
70
+ defaultValue: false,
71
+ setters: 'BooleanSetter'
72
+ },
73
+ {
74
+ name: 'vertical',
75
+ title: '滑动方向是否为纵向',
76
+ defaultValue: false,
77
+ setters: 'BooleanSetter'
78
+ },
79
+ {
80
+ name: 'previous-margin',
81
+ title: '前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值',
82
+ defaultValue: '0px',
83
+ setters: 'StringSetter'
84
+ },
85
+ {
86
+ name: 'next-margin',
87
+ title: '后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值',
88
+ defaultValue: '0px',
89
+ setters: 'StringSetter'
90
+ },
91
+ {
92
+ name: 'acceleration',
93
+ title: '当开启时,会根据滑动速度,连续滑动多屏',
94
+ defaultValue: false,
95
+ setters: 'BooleanSetter'
96
+ },
97
+ {
98
+ name: 'disable-programmatic-animation',
99
+ title: '是否禁用代码变动触发 swiper 切换时使用动画',
100
+ defaultValue: false,
101
+ setters: 'BooleanSetter'
102
+ },
103
+ {
104
+ name: 'display-multiple-items',
105
+ title: '同时显示的滑块数量',
106
+ defaultValue: 1,
107
+ setters: 'NumberSetter'
108
+ },
109
+ {
110
+ name: 'skip-hidden-item-layout',
111
+ title:
112
+ '是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息',
113
+ defaultValue: false,
114
+ setters: 'BooleanSetter'
115
+ },
116
+ {
117
+ name: 'disable-touch',
118
+ title: '是否禁止用户 touch 操作',
119
+ defaultValue: false,
120
+ setters: 'BooleanSetter'
121
+ },
122
+ {
123
+ name: 'touchable',
124
+ title: '是否监听用户的触摸事件,只在初始化时有效,不能动态变更',
125
+ defaultValue: true,
126
+ setters: 'BooleanSetter'
127
+ },
128
+ {
129
+ name: 'easing-function',
130
+ title: '指定 swiper 切换缓动动画类型',
131
+ defaultValue: 'default',
132
+ setters: 'SelectSetter',
133
+ options: [
134
+ 'default',
135
+ 'linear',
136
+ 'easeInCubic',
137
+ 'easeOutCubic',
138
+ 'easeInOutCubic'
139
+ ]
140
+ }
141
+ ],
142
+ events: ['change', 'transition', 'animationfinish'],
143
+ snippet: {
144
+ props: {
145
+ autoplay: true,
146
+ indicatorDots: true,
147
+ circular: true,
148
+ style: {
149
+ color: '#fff',
150
+ height: '200px'
151
+ }
152
+ },
153
+ children: [
154
+ {
155
+ name: 'SwiperItem',
156
+ props: {
157
+ style: {
158
+ background: '#f76260',
159
+ textAlign: 'center',
160
+ color: '#fff',
161
+ height: '200px',
162
+ lineHeight: '200px'
163
+ }
164
+ },
165
+ children: 'A'
166
+ },
167
+ {
168
+ name: 'SwiperItem',
169
+ props: {
170
+ style: {
171
+ background: '#09bb07',
172
+ textAlign: 'center',
173
+ color: '#fff',
174
+ height: '200px',
175
+ lineHeight: '200px'
176
+ }
177
+ },
178
+ children: 'B'
179
+ },
180
+ {
181
+ name: 'SwiperItem',
182
+ props: {
183
+ style: {
184
+ background: '#007aff',
185
+ textAlign: 'center',
186
+ color: '#fff',
187
+ height: '200px',
188
+ lineHeight: '200px'
189
+ }
190
+ },
191
+ children: 'C'
192
+ }
193
+ ]
194
+ }
195
+ },
196
+ {
197
+ name: 'SwiperItem',
198
+ label: '滑块视图容器',
199
+ parentIncludes: ['Swiper'],
200
+ categoryId: 'container',
201
+ props: [
202
+ {
203
+ name: 'item-id',
204
+ title: '该 swiper-item 的标识符',
205
+ setters: 'InputSetter'
206
+ }
207
+ ],
208
+ snippet: {
209
+ children: [
210
+ {
211
+ name: 'View',
212
+ props: { style: { height: '300px', background: 'green' } },
213
+ children: 'A'
214
+ }
215
+ ]
216
+ }
217
+ }
218
+ ];
219
+
220
+ export default desc;
@@ -0,0 +1,38 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription = {
4
+ name: 'Text',
5
+ label: '文本',
6
+ categoryId: 'basic',
7
+ props: [
8
+ {
9
+ name: 'selectable',
10
+ title: '文本是否可选',
11
+ defaultValue: false,
12
+ setters: 'BooleanSetter'
13
+ },
14
+ {
15
+ name: 'user-select',
16
+ title: '文本是否可选',
17
+ defaultValue: false,
18
+ setters: 'BooleanSetter'
19
+ },
20
+ {
21
+ name: 'space',
22
+ title: '显示连续空格',
23
+ setters: ['SelectSetter', 'StringSetter'],
24
+ options: ['ensp', 'emsp', 'nbsp']
25
+ },
26
+ {
27
+ name: 'decode',
28
+ title: '是否解码',
29
+ defaultValue: false,
30
+ setters: 'BooleanSetter'
31
+ }
32
+ ],
33
+ snippet: {
34
+ children: 'VTJ'
35
+ }
36
+ };
37
+
38
+ export default desc;
@@ -0,0 +1,169 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription = {
4
+ name: 'Textarea',
5
+ label: '多行输入框',
6
+ categoryId: 'form',
7
+ props: [
8
+ {
9
+ name: 'value',
10
+ title: '输入框的内容',
11
+ setters: 'StringSetter'
12
+ },
13
+ {
14
+ name: 'placeholder',
15
+ title: '输入框为空时占位符',
16
+ setters: 'StringSetter'
17
+ },
18
+ {
19
+ name: 'placeholder-style',
20
+ title: '指定 placeholder 的样式',
21
+ setters: 'StringSetter'
22
+ },
23
+ {
24
+ name: 'placeholder-class',
25
+ title: '指定 placeholder 的样式类',
26
+ defaultValue: 'textarea-placeholder',
27
+ setters: 'StringSetter'
28
+ },
29
+ {
30
+ name: 'disabled',
31
+ title: '是否禁用',
32
+ defaultValue: false,
33
+ setters: 'BooleanSetter'
34
+ },
35
+ {
36
+ name: 'maxlength',
37
+ title: '最大输入长度,设置为 -1 的时候不限制最大长度',
38
+ defaultValue: 140,
39
+ setters: 'NumberSetter'
40
+ },
41
+ {
42
+ name: 'focus',
43
+ title: '获取焦点',
44
+ defaultValue: false,
45
+ setters: 'BooleanSetter'
46
+ },
47
+ {
48
+ name: 'auto-focus',
49
+ title: '自动聚焦,拉起键盘',
50
+ defaultValue: false,
51
+ setters: 'BooleanSetter'
52
+ },
53
+ {
54
+ name: 'auto-height',
55
+ title: '是否自动增高,设置auto-height时,style.height不生效',
56
+ defaultValue: false,
57
+ setters: 'BooleanSetter'
58
+ },
59
+ {
60
+ name: 'fixed',
61
+ title:
62
+ '如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true',
63
+ defaultValue: false,
64
+ setters: 'BooleanSetter'
65
+ },
66
+ {
67
+ name: 'cursor-spacing',
68
+ title: '指定光标与键盘的距离,单位 px',
69
+ defaultValue: 0,
70
+ setters: 'NumberSetter'
71
+ },
72
+ {
73
+ name: 'cursor',
74
+ title: '指定focus时的光标位置',
75
+ setters: 'NumberSetter'
76
+ },
77
+ {
78
+ name: 'cursor-color',
79
+ title: '光标颜色',
80
+ setters: 'StringSetter'
81
+ },
82
+ {
83
+ name: 'confirm-type',
84
+ title: '设置键盘右下角按钮的文字',
85
+ defaultValue: 'done',
86
+ setters: 'SelectSetter',
87
+ options: ['send', 'search', 'next', 'go', 'done']
88
+ },
89
+ {
90
+ name: 'confirm-hold',
91
+ title: '点击键盘右下角按钮时是否保持键盘不收起',
92
+ defaultValue: false,
93
+ setters: 'BooleanSetter'
94
+ },
95
+ {
96
+ name: 'show-confirm-bar',
97
+ title: '是否显示键盘上方带有”完成“按钮那一栏',
98
+ defaultValue: true,
99
+ setters: 'BooleanSetter'
100
+ },
101
+ {
102
+ name: 'selection-start',
103
+ title: '光标起始位置,自动聚焦时有效,需与selection-end搭配使用',
104
+ defaultValue: -1,
105
+ setters: 'NumberSetter'
106
+ },
107
+ {
108
+ name: 'selection-end',
109
+ title: '光标结束位置,自动聚焦时有效,需与selection-end搭配使用',
110
+ defaultValue: -1,
111
+ setters: 'NumberSetter'
112
+ },
113
+ {
114
+ name: 'adjust-position',
115
+ title: '键盘弹起时,是否自动上推页面',
116
+ defaultValue: true,
117
+ setters: 'BooleanSetter'
118
+ },
119
+ {
120
+ name: 'disable-default-padding',
121
+ title: '是否去掉 iOS 下的默认内边距',
122
+ defaultValue: false,
123
+ setters: 'BooleanSetter'
124
+ },
125
+ {
126
+ name: 'hold-keyboard',
127
+ title: 'focus时,点击页面的时候不收起键盘',
128
+ defaultValue: false,
129
+ setters: 'BooleanSetter'
130
+ },
131
+ {
132
+ name: 'auto-blur',
133
+ title: '键盘收起时,是否自动失去焦点',
134
+ defaultValue: false,
135
+ setters: 'BooleanSetter'
136
+ },
137
+ {
138
+ name: 'ignoreCompositionEvent',
139
+ title: '是否忽略组件内对文本合成系统事件的处理',
140
+ defaultValue: true,
141
+ setters: 'BooleanSetter'
142
+ },
143
+ {
144
+ name: 'inputmode',
145
+ title: '提供了用户在编辑元素或其内容时可能输入的数据类型的提示',
146
+ defaultValue: 'text',
147
+ setters: 'SelectSetter',
148
+ options: [
149
+ 'none',
150
+ 'text',
151
+ 'decimal',
152
+ 'numeric',
153
+ 'tel',
154
+ 'search',
155
+ 'email',
156
+ 'url'
157
+ ]
158
+ }
159
+ ],
160
+ events: ['confirm', 'input', 'linechange', 'blur', 'focus'],
161
+ snippet: {
162
+ props: {
163
+ style: { backgroundColor: '#999' },
164
+ placeholder: '输入区域'
165
+ }
166
+ }
167
+ };
168
+
169
+ export default desc;