@ouestfrance/sipa-bms-ui 8.21.0 → 8.22.1

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.
@@ -332,7 +332,7 @@
332
332
 
333
333
  const _hoisted_1$$ = ["href", "target"];
334
334
  const _hoisted_2$G = ["href", "onClick", "target"];
335
- const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
335
+ const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
336
336
  __name: "BmsLink",
337
337
  props: {
338
338
  to: {},
@@ -382,7 +382,7 @@
382
382
  });
383
383
 
384
384
  const _hoisted_1$_ = ["type"];
385
- const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
385
+ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
386
386
  __name: "UiButtonLink",
387
387
  props: {
388
388
  type: {},
@@ -407,7 +407,7 @@
407
407
  type: __props.type
408
408
  }, [
409
409
  vue.renderSlot(_ctx.$slots, "default")
410
- ], 10, _hoisted_1$_)) : (vue.openBlock(), vue.createBlock(_sfc_main$1r, {
410
+ ], 10, _hoisted_1$_)) : (vue.openBlock(), vue.createBlock(_sfc_main$1s, {
411
411
  key: 1,
412
412
  to: __props.to,
413
413
  target: __props.target,
@@ -425,7 +425,7 @@
425
425
  const _hoisted_1$Z = { class: "start" };
426
426
  const _hoisted_2$F = { class: "content" };
427
427
  const _hoisted_3$m = { class: "end" };
428
- const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
428
+ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
429
429
  __name: "UiButton",
430
430
  props: {
431
431
  type: { default: "button" },
@@ -438,7 +438,7 @@
438
438
  setup(__props) {
439
439
  const props = __props;
440
440
  return (_ctx, _cache) => {
441
- return vue.openBlock(), vue.createBlock(_sfc_main$1q, vue.normalizeProps(vue.guardReactiveProps(props)), {
441
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, vue.normalizeProps(vue.guardReactiveProps(props)), {
442
442
  default: vue.withCtx(() => [
443
443
  vue.createElementVNode("span", _hoisted_1$Z, [
444
444
  vue.renderSlot(_ctx.$slots, "start")
@@ -456,7 +456,7 @@
456
456
  }
457
457
  });
458
458
 
459
- const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
459
+ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
460
460
  __name: "BmsButton",
461
461
  props: {
462
462
  type: { default: "primary" },
@@ -480,7 +480,7 @@
480
480
  }
481
481
  });
482
482
  return (_ctx, _cache) => {
483
- return vue.openBlock(), vue.createBlock(_sfc_main$1p, {
483
+ return vue.openBlock(), vue.createBlock(_sfc_main$1q, {
484
484
  mode: uiMode.value,
485
485
  color: __props.mode,
486
486
  to: __props.to,
@@ -502,7 +502,7 @@
502
502
  }
503
503
  });
504
504
 
505
- const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
505
+ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
506
506
  __name: "BmsIconButton",
507
507
  props: {
508
508
  to: { default: null },
@@ -522,7 +522,7 @@
522
522
  direction: __props.tooltipDirection
523
523
  }, {
524
524
  default: vue.withCtx(() => [
525
- vue.createVNode(_sfc_main$1p, vue.mergeProps(_ctx.$attrs, {
525
+ vue.createVNode(_sfc_main$1q, vue.mergeProps(_ctx.$attrs, {
526
526
  icon: "",
527
527
  to: __props.to,
528
528
  target: __props.target,
@@ -37448,7 +37448,7 @@
37448
37448
  const _hoisted_1$Y = { class: "info-line" };
37449
37449
  const _hoisted_2$E = { class: "icon" };
37450
37450
  const _hoisted_3$l = { class: "message" };
37451
- const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
37451
+ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
37452
37452
  __name: "BmsAlert",
37453
37453
  props: {
37454
37454
  message: {},
@@ -37483,7 +37483,7 @@
37483
37483
  ], true)
37484
37484
  ]),
37485
37485
  vue.renderSlot(_ctx.$slots, "action", {}, void 0, true),
37486
- __props.dismissable ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
37486
+ __props.dismissable ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
37487
37487
  key: 0,
37488
37488
  onClick: _cache[0] || (_cache[0] = ($event) => emits("dismiss"))
37489
37489
  }, {
@@ -37507,13 +37507,13 @@
37507
37507
  return target;
37508
37508
  };
37509
37509
 
37510
- const BmsAlert = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["__scopeId", "data-v-26caccdd"]]);
37510
+ const BmsAlert = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["__scopeId", "data-v-26caccdd"]]);
37511
37511
 
37512
37512
  const _hoisted_1$X = {
37513
37513
  key: 0,
37514
37514
  class: "ui-badge__container"
37515
37515
  };
37516
- const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
37516
+ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
37517
37517
  __name: "BmsBadge",
37518
37518
  props: {
37519
37519
  pending: { default: 0 },
@@ -37539,14 +37539,14 @@
37539
37539
  }
37540
37540
  });
37541
37541
 
37542
- const BmsBadge = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-8a6297ca"]]);
37542
+ const BmsBadge = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["__scopeId", "data-v-8a6297ca"]]);
37543
37543
 
37544
37544
  const _hoisted_1$W = {
37545
37545
  key: 0,
37546
37546
  class: "icon"
37547
37547
  };
37548
37548
  const _hoisted_2$D = ["innerHTML"];
37549
- const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
37549
+ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
37550
37550
  __name: "BmsCaption",
37551
37551
  props: {
37552
37552
  caption: {}
@@ -37589,7 +37589,7 @@
37589
37589
  }
37590
37590
  });
37591
37591
 
37592
- const BmsCaption = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-b08dd4e0"]]);
37592
+ const BmsCaption = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-b08dd4e0"]]);
37593
37593
 
37594
37594
  const _hoisted_1$V = { class: "circular-progress" };
37595
37595
  const _hoisted_2$C = {
@@ -37597,9 +37597,9 @@
37597
37597
  viewBox: "0 0 100 100"
37598
37598
  };
37599
37599
  const _hoisted_3$k = { transform: "rotate(-90, 50, 50)" };
37600
- const _hoisted_4$d = ["stroke-dashoffset"];
37601
- const _hoisted_5$9 = { class: "percent" };
37602
- const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
37600
+ const _hoisted_4$c = ["stroke-dashoffset"];
37601
+ const _hoisted_5$8 = { class: "percent" };
37602
+ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
37603
37603
  __name: "BmsCircularProgress",
37604
37604
  props: ["progress"],
37605
37605
  setup(__props) {
@@ -37625,16 +37625,79 @@
37625
37625
  "stroke-linecap": "round",
37626
37626
  "stroke-dashoffset": 283 - __props.progress * 283 / 100,
37627
37627
  "stroke-dasharray": "283"
37628
- }, null, 8, _hoisted_4$d)
37628
+ }, null, 8, _hoisted_4$c)
37629
37629
  ])
37630
37630
  ])) : vue.createCommentVNode("", true),
37631
- vue.createElementVNode("div", _hoisted_5$9, vue.toDisplayString(__props.progress) + "%", 1)
37631
+ vue.createElementVNode("div", _hoisted_5$8, vue.toDisplayString(__props.progress) + "%", 1)
37632
37632
  ]);
37633
37633
  };
37634
37634
  }
37635
37635
  });
37636
37636
 
37637
- const BmsCircularProgress = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-7869acfb"]]);
37637
+ const BmsCircularProgress = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-7869acfb"]]);
37638
+
37639
+ const SCREEN_MARGIN = 10;
37640
+ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
37641
+ __name: "BmsGhost",
37642
+ props: /* @__PURE__ */ vue.mergeModels({
37643
+ opacityWhenVisible: { default: 0.8 }
37644
+ }, {
37645
+ "modelValue": { type: Boolean, ...{
37646
+ default: false
37647
+ } },
37648
+ "modelModifiers": {}
37649
+ }),
37650
+ emits: ["update:modelValue"],
37651
+ setup(__props) {
37652
+ const visible = vue.useModel(__props, "modelValue");
37653
+ const props = __props;
37654
+ const ghost = vue.ref(null);
37655
+ const x = vue.ref(0);
37656
+ const y = vue.ref(0);
37657
+ vue.onBeforeMount(() => {
37658
+ document.addEventListener("pointermove", onPointerMove);
37659
+ });
37660
+ vue.onBeforeUnmount(() => {
37661
+ document.removeEventListener("pointermove", onPointerMove);
37662
+ });
37663
+ const onPointerMove = (e) => {
37664
+ e.preventDefault();
37665
+ e.stopPropagation();
37666
+ updateGhost(e.clientX, e.clientY);
37667
+ };
37668
+ const updateGhost = (posX, posY) => {
37669
+ if (!ghost.value) return;
37670
+ const rect = ghost.value.getBoundingClientRect();
37671
+ const screenWidth = window.innerWidth;
37672
+ const screenHeight = window.innerHeight;
37673
+ x.value = Math.max(
37674
+ Math.min(posX, screenWidth - rect.width - SCREEN_MARGIN),
37675
+ SCREEN_MARGIN
37676
+ );
37677
+ y.value = Math.max(
37678
+ Math.min(posY, screenHeight - rect.height - SCREEN_MARGIN),
37679
+ SCREEN_MARGIN
37680
+ );
37681
+ };
37682
+ return (_ctx, _cache) => {
37683
+ return vue.openBlock(), vue.createElementBlock("div", {
37684
+ ref_key: "ghost",
37685
+ ref: ghost,
37686
+ "aria-hidden": "true",
37687
+ class: "bms-ghost",
37688
+ style: vue.normalizeStyle({
37689
+ "--ghost-x": `${x.value}px`,
37690
+ "--ghost-y": `${y.value}px`,
37691
+ opacity: visible.value ? props.opacityWhenVisible : 0
37692
+ })
37693
+ }, [
37694
+ vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
37695
+ ], 4);
37696
+ };
37697
+ }
37698
+ });
37699
+
37700
+ const BmsGhost = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-205789ac"]]);
37638
37701
 
37639
37702
  const _hoisted_1$U = { class: "bms-loader" };
37640
37703
  function transformIntoPx(totransform) {
@@ -38622,10 +38685,11 @@
38622
38685
  const calculatedTooltipTransform = vue.ref("none");
38623
38686
  const windowSize = useWindowSize();
38624
38687
  const { getTooltipTranslatePosition } = useTooltipHelper();
38688
+ const attrs = vue.useAttrs();
38625
38689
  const props = __props;
38626
38690
  const anchorElement = vue.ref(void 0);
38627
38691
  const classes = vue.computed(
38628
- () => `bms-tooltip__text bms-tooltip__text--${props.direction}`
38692
+ () => `bms-tooltip__text bms-tooltip__text--${props.direction} ${attrs.class ? attrs.class : ""}`
38629
38693
  );
38630
38694
  const setTooltipPosition = async () => {
38631
38695
  if (props.visible && JSON.stringify(anchorElement.value) !== JSON.stringify(props.getAnchorElementValues())) {
@@ -38683,7 +38747,7 @@
38683
38747
  }
38684
38748
  });
38685
38749
 
38686
- const UiTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-bf923418"]]);
38750
+ const UiTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-4ae8c6bb"]]);
38687
38751
 
38688
38752
  const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
38689
38753
  __name: "BmsTooltip",
@@ -38694,11 +38758,16 @@
38694
38758
  activated: { type: Boolean, default: true }
38695
38759
  },
38696
38760
  setup(__props, { expose: __expose }) {
38761
+ const attrs = vue.useAttrs();
38697
38762
  const tooltip = vue.ref(null);
38698
38763
  const tooltipAnchor = vue.ref();
38699
38764
  const showToolTip = vue.ref(true);
38700
38765
  const { isOutside } = useMouseInElement(tooltipAnchor);
38701
38766
  const anchorVisibility = useElementVisibility(tooltipAnchor);
38767
+ const classes = vue.computed(() => {
38768
+ const parentClasses = attrs.class;
38769
+ return parentClasses?.split(" ").map((cls) => `${cls}__bms-tooltip`).join(" ") ?? "";
38770
+ });
38702
38771
  const isUnderOverlay = () => {
38703
38772
  const overlays = Array.from(document.getElementsByClassName("overlay"));
38704
38773
  if (overlays.length === 0) {
@@ -38740,7 +38809,8 @@
38740
38809
  key: 0,
38741
38810
  visible: showToolTip.value && __props.activated,
38742
38811
  direction: __props.direction,
38743
- getAnchorElementValues
38812
+ getAnchorElementValues,
38813
+ class: vue.normalizeClass(classes.value)
38744
38814
  }, {
38745
38815
  default: vue.withCtx(() => [
38746
38816
  vue.renderSlot(_ctx.$slots, "tooltipText", {}, () => [
@@ -38748,7 +38818,7 @@
38748
38818
  ], true)
38749
38819
  ]),
38750
38820
  _: 3
38751
- }, 8, ["visible", "direction"])) : vue.createCommentVNode("", true)
38821
+ }, 8, ["visible", "direction", "class"])) : vue.createCommentVNode("", true)
38752
38822
  ])),
38753
38823
  __props.activated ? (vue.openBlock(), vue.createElementBlock("div", {
38754
38824
  key: 0,
@@ -38764,7 +38834,7 @@
38764
38834
  }
38765
38835
  });
38766
38836
 
38767
- const BmsTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-b033f8af"]]);
38837
+ const BmsTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-5c0e03ac"]]);
38768
38838
 
38769
38839
  const _hoisted_1$T = {
38770
38840
  class: "options-list",
@@ -38873,7 +38943,7 @@
38873
38943
  const _hoisted_1$S = { class: "field__input-label" };
38874
38944
  const _hoisted_2$A = { class: "field__input-icon field__input-icon--start" };
38875
38945
  const _hoisted_3$j = ["type", "value", "placeholder", "required", "disabled", "max", "min", "minlength", "maxlength"];
38876
- const _hoisted_4$c = { class: "field__input-icon field__input-icon--end" };
38946
+ const _hoisted_4$b = { class: "field__input-icon field__input-icon--end" };
38877
38947
  const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
38878
38948
  __name: "RawInputText",
38879
38949
  props: {
@@ -38948,7 +39018,7 @@
38948
39018
  onFocus: _cache[1] || (_cache[1] = ($event) => $emits("focus")),
38949
39019
  onClick: _cache[2] || (_cache[2] = ($event) => $emits("click"))
38950
39020
  }, null, 40, _hoisted_3$j),
38951
- vue.createElementVNode("span", _hoisted_4$c, [
39021
+ vue.createElementVNode("span", _hoisted_4$b, [
38952
39022
  vue.renderSlot(_ctx.$slots, "icon-end", {}, void 0, true)
38953
39023
  ])
38954
39024
  ], 2);
@@ -39497,7 +39567,7 @@
39497
39567
  const _hoisted_1$P = { class: "file-upload" };
39498
39568
  const _hoisted_2$x = { class: "file-upload__label" };
39499
39569
  const _hoisted_3$i = { key: 1 };
39500
- const _hoisted_4$b = { class: "file-upload__file-name" };
39570
+ const _hoisted_4$a = { class: "file-upload__file-name" };
39501
39571
  const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
39502
39572
  __name: "BmsFilePicker",
39503
39573
  props: {
@@ -39598,8 +39668,8 @@
39598
39668
  key: file.name,
39599
39669
  class: "file-upload__file"
39600
39670
  }, [
39601
- vue.createElementVNode("span", _hoisted_4$b, vue.toDisplayString(file.name), 1),
39602
- vue.createVNode(vue.unref(_sfc_main$1n), {
39671
+ vue.createElementVNode("span", _hoisted_4$a, vue.toDisplayString(file.name), 1),
39672
+ vue.createVNode(vue.unref(_sfc_main$1o), {
39603
39673
  onClick: ($event) => onDeleteFile(file)
39604
39674
  }, {
39605
39675
  default: vue.withCtx(() => [
@@ -68902,7 +68972,7 @@
68902
68972
  src: getImageSrc(file),
68903
68973
  class: "file-upload__file-img"
68904
68974
  }, null, 8, _hoisted_2$v)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$h, vue.toDisplayString(file.name), 1)),
68905
- vue.createVNode(_sfc_main$1n, {
68975
+ vue.createVNode(_sfc_main$1o, {
68906
68976
  mode: vue.unref(StatusType).Danger,
68907
68977
  onClick: vue.withModifiers(($event) => onDeleteFile(file), ["prevent"]),
68908
68978
  class: "close-button"
@@ -69368,7 +69438,7 @@
69368
69438
  }, [
69369
69439
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
69370
69440
  vue.createElementVNode("span", _hoisted_1$I, [
69371
- __props.canBeDismissed ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1n), {
69441
+ __props.canBeDismissed ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1o), {
69372
69442
  key: 0,
69373
69443
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emits("dismiss"), ["stop"]))
69374
69444
  }, {
@@ -87141,7 +87211,7 @@
87141
87211
  class: vue.normalizeClass(["card__body", { animated: __props.animated, hasAction: !!_ctx.$slots.action }])
87142
87212
  }, [
87143
87213
  vue.createElementVNode("div", _hoisted_1$D, [
87144
- __props.to ? (vue.openBlock(), vue.createBlock(_sfc_main$1r, {
87214
+ __props.to ? (vue.openBlock(), vue.createBlock(_sfc_main$1s, {
87145
87215
  key: 0,
87146
87216
  class: "card__body__content__link",
87147
87217
  to: __props.to
@@ -87163,15 +87233,20 @@
87163
87233
 
87164
87234
  const BmsCard = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-cff3f84d"]]);
87165
87235
 
87166
- const _hoisted_1$C = { class: "floating-window-wrapper" };
87167
- const _hoisted_2$o = { class: "floating-window" };
87168
- const _hoisted_3$f = { class: "floating-window__header" };
87169
- const _hoisted_4$a = { class: "floating-window__header__buttons" };
87170
- const _hoisted_5$8 = { class: "floating-window__content" };
87236
+ const _hoisted_1$C = { class: "floating-window__header__title" };
87237
+ const _hoisted_2$o = { class: "floating-window__header__buttons" };
87238
+ const _hoisted_3$f = { class: "floating-window__content" };
87171
87239
  const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
87172
87240
  __name: "BmsFloatingWindow",
87173
87241
  props: /* @__PURE__ */ vue.mergeModels({
87174
- title: {}
87242
+ title: {},
87243
+ defaultPlacement: { default: "center" },
87244
+ expandable: { type: Boolean, default: false },
87245
+ expandedWidth: { default: "100%" },
87246
+ expandedHeight: { default: "100%" },
87247
+ expandTarget: { default: void 0 },
87248
+ width: { default: "50%" },
87249
+ height: { default: "40%" }
87175
87250
  }, {
87176
87251
  "modelValue": { type: Boolean, ...{
87177
87252
  default: false
@@ -87180,23 +87255,196 @@
87180
87255
  }),
87181
87256
  emits: ["update:modelValue"],
87182
87257
  setup(__props) {
87258
+ const props = __props;
87183
87259
  const open = vue.useModel(__props, "modelValue");
87260
+ const wrapperRef = vue.ref(null);
87261
+ const windowRef = vue.ref(null);
87262
+ const position = vue.ref(null);
87263
+ const computedSize = vue.ref(null);
87264
+ const isDragging = vue.ref(false);
87265
+ const dragOffset = vue.ref({ x: 0, y: 0 });
87266
+ const isExpanded = vue.ref(false);
87267
+ const positionBeforeExpand = vue.ref(null);
87268
+ const expandedStyle = vue.ref(null);
87269
+ function computeInitialPosition() {
87270
+ if (!wrapperRef.value || !windowRef.value) return null;
87271
+ const wrapperRect = wrapperRef.value.getBoundingClientRect();
87272
+ const windowRect = windowRef.value.getBoundingClientRect();
87273
+ const padding = 16;
87274
+ switch (props.defaultPlacement) {
87275
+ case "top-left":
87276
+ return { x: wrapperRect.left + padding, y: wrapperRect.top + padding };
87277
+ case "top-right":
87278
+ return {
87279
+ x: wrapperRect.right - windowRect.width - padding,
87280
+ y: wrapperRect.top + padding
87281
+ };
87282
+ case "bottom-left":
87283
+ return {
87284
+ x: wrapperRect.left + padding,
87285
+ y: wrapperRect.bottom - windowRect.height - padding
87286
+ };
87287
+ case "bottom-right":
87288
+ return {
87289
+ x: wrapperRect.right - windowRect.width - padding,
87290
+ y: wrapperRect.bottom - windowRect.height - padding
87291
+ };
87292
+ case "center":
87293
+ default:
87294
+ return null;
87295
+ }
87296
+ }
87297
+ function initPosition() {
87298
+ if (props.defaultPlacement !== "center" && !position.value) {
87299
+ position.value = computeInitialPosition();
87300
+ }
87301
+ }
87302
+ vue.onMounted(() => {
87303
+ if (open.value) {
87304
+ initPosition();
87305
+ }
87306
+ });
87307
+ vue.watch(open, (newVal) => {
87308
+ if (newVal) {
87309
+ requestAnimationFrame(initPosition);
87310
+ }
87311
+ });
87312
+ const windowStyle = vue.computed(() => {
87313
+ if (isExpanded.value && expandedStyle.value) {
87314
+ return expandedStyle.value;
87315
+ }
87316
+ const sizeStyle = {};
87317
+ if (computedSize.value) {
87318
+ sizeStyle.width = `${computedSize.value.width}px`;
87319
+ sizeStyle.height = `${computedSize.value.height}px`;
87320
+ } else {
87321
+ if (props.width) {
87322
+ sizeStyle.width = props.width;
87323
+ }
87324
+ if (props.height) {
87325
+ sizeStyle.height = props.height;
87326
+ }
87327
+ }
87328
+ if (!position.value) {
87329
+ return sizeStyle;
87330
+ }
87331
+ return {
87332
+ position: "absolute",
87333
+ left: `${position.value.x}px`,
87334
+ top: `${position.value.y}px`,
87335
+ ...sizeStyle
87336
+ };
87337
+ });
87338
+ function computeExpandedStyle() {
87339
+ if (props.expandTarget) {
87340
+ const targetEl = document.querySelector(props.expandTarget);
87341
+ if (targetEl) {
87342
+ const targetRect = targetEl.getBoundingClientRect();
87343
+ return {
87344
+ position: "fixed",
87345
+ left: `${targetRect.left}px`,
87346
+ top: `${targetRect.top}px`,
87347
+ width: props.expandedWidth === "100%" ? `${targetRect.width}px` : props.expandedWidth,
87348
+ height: props.expandedHeight === "100%" ? `${targetRect.height}px` : props.expandedHeight,
87349
+ maxWidth: "none",
87350
+ maxHeight: "none"
87351
+ };
87352
+ }
87353
+ }
87354
+ return {
87355
+ position: "absolute",
87356
+ width: props.expandedWidth,
87357
+ height: props.expandedHeight,
87358
+ maxWidth: "none",
87359
+ maxHeight: "none"
87360
+ };
87361
+ }
87362
+ function toggleExpand() {
87363
+ if (isExpanded.value) {
87364
+ expandedStyle.value = null;
87365
+ position.value = positionBeforeExpand.value;
87366
+ isExpanded.value = false;
87367
+ } else {
87368
+ positionBeforeExpand.value = position.value;
87369
+ expandedStyle.value = computeExpandedStyle();
87370
+ isExpanded.value = true;
87371
+ }
87372
+ }
87373
+ function onDragStart(event) {
87374
+ if (event.target.closest(".floating-window__header__buttons")) {
87375
+ return;
87376
+ }
87377
+ if (isExpanded.value) {
87378
+ return;
87379
+ }
87380
+ isDragging.value = true;
87381
+ if (windowRef.value) {
87382
+ const rect = windowRef.value.getBoundingClientRect();
87383
+ dragOffset.value = {
87384
+ x: event.clientX - rect.left,
87385
+ y: event.clientY - rect.top
87386
+ };
87387
+ if (!computedSize.value) {
87388
+ computedSize.value = { width: rect.width, height: rect.height };
87389
+ }
87390
+ if (!position.value) {
87391
+ position.value = { x: rect.left, y: rect.top };
87392
+ }
87393
+ }
87394
+ document.addEventListener("mousemove", onDrag);
87395
+ document.addEventListener("mouseup", onDragEnd);
87396
+ }
87397
+ function onDrag(event) {
87398
+ if (!isDragging.value) return;
87399
+ position.value = {
87400
+ x: event.clientX - dragOffset.value.x,
87401
+ y: event.clientY - dragOffset.value.y
87402
+ };
87403
+ }
87404
+ function onDragEnd() {
87405
+ isDragging.value = false;
87406
+ document.removeEventListener("mousemove", onDrag);
87407
+ document.removeEventListener("mouseup", onDragEnd);
87408
+ }
87184
87409
  return (_ctx, _cache) => {
87185
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
87186
- vue.withDirectives(vue.createElementVNode("div", _hoisted_2$o, [
87187
- vue.createElementVNode("div", _hoisted_3$f, [
87188
- vue.createElementVNode("h2", null, vue.toDisplayString(__props.title), 1),
87189
- vue.createElementVNode("div", _hoisted_4$a, [
87190
- vue.createVNode(_sfc_main$1n, {
87191
- "tooltip-text": "Maximiser la fenêtre",
87192
- disabled: ""
87410
+ return vue.openBlock(), vue.createElementBlock("div", {
87411
+ ref_key: "wrapperRef",
87412
+ ref: wrapperRef,
87413
+ class: "floating-window-wrapper"
87414
+ }, [
87415
+ isDragging.value ? (vue.openBlock(), vue.createElementBlock("div", {
87416
+ key: 0,
87417
+ class: "floating-window__drag-overlay",
87418
+ onMousemove: onDrag,
87419
+ onMouseup: onDragEnd
87420
+ }, null, 32)) : vue.createCommentVNode("", true),
87421
+ vue.withDirectives(vue.createElementVNode("div", {
87422
+ ref_key: "windowRef",
87423
+ ref: windowRef,
87424
+ class: vue.normalizeClass(["floating-window", {
87425
+ "floating-window--expanded": isExpanded.value,
87426
+ "floating-window--dragging": isDragging.value
87427
+ }]),
87428
+ style: vue.normalizeStyle(windowStyle.value)
87429
+ }, [
87430
+ vue.createElementVNode("div", {
87431
+ class: "floating-window__header",
87432
+ onMousedown: onDragStart
87433
+ }, [
87434
+ vue.createElementVNode("h3", _hoisted_1$C, vue.toDisplayString(__props.title), 1),
87435
+ vue.createElementVNode("div", _hoisted_2$o, [
87436
+ __props.expandable ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
87437
+ key: 0,
87438
+ class: vue.normalizeClass(["floating-window__expand-btn", { "floating-window__expand-btn--expanded": isExpanded.value }]),
87439
+ "tooltip-text": isExpanded.value ? "Réduire la fenêtre" : "Maximiser la fenêtre",
87440
+ onClick: vue.withModifiers(toggleExpand, ["prevent", "stop"])
87193
87441
  }, {
87194
87442
  default: vue.withCtx(() => [
87195
- vue.createVNode(vue.unref(Maximize2))
87443
+ isExpanded.value ? (vue.openBlock(), vue.createBlock(vue.unref(Minimize2), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(Maximize2), { key: 1 }))
87196
87444
  ]),
87197
87445
  _: 1
87198
- }),
87199
- vue.createVNode(_sfc_main$1n, {
87446
+ }, 8, ["class", "tooltip-text"])) : vue.createCommentVNode("", true),
87447
+ vue.createVNode(_sfc_main$1o, {
87200
87448
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => open.value = false, ["prevent", "stop"]))
87201
87449
  }, {
87202
87450
  default: vue.withCtx(() => [
@@ -87205,19 +87453,19 @@
87205
87453
  _: 1
87206
87454
  })
87207
87455
  ])
87208
- ]),
87209
- vue.createElementVNode("div", _hoisted_5$8, [
87456
+ ], 32),
87457
+ vue.createElementVNode("div", _hoisted_3$f, [
87210
87458
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
87211
87459
  ])
87212
- ], 512), [
87460
+ ], 6), [
87213
87461
  [vue.vShow, open.value]
87214
87462
  ])
87215
- ]);
87463
+ ], 512);
87216
87464
  };
87217
87465
  }
87218
87466
  });
87219
87467
 
87220
- const BmsFloatingWindow = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-fdb4e567"]]);
87468
+ const BmsFloatingWindow = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-3023af4c"]]);
87221
87469
 
87222
87470
  const _hoisted_1$B = { class: "form-section" };
87223
87471
  const _hoisted_2$n = {
@@ -90192,7 +90440,7 @@
90192
90440
  key: 0,
90193
90441
  class: vue.normalizeClass(["bms-short-link-menu", { "bms-short-link-menu__outline": __props.outline }])
90194
90442
  }, [
90195
- !!__props.helpLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90443
+ !!__props.helpLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
90196
90444
  key: 0,
90197
90445
  "tooltip-text": "Voir la documentation",
90198
90446
  to: __props.helpLink,
@@ -90205,7 +90453,7 @@
90205
90453
  ]),
90206
90454
  _: 3
90207
90455
  }, 8, ["to"])) : vue.createCommentVNode("", true),
90208
- !!__props.activityLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90456
+ !!__props.activityLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
90209
90457
  key: 1,
90210
90458
  "tooltip-text": "Voir l'activité",
90211
90459
  to: __props.activityLink,
@@ -90457,7 +90705,7 @@
90457
90705
  ])
90458
90706
  ], true)
90459
90707
  ]),
90460
- vue.createVNode(_sfc_main$1n, {
90708
+ vue.createVNode(_sfc_main$1o, {
90461
90709
  disabled: !isModalClosable.value,
90462
90710
  onClick: dismissModal,
90463
90711
  "data-testid": "close-modal"
@@ -90483,7 +90731,7 @@
90483
90731
  modalData: props.modelValue
90484
90732
  }, () => [
90485
90733
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(buttons.value, (button) => {
90486
- return vue.openBlock(), vue.createBlock(_sfc_main$1o, {
90734
+ return vue.openBlock(), vue.createBlock(_sfc_main$1p, {
90487
90735
  key: button.label + button.role,
90488
90736
  type: button.role === "cancel" ? "secondary" : "primary",
90489
90737
  disabled: !isModalClosable.value || button.disabled,
@@ -90759,7 +91007,7 @@
90759
91007
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
90760
91008
  vue.renderSlot(_ctx.$slots, "actions", {}, () => [
90761
91009
  vue.createElementVNode("div", _hoisted_2$j, [
90762
- __props.previousLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
91010
+ __props.previousLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1p, {
90763
91011
  key: 0,
90764
91012
  "data-test": "previous-button",
90765
91013
  name: "previous",
@@ -90771,7 +91019,7 @@
90771
91019
  ]),
90772
91020
  _: 1
90773
91021
  })) : vue.createCommentVNode("", true),
90774
- __props.nextLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
91022
+ __props.nextLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1p, {
90775
91023
  key: 1,
90776
91024
  "data-test": "next-button",
90777
91025
  class: "",
@@ -91066,7 +91314,7 @@
91066
91314
  return classes2;
91067
91315
  });
91068
91316
  return (_ctx, _cache) => {
91069
- return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
91317
+ return vue.openBlock(), vue.createBlock(_sfc_main$1s, {
91070
91318
  to: __props.item.link,
91071
91319
  target: __props.target,
91072
91320
  classes: classes.value
@@ -91160,7 +91408,7 @@
91160
91408
  key: item.label
91161
91409
  }, [
91162
91410
  hasSubItems(item) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
91163
- item.link ? (vue.openBlock(), vue.createBlock(_sfc_main$1r, {
91411
+ item.link ? (vue.openBlock(), vue.createBlock(_sfc_main$1s, {
91164
91412
  key: 0,
91165
91413
  to: item.link,
91166
91414
  class: vue.normalizeClass(`parent-item ${isItemActive(item) ? "active" : ""}`)
@@ -91288,7 +91536,7 @@
91288
91536
  const toggleMenu = (newMenuState = true) => isMenuOpen.value = newMenuState;
91289
91537
  return (_ctx, _cache) => {
91290
91538
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
91291
- vue.createVNode(vue.unref(_sfc_main$1n), {
91539
+ vue.createVNode(vue.unref(_sfc_main$1o), {
91292
91540
  onClick: _cache[0] || (_cache[0] = ($event) => toggleMenu(!isMenuOpen.value)),
91293
91541
  "data-testid": "openMenu",
91294
91542
  "aria-label": "Ouvrir le menu"
@@ -91312,7 +91560,7 @@
91312
91560
  ref: menu,
91313
91561
  class: vue.normalizeClass(["menu__container", { "is-show": isMenuOpen.value }])
91314
91562
  }, [
91315
- vue.createVNode(vue.unref(_sfc_main$1n), {
91563
+ vue.createVNode(vue.unref(_sfc_main$1o), {
91316
91564
  class: "menu__close",
91317
91565
  onClick: _cache[1] || (_cache[1] = ($event) => toggleMenu(false)),
91318
91566
  "data-testid": "closeMenu",
@@ -91646,7 +91894,7 @@
91646
91894
  vue.createTextVNode(" " + vue.toDisplayString(__props.tenant.label), 1),
91647
91895
  vue.createElementVNode("em", null, "- " + vue.toDisplayString(__props.tenant.information), 1)
91648
91896
  ], 8, _hoisted_1$k),
91649
- __props.tenant.isFavorite ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
91897
+ __props.tenant.isFavorite ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
91650
91898
  key: 0,
91651
91899
  class: "remove-tenant-button",
91652
91900
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emits("removeFavorite"), ["stop"]))
@@ -91842,7 +92090,7 @@
91842
92090
  __props.currentTenant && __props.tenants.length === 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
91843
92091
  vue.createVNode(_sfc_main$n, { tenant: __props.currentTenant }, null, 8, ["tenant"]),
91844
92092
  vue.createElementVNode("span", null, vue.toDisplayString(__props.currentTenant.label), 1)
91845
- ])) : __props.tenants.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1o), {
92093
+ ])) : __props.tenants.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1p), {
91846
92094
  key: 1,
91847
92095
  type: "tertiary",
91848
92096
  onClick: _cache[0] || (_cache[0] = ($event) => showTenantSwitcher.value = !showTenantSwitcher.value)
@@ -91985,7 +92233,7 @@
91985
92233
  onMouseup: _cache[1] || (_cache[1] = () => gripped.value = false)
91986
92234
  }),
91987
92235
  vue.renderSlot(_ctx.$slots, "default", { row: item }, void 0, true),
91988
- vue.createVNode(vue.unref(_sfc_main$1n), {
92236
+ vue.createVNode(vue.unref(_sfc_main$1o), {
91989
92237
  mode: vue.unref(StatusType).Danger,
91990
92238
  onClick: ($event) => onRemove(item)
91991
92239
  }, {
@@ -92133,7 +92381,7 @@
92133
92381
  ], true)
92134
92382
  ]),
92135
92383
  vue.createElementVNode("div", _hoisted_3$6, [
92136
- vue.createVNode(_sfc_main$1n, {
92384
+ vue.createVNode(_sfc_main$1o, {
92137
92385
  color: "neutral",
92138
92386
  onClick: goToFirst,
92139
92387
  disabled: __props.currentPage === 0
@@ -92143,7 +92391,7 @@
92143
92391
  ]),
92144
92392
  _: 1
92145
92393
  }, 8, ["disabled"]),
92146
- vue.createVNode(_sfc_main$1n, {
92394
+ vue.createVNode(_sfc_main$1o, {
92147
92395
  onClick: goToPrevious,
92148
92396
  disabled: __props.currentPage === 0
92149
92397
  }, {
@@ -92152,7 +92400,7 @@
92152
92400
  ]),
92153
92401
  _: 1
92154
92402
  }, 8, ["disabled"]),
92155
- vue.createVNode(_sfc_main$1n, {
92403
+ vue.createVNode(_sfc_main$1o, {
92156
92404
  onClick: goToNext,
92157
92405
  disabled: __props.currentPage === __props.pages - 1 || __props.pages === 0
92158
92406
  }, {
@@ -92161,7 +92409,7 @@
92161
92409
  ]),
92162
92410
  _: 1
92163
92411
  }, 8, ["disabled"]),
92164
- vue.createVNode(_sfc_main$1n, {
92412
+ vue.createVNode(_sfc_main$1o, {
92165
92413
  onClick: goToLast,
92166
92414
  disabled: __props.currentPage === __props.pages - 1 || __props.pages === 0 || __props.total === Infinity
92167
92415
  }, {
@@ -96184,7 +96432,7 @@
96184
96432
  __props.hasFilters ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
96185
96433
  vue.renderSlot(_ctx.$slots, "filters", {}, void 0, true)
96186
96434
  ])) : vue.createCommentVNode("", true),
96187
- __props.selectMode === vue.unref(SelectMode).ALL || selectedItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(BmsAlert, {
96435
+ __props.selectMode === vue.unref(SelectMode).ALL || selectedItems.value.length > 0 && __props.selectMode !== vue.unref(SelectMode).SINGLE ? (vue.openBlock(), vue.createBlock(BmsAlert, {
96188
96436
  key: 1,
96189
96437
  type: vue.unref(StatusType).Information,
96190
96438
  dismissable: false,
@@ -96198,7 +96446,7 @@
96198
96446
  _cache[1] || (_cache[1] = vue.createElementVNode("strong", null, "1", -1)),
96199
96447
  _cache[2] || (_cache[2] = vue.createTextVNode(" élément du tableau est sélectionné. ", -1))
96200
96448
  ], 64)) : (vue.openBlock(), vue.createElementBlock("strong", _hoisted_8$2, vue.toDisplayString(selectedItems.value.length) + " éléments du tableau sont sélectionnés. ", 1)),
96201
- __props.totalSize < __props.maxSelectedSize && __props.selectMode !== vue.unref(SelectMode).SINGLE ? (vue.openBlock(), vue.createElementBlock("span", {
96449
+ __props.totalSize < __props.maxSelectedSize ? (vue.openBlock(), vue.createElementBlock("span", {
96202
96450
  key: 2,
96203
96451
  class: "select-mode-all",
96204
96452
  onClick: selectAll
@@ -96342,7 +96590,7 @@
96342
96590
  }
96343
96591
  });
96344
96592
 
96345
- const UiBmsTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-45f34152"]]);
96593
+ const UiBmsTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-c7d4abaf"]]);
96346
96594
 
96347
96595
  const _hoisted_1$a = { class: "filter-button-container" };
96348
96596
  const _hoisted_2$8 = {
@@ -96364,7 +96612,7 @@
96364
96612
  );
96365
96613
  return (_ctx, _cache) => {
96366
96614
  return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$a, [
96367
- vue.createVNode(_sfc_main$1p, {
96615
+ vue.createVNode(_sfc_main$1q, {
96368
96616
  class: "filter-button",
96369
96617
  color: __props.isFilterVisible ? vue.unref(StatusType).Default : vue.unref(StatusType).Information,
96370
96618
  mode: __props.isFilterVisible ? "fill" : "ghost",
@@ -98609,7 +98857,7 @@
98609
98857
  _cache[2] || (_cache[2] = vue.createTextVNode(" Recherche avancée ", -1))
98610
98858
  ]),
98611
98859
  vue.createElementVNode("span", _hoisted_4$3, [
98612
- __props.canSaveFilters ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
98860
+ __props.canSaveFilters ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
98613
98861
  key: 0,
98614
98862
  class: "save",
98615
98863
  tooltipText: "Sauvegarder le filtre",
@@ -98620,7 +98868,7 @@
98620
98868
  ]),
98621
98869
  _: 1
98622
98870
  })) : vue.createCommentVNode("", true),
98623
- vue.createVNode(_sfc_main$1n, {
98871
+ vue.createVNode(_sfc_main$1o, {
98624
98872
  class: "reset",
98625
98873
  tooltipText: "Vider les champs",
98626
98874
  onClick: reset
@@ -103273,7 +103521,7 @@
103273
103521
  class: "bms-notification__icon"
103274
103522
  })),
103275
103523
  vue.createElementVNode("div", _hoisted_2$4, vue.toDisplayString(__props.notification.text), 1),
103276
- vue.createVNode(_sfc_main$1n, {
103524
+ vue.createVNode(_sfc_main$1o, {
103277
103525
  class: "bms-notification__close-button",
103278
103526
  onClick: closeNotification
103279
103527
  }, {
@@ -103514,7 +103762,7 @@
103514
103762
  vue.createElementVNode("div", null, [
103515
103763
  vue.createElementVNode("div", _hoisted_5$1, [
103516
103764
  vue.createElementVNode("span", _hoisted_6$1, vue.toDisplayString(__props.problem.detail), 1),
103517
- vue.createVNode(vue.unref(_sfc_main$1n), {
103765
+ vue.createVNode(vue.unref(_sfc_main$1o), {
103518
103766
  class: "copyToClipboardButton",
103519
103767
  onClick: _cache[1] || (_cache[1] = ($event) => onCopyToClipboard(__props.problem.detail))
103520
103768
  }, {
@@ -103549,7 +103797,7 @@
103549
103797
  vue.createElementVNode("div", null, [
103550
103798
  vue.createElementVNode("div", _hoisted_8$1, [
103551
103799
  vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(__props.problem.correlationId), 1),
103552
- vue.createVNode(vue.unref(_sfc_main$1n), {
103800
+ vue.createVNode(vue.unref(_sfc_main$1o), {
103553
103801
  class: "copyToClipboardButton",
103554
103802
  onClick: _cache[3] || (_cache[3] = ($event) => onCopyToClipboard(__props.problem.detail))
103555
103803
  }, {
@@ -103759,7 +104007,7 @@
103759
104007
  );
103760
104008
  return (_ctx, _cache) => {
103761
104009
  return isFeatureFlippingOn.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
103762
- vue.createVNode(_sfc_main$1o, {
104010
+ vue.createVNode(_sfc_main$1p, {
103763
104011
  onClick: _cache[0] || (_cache[0] = ($event) => emit("click")),
103764
104012
  mode: vue.unref(StatusType).Danger
103765
104013
  }, {
@@ -106056,12 +106304,13 @@
106056
106304
 
106057
106305
  const createBmsUi = () => ({
106058
106306
  install: (app) => {
106059
- app.component("BmsButton", _sfc_main$1o);
106060
- app.component("BmsIconButton", _sfc_main$1n);
106307
+ app.component("BmsButton", _sfc_main$1p);
106308
+ app.component("BmsIconButton", _sfc_main$1o);
106061
106309
  app.component("BmsAlert", BmsAlert);
106062
106310
  app.component("BmsBadge", BmsBadge);
106063
106311
  app.component("BmsCaption", BmsCaption);
106064
106312
  app.component("BmsCircularProgress", BmsCircularProgress);
106313
+ app.component("BmsGhost", BmsGhost);
106065
106314
  app.component("BmsLoader", BmsLoader);
106066
106315
  app.component("BmsTooltip", BmsTooltip);
106067
106316
  app.component("BmsAutocomplete", BmsAutocomplete);
@@ -106103,7 +106352,7 @@
106103
106352
  app.component("BmsBackButton", BmsBackButton);
106104
106353
  app.component("BmsBreadcrumb", BmsBreadcrumb);
106105
106354
  app.component("BmsFixedMenu", BmsFixedMenu);
106106
- app.component("BmsLink", _sfc_main$1r);
106355
+ app.component("BmsLink", _sfc_main$1s);
106107
106356
  app.component("BmsMenu", BmsMenu);
106108
106357
  app.component("BmsMenuNav", BmsMenuNav);
106109
106358
  app.component("BmsShortLinkMenu", BmsShortLinkMenu);
@@ -106127,7 +106376,7 @@
106127
106376
  exports.BmsBadge = BmsBadge;
106128
106377
  exports.BmsBetweenInput = BmsBetweenInput;
106129
106378
  exports.BmsBreadcrumb = BmsBreadcrumb;
106130
- exports.BmsButton = _sfc_main$1o;
106379
+ exports.BmsButton = _sfc_main$1p;
106131
106380
  exports.BmsCaption = BmsCaption;
106132
106381
  exports.BmsCard = BmsCard;
106133
106382
  exports.BmsChip = BmsChip;
@@ -106140,9 +106389,10 @@
106140
106389
  exports.BmsFixedMenu = BmsFixedMenu;
106141
106390
  exports.BmsFloatingWindow = BmsFloatingWindow;
106142
106391
  exports.BmsForm = BmsForm;
106392
+ exports.BmsGhost = BmsGhost;
106143
106393
  exports.BmsHeader = BmsHeader;
106144
106394
  exports.BmsHeaderTitle = BmsHeaderTitle;
106145
- exports.BmsIconButton = _sfc_main$1n;
106395
+ exports.BmsIconButton = _sfc_main$1o;
106146
106396
  exports.BmsInputBooleanCheckbox = _sfc_main$16;
106147
106397
  exports.BmsInputCheckboxCaption = BmsInputCheckboxCaption;
106148
106398
  exports.BmsInputCheckboxCaptionGroup = BmsInputCheckboxCaptionGroup;
@@ -106157,7 +106407,7 @@
106157
106407
  exports.BmsInputRadioGroup = BmsInputRadioGroup;
106158
106408
  exports.BmsInputText = _sfc_main$11;
106159
106409
  exports.BmsInputToggle = BmsInputToggle;
106160
- exports.BmsLink = _sfc_main$1r;
106410
+ exports.BmsLink = _sfc_main$1s;
106161
106411
  exports.BmsLoader = BmsLoader;
106162
106412
  exports.BmsMenu = BmsMenu;
106163
106413
  exports.BmsMenuNav = BmsMenuNav;