@bagelink/vue 1.1.21 → 1.1.27
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 +3 -0
- package/dist/components/AddressSearch.vue.d.ts.map +1 -1
- package/dist/components/Carousel.vue.d.ts.map +1 -1
- package/dist/components/Dropdown.vue.d.ts +1 -0
- package/dist/components/Dropdown.vue.d.ts.map +1 -1
- package/dist/components/ListItem.vue.d.ts +6 -0
- package/dist/components/ListItem.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts +6 -0
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/composables/index.d.ts +1 -1
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/useDevice.d.ts +5 -0
- package/dist/composables/useDevice.d.ts.map +1 -0
- package/dist/index.cjs +194 -122
- package/dist/index.mjs +194 -122
- package/dist/style.css +55 -10
- package/dist/utils/BagelFormUtils.d.ts +1 -1
- package/dist/utils/BagelFormUtils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/Carousel.vue +34 -12
- package/src/components/Dropdown.vue +38 -1
- package/src/components/ListItem.vue +48 -5
- package/src/composables/index.ts +1 -2
- package/src/composables/useDevice.ts +24 -0
- package/src/utils/BagelFormUtils.ts +2 -3
package/dist/style.css
CHANGED
|
@@ -899,13 +899,13 @@ display: block;
|
|
|
899
899
|
padding: 0;
|
|
900
900
|
}
|
|
901
901
|
|
|
902
|
-
.BglCarousel[data-v-
|
|
902
|
+
.BglCarousel[data-v-c2b21a75] {
|
|
903
903
|
position: relative;
|
|
904
904
|
width: 100%;
|
|
905
905
|
overflow: hidden;
|
|
906
906
|
touch-action: pan-y pinch-zoom; /* Allow vertical scrolling */
|
|
907
907
|
}
|
|
908
|
-
.bgl-slider[data-v-
|
|
908
|
+
.bgl-slider[data-v-c2b21a75] {
|
|
909
909
|
display: flex;
|
|
910
910
|
position: relative;
|
|
911
911
|
width: 100%;
|
|
@@ -917,26 +917,26 @@ display: block;
|
|
|
917
917
|
-webkit-user-select: none;
|
|
918
918
|
user-select: none;
|
|
919
919
|
}
|
|
920
|
-
.bgl-slider[data-v-
|
|
920
|
+
.bgl-slider[data-v-c2b21a75] > * {
|
|
921
921
|
flex: 0 0 calc((100% - (var(--item-count) - 1) * 1%) / var(--item-count));
|
|
922
922
|
width: calc((100% - (var(--item-count) - 1) * 1%) / var(--item-count));
|
|
923
923
|
min-width: calc((100% - (var(--item-count) - 1) * 1%) / var(--item-count));
|
|
924
924
|
position: relative;
|
|
925
925
|
overflow: hidden;
|
|
926
926
|
}
|
|
927
|
-
.bgl-slider.slides-1[data-v-
|
|
927
|
+
.bgl-slider.slides-1[data-v-c2b21a75] > * {
|
|
928
928
|
flex: 0 0 100%;
|
|
929
929
|
width: 100%;
|
|
930
930
|
min-width: 100%;
|
|
931
931
|
}
|
|
932
|
-
.dragging .bgl-slider[data-v-
|
|
932
|
+
.dragging .bgl-slider[data-v-c2b21a75] > * {
|
|
933
933
|
pointer-events: none;
|
|
934
934
|
user-select: none;
|
|
935
935
|
}
|
|
936
|
-
.autoHeight[data-v-
|
|
936
|
+
.autoHeight[data-v-c2b21a75] {
|
|
937
937
|
transition: height ease 0.7s;
|
|
938
938
|
}
|
|
939
|
-
.dots[data-v-
|
|
939
|
+
.dots[data-v-c2b21a75] {
|
|
940
940
|
display: flex;
|
|
941
941
|
justify-content: center;
|
|
942
942
|
align-items: center;
|
|
@@ -944,7 +944,7 @@ display: block;
|
|
|
944
944
|
margin-top: 1rem;
|
|
945
945
|
gap: 8px;
|
|
946
946
|
}
|
|
947
|
-
.dot[data-v-
|
|
947
|
+
.dot[data-v-c2b21a75] {
|
|
948
948
|
height: 10px;
|
|
949
949
|
width: 10px;
|
|
950
950
|
border-radius: 50%;
|
|
@@ -953,12 +953,22 @@ display: block;
|
|
|
953
953
|
transition: opacity 0.3s ease;
|
|
954
954
|
cursor: pointer;
|
|
955
955
|
}
|
|
956
|
-
.dot[data-v-
|
|
956
|
+
.dot[data-v-c2b21a75]:hover {
|
|
957
957
|
opacity: 0.6;
|
|
958
958
|
}
|
|
959
|
-
.dot.current[data-v-
|
|
959
|
+
.dot.current[data-v-c2b21a75] {
|
|
960
960
|
opacity: 0.8;
|
|
961
961
|
}
|
|
962
|
+
.navigation-buttons[data-v-c2b21a75] {
|
|
963
|
+
display: flex;
|
|
964
|
+
justify-content: center;
|
|
965
|
+
align-items: center;
|
|
966
|
+
gap: 1rem;
|
|
967
|
+
margin-top: 1rem;
|
|
968
|
+
}
|
|
969
|
+
.navigation-buttons.rtl[data-v-c2b21a75] {
|
|
970
|
+
flex-direction: row-reverse;
|
|
971
|
+
}
|
|
962
972
|
|
|
963
973
|
.chart-line {
|
|
964
974
|
width: 100%;
|
|
@@ -1249,6 +1259,29 @@ tbody tr[data-v-6cf42b66]:hover {
|
|
|
1249
1259
|
background: var(--bgl-gray-light);
|
|
1250
1260
|
}
|
|
1251
1261
|
|
|
1262
|
+
.v-popper__popper--no-positioning {
|
|
1263
|
+
position: fixed;
|
|
1264
|
+
z-index: 9999;
|
|
1265
|
+
top: 0;
|
|
1266
|
+
left: 0;
|
|
1267
|
+
width: 100%;
|
|
1268
|
+
height: 100%;
|
|
1269
|
+
display: flex;
|
|
1270
|
+
align-items: flex-end;
|
|
1271
|
+
}
|
|
1272
|
+
.v-popper__popper--no-positioning .v-popper__backdrop {
|
|
1273
|
+
display: block;
|
|
1274
|
+
background: rgba(0 0 0 / 90%);
|
|
1275
|
+
}
|
|
1276
|
+
.v-popper__popper--no-positioning .v-popper__wrapper {
|
|
1277
|
+
width: 100%;
|
|
1278
|
+
pointer-events: auto;
|
|
1279
|
+
transition: transform .15s ease-out;
|
|
1280
|
+
}
|
|
1281
|
+
.v-popper__popper--no-positioning.v-popper__popper--hidden .v-popper__wrapper {
|
|
1282
|
+
transform: translateY(100%);
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1252
1285
|
fieldset[data-v-f7e758e5] {
|
|
1253
1286
|
border: 1px solid var(--border-color);
|
|
1254
1287
|
border-radius: var(--card-border-radius);
|
|
@@ -3061,6 +3094,18 @@ to {
|
|
|
3061
3094
|
}
|
|
3062
3095
|
}
|
|
3063
3096
|
|
|
3097
|
+
button.list-item {
|
|
3098
|
+
cursor: pointer;
|
|
3099
|
+
display: flex;
|
|
3100
|
+
gap: 0.5rem;
|
|
3101
|
+
border: none;
|
|
3102
|
+
background-color: unset;
|
|
3103
|
+
width: 100%;
|
|
3104
|
+
}
|
|
3105
|
+
.list-item:disabled {
|
|
3106
|
+
opacity: 0.5;
|
|
3107
|
+
pointer-events: none;
|
|
3108
|
+
}
|
|
3064
3109
|
.list-item {
|
|
3065
3110
|
padding: 0.6rem 1rem;
|
|
3066
3111
|
min-height: -webkit-fit-content;
|
|
@@ -59,7 +59,7 @@ export declare function dateField<T extends {
|
|
|
59
59
|
export declare function numField<T extends {
|
|
60
60
|
[key: string]: any;
|
|
61
61
|
}>(id: PropertyPath<T>, label?: string, options?: NumFieldOptions): Field<T>;
|
|
62
|
-
export declare function frmRow<T>(...children: Field[]): Field<
|
|
62
|
+
export declare function frmRow<T>(...children: Field[]): Field<T>;
|
|
63
63
|
export type UploadOptions = InputOptions & UploadInputProps;
|
|
64
64
|
export declare function uploadField(id: string, label?: string, options?: UploadOptions): {
|
|
65
65
|
$el: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.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.1.
|
|
4
|
+
"version": "1.1.27",
|
|
5
5
|
"description": "Bagel core sdk packages",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Neveh Allon",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"axios": "^1.8.3",
|
|
86
86
|
"floating-vue": "^5.2.2",
|
|
87
87
|
"libphonenumber-js": "1.12.6",
|
|
88
|
-
"signature_pad": "^5.0.
|
|
88
|
+
"signature_pad": "^5.0.7"
|
|
89
89
|
},
|
|
90
90
|
"scripts": {
|
|
91
91
|
"dev": "tsx watch src/index.ts",
|
|
@@ -148,13 +148,21 @@ function goToSlide(index: number, isTouchNav = false) {
|
|
|
148
148
|
function next() {
|
|
149
149
|
if (!isSliderAvailable) return
|
|
150
150
|
countSlides()
|
|
151
|
-
|
|
151
|
+
// In RTL, next and prev are reversed
|
|
152
|
+
const nextIndex = props.rtl
|
|
153
|
+
? (activeSlideIndex - 1 + slideCount) % slideCount
|
|
154
|
+
: (activeSlideIndex + 1) % slideCount
|
|
155
|
+
goToSlide(nextIndex)
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
function prev() {
|
|
155
159
|
if (!isSliderAvailable) return
|
|
156
160
|
countSlides()
|
|
157
|
-
|
|
161
|
+
// In RTL, next and prev are reversed
|
|
162
|
+
const prevIndex = props.rtl
|
|
163
|
+
? (activeSlideIndex + 1) % slideCount
|
|
164
|
+
: (activeSlideIndex - 1 + slideCount) % slideCount
|
|
165
|
+
goToSlide(prevIndex)
|
|
158
166
|
}
|
|
159
167
|
|
|
160
168
|
// Height management
|
|
@@ -264,7 +272,7 @@ function onDrag(e: MouseEvent) {
|
|
|
264
272
|
|
|
265
273
|
if (Math.abs(distance) > THRESHOLDS.DRAG) isDragging = true
|
|
266
274
|
if (isDragging) {
|
|
267
|
-
const newTranslate = translateX + distance
|
|
275
|
+
const newTranslate = translateX + (props.rtl ? -distance : distance)
|
|
268
276
|
const maxTranslate = 0
|
|
269
277
|
|
|
270
278
|
const containerWidth = bglSlider.offsetWidth
|
|
@@ -294,8 +302,8 @@ function endDrag() {
|
|
|
294
302
|
|
|
295
303
|
let targetPanel = currentPanel
|
|
296
304
|
if (dragPercentage > THRESHOLDS.SWIPE_PERCENT) {
|
|
297
|
-
const
|
|
298
|
-
targetPanel = Math.floor(currentPanel) + (
|
|
305
|
+
const distnace = totalDragDistance > 0 ? -1 : 1
|
|
306
|
+
targetPanel = Math.floor(currentPanel) + (distnace < 0 ? 0 : 1)
|
|
299
307
|
} else {
|
|
300
308
|
targetPanel = Math.round(currentPanel)
|
|
301
309
|
}
|
|
@@ -457,6 +465,7 @@ function onTouchEnd() {
|
|
|
457
465
|
? (totalSwipeDistance > 0 ? -1 : 1)
|
|
458
466
|
: velocityDirection
|
|
459
467
|
|
|
468
|
+
// Apply RTL correction to direction
|
|
460
469
|
const rtlDirection = props.rtl ? -direction : direction
|
|
461
470
|
|
|
462
471
|
if (isMobile) {
|
|
@@ -509,7 +518,8 @@ function onWheel(e: WheelEvent) {
|
|
|
509
518
|
clearAutoplay()
|
|
510
519
|
if (wheelTimeout) clearTimeout(wheelTimeout)
|
|
511
520
|
|
|
512
|
-
|
|
521
|
+
// Reverse the delta direction for RTL mode
|
|
522
|
+
accumulatedDeltaX += props.rtl ? -e.deltaX : e.deltaX
|
|
513
523
|
|
|
514
524
|
wheelTimeout = setTimeout(() => {
|
|
515
525
|
accumulatedDeltaX = 0
|
|
@@ -567,12 +577,12 @@ watch(() => activeSlideIndex, handleSlideChange)
|
|
|
567
577
|
</script>
|
|
568
578
|
|
|
569
579
|
<template>
|
|
570
|
-
<div class="BglCarousel" :
|
|
580
|
+
<div class="BglCarousel" :dir="rtl ? 'rtl' : 'ltr'">
|
|
571
581
|
<div
|
|
572
582
|
ref="bglSlider"
|
|
573
583
|
class="bgl-slider"
|
|
574
|
-
:class="{ dragging: isDragging, clicking: isPressed, [`slides-${itemCount}`]: true, grab: freeDrag && slideCount > 1 }"
|
|
575
|
-
:style="{ '--item-count': itemCount }"
|
|
584
|
+
:class="{ dragging: isDragging, clicking: isPressed, [`slides-${itemCount}`]: true, grab: freeDrag && slideCount > 1, autoHeight }"
|
|
585
|
+
:style="{ '--item-count': itemCount, 'height': yHeight }"
|
|
576
586
|
@mousedown="startDrag"
|
|
577
587
|
@mouseover="clearAutoplay"
|
|
578
588
|
@focusin="clearAutoplay"
|
|
@@ -592,9 +602,9 @@ watch(() => activeSlideIndex, handleSlideChange)
|
|
|
592
602
|
@click="goToSlide(i - 1)"
|
|
593
603
|
/>
|
|
594
604
|
</div>
|
|
595
|
-
<div class="
|
|
596
|
-
<span @click="prev"><slot name="prev" :index="activeSlideIndex" :prev="prev" /></span>
|
|
597
|
-
<span @click="next"><slot name="next" :index="activeSlideIndex" :next="next" /></span>
|
|
605
|
+
<div class="navigation-buttons" :class="{ rtl }">
|
|
606
|
+
<span class="prev" @click="prev"><slot name="prev" :index="activeSlideIndex" :prev="prev" /></span>
|
|
607
|
+
<span class="next" @click="next"><slot name="next" :index="activeSlideIndex" :next="next" /></span>
|
|
598
608
|
</div>
|
|
599
609
|
</div>
|
|
600
610
|
</template>
|
|
@@ -669,4 +679,16 @@ watch(() => activeSlideIndex, handleSlideChange)
|
|
|
669
679
|
.dot.current {
|
|
670
680
|
opacity: 0.8;
|
|
671
681
|
}
|
|
682
|
+
|
|
683
|
+
.navigation-buttons {
|
|
684
|
+
display: flex;
|
|
685
|
+
justify-content: center;
|
|
686
|
+
align-items: center;
|
|
687
|
+
gap: 1rem;
|
|
688
|
+
margin-top: 1rem;
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
.navigation-buttons.rtl {
|
|
692
|
+
flex-direction: row-reverse;
|
|
693
|
+
}
|
|
672
694
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { IconType, ThemeType } from '@bagelink/vue'
|
|
3
3
|
import type { TriggerEvent } from 'floating-vue'
|
|
4
|
-
import { Btn } from '@bagelink/vue'
|
|
4
|
+
import { Btn, useDevice } from '@bagelink/vue'
|
|
5
5
|
import { Dropdown as DDown } from 'floating-vue'
|
|
6
6
|
|
|
7
7
|
export type Side = 'top' | 'right' | 'bottom' | 'left' | 'auto'
|
|
@@ -19,6 +19,7 @@ const {
|
|
|
19
19
|
outline,
|
|
20
20
|
round,
|
|
21
21
|
placement = 'bottom-start',
|
|
22
|
+
disablePlacement = false,
|
|
22
23
|
noAutoFocus,
|
|
23
24
|
autoHide = true,
|
|
24
25
|
triggers = ['click'],
|
|
@@ -36,6 +37,7 @@ const {
|
|
|
36
37
|
outline?: boolean
|
|
37
38
|
round?: boolean
|
|
38
39
|
placement?: AlignedPlacement
|
|
40
|
+
disablePlacement?: boolean
|
|
39
41
|
noAutoFocus?: boolean
|
|
40
42
|
autoHide?: boolean
|
|
41
43
|
triggers?: TriggerEvent[]
|
|
@@ -86,6 +88,12 @@ function hide() {
|
|
|
86
88
|
ddownRef?.hide()
|
|
87
89
|
}
|
|
88
90
|
|
|
91
|
+
const { isMobile } = useDevice()
|
|
92
|
+
|
|
93
|
+
const shouldDisablePositioning = $computed(() => {
|
|
94
|
+
return disablePlacement && isMobile
|
|
95
|
+
})
|
|
96
|
+
|
|
89
97
|
defineExpose({ show, hide, shown })
|
|
90
98
|
</script>
|
|
91
99
|
|
|
@@ -95,6 +103,7 @@ defineExpose({ show, hide, shown })
|
|
|
95
103
|
v-model:shown="shown"
|
|
96
104
|
:disabled="disabled"
|
|
97
105
|
:noAutoFocus="noAutoFocus"
|
|
106
|
+
:positioning-disabled="shouldDisablePositioning"
|
|
98
107
|
:placement="placement"
|
|
99
108
|
:autoHide="autoHide"
|
|
100
109
|
:triggers="triggers"
|
|
@@ -120,3 +129,31 @@ defineExpose({ show, hide, shown })
|
|
|
120
129
|
</template>
|
|
121
130
|
</DDown>
|
|
122
131
|
</template>
|
|
132
|
+
|
|
133
|
+
<style>
|
|
134
|
+
.v-popper__popper--no-positioning {
|
|
135
|
+
position: fixed;
|
|
136
|
+
z-index: 9999;
|
|
137
|
+
top: 0;
|
|
138
|
+
left: 0;
|
|
139
|
+
width: 100%;
|
|
140
|
+
height: 100%;
|
|
141
|
+
display: flex;
|
|
142
|
+
align-items: flex-end;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.v-popper__popper--no-positioning .v-popper__backdrop {
|
|
146
|
+
display: block;
|
|
147
|
+
background: rgba(0 0 0 / 90%);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.v-popper__popper--no-positioning .v-popper__wrapper {
|
|
151
|
+
width: 100%;
|
|
152
|
+
pointer-events: auto;
|
|
153
|
+
transition: transform .15s ease-out;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.v-popper__popper--no-positioning.v-popper__popper--hidden .v-popper__wrapper {
|
|
157
|
+
transform: translateY(100%);
|
|
158
|
+
}
|
|
159
|
+
</style>
|
|
@@ -2,43 +2,86 @@
|
|
|
2
2
|
import type { IconType } from '@bagelink/vue'
|
|
3
3
|
import { Avatar, Icon } from '@bagelink/vue'
|
|
4
4
|
|
|
5
|
-
defineProps<{
|
|
5
|
+
const props = defineProps<{
|
|
6
6
|
src?: string
|
|
7
7
|
showAvatar?: boolean
|
|
8
8
|
to?: string
|
|
9
|
+
href?: string
|
|
9
10
|
icon?: IconType
|
|
10
11
|
title?: string
|
|
11
12
|
subtitle?: string
|
|
12
13
|
flat?: boolean
|
|
14
|
+
disabled?: boolean
|
|
15
|
+
lead?: string
|
|
16
|
+
iconEnd?: IconType
|
|
17
|
+
target?: '_blank' | '_self'
|
|
13
18
|
onClick?: () => void
|
|
14
19
|
}>()
|
|
20
|
+
|
|
21
|
+
const isComponent = $computed(() => {
|
|
22
|
+
if (props.to) return 'router-link'
|
|
23
|
+
if (props.href) return 'a'
|
|
24
|
+
if (props.onClick) return 'button'
|
|
25
|
+
return 'div'
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
const bind = $computed(() => {
|
|
29
|
+
const obj: Record<string, any> = {}
|
|
30
|
+
if (props.to) obj.to = props.to
|
|
31
|
+
else if (props.href) obj.href = props.href
|
|
32
|
+
if (props.target && (props.to || props.href)) obj.target = props.target
|
|
33
|
+
|
|
34
|
+
obj.class = {
|
|
35
|
+
'notClickable': !(props.to || props.onClick),
|
|
36
|
+
'no-border-list': props.flat,
|
|
37
|
+
}
|
|
38
|
+
if (props.disabled) obj.disabled = true
|
|
39
|
+
return obj
|
|
40
|
+
})
|
|
15
41
|
</script>
|
|
16
42
|
|
|
17
43
|
<template>
|
|
18
44
|
<component
|
|
19
|
-
:is="
|
|
20
|
-
|
|
45
|
+
:is="isComponent"
|
|
46
|
+
v-bind="bind"
|
|
21
47
|
class="flex gap-05 list-item"
|
|
22
|
-
:class="{ 'notClickable': !(to || onClick), 'no-border-list': flat }"
|
|
23
48
|
@click="onClick"
|
|
24
49
|
>
|
|
25
50
|
<Avatar v-if="src || showAvatar" style="flex-basis: 1;" :name="title" :src="src" :size="40" />
|
|
26
51
|
<Icon v-if="icon" size="1.2" class="color-primary" :icon="icon" />
|
|
27
52
|
|
|
28
53
|
<div>
|
|
54
|
+
<p v-if="lead" class="txt10 no-margin txt-gray ellipsis">
|
|
55
|
+
{{ lead }}
|
|
56
|
+
<slot name="lead" />
|
|
57
|
+
</p>
|
|
29
58
|
<p class="no-margin ellipsis line-height-14 pb-025">
|
|
30
59
|
{{ title }}
|
|
31
60
|
<slot />
|
|
32
61
|
</p>
|
|
33
|
-
<p class="txt12 no-margin txt-gray ellipsis">
|
|
62
|
+
<p v-if="subtitle" class="txt12 no-margin txt-gray ellipsis">
|
|
34
63
|
{{ subtitle }}
|
|
35
64
|
<slot name="subtitle" />
|
|
36
65
|
</p>
|
|
37
66
|
</div>
|
|
67
|
+
<Icon v-if="iconEnd" :icon="iconEnd" class="transition-400" />
|
|
38
68
|
</component>
|
|
39
69
|
</template>
|
|
40
70
|
|
|
41
71
|
<style>
|
|
72
|
+
button.list-item {
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
display: flex;
|
|
75
|
+
gap: 0.5rem;
|
|
76
|
+
border: none;
|
|
77
|
+
background-color: unset;
|
|
78
|
+
width: 100%;
|
|
79
|
+
|
|
80
|
+
}
|
|
81
|
+
.list-item:disabled {
|
|
82
|
+
opacity: 0.5;
|
|
83
|
+
pointer-events: none;
|
|
84
|
+
}
|
|
42
85
|
.list-item {
|
|
43
86
|
padding: 0.6rem 1rem;
|
|
44
87
|
min-height: -webkit-fit-content;
|
package/src/composables/index.ts
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ref, onMounted, onUnmounted } from 'vue'
|
|
2
|
+
|
|
3
|
+
export function useDevice() {
|
|
4
|
+
const innerWidth = ref(window.innerWidth)
|
|
5
|
+
const isMobile = ref(window.innerWidth < 768)
|
|
6
|
+
|
|
7
|
+
function updateDeviceInfo() {
|
|
8
|
+
innerWidth.value = window.innerWidth
|
|
9
|
+
isMobile.value = window.innerWidth < 768
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
onMounted(() => {
|
|
13
|
+
window.addEventListener('resize', updateDeviceInfo)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
onUnmounted(() => {
|
|
17
|
+
window.removeEventListener('resize', updateDeviceInfo)
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
return {
|
|
21
|
+
innerWidth,
|
|
22
|
+
isMobile
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -193,12 +193,11 @@ export function numField<T extends { [key: string]: any }>(
|
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
|
|
197
|
-
export function frmRow<T>(...children: Field[]): Field<any | T> {
|
|
196
|
+
export function frmRow<T>(...children: Field[]): Field<T> {
|
|
198
197
|
return {
|
|
199
198
|
$el: 'div',
|
|
200
199
|
class: 'flex gap-1 m_block align-items-end',
|
|
201
|
-
children,
|
|
200
|
+
children: children as Field<T>[],
|
|
202
201
|
}
|
|
203
202
|
}
|
|
204
203
|
|