@qikdev/vue-ui 0.1.1 → 0.1.7

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 (92) hide show
  1. package/README.md +4 -89
  2. package/dist/favicon.ico +0 -0
  3. package/dist/index.css +1 -0
  4. package/dist/lib.es.js +17798 -0
  5. package/dist/lib.es.js.map +1 -0
  6. package/dist/lib.umd.js +9 -0
  7. package/dist/lib.umd.js.map +1 -0
  8. package/package.json +31 -24
  9. package/.gitlab-ci.yml +0 -13
  10. package/jsdoc.conf +0 -10
  11. package/src/components.js +0 -255
  12. package/src/content/browser.vue +0 -842
  13. package/src/content/item.vue +0 -48
  14. package/src/content/render/field.vue +0 -431
  15. package/src/content/render/group.vue +0 -65
  16. package/src/content/render/render-mixin.js +0 -101
  17. package/src/content/render/render.vue +0 -86
  18. package/src/filter/FilterBuilder.vue +0 -145
  19. package/src/filter/FilterCondition.vue +0 -373
  20. package/src/filter/FilterRule.vue +0 -259
  21. package/src/form/expressions/index.js +0 -83
  22. package/src/form/field.vue +0 -640
  23. package/src/form/form.vue +0 -280
  24. package/src/form/getDefaultValue.js +0 -226
  25. package/src/form/inputs/button-select.vue +0 -208
  26. package/src/form/inputs/checkbox.vue +0 -91
  27. package/src/form/inputs/content-select.vue +0 -187
  28. package/src/form/inputs/currency.vue +0 -205
  29. package/src/form/inputs/datefield.vue +0 -132
  30. package/src/form/inputs/group.vue +0 -155
  31. package/src/form/inputs/html.vue +0 -39
  32. package/src/form/inputs/input-mixin.js +0 -440
  33. package/src/form/inputs/native-select-old.vue +0 -43
  34. package/src/form/inputs/object-field.vue +0 -50
  35. package/src/form/inputs/option.vue +0 -19
  36. package/src/form/inputs/options-manager.vue +0 -244
  37. package/src/form/inputs/phone-number-input.vue +0 -235
  38. package/src/form/inputs/search.vue +0 -117
  39. package/src/form/inputs/select.vue +0 -229
  40. package/src/form/inputs/switch.vue +0 -87
  41. package/src/form/inputs/textarea.vue +0 -80
  42. package/src/form/inputs/textfield.vue +0 -185
  43. package/src/form/inputs/timezone.vue +0 -642
  44. package/src/form/inputs/type-select.vue +0 -247
  45. package/src/form/inputs/upload/filedrop.vue +0 -72
  46. package/src/form/inputs/upload/upload.vue +0 -323
  47. package/src/form/parseBoolean.js +0 -24
  48. package/src/layout/flex-body.vue +0 -23
  49. package/src/layout/flex-cell.vue +0 -45
  50. package/src/layout/flex-column.vue +0 -31
  51. package/src/layout/flex-footer.vue +0 -14
  52. package/src/layout/flex-header.vue +0 -14
  53. package/src/layout/flex-row.vue +0 -39
  54. package/src/layout/flex-spacer.vue +0 -18
  55. package/src/layout/panel-body.vue +0 -13
  56. package/src/layout/panel-footer.vue +0 -20
  57. package/src/layout/panel-header.vue +0 -20
  58. package/src/layout/panel.vue +0 -23
  59. package/src/layout/tab.vue +0 -34
  60. package/src/layout/tabset.vue +0 -72
  61. package/src/mixins/RememberScroll.js +0 -19
  62. package/src/modal/ConfirmModal.vue +0 -50
  63. package/src/modal/ContentModal.vue +0 -107
  64. package/src/modal/Modal.vue +0 -86
  65. package/src/modal/ModalMixin.js +0 -21
  66. package/src/modal/OptionsModal.vue +0 -31
  67. package/src/modal/PromptModal.vue +0 -31
  68. package/src/services/device.js +0 -211
  69. package/src/services/selection.js +0 -165
  70. package/src/table/Table.vue +0 -336
  71. package/src/table/TableCell.vue +0 -113
  72. package/src/table/TableRow.vue +0 -82
  73. package/src/table/cells/Button.vue +0 -56
  74. package/src/table/cells/TableCellMixin.js +0 -15
  75. package/src/table/cells/Thumbnail.vue +0 -39
  76. package/src/table/cells/Value.vue +0 -46
  77. package/src/ui/button.vue +0 -255
  78. package/src/ui/checkbox.vue +0 -79
  79. package/src/ui/icon.vue +0 -57
  80. package/src/ui/image.vue +0 -158
  81. package/src/ui/link.vue +0 -62
  82. package/src/ui/list-item.vue +0 -22
  83. package/src/ui/list.vue +0 -26
  84. package/src/ui/menu.vue +0 -147
  85. package/src/ui/pager.vue +0 -156
  86. package/src/ui/progressbar.vue +0 -77
  87. package/src/ui/spinner.vue +0 -26
  88. package/src/ui/switch.vue +0 -89
  89. package/src/version.js +0 -1
  90. package/test/index.spec.js +0 -42
  91. package/test/mocha.opts +0 -0
  92. package/yarn-error.log +0 -2923
package/src/ui/button.vue DELETED
@@ -1,255 +0,0 @@
1
- <template>
2
- <!-- :type="nativeType" -->
3
- <component :is="element" :loading="loading" :to="to" :href="href" :target="target" :style="style" :class="classes" :disabled="disabled" class="ux-btn">
4
- <spinner v-if="loading" />
5
- <span class="ux-btn-text">
6
- <slot />
7
- </span>
8
- </component>
9
- </template>
10
- <script>
11
- import Spinner from './spinner.vue';
12
- export default {
13
- components: {
14
- Spinner,
15
- },
16
- props: {
17
- to: {
18
- type: [Object, String],
19
- },
20
- icon: {
21
- type: Boolean,
22
- },
23
- color: {
24
- type: String,
25
- default: 'default',
26
- },
27
- bgColor: {
28
- type: String,
29
- },
30
- fgColor: {
31
- type: String,
32
- },
33
- tag: {
34
- type: String,
35
- },
36
- href: {
37
- type: String,
38
- },
39
- target: {
40
- type: String,
41
- },
42
- loading: {
43
- type: Boolean,
44
- },
45
- disabled: {
46
- type: Boolean,
47
- },
48
- block:{
49
- type:Boolean,
50
- },
51
- size: {
52
- type: String,
53
- default: 'md',
54
- },
55
- },
56
- computed: {
57
- style() {
58
- var object = {};
59
-
60
-
61
- if (this.bgColor) {
62
- object['backgroundColor'] = this.bgColor
63
- }
64
-
65
- if (this.fgColor) {
66
- object['color'] = this.fgColor
67
- }
68
-
69
- return object;
70
- },
71
- classes() {
72
-
73
- var array = [];
74
-
75
-
76
- array.push(`ux-btn-${this.size}`);
77
-
78
- if (this.block) {
79
- array.push(`ux-btn-block`);
80
- }
81
-
82
- if (this.loading) {
83
- array.push(`ux-btn-loading`);
84
- }
85
-
86
- if (this.icon) {
87
- array.push(`ux-btn-icon`);
88
- }
89
-
90
-
91
-
92
- if (this.color == 'default') {
93
- array.push('ux-btn-color-default')
94
- }
95
-
96
- if (this.color == 'primary') {
97
- array.push('ux-btn-color-primary')
98
- }
99
-
100
- if (this.disabled) {
101
- array.push(`ux-btn-disabled`);
102
- }
103
-
104
- return array;
105
- },
106
- element() {
107
- switch (this.tag) {
108
- case 'span':
109
- return this.tag;
110
- break;
111
- case 'submit':
112
- return 'button';
113
- break;
114
- default:
115
- if (this.to || this.href) {
116
- return 'ux-link';
117
- }
118
-
119
- return this.tag || 'button';
120
- break;
121
- }
122
-
123
-
124
- },
125
- },
126
- }
127
- </script>
128
- <style lang="scss" scoped>
129
- .ux-btn {
130
- padding: 0.5em 1em;
131
- background: rgba(#000, 0.1);
132
- border-radius: 2em;
133
- text-decoration: none;
134
- color: inherit;
135
- display: inline-block;
136
- position: relative;
137
- border: 1px solid transparent;
138
- flex: none;
139
- margin-right: 0.5em;
140
- text-align: center;
141
- line-height: 1;
142
- cursor: pointer;
143
- overflow: hidden;
144
- vertical-align: top;
145
-
146
- &:hover {
147
- opacity: 0.9;
148
- }
149
-
150
-
151
- .ux-spinner {
152
- position: absolute;
153
- left: 50%;
154
- top: 50%;
155
- transform: translateX(-50%) translateY(-50%);
156
- }
157
-
158
- &:last-child {
159
- margin-right: 0;
160
- }
161
-
162
- &.ux-btn-block {
163
- display: block;
164
- width:100%;
165
- box-sizing:border-box;
166
- text-align: center;
167
- }
168
- }
169
-
170
- .ux-btn-color-primary {
171
- background: $primary;
172
- color: #fff;
173
- }
174
-
175
-
176
- .ux-btn-color-default {
177
- background: rgba(#000,0.05);
178
- color: #555;
179
-
180
- &:hover {
181
- background: rgba(#000, 0.1);
182
- }
183
- }
184
-
185
- .ux-btn-loading {
186
- cursor: none;
187
- pointer-events: none;
188
-
189
- .ux-btn-text {
190
- opacity: 0 !important;
191
- }
192
- }
193
-
194
-
195
-
196
- .ux-btn-xxs {
197
- font-size: 0.6em;
198
- }
199
-
200
- .ux-btn-xs {
201
- font-size: 0.7em;
202
- }
203
-
204
- .ux-btn-sm {
205
- font-size: 0.8em;
206
- }
207
-
208
- .ux-btn-md {
209
- font-size: 1em;
210
- }
211
-
212
- .ux-btn-lg {
213
- font-size: 1.2em;
214
- }
215
-
216
- .ux-btn-xl {
217
- font-size: 1.3em;
218
- }
219
-
220
- .ux-btn-xxl {
221
- font-size: 1.5em;
222
- }
223
-
224
- .ux-btn-icon {
225
- border-radius: 50%;
226
-
227
-
228
- position:relative;
229
- width:2em;
230
- height:0;
231
- overflow: hidden;
232
- padding: 0 0 2em;
233
- text-align: center;
234
- line-height: 2em;
235
-
236
- .ux-button-text {
237
- position: absolute;
238
- left: 50%;
239
- top: 50%;
240
- transform: translateX(-50%) translateY(-50%);
241
- }
242
- }
243
-
244
- .ux-btn-disabled {
245
- cursor: none;
246
- pointer-events: none;
247
- opacity: 0.3;
248
- filter: grayscale(100%);
249
-
250
- .ux-btn-text {
251
- opacity: 0.3;
252
- }
253
-
254
- }
255
- </style>
@@ -1,79 +0,0 @@
1
- <template>
2
- <button class="ux-checkbox" :class="classes">
3
- <ux-icon class="icon" icon="fa-check" />
4
- </button>
5
- </template>
6
- <script>
7
- export default {
8
- props: {
9
- value: {
10
- type: Boolean,
11
- default() {
12
- return false;
13
- }
14
- },
15
- },
16
- computed: {
17
- classes() {
18
- var array = [];
19
- if (this.value) {
20
- array.push(`ux-checkbox-true`);
21
- } else {
22
- array.push(`ux-checkbox-false`);
23
- }
24
- return array;
25
- },
26
- },
27
- }
28
- </script>
29
- <style lang="scss" scoped>
30
- .ux-checkbox {
31
-
32
- $size: 1.2em;
33
- padding: 0.5em 1em;
34
- border-radius:0.3em;
35
- display: inline-block;
36
- position: relative;
37
- cursor: pointer;
38
- overflow: hidden;
39
- border: 1px solid rgba(#000, 0.2);
40
- background: #fff;
41
- height:0;
42
- overflow: hidden;
43
- width:$size;
44
- padding: 0 0 $size;
45
- text-align: center;
46
- line-height: 2em;
47
- appearance:none;
48
- font-size: inherit;
49
- vertical-align: top;
50
-
51
- .icon {
52
- opacity: 0;
53
- position:absolute;
54
- top:50%;
55
- left:50%;
56
- transform: scale(0) translate(-50%, -50%);
57
- transition: all 0.2s;
58
- }
59
-
60
- &.ux-checkbox-true {
61
- background: $primary;
62
-
63
- .icon {
64
- color: #fff;
65
- opacity: 1;
66
- transform: scale(1) translate(-50%, -50%);
67
- }
68
- }
69
-
70
- &:hover {
71
- border-color: $primary;
72
- .icon {
73
- opacity: 0.5 !important;
74
- transform: scale(1) translate(-50%, -50%);
75
- }
76
- }
77
- }
78
-
79
- </style>
package/src/ui/icon.vue DELETED
@@ -1,57 +0,0 @@
1
- <template>
2
- <component :is="element" class="ux-icon fa" :class="classes"/>
3
- </template>
4
- <script>
5
-
6
- export default {
7
- props: {
8
- icon: {
9
- type: [Object, String],
10
- },
11
- spin: {
12
- type: Boolean,
13
- },
14
- left: {
15
- type: Boolean,
16
- },
17
- right: {
18
- type: Boolean,
19
- },
20
- },
21
- computed: {
22
- classes() {
23
-
24
- var array = [];
25
-
26
- array.push(this.icon);
27
-
28
- if(this.spin) {
29
- array.push(`fa-spin`);
30
- }
31
-
32
- if(this.left) {
33
- array.push('ux-icon-left')
34
- }
35
- if(this.right) {
36
- array.push('ux-icon-right')
37
- }
38
- return array;
39
- },
40
- element() {
41
- return 'i'
42
- },
43
- },
44
- }
45
- </script>
46
- <style lang="scss" scoped>
47
- .ux-icon {
48
-
49
- &.ux-icon-left {
50
- margin-right:0.4em
51
- }
52
-
53
- &.ux-icon-right {
54
- margin-left:0.4em
55
- }
56
- }
57
- </style>
package/src/ui/image.vue DELETED
@@ -1,158 +0,0 @@
1
- <template>
2
- <div class="ux-image" :style="style">
3
- <img :src="src" />
4
- </div>
5
- </template>
6
- <script>
7
- export default {
8
- props: {
9
- item: {
10
- type: Object,
11
- },
12
- width: {
13
- type: [Number, String]
14
- },
15
- height: {
16
- type: [Number, String]
17
- },
18
- quality: {
19
- type: Number,
20
- },
21
- crop: {
22
- type: Boolean,
23
- },
24
- format: {
25
- type: String,
26
- },
27
- upscale: {
28
- type: Boolean,
29
- default: true,
30
- },
31
- type: {
32
- type: String,
33
- default: 'image',
34
- },
35
- },
36
- data() {
37
- return {
38
- model: this.item,
39
- }
40
- },
41
- computed: {
42
- defaultWidth() {
43
- return;
44
- },
45
- defaultHeight() {
46
- return;
47
- },
48
- imageWidth() {
49
- return parseInt(this.width);
50
- },
51
- imageHeight() {
52
- return parseInt(this.height);
53
- },
54
- id() {
55
- return this.$qik.utils.id(this.model);
56
- },
57
- params() {
58
-
59
- var params = {};
60
- params.access_token = this.$qik.auth.getCurrentToken();
61
-
62
- /////////////////////////////////
63
-
64
-
65
- if (this.imageWidth) {
66
- params.w = this.imageWidth ? this.imageWidth : this.defaultWidth;
67
- }
68
-
69
- if (this.imageHeight) {
70
- params.h = this.imageHeight ? this.imageHeight : this.defaultHeight;
71
- }
72
-
73
- if (this.crop) {
74
- params.c = true;
75
- } else {
76
- params.c = (this.imageWidth && this.imageHeight);
77
- }
78
-
79
- if (this.quality) {
80
- params.q = parseInt(this.quality);
81
- }
82
-
83
- if (this.upscale) {
84
- params.u = true;
85
- }
86
-
87
- if (this.format) {
88
- params.f = this.format;
89
- }
90
-
91
- return params;
92
- },
93
- src() {
94
- return this.$qik.api.generateEndpointURL(`/${this.type}/${this.id}`, this.params);
95
- },
96
- previewSrc() {
97
-
98
- var params = Object.assign({}, this.params);
99
- params.w = 50;
100
- delete params.h;
101
- return this.$qik.api.generateEndpointURL(`/${this.type}/${this.id}`, params);
102
- },
103
- style() {
104
-
105
- var style = {};
106
-
107
- var colors = this.model?.fileMeta?.colors?.colors;
108
- if (colors && colors.length) {
109
- style.backgroundColor = colors[0];
110
- }
111
-
112
- var dimensionWidth = this.model.width;
113
- var dimensionHeight = this.model.height;
114
-
115
- ///////////////////////////////////////////
116
-
117
- if (this.width && this.height) {
118
- dimensionWidth = this.width;
119
- dimensionHeight = this.height;
120
- }
121
- ///////////////////////////////////////////
122
-
123
- if (dimensionHeight && dimensionWidth) {
124
- style.height = 0;
125
- style.paddingBottom = `${(dimensionHeight / dimensionWidth) * 100}%`;
126
- }
127
-
128
- ///////////////////////////////////////////
129
-
130
- style.backgroundImage = `url(${this.previewSrc})`
131
-
132
- ///////////////////////////////////////////
133
-
134
- return style;
135
- }
136
- },
137
- }
138
- </script>
139
- <style lang="scss" scoped>
140
- .ux-image {
141
- display: block;
142
- background-size: cover;
143
- background-position: center center;
144
- background-repeat: no-repeat;
145
- background-color: rgba(#000, 0.1);
146
- width: 100%;
147
- height: auto;
148
- overflow: hidden;
149
-
150
- img {
151
- width: 100%;
152
- display: block;
153
- height: auto;
154
- margin: 0;
155
- padding: 0;
156
- }
157
- }
158
- </style>
package/src/ui/link.vue DELETED
@@ -1,62 +0,0 @@
1
- <template>
2
- <component :is="element" :to="to" :href="href" :target="target" :class="class" class="ux-link">
3
- <slot />
4
- </component>
5
- </template>
6
- <script>
7
- export default {
8
- props: {
9
- to: {
10
- type: [Object, String],
11
- },
12
- href: {
13
- type: String,
14
- },
15
- target: {
16
- type: String,
17
- },
18
- disabled: {
19
- type: Boolean,
20
- }
21
- },
22
- computed: {
23
- class() {
24
-
25
- var array = [];
26
-
27
- if(this.disabled) {
28
- array.push('disabled');
29
- }
30
-
31
- if(this.href || this.to) {
32
- array.push('haslink')
33
- }
34
-
35
- return array;
36
- },
37
- element() {
38
- if (this.to) {
39
- return `router-link`;
40
- } else {
41
- return 'a';
42
- }
43
- }
44
- },
45
- }
46
- </script>
47
- <style lang="scss" scoped>
48
-
49
-
50
- a {
51
- cursor: pointer;
52
-
53
-
54
-
55
- &.disabled {
56
- cursor: none;
57
- pointer-events:none;
58
- }
59
- }
60
-
61
-
62
- </style>
@@ -1,22 +0,0 @@
1
- <template>
2
- <div class="ux-list-item">
3
- <slot/>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
-
10
- }
11
- </script>
12
- <style lang="scss" scoped>
13
-
14
- .ux-list-item {
15
- background:#fff;
16
- cursor: pointer;
17
-
18
- &:hover {
19
- background: darken(#fff, 5%);
20
- }
21
- }
22
- </style>
package/src/ui/list.vue DELETED
@@ -1,26 +0,0 @@
1
- <template>
2
- <ul class="ux-list">
3
- <slot/>
4
- </ul>
5
- </template>
6
- <style lang="scss" scoped>
7
-
8
- .ux-list {
9
- background:#fff;
10
- padding:0;
11
- margin: 0;
12
- list-style-type: none;
13
- box-shadow: 0 0.3em 0.5em rgba(#000, 0.1);
14
-
15
- :deep(.ux-list-item) {
16
- list-style-type: none;
17
- padding: 0.5em 1em;
18
- display: block;
19
- border-bottom: 1px solid rgba(#000, 0.1);
20
-
21
- &:last-child {
22
- border-bottom:none;
23
- }
24
- }
25
- }
26
- </style>