@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/style.css CHANGED
@@ -899,13 +899,13 @@ display: block;
899
899
  padding: 0;
900
900
  }
901
901
 
902
- .BglCarousel[data-v-31632a3b] {
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-31632a3b] {
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-31632a3b] > * {
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-31632a3b] > * {
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-31632a3b] > * {
932
+ .dragging .bgl-slider[data-v-c2b21a75] > * {
933
933
  pointer-events: none;
934
934
  user-select: none;
935
935
  }
936
- .autoHeight[data-v-31632a3b] {
936
+ .autoHeight[data-v-c2b21a75] {
937
937
  transition: height ease 0.7s;
938
938
  }
939
- .dots[data-v-31632a3b] {
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-31632a3b] {
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-31632a3b]:hover {
956
+ .dot[data-v-c2b21a75]:hover {
957
957
  opacity: 0.6;
958
958
  }
959
- .dot.current[data-v-31632a3b] {
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<any | T>;
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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACnH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AAErF,UAAU,YAAY;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAA;CAClD;AAED,UAAU,WAAY,SAAQ,YAAY;IACzC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,gBAAiB,SAAQ,YAAY;IAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,gBAAiB,SAAQ,YAAY;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAA;CAClC;AAED,UAAU,eAAgB,SAAQ,YAAY;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,eAAe,GAAG,YAAY,CAAA;AAEnC,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5D,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EACpB,WAAW,GAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,EAC5C,IAAI,GAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,GAC1B,KAAK,CAAC,CAAC,CAAC,CAGV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACvB,KAAK,CAAC,CAAC,CAAC,CAaV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GACxB,eAAe,CAAC,CAAC,CAAC,CAkBpB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC3D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,EACrC,MAAM,CAAC,EAAE,gBAAgB,GACvB,gBAAgB,CAAC,CAAC,CAAC,CAoBrB;AAED,eAAO,MAAM,SAAS,oBAAc,CAAA;AAEpC,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACpB,KAAK,CAAC,CAAC,CAAC,CAQV;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACzD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACnB,KAAK,CAAC,CAAC,CAAC,CAmBV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACvB,KAAK,CAAC,CAAC,CAAC,CAuBV;AAGD,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAM9D;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAE3D,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;;;;2BAnMtD,GAAG,OAAO,GAAG,KAAK,OAAO;;mBAPtC,OAAO;sBACJ,MAAM;gBACZ,MAAM;uBACC,MAAM,GAAG,MAAM;mBACnB,OAAO;mBACP,MAAM;uBACF,MAAM;cACf,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;;;;;;;;;;;;;;;;EA6MlD;AAED,UAAU,YAAa,SAAQ,YAAY;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACvC;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACpB,KAAK,CAAC,CAAC,CAAC,CAgBV;AAED,wBAAgB,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE;;;;;;;;;;;;;;;;EAgBrE;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,GAAG,SAAS,CAUvF;AAED,UAAU,iBAAkB,SAAQ,YAAY;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACb;AAED,KAAK,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElC,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,iBAAiB,GACzB,KAAK,CAAC,CAAC,CAAC,CAYV"}
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.21",
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.6"
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
- goToSlide((activeSlideIndex + 1) % slideCount)
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
- goToSlide((activeSlideIndex - 1 + slideCount) % slideCount)
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 direction = totalDragDistance > 0 ? -1 : 1
298
- targetPanel = Math.floor(currentPanel) + (direction < 0 ? 0 : 1)
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
- accumulatedDeltaX += e.deltaX
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" :style="{ height: yHeight }" :class="{ autoHeight }" :dir="rtl ? 'rtl' : 'ltr'">
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="Handlers">
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="to ? 'RouterLink' : 'div'"
20
- :to="to"
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;
@@ -4,8 +4,7 @@ import type { Ref, UnwrapRef } from 'vue'
4
4
  import { getFallbackSchema } from '@bagelink/vue'
5
5
  import { ref, watch } from 'vue'
6
6
 
7
-
8
-
7
+ export { useDevice } from './useDevice'
9
8
 
10
9
  interface UseBglSchemaParamsT<T> {
11
10
  schema?: BglFormSchemaFnT<T>
@@ -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
- // TODO: remove Field<any | T> and replace with Field<T>
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