@mixd-id/web-scaffold 0.1.230406197 → 0.1.230406198

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mixd-id/web-scaffold",
3
3
  "private": false,
4
- "version": "0.1.230406197",
4
+ "version": "0.1.230406198",
5
5
  "scripts": {
6
6
  "dev": "vite serve",
7
7
  "build": "vite build",
@@ -107,7 +107,12 @@ export default{
107
107
  break
108
108
 
109
109
  default:
110
- this.$router.push(this.target)
110
+ if(this.target.indexOf('://') >= 0){
111
+ window.location = this.target
112
+ }
113
+ else{
114
+ this.$router.push(this.target)
115
+ }
111
116
  break
112
117
  }
113
118
  }
@@ -13,6 +13,7 @@
13
13
  </div>
14
14
  </slot>
15
15
 
16
+ <div v-else-if="status === 2 && actualSrc.indexOf('<svg') >= 0" v-html="actualSrc"></div>
16
17
  <img v-else-if="status === 2" :class="computedItemClass" :src="actualSrc" ref="img" />
17
18
 
18
19
  <slot v-else-if="status === 3" name="error" :instance="this"></slot>
@@ -145,6 +146,10 @@ export default{
145
146
  this.actualSrc = this.src
146
147
  this.status = 2
147
148
  }
149
+ else if(this.src.indexOf('<svg') >= 0){
150
+ this.actualSrc = this.src
151
+ this.status = 2
152
+ }
148
153
  else{
149
154
  const src = {}
150
155
 
@@ -231,6 +236,9 @@ export default{
231
236
  reader.readAsDataURL(this.src)
232
237
  this.status = 1
233
238
  }
239
+ else{
240
+ this.status = 0
241
+ }
234
242
  },
235
243
 
236
244
  onClick(){
@@ -1460,10 +1460,16 @@ export default{
1460
1460
  aspectRatio: [
1461
1461
  [ 'Square', 'aspect-square' ],
1462
1462
  [ '2/1', 'aspect-[2/1]' ],
1463
+ [ '3/1', 'aspect-[3/1]' ],
1463
1464
  [ '4/1', 'aspect-[4/1]' ],
1464
1465
  [ '4/3', 'aspect-[4/3]' ],
1466
+ [ '5/1', 'aspect-[5/1]' ],
1467
+ [ '6/1', 'aspect-[6/1]' ],
1468
+ [ '7/1', 'aspect-[7/1]' ],
1469
+ [ '8/1', 'aspect-[8/1]' ],
1465
1470
  [ '8/3', 'aspect-[8/3]' ],
1466
1471
  [ '8/5.6', 'aspect-[8/5.6]' ],
1472
+ [ '9/1', 'aspect-[9/1]' ],
1467
1473
  [ 'Video (16:9)', 'aspect-video' ],
1468
1474
  [ '1/2', 'aspect-[1/2]' ],
1469
1475
  [ '2/3', 'aspect-[2/3]' ],
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <div :class="$style.comp" v-if="state === 1" :style="computedStyle">
3
3
 
4
- <div class="flex flex-col gap-1">
5
- <h2 v-if="title">{{ title }}</h2>
6
- <p v-if="description" v-html="description"></p>
4
+ <div v-if="title || description" class="flex flex-col gap-1">
5
+ <h2 v-if="title">{{ title }}</h2>
6
+ <p v-if="description" v-html="description"></p>
7
7
  <CitySelector ref="citySelector" @change="setCity"/>
8
- </div>
8
+ </div>
9
9
 
10
10
  <div class="flex flex-col gap-4">
11
11
  <div v-for="field in fields">
@@ -34,9 +34,11 @@
34
34
  </div>
35
35
  </div>
36
36
 
37
- <Button ref="submitBtn" class="w-full" @click="submitForm" :state="!canSubmit ? -1 : 1">
38
- <h5>Kirim</h5>
39
- </Button>
37
+ <div>
38
+ <Button ref="submitBtn" class="w-full" @click="submitForm" :state="!canSubmit ? -1 : 1">
39
+ <h5>Kirim</h5>
40
+ </Button>
41
+ </div>
40
42
 
41
43
  </div>
42
44
  <div :class="$style.comp" class="" v-else-if="state === 2">
@@ -152,9 +154,9 @@ export default{
152
154
  <style module>
153
155
 
154
156
  .comp{
155
- @apply flex-1 w-full max-w-[480px] min-h-[480px] mx-auto rounded-lg overflow-hidden;
157
+ @apply flex-1 w-full max-w-[480px] mx-auto rounded-lg overflow-hidden;
156
158
  @apply border-text-200 border-[1px] p-6;
157
- @apply flex flex-col justify-center gap-8 bg-base;
159
+ @apply flex flex-col gap-12 bg-base;
158
160
  }
159
161
 
160
162
  </style>
@@ -135,14 +135,37 @@
135
135
  </div>
136
136
  </div>
137
137
 
138
+ <div>
139
+
140
+ <div class="flex flex-row gap-4 items-center cursor-pointer">
141
+ <strong class="flex-1 text-text-400">Splash</strong>
142
+ </div>
143
+
144
+ <div class="mt-1 flex flex-col items-center gap-2">
145
+ <Image ref="splashImg"
146
+ :src="item.props.splash"
147
+ :editable="true"
148
+ @change="setSplash"
149
+ class="aspect-square bg-text-50 rounded-lg w-[100px]" />
150
+
151
+ <div class="flex flex-row gap-8">
152
+ <button type="button" class="text-primary"
153
+ @click="$refs.splashImg.edit()">
154
+ Upload
155
+ </button>
156
+ <button type="button" class="text-primary"
157
+ @click="removeSplash">
158
+ Remove
159
+ </button>
160
+ </div>
161
+ </div>
162
+
163
+ </div>
164
+
138
165
  <div class="p-6 text-center">
139
166
  <button type="button" class="text-primary" @click="resetMedia">Reset</button>
140
167
  </div>
141
168
 
142
- <pre class="text-xs">
143
- {{ media }}
144
- </pre>
145
-
146
169
  </div>
147
170
  </template>
148
171
 
@@ -211,6 +234,26 @@ export default{
211
234
  this.item.props.media[key] = { '*': {}, 'html, .html': {}, 'h1, h2, h3, h4, h5':{} }
212
235
  }
213
236
 
237
+ },
238
+
239
+ setSplash(base64, file){
240
+
241
+ if(file.type.indexOf('image/svg') >= 0){
242
+ const reader = new FileReader();
243
+
244
+ reader.onload = (e) => {
245
+ this.item.props.splash = e.target.result
246
+ };
247
+
248
+ reader.readAsText(file);
249
+ }
250
+ else{
251
+ this.item.props.splash = base64
252
+ }
253
+ },
254
+
255
+ removeSplash(){
256
+ this.item.props.splash = null
214
257
  }
215
258
 
216
259
  },
@@ -670,7 +670,7 @@ export default{
670
670
 
671
671
  this.pageHistory.commit()
672
672
 
673
- //this.store.selectedComponent = [ component.uid ]
673
+ this.store.selectedComponent = [ component.uid ]
674
674
 
675
675
  this.$refs.webPageComponentSelector.close()
676
676
  },
@@ -30,7 +30,8 @@ module.exports = {
30
30
 
31
31
  'justify-normal', 'justify-start', 'justify-end', 'justify-center', 'justify-between', 'justify-around', 'justify-evenly',
32
32
 
33
- 'aspect-[2/1]', 'aspect-[4/1]', 'aspect-[4/3]', 'aspect-[8/1]', 'aspect-[8/3]', 'aspect-[8/5.6]', 'aspect-video',
33
+ 'aspect-[2/1]', 'aspect-[3/1]', 'aspect-[4/1]', 'aspect-[4/3]', 'aspect-[5/1]', 'aspect-[6/1]', 'aspect-[7/1]',
34
+ 'aspect-[8/1]', 'aspect-[8/3]', 'aspect-[8/5.6]', 'aspect-[9/1]', 'aspect-video',
34
35
  'aspect-[1/2]', 'aspect-[2/3]', 'aspect-[3/4]', 'aspect-[8/9]',
35
36
 
36
37
  'hidden', 'block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table',
@@ -48,21 +49,21 @@ module.exports = {
48
49
  'overflow-x-hidden', 'overflow-y-auto', 'overflow-y-hidden', 'overflow-x-clip', 'overflow-y-clip', 'overflow-x-visible',
49
50
  'overflow-y-visible', 'overflow-x-scroll', 'overflow-y-scroll',
50
51
 
51
- 'p-1', 'p-2', 'p-3', 'p-4', 'p-5', 'p-6', 'p-7', 'p-8',
52
- 'px-1', 'px-2', 'px-3', 'px-4', 'px-5', 'px-6', 'px-7', 'px-8',
53
- 'py-1', 'py-2', 'py-3', 'py-4', 'py-5', 'py-6', 'py-7', 'py-8',
54
- 'pl-1', 'pl-2', 'pl-3', 'pl-4', 'pl-5', 'pl-6', 'pl-7', 'pl-8',
55
- 'pt-1', 'pt-2', 'pt-3', 'pt-4', 'pt-5', 'pt-6', 'pt-7', 'pt-8',
56
- 'pr-1', 'pr-2', 'pr-3', 'pr-4', 'pr-5', 'pr-6', 'pr-7', 'pr-8',
57
- 'pb-1', 'pb-2', 'pb-3', 'pb-4', 'pb-5', 'pb-6', 'pb-7', 'pb-8',
58
-
59
- 'm-1', 'm-2', 'm-3', 'm-4', 'm-5', 'm-6', 'm-7', 'm-8',
60
- 'mx-1', 'mx-2', 'mx-3', 'mx-4', 'mx-5', 'mx-6', 'mx-7', 'mx-8',
61
- 'my-1', 'my-2', 'my-3', 'my-4', 'my-5', 'my-6', 'my-7', 'my-8',
62
- 'ml-1', 'ml-2', 'ml-3', 'ml-4', 'ml-5', 'ml-6', 'ml-7', 'ml-8',
63
- 'mt-1', 'mt-2', 'mt-3', 'mt-4', 'mt-5', 'mt-6', 'mt-7', 'mt-8',
64
- 'mr-1', 'mr-2', 'mr-3', 'mr-4', 'mr-5', 'mr-6', 'mr-7', 'mr-8',
65
- 'mb-1', 'mb-2', 'mb-3', 'mb-4', 'mb-5', 'mb-6', 'mb-7', 'mb-8',
52
+ 'p-1', 'p-2', 'p-3', 'p-4', 'p-5', 'p-6', 'p-7', 'p-8', 'p-9', 'p-10', 'p-11', 'p-12',
53
+ 'px-1', 'px-2', 'px-3', 'px-4', 'px-5', 'px-6', 'px-7', 'px-8', 'px-9', 'px-10', 'px-11', 'px-12',
54
+ 'py-1', 'py-2', 'py-3', 'py-4', 'py-5', 'py-6', 'py-7', 'py-8', 'py-9', 'py-10', 'py-11', 'py-12',
55
+ 'pl-1', 'pl-2', 'pl-3', 'pl-4', 'pl-5', 'pl-6', 'pl-7', 'pl-8', 'pl-9', 'pl-10', 'pl-11', 'pl-12',
56
+ 'pt-1', 'pt-2', 'pt-3', 'pt-4', 'pt-5', 'pt-6', 'pt-7', 'pt-8', 'pt-9', 'pt-10', 'pt-11', 'pt-12',
57
+ 'pr-1', 'pr-2', 'pr-3', 'pr-4', 'pr-5', 'pr-6', 'pr-7', 'pr-8', 'pr-9', 'pr-10', 'pr-11', 'pr-12',
58
+ 'pb-1', 'pb-2', 'pb-3', 'pb-4', 'pb-5', 'pb-6', 'pb-7', 'pb-8', 'pb-9', 'pb-10', 'pb-11', 'pb-12',
59
+
60
+ 'm-1', 'm-2', 'm-3', 'm-4', 'm-5', 'm-6', 'm-7', 'm-8', 'm-9', 'm-10', 'm-11', 'm-12',
61
+ 'mx-1', 'mx-2', 'mx-3', 'mx-4', 'mx-5', 'mx-6', 'mx-7', 'mx-8', 'mx-9', 'mx-10', 'mx-11', 'mx-12',
62
+ 'my-1', 'my-2', 'my-3', 'my-4', 'my-5', 'my-6', 'my-7', 'my-8', 'my-9', 'my-10', 'my-11', 'my-12',
63
+ 'ml-1', 'ml-2', 'ml-3', 'ml-4', 'ml-5', 'ml-6', 'ml-7', 'ml-8', 'ml-9', 'ml-10', 'ml-11', 'ml-12',
64
+ 'mt-1', 'mt-2', 'mt-3', 'mt-4', 'mt-5', 'mt-6', 'mt-7', 'mt-8', 'mt-9', 'mt-10', 'mt-11', 'mt-12',
65
+ 'mr-1', 'mr-2', 'mr-3', 'mr-4', 'mr-5', 'mr-6', 'mr-7', 'mr-8', 'mr-9', 'mr-10', 'mr-11', 'mr-12',
66
+ 'mb-1', 'mb-2', 'mb-3', 'mb-4', 'mb-5', 'mb-6', 'mb-7', 'mb-8', 'mb-9', 'mb-10', 'mb-11', 'mb-12',
66
67
  'mx-auto',
67
68
 
68
69
  'w-1', 'w-2', 'w-3', 'w-4', 'w-5', 'w-6', 'w-8', 'w-10', 'w-12', 'w-16',
@@ -246,7 +247,8 @@ module.exports = {
246
247
 
247
248
  'md:justify-normal', 'md:justify-start', 'md:justify-end', 'md:justify-center', 'md:justify-between', 'md:justify-around', 'md:justify-evenly',
248
249
 
249
- 'md:aspect-[2/1]', 'md:aspect-[4/1]', 'md:aspect-[4/3]', 'md:aspect-[8/1]', 'md:aspect-[8/3]', 'md:aspect-[8/5.6]', 'md:aspect-video',
250
+ 'md:aspect-[2/1]', 'md:aspect-[3/1]', 'md:aspect-[4/1]', 'md:aspect-[4/3]', 'md:aspect-[5/1]', 'md:aspect-[6/1]', 'md:aspect-[7/1]',
251
+ 'md:aspect-[8/1]', 'md:aspect-[8/3]', 'md:aspect-[8/5.6]', 'md:aspect-[9/1]', 'md:aspect-video',
250
252
  'md:aspect-[1/2]', 'md:aspect-[2/3]', 'md:aspect-[3/4]', 'md:aspect-[8/9]',
251
253
 
252
254
  'md:hidden', 'md:block', 'md:inline-block', 'md:inline', 'md:flex', 'md:inline-flex', 'md:table', 'md:inline-table',
@@ -264,21 +266,21 @@ module.exports = {
264
266
  'md:overflow-x-hidden', 'md:overflow-y-auto', 'md:overflow-y-hidden', 'md:overflow-x-clip', 'md:overflow-y-clip', 'md:overflow-x-visible',
265
267
  'md:overflow-y-visible', 'md:overflow-x-scroll', 'md:overflow-y-scroll',
266
268
 
267
- 'md:p-1', 'md:p-2', 'md:p-3', 'md:p-4', 'md:p-5', 'md:p-6', 'md:p-7', 'md:p-8',
268
- 'md:px-1', 'md:px-2', 'md:px-3', 'md:px-4', 'md:px-5', 'md:px-6', 'md:px-7', 'md:px-8',
269
- 'md:py-1', 'md:py-2', 'md:py-3', 'md:py-4', 'md:py-5', 'md:py-6', 'md:py-7', 'md:py-8',
270
- 'md:pl-1', 'md:pl-2', 'md:pl-3', 'md:pl-4', 'md:pl-5', 'md:pl-6', 'md:pl-7', 'md:pl-8',
271
- 'md:pt-1', 'md:pt-2', 'md:pt-3', 'md:pt-4', 'md:pt-5', 'md:pt-6', 'md:pt-7', 'md:pt-8',
272
- 'md:pr-1', 'md:pr-2', 'md:pr-3', 'md:pr-4', 'md:pr-5', 'md:pr-6', 'md:pr-7', 'md:pr-8',
273
- 'md:pb-1', 'md:pb-2', 'md:pb-3', 'md:pb-4', 'md:pb-5', 'md:pb-6', 'md:pb-7', 'md:pb-8',
274
-
275
- 'md:m-1', 'md:m-2', 'md:m-3', 'md:m-4', 'md:m-5', 'md:m-6', 'md:m-7', 'md:m-8',
276
- 'md:mx-1', 'md:mx-2', 'md:mx-3', 'md:mx-4', 'md:mx-5', 'md:mx-6', 'md:mx-7', 'md:mx-8',
277
- 'md:my-1', 'md:my-2', 'md:my-3', 'md:my-4', 'md:my-5', 'md:my-6', 'md:my-7', 'md:my-8',
278
- 'md:ml-1', 'md:ml-2', 'md:ml-3', 'md:ml-4', 'md:ml-5', 'md:ml-6', 'md:ml-7', 'md:ml-8',
279
- 'md:mt-1', 'md:mt-2', 'md:mt-3', 'md:mt-4', 'md:mt-5', 'md:mt-6', 'md:mt-7', 'md:mt-8',
280
- 'md:mr-1', 'md:mr-2', 'md:mr-3', 'md:mr-4', 'md:mr-5', 'md:mr-6', 'md:mr-7', 'md:mr-8',
281
- 'md:mb-1', 'md:mb-2', 'md:mb-3', 'md:mb-4', 'md:mb-5', 'md:mb-6', 'md:mb-7', 'md:mb-8',
269
+ 'md:p-1', 'md:p-2', 'md:p-3', 'md:p-4', 'md:p-5', 'md:p-6', 'md:p-7', 'md:p-8', 'md:p-9', 'md:p-10', 'md:p-11', 'md:p-12',
270
+ 'md:px-1', 'md:px-2', 'md:px-3', 'md:px-4', 'md:px-5', 'md:px-6', 'md:px-7', 'md:px-8', 'md:px-9', 'md:px-10', 'md:px-11', 'md:px-12',
271
+ 'md:py-1', 'md:py-2', 'md:py-3', 'md:py-4', 'md:py-5', 'md:py-6', 'md:py-7', 'md:py-8', 'md:py-9', 'md:py-10', 'md:py-11', 'md:py-12',
272
+ 'md:pl-1', 'md:pl-2', 'md:pl-3', 'md:pl-4', 'md:pl-5', 'md:pl-6', 'md:pl-7', 'md:pl-8', 'md:pl-9', 'md:pl-10', 'md:pl-11', 'md:pl-12',
273
+ 'md:pt-1', 'md:pt-2', 'md:pt-3', 'md:pt-4', 'md:pt-5', 'md:pt-6', 'md:pt-7', 'md:pt-8', 'md:pt-9', 'md:pt-10', 'md:pt-11', 'md:pt-12',
274
+ 'md:pr-1', 'md:pr-2', 'md:pr-3', 'md:pr-4', 'md:pr-5', 'md:pr-6', 'md:pr-7', 'md:pr-8', 'md:pr-9', 'md:pr-10', 'md:pr-11', 'md:pr-12',
275
+ 'md:pb-1', 'md:pb-2', 'md:pb-3', 'md:pb-4', 'md:pb-5', 'md:pb-6', 'md:pb-7', 'md:pb-8', 'md:pb-9', 'md:pb-10', 'md:pb-11', 'md:pb-12',
276
+
277
+ 'md:m-1', 'md:m-2', 'md:m-3', 'md:m-4', 'md:m-5', 'md:m-6', 'md:m-7', 'md:m-8', 'md:m-9', 'md:m-10', 'md:m-11', 'md:m-12',
278
+ 'md:mx-1', 'md:mx-2', 'md:mx-3', 'md:mx-4', 'md:mx-5', 'md:mx-6', 'md:mx-7', 'md:mx-8', 'md:mx-9', 'md:mx-10', 'md:mx-11', 'md:mx-12',
279
+ 'md:my-1', 'md:my-2', 'md:my-3', 'md:my-4', 'md:my-5', 'md:my-6', 'md:my-7', 'md:my-8', 'md:my-9', 'md:my-10', 'md:my-11', 'md:my-12',
280
+ 'md:ml-1', 'md:ml-2', 'md:ml-3', 'md:ml-4', 'md:ml-5', 'md:ml-6', 'md:ml-7', 'md:ml-8', 'md:ml-9', 'md:ml-10', 'md:ml-11', 'md:ml-12',
281
+ 'md:mt-1', 'md:mt-2', 'md:mt-3', 'md:mt-4', 'md:mt-5', 'md:mt-6', 'md:mt-7', 'md:mt-8', 'md:mt-9', 'md:mt-10', 'md:mt-11', 'md:mt-12',
282
+ 'md:mr-1', 'md:mr-2', 'md:mr-3', 'md:mr-4', 'md:mr-5', 'md:mr-6', 'md:mr-7', 'md:mr-8', 'md:mr-9', 'md:mr-10', 'md:mr-11', 'md:mr-12',
283
+ 'md:mb-1', 'md:mb-2', 'md:mb-3', 'md:mb-4', 'md:mb-5', 'md:mb-6', 'md:mb-7', 'md:mb-8', 'md:mb-9', 'md:mb-10', 'md:mb-11', 'md:mb-12',
282
284
  'md:mx-auto',
283
285
 
284
286
  'md:w-1', 'md:w-2', 'md:w-3', 'md:w-4', 'md:w-5', 'md:w-6', 'md:w-8', 'md:w-10', 'md:w-12', 'md:w-16',