@bagelink/vue 1.2.45 → 1.2.50
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/dist/components/AddressSearch.vue.d.ts.map +1 -1
- package/dist/components/Dropdown.vue.d.ts.map +1 -1
- package/dist/components/ListItem.vue.d.ts +3 -0
- package/dist/components/ListItem.vue.d.ts.map +1 -1
- package/dist/components/form/FieldArray.vue.d.ts +29 -21
- package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/ToggleInput.vue.d.ts +1 -1
- package/dist/components/form/inputs/ToggleInput.vue.d.ts.map +1 -1
- package/dist/index.cjs +84 -67
- package/dist/index.mjs +84 -67
- package/dist/style.css +45 -44
- package/dist/types/BagelForm.d.ts +3 -3
- package/dist/types/BagelForm.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/ListItem.vue +24 -7
- package/src/components/Modal.vue +1 -1
- package/src/components/calendar/views/WeekView.vue +5 -5
- package/src/components/form/FieldArray.vue +31 -24
- package/src/components/form/inputs/DateInput.vue +0 -11
- package/src/components/form/inputs/ToggleInput.vue +1 -1
- package/src/styles/appearance.css +12 -0
- package/src/styles/modal.css +4 -4
- package/src/types/BagelForm.ts +4 -3
package/dist/style.css
CHANGED
|
@@ -601,61 +601,61 @@ to {
|
|
|
601
601
|
}
|
|
602
602
|
}
|
|
603
603
|
|
|
604
|
-
.weekGrid[data-v-
|
|
604
|
+
.weekGrid[data-v-2d5bca17] {
|
|
605
605
|
display: grid;
|
|
606
606
|
grid-template-columns: 5rem repeat(7, 1fr);
|
|
607
607
|
}
|
|
608
|
-
.days-column[data-v-
|
|
608
|
+
.days-column[data-v-2d5bca17] {
|
|
609
609
|
flex-grow: 1;
|
|
610
610
|
display: flex;
|
|
611
611
|
}
|
|
612
|
-
.day-column[data-v-
|
|
612
|
+
.day-column[data-v-2d5bca17] {
|
|
613
613
|
flex: 1;
|
|
614
614
|
position: relative; /* Ensure absolute positioning works properly */
|
|
615
615
|
min-height: 100%; /* Ensure column fills the full height */
|
|
616
616
|
}
|
|
617
617
|
|
|
618
618
|
/* Add consistent styling for the time slots */
|
|
619
|
-
.txt-light[data-v-
|
|
619
|
+
.txt-light[data-v-2d5bca17] {
|
|
620
620
|
padding: 0.5rem 0;
|
|
621
621
|
box-sizing: border-box;
|
|
622
622
|
display: flex;
|
|
623
623
|
align-items: flex-start;
|
|
624
624
|
justify-content: center;
|
|
625
625
|
}
|
|
626
|
-
.event[data-v-
|
|
626
|
+
.event[data-v-2d5bca17] {
|
|
627
627
|
margin-right: 2px;
|
|
628
628
|
box-sizing: border-box;
|
|
629
629
|
}
|
|
630
|
-
.event[data-v-
|
|
630
|
+
.event[data-v-2d5bca17]:hover {
|
|
631
631
|
z-index: 2;
|
|
632
632
|
}
|
|
633
|
-
.drag-preview[data-v-
|
|
633
|
+
.drag-preview[data-v-2d5bca17] {
|
|
634
634
|
border: 1px solid var(--bgl-primary);
|
|
635
635
|
background-color: rgba(var(--bgl-primary-rgb), 0.1);
|
|
636
636
|
box-sizing: border-box; /* Ensure consistent sizing */
|
|
637
637
|
}
|
|
638
|
-
.current-time-line[data-v-
|
|
638
|
+
.current-time-line[data-v-2d5bca17] {
|
|
639
639
|
height: 2px;
|
|
640
640
|
background-color: var(--bgl-primary);
|
|
641
641
|
}
|
|
642
|
-
.current-time-dot[data-v-
|
|
642
|
+
.current-time-dot[data-v-2d5bca17] {
|
|
643
643
|
background-color: var(--bgl-primary);
|
|
644
644
|
margin-right: -5px; /* Adjust dot position */
|
|
645
645
|
}
|
|
646
646
|
|
|
647
647
|
/* This ensures all grid content aligns properly */
|
|
648
|
-
.overflow[data-v-
|
|
648
|
+
.overflow[data-v-2d5bca17] {
|
|
649
649
|
position: relative;
|
|
650
650
|
}
|
|
651
651
|
|
|
652
652
|
/* Time column headers should be aligned with their content */
|
|
653
|
-
.day-header[data-v-
|
|
654
|
-
box-sizing: border-box;
|
|
653
|
+
.day-header[data-v-2d5bca17] {
|
|
654
|
+
/* box-sizing: border-box;
|
|
655
655
|
height: 100%;
|
|
656
656
|
display: flex;
|
|
657
657
|
flex-direction: column;
|
|
658
|
-
justify-content: center;
|
|
658
|
+
justify-content: center; */
|
|
659
659
|
}
|
|
660
660
|
|
|
661
661
|
.calendar[data-v-840b6594] {
|
|
@@ -1486,17 +1486,6 @@ pre code.hljs{
|
|
|
1486
1486
|
.date-picker-container {
|
|
1487
1487
|
width: 100%;
|
|
1488
1488
|
}
|
|
1489
|
-
.date-picker-container .date-input{
|
|
1490
|
-
--input-bg: transparent;
|
|
1491
|
-
--input-font-size: 12px;
|
|
1492
|
-
opacity: 0.6;
|
|
1493
|
-
--input-height: 20px;
|
|
1494
|
-
width: 75px;
|
|
1495
|
-
}
|
|
1496
|
-
.date-picker-container .txtInputIconStart input{
|
|
1497
|
-
padding: 0 !important;
|
|
1498
|
-
padding-inline-start: 1.25rem !important;
|
|
1499
|
-
}
|
|
1500
1489
|
|
|
1501
1490
|
.fileUploadWrap[data-v-50fd0597] {
|
|
1502
1491
|
outline: 1px solid var(--border-color);
|
|
@@ -2367,18 +2356,18 @@ input[type="range"][data-v-46e22f3e]:active::-webkit-slider-thumb {
|
|
|
2367
2356
|
height: 30px;
|
|
2368
2357
|
}
|
|
2369
2358
|
|
|
2370
|
-
.bagel-input.bgl-toggle[data-v-
|
|
2359
|
+
.bagel-input.bgl-toggle[data-v-c5e45931]{
|
|
2371
2360
|
display: unset !important;
|
|
2372
2361
|
}
|
|
2373
|
-
.bagel-input.bgl-toggle[data-v-
|
|
2362
|
+
.bagel-input.bgl-toggle[data-v-c5e45931] *{
|
|
2374
2363
|
cursor: pointer !important;
|
|
2375
2364
|
}
|
|
2376
|
-
.bagel-input.bgl-toggle input[data-v-
|
|
2365
|
+
.bagel-input.bgl-toggle input[data-v-c5e45931]{
|
|
2377
2366
|
padding: unset !important;
|
|
2378
2367
|
min-width: unset !important;
|
|
2379
2368
|
margin: 0 !important;
|
|
2380
2369
|
}
|
|
2381
|
-
.bgl-toggle input[data-v-
|
|
2370
|
+
.bgl-toggle input[data-v-c5e45931] {
|
|
2382
2371
|
appearance: none;
|
|
2383
2372
|
position: relative;
|
|
2384
2373
|
display: inline-block;
|
|
@@ -2391,7 +2380,7 @@ input[type="range"][data-v-46e22f3e]:active::-webkit-slider-thumb {
|
|
|
2391
2380
|
transition: 0.25s linear all;
|
|
2392
2381
|
outline: 1px solid var(--border-color);
|
|
2393
2382
|
}
|
|
2394
|
-
.bgl-toggle input[data-v-
|
|
2383
|
+
.bgl-toggle input[data-v-c5e45931]::before {
|
|
2395
2384
|
position: absolute;
|
|
2396
2385
|
content: "";
|
|
2397
2386
|
height: calc(var(--input-height) / 2 - 2px);
|
|
@@ -2404,7 +2393,7 @@ input[type="range"][data-v-46e22f3e]:active::-webkit-slider-thumb {
|
|
|
2404
2393
|
transition: 0.2s;
|
|
2405
2394
|
box-shadow:0 1px 5px 0 rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
|
|
2406
2395
|
}
|
|
2407
|
-
.bgl-toggle label[data-v-
|
|
2396
|
+
.bgl-toggle label[data-v-c5e45931] {
|
|
2408
2397
|
padding-inline-start: 0.5rem;
|
|
2409
2398
|
transition: var(--bgl-transition);
|
|
2410
2399
|
cursor: pointer;
|
|
@@ -2413,30 +2402,30 @@ input[type="range"][data-v-46e22f3e]:active::-webkit-slider-thumb {
|
|
|
2413
2402
|
font-size: var(--input-font-size);
|
|
2414
2403
|
vertical-align: middle;
|
|
2415
2404
|
}
|
|
2416
|
-
.bgl-toggle label[data-v-
|
|
2405
|
+
.bgl-toggle label[data-v-c5e45931]:hover {
|
|
2417
2406
|
filter: brightness(90%);
|
|
2418
2407
|
}
|
|
2419
|
-
.bgl-toggle label[data-v-
|
|
2408
|
+
.bgl-toggle label[data-v-c5e45931]:active {
|
|
2420
2409
|
filter: var(--bgl-active-filter);
|
|
2421
2410
|
}
|
|
2422
|
-
.bgl-toggle input[data-v-
|
|
2411
|
+
.bgl-toggle input[data-v-c5e45931]:focus-visible {
|
|
2423
2412
|
outline: -webkit-focus-ring-color auto 1px;
|
|
2424
2413
|
outline-offset: 2px
|
|
2425
2414
|
}
|
|
2426
|
-
.bgl-toggle input[data-v-
|
|
2415
|
+
.bgl-toggle input[data-v-c5e45931]:focus {
|
|
2427
2416
|
outline-color: transparent;
|
|
2428
2417
|
}
|
|
2429
|
-
.bgl-toggle input[data-v-
|
|
2418
|
+
.bgl-toggle input[data-v-c5e45931]:focus-visible {
|
|
2430
2419
|
outline: -webkit-focus-ring-color auto 1px;
|
|
2431
2420
|
outline-offset: 2px
|
|
2432
2421
|
}
|
|
2433
|
-
.bgl-toggle[data-v-
|
|
2422
|
+
.bgl-toggle[data-v-c5e45931] :checked{
|
|
2434
2423
|
background: var(--bgl-primary);
|
|
2435
2424
|
}
|
|
2436
|
-
.bgl-toggle[data-v-
|
|
2425
|
+
.bgl-toggle[data-v-c5e45931] :checked::before{
|
|
2437
2426
|
margin-inline-start:calc(var(--input-height) / 2 - 2px) ;
|
|
2438
2427
|
}
|
|
2439
|
-
.bgl-toggle input:checked + label[data-v-
|
|
2428
|
+
.bgl-toggle input:checked + label[data-v-c5e45931] {
|
|
2440
2429
|
color: var(--bgl-primary) !important;
|
|
2441
2430
|
}
|
|
2442
2431
|
.fileUploadWrap[data-v-d8f3ff01] {
|
|
@@ -2904,7 +2893,6 @@ button.list-item {
|
|
|
2904
2893
|
pointer-events: none;
|
|
2905
2894
|
}
|
|
2906
2895
|
.list-item {
|
|
2907
|
-
padding: 0.6rem 1rem;
|
|
2908
2896
|
min-height: -webkit-fit-content;
|
|
2909
2897
|
min-height: -moz-fit-content;
|
|
2910
2898
|
min-height: fit-content;
|
|
@@ -2915,6 +2903,9 @@ button.list-item {
|
|
|
2915
2903
|
text-decoration: none;
|
|
2916
2904
|
position: relative;
|
|
2917
2905
|
}
|
|
2906
|
+
.list-item > *{
|
|
2907
|
+
margiin-bottom: 0;
|
|
2908
|
+
}
|
|
2918
2909
|
.list-item::after {
|
|
2919
2910
|
content: '';
|
|
2920
2911
|
position: absolute;
|
|
@@ -2933,7 +2924,7 @@ button.list-item {
|
|
|
2933
2924
|
}
|
|
2934
2925
|
.list-item:hover,
|
|
2935
2926
|
.list-item.router-link-active {
|
|
2936
|
-
background-color: var(--bgl-primary-
|
|
2927
|
+
background-color: var(--bgl-primary-tint);
|
|
2937
2928
|
}
|
|
2938
2929
|
.notClickable:hover{
|
|
2939
2930
|
background-color:unset;
|
|
@@ -3796,7 +3787,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
3796
3787
|
.leaflet-marker-icon {
|
|
3797
3788
|
cursor: pointer;
|
|
3798
3789
|
}
|
|
3799
|
-
.bg-dark {
|
|
3790
|
+
.bg-dark-modal {
|
|
3800
3791
|
position: fixed;
|
|
3801
3792
|
top: 0;
|
|
3802
3793
|
right: 0;
|
|
@@ -3903,16 +3894,16 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
3903
3894
|
transform: translateX(0%);
|
|
3904
3895
|
}
|
|
3905
3896
|
|
|
3906
|
-
.bg-dark.is-active {
|
|
3897
|
+
.bg-dark-modal.is-active {
|
|
3907
3898
|
opacity: 1;
|
|
3908
3899
|
pointer-events: all;
|
|
3909
3900
|
}
|
|
3910
3901
|
|
|
3911
|
-
body:has(.bg-dark.is-active) {
|
|
3902
|
+
body:has(.bg-dark-modal.is-active) {
|
|
3912
3903
|
overflow: hidden;
|
|
3913
3904
|
}
|
|
3914
3905
|
|
|
3915
|
-
.is-side.bg-dark.is-active {
|
|
3906
|
+
.is-side.bg-dark-modal.is-active {
|
|
3916
3907
|
opacity: 1;
|
|
3917
3908
|
align-items: stretch;
|
|
3918
3909
|
}
|
|
@@ -16490,6 +16481,8 @@ select {
|
|
|
16490
16481
|
color: var(--bgl-blue-light) !important;
|
|
16491
16482
|
}.bg-bg {
|
|
16492
16483
|
background: var(--bgl-bg) !important;
|
|
16484
|
+
}.bg-dark {
|
|
16485
|
+
background: var(--bgl-dark-bg);
|
|
16493
16486
|
}.color-bg {
|
|
16494
16487
|
color: var(--bgl-bg) !important;
|
|
16495
16488
|
}.bg-input {
|
|
@@ -17028,6 +17021,14 @@ select {
|
|
|
17028
17021
|
background: var(--label-color) !important;
|
|
17029
17022
|
}
|
|
17030
17023
|
|
|
17024
|
+
.m_bg-bg {
|
|
17025
|
+
background: var(--bgl-bg) !important;
|
|
17026
|
+
}
|
|
17027
|
+
|
|
17028
|
+
.m_bg-dark {
|
|
17029
|
+
background: var(--bgl-dark-bg);
|
|
17030
|
+
}
|
|
17031
|
+
|
|
17031
17032
|
.m_bg-gray-light {
|
|
17032
17033
|
background: var(--bgl-gray-light) !important;
|
|
17033
17034
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { SelectInput, TextInput } from '..';
|
|
2
|
-
import { Paths, Get, IterableElement } from 'type-fest';
|
|
3
|
-
import { ToString } from 'type-fest/source/internal';
|
|
4
|
-
import { LiteralStringUnion } from 'type-fest/source/literal-union';
|
|
2
|
+
import { Paths, Get, IterableElement, LiteralUnion } from 'type-fest';
|
|
5
3
|
import { VNode } from 'vue';
|
|
6
4
|
import { ComponentExposed } from 'vue-component-type-helpers';
|
|
5
|
+
export type ToString<T> = T extends string | number ? `${T}` : never;
|
|
6
|
+
export type LiteralStringUnion<T> = LiteralUnion<T, string>;
|
|
7
7
|
export type AttributeValue = string | number | boolean | undefined | {
|
|
8
8
|
[key: string]: any;
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bagelink/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.50",
|
|
5
5
|
"description": "Bagel core sdk packages",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Neveh Allon",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"date-fns": "^4.1.0",
|
|
84
|
-
"@vueuse/core": "^13.
|
|
84
|
+
"@vueuse/core": "^13.1.0",
|
|
85
85
|
"axios": "^1.8.4",
|
|
86
86
|
"floating-vue": "^5.2.2",
|
|
87
87
|
"libphonenumber-js": "1.12.6",
|
|
@@ -15,6 +15,8 @@ const props = defineProps<{
|
|
|
15
15
|
lead?: string
|
|
16
16
|
iconEnd?: IconType
|
|
17
17
|
target?: '_blank' | '_self'
|
|
18
|
+
thin?: boolean
|
|
19
|
+
fullWidth?: boolean
|
|
18
20
|
onClick?: () => void
|
|
19
21
|
}>()
|
|
20
22
|
|
|
@@ -25,6 +27,10 @@ const isComponent = $computed(() => {
|
|
|
25
27
|
return 'div'
|
|
26
28
|
})
|
|
27
29
|
|
|
30
|
+
const isClickable = $computed(() => {
|
|
31
|
+
return props.to || props.href || props.onClick
|
|
32
|
+
})
|
|
33
|
+
|
|
28
34
|
const bind = $computed(() => {
|
|
29
35
|
const obj: { [key: string]: any } = {}
|
|
30
36
|
if (props.to) obj.to = props.to
|
|
@@ -44,27 +50,36 @@ const bind = $computed(() => {
|
|
|
44
50
|
<component
|
|
45
51
|
:is="isComponent"
|
|
46
52
|
v-bind="bind"
|
|
53
|
+
v-ripple="isClickable"
|
|
47
54
|
class="flex gap-05 list-item"
|
|
55
|
+
:class="{ 'py-1': !props.thin,
|
|
56
|
+
'py-05': props.thin,
|
|
57
|
+
'px-1': !props.fullWidth,
|
|
58
|
+
'px-0': props.fullWidth,
|
|
59
|
+
}"
|
|
48
60
|
@click="onClick"
|
|
49
61
|
>
|
|
50
62
|
<Avatar v-if="src || showAvatar" style="flex-basis: 1;" :name="title" :src="src" :size="40" />
|
|
51
63
|
<Icon v-if="icon" size="1.2" class="color-primary" :icon="icon" />
|
|
52
64
|
|
|
53
|
-
<div>
|
|
54
|
-
<p v-if="lead" class="txt10
|
|
65
|
+
<div class="txt-start">
|
|
66
|
+
<p v-if="lead" class="txt10 m-0 p-0 txt-gray ellipsis">
|
|
55
67
|
{{ lead }}
|
|
56
68
|
<slot name="lead" />
|
|
57
69
|
</p>
|
|
58
|
-
<p class="
|
|
70
|
+
<p class="m-0 p-0 ellipsis-1 line-height-14 pb-025">
|
|
59
71
|
{{ title }}
|
|
60
72
|
<slot />
|
|
61
73
|
</p>
|
|
62
|
-
<p v-if="subtitle" class="txt12
|
|
74
|
+
<p v-if="subtitle" class="txt12 m-0 p-0 opacity-7 ellipsis-1">
|
|
63
75
|
{{ subtitle }}
|
|
64
76
|
<slot name="subtitle" />
|
|
65
77
|
</p>
|
|
66
78
|
</div>
|
|
67
|
-
<
|
|
79
|
+
<div class="flex-grow-1" />
|
|
80
|
+
<slot name="action">
|
|
81
|
+
<Icon v-if="iconEnd" :icon="iconEnd" class="transition-400" />
|
|
82
|
+
</slot>
|
|
68
83
|
</component>
|
|
69
84
|
</template>
|
|
70
85
|
|
|
@@ -83,7 +98,6 @@ button.list-item {
|
|
|
83
98
|
pointer-events: none;
|
|
84
99
|
}
|
|
85
100
|
.list-item {
|
|
86
|
-
padding: 0.6rem 1rem;
|
|
87
101
|
min-height: -webkit-fit-content;
|
|
88
102
|
min-height: -moz-fit-content;
|
|
89
103
|
min-height: fit-content;
|
|
@@ -94,6 +108,9 @@ button.list-item {
|
|
|
94
108
|
text-decoration: none;
|
|
95
109
|
position: relative;
|
|
96
110
|
}
|
|
111
|
+
.list-item > *{
|
|
112
|
+
margiin-bottom: 0;
|
|
113
|
+
}
|
|
97
114
|
|
|
98
115
|
.list-item::after {
|
|
99
116
|
content: '';
|
|
@@ -114,7 +131,7 @@ button.list-item {
|
|
|
114
131
|
|
|
115
132
|
.list-item:hover,
|
|
116
133
|
.list-item.router-link-active {
|
|
117
|
-
background-color: var(--bgl-primary-
|
|
134
|
+
background-color: var(--bgl-primary-tint);
|
|
118
135
|
}
|
|
119
136
|
.notClickable:hover{
|
|
120
137
|
background-color:unset;
|
package/src/components/Modal.vue
CHANGED
|
@@ -136,7 +136,7 @@ const processedEvents = computed(() => {
|
|
|
136
136
|
// Adjust overlapping events
|
|
137
137
|
Object.values(overlappingGroups).forEach((group) => {
|
|
138
138
|
if (group.length > 1) {
|
|
139
|
-
const groupWidth =
|
|
139
|
+
const groupWidth = 100 / group.length
|
|
140
140
|
group.forEach((event, index) => {
|
|
141
141
|
event.overlappingEvents = group.length
|
|
142
142
|
event.position = index
|
|
@@ -414,7 +414,7 @@ onUnmounted(() => {
|
|
|
414
414
|
:key="event.id"
|
|
415
415
|
>
|
|
416
416
|
<div
|
|
417
|
-
class="event absolute radius-05 overflow-hidden pointer transition z-1"
|
|
417
|
+
class="event absolute radius-05 overflow-hidden pointer transition z-1 opacity-8 border"
|
|
418
418
|
:style="{
|
|
419
419
|
top: `${event.top}px`,
|
|
420
420
|
height: `${event.height}px`,
|
|
@@ -429,7 +429,7 @@ onUnmounted(() => {
|
|
|
429
429
|
<div class="white-space ellipsis-1">
|
|
430
430
|
{{ event.title }}
|
|
431
431
|
</div>
|
|
432
|
-
<div class="txt10 opacity-8">
|
|
432
|
+
<div class="txt10 opacity-8 user-select-none">
|
|
433
433
|
{{ formatDate(event.start_time, { fmt: 'HH:mm' }) }} - {{ formatDate(event.end_time, { fmt: 'HH:mm' }) }}
|
|
434
434
|
</div>
|
|
435
435
|
</div>
|
|
@@ -516,10 +516,10 @@ onUnmounted(() => {
|
|
|
516
516
|
|
|
517
517
|
/* Time column headers should be aligned with their content */
|
|
518
518
|
.day-header {
|
|
519
|
-
box-sizing: border-box;
|
|
519
|
+
/* box-sizing: border-box;
|
|
520
520
|
height: 100%;
|
|
521
521
|
display: flex;
|
|
522
522
|
flex-direction: column;
|
|
523
|
-
justify-content: center;
|
|
523
|
+
justify-content: center; */
|
|
524
524
|
}
|
|
525
525
|
</style>
|
|
@@ -4,6 +4,7 @@ import type {
|
|
|
4
4
|
AttributeValue,
|
|
5
5
|
Attributes,
|
|
6
6
|
BagelFieldOptions,
|
|
7
|
+
BaseBagelField,
|
|
7
8
|
BglFormSchemaFnT,
|
|
8
9
|
Field,
|
|
9
10
|
Path
|
|
@@ -11,27 +12,33 @@ import type {
|
|
|
11
12
|
import { BagelForm, Btn, Loading, Icon } from '@bagelink/vue'
|
|
12
13
|
import { ref, onMounted, computed, watch } from 'vue'
|
|
13
14
|
|
|
15
|
+
export interface FieldArrayProps<T, P extends Path<T>> {
|
|
16
|
+
el?: any
|
|
17
|
+
id: string
|
|
18
|
+
label?: string
|
|
19
|
+
placeholder?: string
|
|
20
|
+
children?: Field<T>[]
|
|
21
|
+
class?: AttributeValue | AttributeFn<T, P>
|
|
22
|
+
attrs?: Attributes<T, P>
|
|
23
|
+
required?: boolean
|
|
24
|
+
disabled?: boolean
|
|
25
|
+
helptext?: string
|
|
26
|
+
options?: BagelFieldOptions<T>
|
|
27
|
+
defaultValue?: any
|
|
28
|
+
add?: boolean
|
|
29
|
+
delete?: boolean
|
|
30
|
+
transform?: (value: T) => T
|
|
31
|
+
schema?: BglFormSchemaFnT<T>
|
|
32
|
+
modelValue: T[]
|
|
33
|
+
type?: 'object' | 'number' | 'text'
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface PrimitiveArrFieldT extends BaseBagelField<{ value: string }, 'value'> {
|
|
37
|
+
type: FieldArrayProps<{ value: string }, 'value'>['type']
|
|
38
|
+
}
|
|
39
|
+
|
|
14
40
|
const props = withDefaults(
|
|
15
|
-
defineProps<
|
|
16
|
-
el?: any
|
|
17
|
-
id: string
|
|
18
|
-
label?: string
|
|
19
|
-
placeholder?: string
|
|
20
|
-
children?: Field<T>[]
|
|
21
|
-
class?: AttributeValue | AttributeFn<T, P>
|
|
22
|
-
attrs?: Attributes<T, P>
|
|
23
|
-
required?: boolean
|
|
24
|
-
disabled?: boolean
|
|
25
|
-
helptext?: string
|
|
26
|
-
options?: BagelFieldOptions<T>
|
|
27
|
-
defaultValue?: any
|
|
28
|
-
add?: boolean
|
|
29
|
-
delete?: boolean
|
|
30
|
-
transform?: (value: T) => T
|
|
31
|
-
schema?: BglFormSchemaFnT<T>
|
|
32
|
-
modelValue: T[]
|
|
33
|
-
type?: 'object' | 'number' | 'text'
|
|
34
|
-
}>(),
|
|
41
|
+
defineProps<FieldArrayProps<T, P>>(),
|
|
35
42
|
{
|
|
36
43
|
delete: true,
|
|
37
44
|
add: true,
|
|
@@ -54,18 +61,18 @@ watch(() => props.modelValue, (newValue) => {
|
|
|
54
61
|
}, { deep: true })
|
|
55
62
|
|
|
56
63
|
// Generate schema for primitive types
|
|
57
|
-
const primitiveSchema = computed(() => {
|
|
64
|
+
const primitiveSchema = computed<PrimitiveArrFieldT[]>(() => {
|
|
58
65
|
if (props.type === 'text') {
|
|
59
|
-
return [{ id: 'value', type: 'text', label: '' }]
|
|
66
|
+
return [{ id: 'value', type: 'text', label: '', $el: 'text' }]
|
|
60
67
|
} else if (props.type === 'number') {
|
|
61
|
-
return [{ id: 'value', type: 'number', label: '' }]
|
|
68
|
+
return [{ id: 'value', type: 'number', label: '', $el: 'number' }]
|
|
62
69
|
}
|
|
63
70
|
return []
|
|
64
71
|
})
|
|
65
72
|
|
|
66
73
|
// Resolve schema
|
|
67
74
|
async function resolveSchema() {
|
|
68
|
-
// For primitive types, use the predefined
|
|
75
|
+
// For primitive types, use the predefined schemaks
|
|
69
76
|
if (props.type !== 'object') {
|
|
70
77
|
resolvedSchemaData.value = primitiveSchema.value
|
|
71
78
|
schemaState.value = 'loaded'
|
|
@@ -200,15 +200,4 @@ onMounted(() => {
|
|
|
200
200
|
.date-picker-container {
|
|
201
201
|
width: 100%;
|
|
202
202
|
}
|
|
203
|
-
.date-picker-container .date-input{
|
|
204
|
-
--input-bg: transparent;
|
|
205
|
-
--input-font-size: 12px;
|
|
206
|
-
opacity: 0.6;
|
|
207
|
-
--input-height: 20px;
|
|
208
|
-
width: 75px;
|
|
209
|
-
}
|
|
210
|
-
.date-picker-container .txtInputIconStart input{
|
|
211
|
-
padding: 0 !important;
|
|
212
|
-
padding-inline-start: 1.25rem !important;
|
|
213
|
-
}
|
|
214
203
|
</style>
|
|
@@ -173,6 +173,10 @@
|
|
|
173
173
|
background: var(--bgl-bg) !important;
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
+
.bg-dark {
|
|
177
|
+
background: var(--bgl-dark-bg);
|
|
178
|
+
}
|
|
179
|
+
|
|
176
180
|
.color-bg {
|
|
177
181
|
color: var(--bgl-bg) !important;
|
|
178
182
|
}
|
|
@@ -1015,6 +1019,14 @@
|
|
|
1015
1019
|
background: var(--label-color) !important;
|
|
1016
1020
|
}
|
|
1017
1021
|
|
|
1022
|
+
.m_bg-bg {
|
|
1023
|
+
background: var(--bgl-bg) !important;
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
.m_bg-dark {
|
|
1027
|
+
background: var(--bgl-dark-bg);
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1018
1030
|
.m_bg-gray-light {
|
|
1019
1031
|
background: var(--bgl-gray-light) !important;
|
|
1020
1032
|
}
|
package/src/styles/modal.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.bg-dark {
|
|
1
|
+
.bg-dark-modal {
|
|
2
2
|
position: fixed;
|
|
3
3
|
top: 0;
|
|
4
4
|
right: 0;
|
|
@@ -105,16 +105,16 @@
|
|
|
105
105
|
transform: translateX(0%);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
.bg-dark.is-active {
|
|
108
|
+
.bg-dark-modal.is-active {
|
|
109
109
|
opacity: 1;
|
|
110
110
|
pointer-events: all;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
body:has(.bg-dark.is-active) {
|
|
113
|
+
body:has(.bg-dark-modal.is-active) {
|
|
114
114
|
overflow: hidden;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
.is-side.bg-dark.is-active {
|
|
117
|
+
.is-side.bg-dark-modal.is-active {
|
|
118
118
|
opacity: 1;
|
|
119
119
|
align-items: stretch;
|
|
120
120
|
}
|
package/src/types/BagelForm.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { SelectInput, TextInput } from '@bagelink/vue'
|
|
2
|
-
import type { Paths, Get, IterableElement } from 'type-fest'
|
|
3
|
-
import type { ToString } from 'type-fest/source/internal'
|
|
4
|
-
import type { LiteralStringUnion } from 'type-fest/source/literal-union'
|
|
2
|
+
import type { Paths, Get, IterableElement, LiteralUnion } from 'type-fest'
|
|
5
3
|
import type { VNode } from 'vue'
|
|
6
4
|
import type { ComponentExposed } from 'vue-component-type-helpers'
|
|
7
5
|
|
|
6
|
+
export type ToString<T> = T extends string | number ? `${T}` : never
|
|
7
|
+
export type LiteralStringUnion<T> = LiteralUnion<T, string>
|
|
8
|
+
|
|
8
9
|
export type AttributeValue = string | number | boolean | undefined | { [key: string]: any }
|
|
9
10
|
|
|
10
11
|
export type AttributeFn<T, P extends Path<T>> = (
|