@iankibetsh/shframework 5.9.1 → 5.9.2
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/README.md +1 -0
- package/dist/dist/library.mjs.css +37 -37
- package/dist/library.js +3 -2
- package/dist/library.mjs +3 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,6 +66,7 @@ The flagship component for generating complex forms from simple configurations.
|
|
|
66
66
|
- **Auto-Detection**: Infers input types from field names (email, phone, date, etc.).
|
|
67
67
|
- **Multi-Step Support**: Break long forms into logical steps with progress indicators.
|
|
68
68
|
- **Validation**: Seamlessly handles and displays Laravel validation errors (422).
|
|
69
|
+
- **Conditional Visibility**: Hide the submit button using `:hide-submit-button="true"`.
|
|
69
70
|
- **Modern Reactivity**: Built using Vue 3.4's `defineModel` for clean, conflict-free two-way binding.
|
|
70
71
|
|
|
71
72
|
```html
|
|
@@ -1,36 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
.sh-phone{
|
|
3
|
-
display: flex;
|
|
4
|
-
width: 100%;
|
|
5
|
-
align-items: center;
|
|
6
|
-
padding: 0 0.25rem;
|
|
7
|
-
}
|
|
8
|
-
.phone-country{
|
|
9
|
-
width: 2rem;
|
|
10
|
-
border: none;
|
|
11
|
-
align-self: center;
|
|
12
|
-
outline: none !important;
|
|
13
|
-
padding: 0.4rem;
|
|
14
|
-
border-right: 1px solid #0003;
|
|
15
|
-
}
|
|
16
|
-
.phone-number{
|
|
17
|
-
width: calc(100% - 2.2rem);
|
|
18
|
-
border: none;
|
|
19
|
-
align-self: center;
|
|
20
|
-
outline: none;
|
|
21
|
-
margin-bottom: 0;
|
|
22
|
-
padding: 0.4rem;
|
|
23
|
-
}
|
|
24
|
-
.sh-phone img{
|
|
25
|
-
padding: 0.125rem;
|
|
26
|
-
width: 2rem;
|
|
27
|
-
height: 2rem;
|
|
28
|
-
}
|
|
29
|
-
.phone-number::placeholder{
|
|
30
|
-
font-weight: 300;
|
|
31
|
-
opacity: 0.5;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
2
|
/* Step Container */
|
|
35
3
|
.sh-form-steps-container {
|
|
36
4
|
margin-bottom: 2.5rem;
|
|
@@ -368,6 +336,38 @@
|
|
|
368
336
|
flex-grow: 1;
|
|
369
337
|
}
|
|
370
338
|
|
|
339
|
+
.sh-phone{
|
|
340
|
+
display: flex;
|
|
341
|
+
width: 100%;
|
|
342
|
+
align-items: center;
|
|
343
|
+
padding: 0 0.25rem;
|
|
344
|
+
}
|
|
345
|
+
.phone-country{
|
|
346
|
+
width: 2rem;
|
|
347
|
+
border: none;
|
|
348
|
+
align-self: center;
|
|
349
|
+
outline: none !important;
|
|
350
|
+
padding: 0.4rem;
|
|
351
|
+
border-right: 1px solid #0003;
|
|
352
|
+
}
|
|
353
|
+
.phone-number{
|
|
354
|
+
width: calc(100% - 2.2rem);
|
|
355
|
+
border: none;
|
|
356
|
+
align-self: center;
|
|
357
|
+
outline: none;
|
|
358
|
+
margin-bottom: 0;
|
|
359
|
+
padding: 0.4rem;
|
|
360
|
+
}
|
|
361
|
+
.sh-phone img{
|
|
362
|
+
padding: 0.125rem;
|
|
363
|
+
width: 2rem;
|
|
364
|
+
height: 2rem;
|
|
365
|
+
}
|
|
366
|
+
.phone-number::placeholder{
|
|
367
|
+
font-weight: 300;
|
|
368
|
+
opacity: 0.5;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
371
|
.sh-selected-item{
|
|
372
372
|
line-height: unset!important;
|
|
373
373
|
}
|
|
@@ -384,11 +384,6 @@
|
|
|
384
384
|
margin-right: 0.255em;
|
|
385
385
|
}
|
|
386
386
|
|
|
387
|
-
.sh-checkbox-group {
|
|
388
|
-
display: flex;
|
|
389
|
-
flex-wrap: wrap;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
387
|
.callout{
|
|
393
388
|
--bs-link-color-rgb: 110,168,254;
|
|
394
389
|
--bs-code-color: #e685b5;
|
|
@@ -405,6 +400,11 @@
|
|
|
405
400
|
--bd-callout-border: var(--bs-info-border-subtle);
|
|
406
401
|
}
|
|
407
402
|
|
|
403
|
+
.sh-checkbox-group {
|
|
404
|
+
display: flex;
|
|
405
|
+
flex-wrap: wrap;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
408
|
.sh-forgot-link, .sh-register-link{
|
|
409
409
|
cursor: pointer;
|
|
410
410
|
}
|
package/dist/library.js
CHANGED
|
@@ -3727,7 +3727,7 @@ var script$q = {
|
|
|
3727
3727
|
type: Array,
|
|
3728
3728
|
required: false
|
|
3729
3729
|
},
|
|
3730
|
-
|
|
3730
|
+
hideSubmitButton: {
|
|
3731
3731
|
type: Boolean,
|
|
3732
3732
|
default: false
|
|
3733
3733
|
}
|
|
@@ -4275,7 +4275,7 @@ return (_ctx, _cache) => {
|
|
|
4275
4275
|
], 10 /* CLASS, PROPS */, _hoisted_21$1)
|
|
4276
4276
|
], 2 /* CLASS */))
|
|
4277
4277
|
: vue.createCommentVNode("v-if", true),
|
|
4278
|
-
(isLastStep.value && !__props.
|
|
4278
|
+
(isLastStep.value && !__props.hideSubmitButton)
|
|
4279
4279
|
? (vue.openBlock(), vue.createElementBlock("div", {
|
|
4280
4280
|
key: 2,
|
|
4281
4281
|
class: vue.normalizeClass(getElementClass('formGroup') + ' ms-auto')
|
|
@@ -4555,6 +4555,7 @@ const cleanedProp = vue.computed(()=>{
|
|
|
4555
4555
|
const p = {...props};
|
|
4556
4556
|
delete p.class;
|
|
4557
4557
|
delete p.modalId;
|
|
4558
|
+
delete p.hideButton;
|
|
4558
4559
|
return p
|
|
4559
4560
|
});
|
|
4560
4561
|
|
package/dist/library.mjs
CHANGED
|
@@ -3716,7 +3716,7 @@ var script$q = {
|
|
|
3716
3716
|
type: Array,
|
|
3717
3717
|
required: false
|
|
3718
3718
|
},
|
|
3719
|
-
|
|
3719
|
+
hideSubmitButton: {
|
|
3720
3720
|
type: Boolean,
|
|
3721
3721
|
default: false
|
|
3722
3722
|
}
|
|
@@ -4264,7 +4264,7 @@ return (_ctx, _cache) => {
|
|
|
4264
4264
|
], 10 /* CLASS, PROPS */, _hoisted_21$1)
|
|
4265
4265
|
], 2 /* CLASS */))
|
|
4266
4266
|
: createCommentVNode("v-if", true),
|
|
4267
|
-
(isLastStep.value && !__props.
|
|
4267
|
+
(isLastStep.value && !__props.hideSubmitButton)
|
|
4268
4268
|
? (openBlock(), createElementBlock("div", {
|
|
4269
4269
|
key: 2,
|
|
4270
4270
|
class: normalizeClass(getElementClass('formGroup') + ' ms-auto')
|
|
@@ -4544,6 +4544,7 @@ const cleanedProp = computed(()=>{
|
|
|
4544
4544
|
const p = {...props};
|
|
4545
4545
|
delete p.class;
|
|
4546
4546
|
delete p.modalId;
|
|
4547
|
+
delete p.hideButton;
|
|
4547
4548
|
return p
|
|
4548
4549
|
});
|
|
4549
4550
|
|