@qikdev/vue-ui 0.0.5 → 0.1.6

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 (84) 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 +17781 -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 -227
  12. package/src/content/browser.vue +0 -493
  13. package/src/content/item.vue +0 -48
  14. package/src/content/render/field.vue +0 -423
  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 -144
  19. package/src/filter/FilterCondition.vue +0 -335
  20. package/src/filter/FilterRule.vue +0 -257
  21. package/src/form/expressions/index.js +0 -83
  22. package/src/form/field.vue +0 -634
  23. package/src/form/form.vue +0 -280
  24. package/src/form/getDefaultValue.js +0 -224
  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/input-mixin.js +0 -440
  32. package/src/form/inputs/native-select-old.vue +0 -43
  33. package/src/form/inputs/object-field.vue +0 -50
  34. package/src/form/inputs/option.vue +0 -19
  35. package/src/form/inputs/options-manager.vue +0 -244
  36. package/src/form/inputs/phone-number-input.vue +0 -235
  37. package/src/form/inputs/search.vue +0 -117
  38. package/src/form/inputs/select.vue +0 -211
  39. package/src/form/inputs/switch.vue +0 -87
  40. package/src/form/inputs/textarea.vue +0 -80
  41. package/src/form/inputs/textfield.vue +0 -185
  42. package/src/form/inputs/timezone.vue +0 -642
  43. package/src/form/inputs/type-select.vue +0 -247
  44. package/src/form/inputs/upload/filedrop.vue +0 -72
  45. package/src/form/inputs/upload/upload.vue +0 -323
  46. package/src/form/parseBoolean.js +0 -24
  47. package/src/layout/flex-body.vue +0 -23
  48. package/src/layout/flex-cell.vue +0 -45
  49. package/src/layout/flex-column.vue +0 -31
  50. package/src/layout/flex-footer.vue +0 -14
  51. package/src/layout/flex-header.vue +0 -14
  52. package/src/layout/flex-row.vue +0 -39
  53. package/src/layout/flex-spacer.vue +0 -17
  54. package/src/layout/panel-body.vue +0 -13
  55. package/src/layout/panel-footer.vue +0 -20
  56. package/src/layout/panel-header.vue +0 -20
  57. package/src/layout/panel.vue +0 -23
  58. package/src/modal/ConfirmModal.vue +0 -50
  59. package/src/modal/ContentModal.vue +0 -98
  60. package/src/modal/Modal.vue +0 -85
  61. package/src/modal/ModalMixin.js +0 -21
  62. package/src/modal/OptionsModal.vue +0 -31
  63. package/src/modal/PromptModal.vue +0 -31
  64. package/src/services/selection.js +0 -140
  65. package/src/table/Table.vue +0 -269
  66. package/src/table/TableCell.vue +0 -64
  67. package/src/table/TableRow.vue +0 -94
  68. package/src/table/cells/TableCellMixin.js +0 -15
  69. package/src/table/cells/Thumbnail.vue +0 -38
  70. package/src/ui/button.vue +0 -255
  71. package/src/ui/checkbox.vue +0 -79
  72. package/src/ui/icon.vue +0 -57
  73. package/src/ui/image.vue +0 -158
  74. package/src/ui/link.vue +0 -62
  75. package/src/ui/list-item.vue +0 -16
  76. package/src/ui/list.vue +0 -26
  77. package/src/ui/menu.vue +0 -135
  78. package/src/ui/progressbar.vue +0 -77
  79. package/src/ui/spinner.vue +0 -26
  80. package/src/ui/switch.vue +0 -89
  81. package/src/version.js +0 -1
  82. package/test/index.spec.js +0 -42
  83. package/test/mocha.opts +0 -0
  84. package/yarn-error.log +0 -2923
@@ -1,45 +0,0 @@
1
- <template>
2
- <div class="flex-cell">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
- }
10
-
11
- </script>
12
- <style scoped lang="scss">
13
- .flex-cell {
14
- overflow: hidden;
15
- flex: 1;
16
- flex-direction: row;
17
-
18
- &[flex] {
19
- display: flex;
20
- }
21
-
22
- &[center] {
23
- display: flex;
24
- align-items: center;
25
- justify-content: center;
26
- }
27
-
28
- &[vcenter] {
29
- display: flex;
30
- align-items: center;
31
- }
32
-
33
- &[align-bottom] {
34
- display: flex;
35
- align-items: self-end;
36
- }
37
-
38
- &[shrink] {
39
- flex:none;
40
- }
41
- }
42
-
43
-
44
-
45
- </style>
@@ -1,31 +0,0 @@
1
- <template>
2
- <div class="flex-column">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
- }
10
-
11
- </script>
12
- <style scoped lang="scss">
13
- .flex-column {
14
- display: flex;
15
- overflow: hidden;
16
- flex: 1;
17
- flex-direction: column;
18
-
19
- &[center] {
20
- align-items: center;
21
- justify-content: center;
22
- }
23
-
24
- &[shrink] {
25
- flex:none;
26
- }
27
- }
28
-
29
-
30
-
31
- </style>
@@ -1,14 +0,0 @@
1
- <template>
2
- <div class="flex-column-footer">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
- export default {
8
- }
9
- </script>
10
- <style scoped lang="scss">
11
- .flex-column-footer {
12
- flex: none;
13
- }
14
- </style>
@@ -1,14 +0,0 @@
1
- <template>
2
- <div class="flex-column-header">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
- export default {
8
- }
9
- </script>
10
- <style scoped lang="scss">
11
- .flex-column-header {
12
- flex: none;
13
- }
14
- </style>
@@ -1,39 +0,0 @@
1
- <template>
2
- <div class="flex-row">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
- }
10
-
11
- </script>
12
- <style scoped lang="scss">
13
- .flex-row {
14
- display: flex;
15
- overflow: hidden;
16
- flex: 1;
17
- flex-direction: row;
18
-
19
- &[center] {
20
- align-items: center;
21
- justify-content: center;
22
- }
23
-
24
- &[vcenter] {
25
- align-items: center;
26
- }
27
-
28
- &[wrap] {
29
- flex-wrap: wrap;
30
- }
31
-
32
- &[gap] {
33
- gap: 0.2em;
34
- }
35
- }
36
-
37
-
38
-
39
- </style>
@@ -1,17 +0,0 @@
1
- <template>
2
- <div class="flex-spacer"/>
3
- </template>
4
- <script>
5
-
6
- export default {
7
- }
8
-
9
- </script>
10
- <style scoped lang="scss">
11
- .flex-spacer {
12
- padding:0.25em;
13
- }
14
-
15
-
16
-
17
- </style>
@@ -1,13 +0,0 @@
1
- <template>
2
- <div class="panel-body">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
- export default {}
8
- </script>
9
- <style lang="scss" scoped>
10
- .panel-body {
11
- padding: 1em;
12
- }
13
- </style>
@@ -1,20 +0,0 @@
1
- <template>
2
- <div class="panel-footer">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
- }
10
-
11
- </script>
12
- <style lang="scss" scoped>
13
- .panel-footer {
14
- padding:0.5em 1em;
15
- border-top:1px solid rgba(#000,0.1);
16
- }
17
-
18
-
19
-
20
- </style>
@@ -1,20 +0,0 @@
1
- <template>
2
- <div class="panel-header">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
- }
10
-
11
- </script>
12
- <style lang="scss" scoped>
13
- .panel-header {
14
- padding:0.5em 0.5em 0.5em 1em;
15
- border-bottom:1px solid rgba(#000,0.1);
16
- }
17
-
18
-
19
-
20
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <div class="panel">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
-
8
- export default {
9
- }
10
-
11
- </script>
12
- <style lang="scss" scoped>
13
- .panel {
14
- border-radius: 0.3em;
15
- border:1px solid rgba(#000,0.1);
16
- margin-bottom: 1em;
17
- box-shadow: 0 4px 4px 0px rgba(0, 0, 0, 0.02);
18
-
19
- }
20
-
21
-
22
-
23
- </style>
@@ -1,50 +0,0 @@
1
- <template>
2
- <flex-column class="wrapper">
3
- <flex-body>
4
- <div class="padder">
5
- <h5>{{options.title}}</h5>
6
- <div>{{options.description}}</div>
7
- </div>
8
- </flex-body>
9
- <flex-footer>
10
- <div class="padder">
11
- <flex-row>
12
- <flex-cell>
13
- <ux-button @click="dismiss">Cancel</ux-button>
14
- </flex-cell>
15
-
16
- <flex-cell>
17
- <ux-button @click="close">Confirm</ux-button>
18
- </flex-cell>
19
- </flex-row>
20
- </div>
21
- </flex-footer>
22
- </flex-column>
23
- </template>
24
- <script>
25
-
26
- import ModalMixin from './ModalMixin';
27
-
28
- export default {
29
- mixins:[ModalMixin],
30
- }
31
- </script>
32
- <style lang="scss" scoped>
33
-
34
- .wrapper {
35
- border-radius: 0.5em;
36
- overflow: hidden;
37
- background: #fff;
38
- text-align: center;
39
-
40
- h5 {
41
- font-size: 1.2em;
42
- margin:0;
43
- }
44
-
45
- .padder {
46
- padding: 1em;
47
- }
48
- }
49
-
50
- </style>
@@ -1,98 +0,0 @@
1
- <template>
2
- <flex-column class="wrapper">
3
-
4
- <template v-if="definition">
5
- <flex-header>
6
- <div class="header">
7
- <flex-row center>
8
- <flex-cell shrink>
9
- Select {{maximum == 1 ? title : plural}}
10
- </flex-cell>
11
- <flex-spacer />
12
- <flex-cell>
13
- <search v-model="search" :loading="searching" :debounce="500" placeholder="Search" />
14
- </flex-cell>
15
- <flex-spacer />
16
- <flex-cell shrink>
17
- <ux-button color="primary" @click="selectionComplete">Done</ux-button>
18
- </flex-cell>
19
- </flex-row>
20
- </div>
21
- </flex-header>
22
- <content-browser ref="browser" :search="search" @click:row="rowClicked" :maximum="options.maximum" v-model="model" :type="options.type" :options="browserOptions">
23
- </content-browser>
24
- </template>
25
-
26
- <flex-column v-else>
27
- Loading
28
- </flex-column>
29
-
30
- </flex-column>
31
- </template>
32
- <script>
33
- import Search from '../form/inputs/search.vue';
34
-
35
- import ContentBrowser from '../content/browser.vue';
36
- import ModalMixin from './ModalMixin';
37
-
38
- export default {
39
- components: {
40
- ContentBrowser,
41
- Search,
42
- },
43
- mixins: [ModalMixin],
44
- async created() {
45
- var self = this;
46
- var glossary = await self.$qik.content.glossary({ hash: true });
47
- var definition = glossary[self.type]
48
- self.definition = definition;
49
- },
50
- computed: {
51
- type() {
52
- return this.options.type;
53
- },
54
- title() {
55
- return this.definition.title;
56
- },
57
- plural() {
58
- return this.definition.plural;
59
- },
60
- maximum() {
61
- return this.options.maximum || 0;
62
- },
63
- browserOptions() {
64
- return {}
65
- },
66
- },
67
- data() {
68
- return {
69
- search: '',
70
- searching: false,
71
- definition: null,
72
- model: this.options.model.slice(),
73
- }
74
- },
75
- methods: {
76
- rowClicked(row) {
77
- this.$refs.browser.toggle(row);
78
- },
79
- selectionComplete(data) {
80
- this.close(this.model);
81
- }
82
- }
83
- }
84
- </script>
85
- <style lang="scss" scoped>
86
- .wrapper {
87
- min-width: 80vw;
88
- min-height: 80vh;
89
- border-radius: 0.5em;
90
- overflow: hidden;
91
- }
92
-
93
- .header {
94
- background:#fff;
95
- padding: 1em;
96
- border-bottom: 1px solid rgba(#000, 0.1);
97
- }
98
- </style>
@@ -1,85 +0,0 @@
1
- <template>
2
- <div class="modal-wrapper">
3
- <div class="modal-blanket" @click="blanketClick"/>
4
- <div class="modal-content" :style="style">
5
- <component :options="modal.options" v-bind="componentProps" @close="close" @dismiss="dismiss" :is="modal.component" />
6
- </div>
7
- </div>
8
- </template>
9
- <script>
10
- export default {
11
- props: {
12
- modal: {
13
- type: Object,
14
- required: true,
15
- }
16
- },
17
- data() {
18
- return {}
19
- },
20
- methods: {
21
- blanketClick() {
22
- this.dismiss();
23
- },
24
- dismiss(err) {
25
- this.$qik.closeModal(this.modal.id);
26
- this.modal.reject(err);
27
- },
28
- close(value) {
29
- this.$qik.closeModal(this.modal.id);
30
- this.modal.resolve(value);
31
- }
32
- },
33
- computed: {
34
- componentProps() {
35
- return this.modal.componentProps || {};
36
- },
37
- style() {
38
-
39
- var styles = {}
40
-
41
- if(this.modal.style) {
42
- styles = Object.assign(styles, this.modal.style);
43
- }
44
-
45
- return styles;
46
- }
47
- }
48
- }
49
- </script>
50
- <style lang="scss" scoped>
51
- .modal-wrapper {
52
- margin:0;
53
- padding:0;
54
- position: fixed;
55
- top:0;
56
- left:0;
57
- right:0;
58
- bottom:0;
59
- display: flex;
60
- width:100vw;
61
- height:100vh;
62
- z-index: 100;
63
- justify-content: center;
64
- align-items:center;
65
- overflow: hidden;
66
- box-sizing: border-box;
67
-
68
- .modal-blanket {
69
- position:absolute;
70
- background: rgba(#333, 0.5);
71
- left:0;
72
- top:0;
73
- right:0;
74
- bottom:0;
75
- }
76
-
77
- .modal-content {
78
- display: flex;
79
- overflow: hidden;
80
- z-index: 101;
81
- max-width: 90%;
82
- max-height: 90%;
83
- }
84
- }
85
- </style>
@@ -1,21 +0,0 @@
1
- export default {
2
- props:{
3
- options:{
4
- type:Object,
5
- default() {
6
- return {}
7
- }
8
- }
9
- },
10
- data() {
11
- return {}
12
- },
13
- methods: {
14
- dismiss(error) {
15
- this.$emit('dismiss', error);
16
- },
17
- close(result) {
18
- this.$emit('close',result);
19
- },
20
- }
21
- }
@@ -1,31 +0,0 @@
1
- <template>
2
- <flex-column>
3
- <flex-header>
4
- Options
5
- </flex-header>
6
- <flex-body>
7
- Options
8
- </flex-body>
9
- <flex-footer>
10
- <flex-row>
11
- <flex-cell>
12
- <ux-button @click="dismiss">Cancel</ux-button>
13
- </flex-cell>
14
-
15
- <flex-cell>
16
- <ux-button @click="done">Done</ux-button>
17
- </flex-cell>
18
- </flex-row>
19
- </flex-footer>
20
- </flex-column>
21
- </template>
22
- <script>
23
-
24
- import ModalMixin from './ModalMixin';
25
-
26
- export default {
27
- mixins:[ModalMixin],
28
- }
29
- </script>
30
- <style lang="scss">
31
- </style>
@@ -1,31 +0,0 @@
1
- <template>
2
- <flex-column>
3
- <flex-header>
4
- Prompt
5
- </flex-header>
6
- <flex-body>
7
- Prompt
8
- </flex-body>
9
- <flex-footer>
10
- <flex-row>
11
- <flex-cell>
12
- <ux-button @click="dismiss">Cancel</ux-button>
13
- </flex-cell>
14
-
15
- <flex-cell>
16
- <ux-button @click="done">Done</ux-button>
17
- </flex-cell>
18
- </flex-row>
19
- </flex-footer>
20
- </flex-column>
21
- </template>
22
- <script>
23
-
24
- import ModalMixin from './ModalMixin';
25
-
26
- export default {
27
- mixins:[ModalMixin],
28
- }
29
- </script>
30
- <style lang="scss">
31
- </style>