@ouestfrance/sipa-bms-ui 8.20.0 → 8.22.0

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.
Files changed (46) hide show
  1. package/dist/components/feedback/BmsGhost.vue.d.ts +24 -0
  2. package/dist/components/form/BmsAutocomplete.vue.d.ts +2 -2
  3. package/dist/components/form/BmsFilePicker.vue.d.ts +4 -0
  4. package/dist/components/form/BmsMultiSelect.vue.d.ts +4 -0
  5. package/dist/components/form/BmsServerAutocomplete.vue.d.ts +2 -2
  6. package/dist/components/form/RawAutocomplete.vue.d.ts +11 -3
  7. package/dist/components/layout/BmsFloatingWindow.vue.d.ts +20 -1
  8. package/dist/index.d.ts +2 -1
  9. package/dist/mockServiceWorker.js +1 -1
  10. package/dist/sipa-bms-ui.css +117 -393
  11. package/dist/sipa-bms-ui.es.js +447 -129
  12. package/dist/sipa-bms-ui.es.js.map +1 -1
  13. package/dist/sipa-bms-ui.umd.js +449 -130
  14. package/dist/sipa-bms-ui.umd.js.map +1 -1
  15. package/package.json +12 -12
  16. package/src/assets/scss/_conf.scss +0 -1
  17. package/src/assets/scss/app.scss +0 -1
  18. package/src/components/button/BmsAllButtons.stories.js +50 -23
  19. package/src/components/button/BmsButton.stories.js +153 -59
  20. package/src/components/feedback/BmsGhost.stories.js +60 -0
  21. package/src/components/feedback/BmsGhost.vue +82 -0
  22. package/src/components/feedback/BmsTooltip.vue +15 -1
  23. package/src/components/feedback/UiTooltip.vue +9 -1
  24. package/src/components/form/BmsFilePicker.stories.js +6 -1
  25. package/src/components/form/BmsFilePicker.vue +10 -5
  26. package/src/components/form/BmsMultiSelect.vue +32 -25
  27. package/src/components/form/BmsSelect.vue +18 -16
  28. package/src/components/form/RawAutocomplete.vue +16 -4
  29. package/src/components/form/RawInputText.vue +1 -0
  30. package/src/components/layout/BmsFloatingWindow.stories.js +226 -12
  31. package/src/components/layout/BmsFloatingWindow.vue +286 -13
  32. package/src/components/layout/BmsModal.stories.js +2 -1
  33. package/src/components/layout/BmsSplitWindow.vue +0 -1
  34. package/src/components/table/BmsTableFilters.vue +1 -1
  35. package/src/documentation/button/primaryButton.mdx +142 -0
  36. package/src/documentation/{secondaryButton.mdx → button/secondaryButton.mdx} +2 -2
  37. package/src/documentation/foundation/contributing.mdx +72 -0
  38. package/src/documentation/foundation/gettingstarted.mdx +7 -0
  39. package/src/documentation/{principles.mdx → foundation/principles.mdx} +9 -9
  40. package/src/documentation/icons.mdx +43 -0
  41. package/src/index.ts +3 -0
  42. package/src/showroom/pages/forms.vue +10 -1
  43. package/src/assets/scss/_formkit.scss +0 -353
  44. package/src/components/form/Form.stories.js +0 -35
  45. package/src/documentation/primaryButton.mdx +0 -20
  46. /package/src/documentation/{button.mdx → button/button.mdx} +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, resolveComponent, createElementBlock, createBlock, unref, openBlock, mergeProps, renderSlot, withCtx, createElementVNode, useAttrs, normalizeClass, normalizeProps, guardReactiveProps, createVNode, h as h$1, createCommentVNode, resolveDynamicComponent, toDisplayString, useCssVars, createStaticVNode, onMounted, nextTick, watch, getCurrentInstance, getCurrentScope, onScopeDispose, hasInjectionContext, inject, toValue, onUnmounted, shallowRef, watchEffect, ref, Transition, withDirectives, normalizeStyle, vShow, Fragment, Teleport, createTextVNode, renderList, withModifiers, mergeModels, useModel, createSlots, useSlots, vModelCheckbox, toRaw, onBeforeUnmount, vModelRadio, withKeys, vModelText, reactive, useTemplateRef, isVNode, isRef, TransitionGroup, createApp } from 'vue';
1
+ import { defineComponent, computed, resolveComponent, createElementBlock, createBlock, unref, openBlock, mergeProps, renderSlot, withCtx, createElementVNode, useAttrs, normalizeClass, normalizeProps, guardReactiveProps, createVNode, h as h$1, createCommentVNode, resolveDynamicComponent, toDisplayString, mergeModels, useModel, ref, onBeforeMount, onBeforeUnmount, normalizeStyle, useCssVars, createStaticVNode, onMounted, nextTick, watch, getCurrentInstance, getCurrentScope, onScopeDispose, hasInjectionContext, inject, toValue, onUnmounted, shallowRef, watchEffect, Transition, withDirectives, vShow, Fragment, Teleport, createTextVNode, renderList, withModifiers, withKeys, createSlots, useSlots, vModelCheckbox, toRaw, vModelRadio, vModelText, reactive, useTemplateRef, isVNode, isRef, TransitionGroup, createApp } from 'vue';
2
2
  import { useRouter, useRoute } from 'vue-router';
3
3
 
4
4
  var CocardeBorder = /* @__PURE__ */ ((CocardeBorder2) => {
@@ -329,7 +329,7 @@ const getHeaderClasses = (header, sort) => {
329
329
 
330
330
  const _hoisted_1$$ = ["href", "target"];
331
331
  const _hoisted_2$G = ["href", "onClick", "target"];
332
- const _sfc_main$1r = /* @__PURE__ */ defineComponent({
332
+ const _sfc_main$1s = /* @__PURE__ */ defineComponent({
333
333
  __name: "BmsLink",
334
334
  props: {
335
335
  to: {},
@@ -379,7 +379,7 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
379
379
  });
380
380
 
381
381
  const _hoisted_1$_ = ["type"];
382
- const _sfc_main$1q = /* @__PURE__ */ defineComponent({
382
+ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
383
383
  __name: "UiButtonLink",
384
384
  props: {
385
385
  type: {},
@@ -404,7 +404,7 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
404
404
  type: __props.type
405
405
  }, [
406
406
  renderSlot(_ctx.$slots, "default")
407
- ], 10, _hoisted_1$_)) : (openBlock(), createBlock(_sfc_main$1r, {
407
+ ], 10, _hoisted_1$_)) : (openBlock(), createBlock(_sfc_main$1s, {
408
408
  key: 1,
409
409
  to: __props.to,
410
410
  target: __props.target,
@@ -422,7 +422,7 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
422
422
  const _hoisted_1$Z = { class: "start" };
423
423
  const _hoisted_2$F = { class: "content" };
424
424
  const _hoisted_3$m = { class: "end" };
425
- const _sfc_main$1p = /* @__PURE__ */ defineComponent({
425
+ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
426
426
  __name: "UiButton",
427
427
  props: {
428
428
  type: { default: "button" },
@@ -435,7 +435,7 @@ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
435
435
  setup(__props) {
436
436
  const props = __props;
437
437
  return (_ctx, _cache) => {
438
- return openBlock(), createBlock(_sfc_main$1q, normalizeProps(guardReactiveProps(props)), {
438
+ return openBlock(), createBlock(_sfc_main$1r, normalizeProps(guardReactiveProps(props)), {
439
439
  default: withCtx(() => [
440
440
  createElementVNode("span", _hoisted_1$Z, [
441
441
  renderSlot(_ctx.$slots, "start")
@@ -453,7 +453,7 @@ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
453
453
  }
454
454
  });
455
455
 
456
- const _sfc_main$1o = /* @__PURE__ */ defineComponent({
456
+ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
457
457
  __name: "BmsButton",
458
458
  props: {
459
459
  type: { default: "primary" },
@@ -477,7 +477,7 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
477
477
  }
478
478
  });
479
479
  return (_ctx, _cache) => {
480
- return openBlock(), createBlock(_sfc_main$1p, {
480
+ return openBlock(), createBlock(_sfc_main$1q, {
481
481
  mode: uiMode.value,
482
482
  color: __props.mode,
483
483
  to: __props.to,
@@ -499,7 +499,7 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
499
499
  }
500
500
  });
501
501
 
502
- const _sfc_main$1n = /* @__PURE__ */ defineComponent({
502
+ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
503
503
  __name: "BmsIconButton",
504
504
  props: {
505
505
  to: { default: null },
@@ -519,7 +519,7 @@ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
519
519
  direction: __props.tooltipDirection
520
520
  }, {
521
521
  default: withCtx(() => [
522
- createVNode(_sfc_main$1p, mergeProps(_ctx.$attrs, {
522
+ createVNode(_sfc_main$1q, mergeProps(_ctx.$attrs, {
523
523
  icon: "",
524
524
  to: __props.to,
525
525
  target: __props.target,
@@ -37445,7 +37445,7 @@ const lucideIcons = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.definePropert
37445
37445
  const _hoisted_1$Y = { class: "info-line" };
37446
37446
  const _hoisted_2$E = { class: "icon" };
37447
37447
  const _hoisted_3$l = { class: "message" };
37448
- const _sfc_main$1m = /* @__PURE__ */ defineComponent({
37448
+ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
37449
37449
  __name: "BmsAlert",
37450
37450
  props: {
37451
37451
  message: {},
@@ -37480,7 +37480,7 @@ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
37480
37480
  ], true)
37481
37481
  ]),
37482
37482
  renderSlot(_ctx.$slots, "action", {}, void 0, true),
37483
- __props.dismissable ? (openBlock(), createBlock(_sfc_main$1n, {
37483
+ __props.dismissable ? (openBlock(), createBlock(_sfc_main$1o, {
37484
37484
  key: 0,
37485
37485
  onClick: _cache[0] || (_cache[0] = ($event) => emits("dismiss"))
37486
37486
  }, {
@@ -37504,13 +37504,13 @@ const _export_sfc = (sfc, props) => {
37504
37504
  return target;
37505
37505
  };
37506
37506
 
37507
- const BmsAlert = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["__scopeId", "data-v-26caccdd"]]);
37507
+ const BmsAlert = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["__scopeId", "data-v-26caccdd"]]);
37508
37508
 
37509
37509
  const _hoisted_1$X = {
37510
37510
  key: 0,
37511
37511
  class: "ui-badge__container"
37512
37512
  };
37513
- const _sfc_main$1l = /* @__PURE__ */ defineComponent({
37513
+ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
37514
37514
  __name: "BmsBadge",
37515
37515
  props: {
37516
37516
  pending: { default: 0 },
@@ -37536,14 +37536,14 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
37536
37536
  }
37537
37537
  });
37538
37538
 
37539
- const BmsBadge = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-8a6297ca"]]);
37539
+ const BmsBadge = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["__scopeId", "data-v-8a6297ca"]]);
37540
37540
 
37541
37541
  const _hoisted_1$W = {
37542
37542
  key: 0,
37543
37543
  class: "icon"
37544
37544
  };
37545
37545
  const _hoisted_2$D = ["innerHTML"];
37546
- const _sfc_main$1k = /* @__PURE__ */ defineComponent({
37546
+ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
37547
37547
  __name: "BmsCaption",
37548
37548
  props: {
37549
37549
  caption: {}
@@ -37586,7 +37586,7 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
37586
37586
  }
37587
37587
  });
37588
37588
 
37589
- const BmsCaption = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-b08dd4e0"]]);
37589
+ const BmsCaption = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-b08dd4e0"]]);
37590
37590
 
37591
37591
  const _hoisted_1$V = { class: "circular-progress" };
37592
37592
  const _hoisted_2$C = {
@@ -37594,9 +37594,9 @@ const _hoisted_2$C = {
37594
37594
  viewBox: "0 0 100 100"
37595
37595
  };
37596
37596
  const _hoisted_3$k = { transform: "rotate(-90, 50, 50)" };
37597
- const _hoisted_4$d = ["stroke-dashoffset"];
37598
- const _hoisted_5$9 = { class: "percent" };
37599
- const _sfc_main$1j = /* @__PURE__ */ defineComponent({
37597
+ const _hoisted_4$c = ["stroke-dashoffset"];
37598
+ const _hoisted_5$8 = { class: "percent" };
37599
+ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
37600
37600
  __name: "BmsCircularProgress",
37601
37601
  props: ["progress"],
37602
37602
  setup(__props) {
@@ -37622,16 +37622,79 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
37622
37622
  "stroke-linecap": "round",
37623
37623
  "stroke-dashoffset": 283 - __props.progress * 283 / 100,
37624
37624
  "stroke-dasharray": "283"
37625
- }, null, 8, _hoisted_4$d)
37625
+ }, null, 8, _hoisted_4$c)
37626
37626
  ])
37627
37627
  ])) : createCommentVNode("", true),
37628
- createElementVNode("div", _hoisted_5$9, toDisplayString(__props.progress) + "%", 1)
37628
+ createElementVNode("div", _hoisted_5$8, toDisplayString(__props.progress) + "%", 1)
37629
37629
  ]);
37630
37630
  };
37631
37631
  }
37632
37632
  });
37633
37633
 
37634
- const BmsCircularProgress = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-7869acfb"]]);
37634
+ const BmsCircularProgress = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-7869acfb"]]);
37635
+
37636
+ const SCREEN_MARGIN = 10;
37637
+ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
37638
+ __name: "BmsGhost",
37639
+ props: /* @__PURE__ */ mergeModels({
37640
+ opacityWhenVisible: { default: 0.8 }
37641
+ }, {
37642
+ "modelValue": { type: Boolean, ...{
37643
+ default: false
37644
+ } },
37645
+ "modelModifiers": {}
37646
+ }),
37647
+ emits: ["update:modelValue"],
37648
+ setup(__props) {
37649
+ const visible = useModel(__props, "modelValue");
37650
+ const props = __props;
37651
+ const ghost = ref(null);
37652
+ const x = ref(0);
37653
+ const y = ref(0);
37654
+ onBeforeMount(() => {
37655
+ document.addEventListener("pointermove", onPointerMove);
37656
+ });
37657
+ onBeforeUnmount(() => {
37658
+ document.removeEventListener("pointermove", onPointerMove);
37659
+ });
37660
+ const onPointerMove = (e) => {
37661
+ e.preventDefault();
37662
+ e.stopPropagation();
37663
+ updateGhost(e.clientX, e.clientY);
37664
+ };
37665
+ const updateGhost = (posX, posY) => {
37666
+ if (!ghost.value) return;
37667
+ const rect = ghost.value.getBoundingClientRect();
37668
+ const screenWidth = window.innerWidth;
37669
+ const screenHeight = window.innerHeight;
37670
+ x.value = Math.max(
37671
+ Math.min(posX, screenWidth - rect.width - SCREEN_MARGIN),
37672
+ SCREEN_MARGIN
37673
+ );
37674
+ y.value = Math.max(
37675
+ Math.min(posY, screenHeight - rect.height - SCREEN_MARGIN),
37676
+ SCREEN_MARGIN
37677
+ );
37678
+ };
37679
+ return (_ctx, _cache) => {
37680
+ return openBlock(), createElementBlock("div", {
37681
+ ref_key: "ghost",
37682
+ ref: ghost,
37683
+ "aria-hidden": "true",
37684
+ class: "bms-ghost",
37685
+ style: normalizeStyle({
37686
+ "--ghost-x": `${x.value}px`,
37687
+ "--ghost-y": `${y.value}px`,
37688
+ opacity: visible.value ? props.opacityWhenVisible : 0
37689
+ })
37690
+ }, [
37691
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
37692
+ ], 4);
37693
+ };
37694
+ }
37695
+ });
37696
+
37697
+ const BmsGhost = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-205789ac"]]);
37635
37698
 
37636
37699
  const _hoisted_1$U = { class: "bms-loader" };
37637
37700
  function transformIntoPx(totransform) {
@@ -38012,6 +38075,58 @@ function useMutationObserver(target, callback, options = {}) {
38012
38075
  };
38013
38076
  }
38014
38077
 
38078
+ function createKeyPredicate(keyFilter) {
38079
+ if (typeof keyFilter === "function")
38080
+ return keyFilter;
38081
+ else if (typeof keyFilter === "string")
38082
+ return (event) => event.key === keyFilter;
38083
+ else if (Array.isArray(keyFilter))
38084
+ return (event) => keyFilter.includes(event.key);
38085
+ return () => true;
38086
+ }
38087
+ function onKeyStroke(...args) {
38088
+ let key;
38089
+ let handler;
38090
+ let options = {};
38091
+ if (args.length === 3) {
38092
+ key = args[0];
38093
+ handler = args[1];
38094
+ options = args[2];
38095
+ } else if (args.length === 2) {
38096
+ if (typeof args[1] === "object") {
38097
+ key = true;
38098
+ handler = args[0];
38099
+ options = args[1];
38100
+ } else {
38101
+ key = args[0];
38102
+ handler = args[1];
38103
+ }
38104
+ } else {
38105
+ key = true;
38106
+ handler = args[0];
38107
+ }
38108
+ const {
38109
+ target = defaultWindow,
38110
+ eventName = "keydown",
38111
+ passive = false,
38112
+ dedupe = false
38113
+ } = options;
38114
+ const predicate = createKeyPredicate(key);
38115
+ const listener = (e) => {
38116
+ if (e.repeat && toValue(dedupe))
38117
+ return;
38118
+ if (predicate(e))
38119
+ handler(e);
38120
+ };
38121
+ return useEventListener(target, eventName, listener, passive);
38122
+ }
38123
+ function onKeyDown(key, handler, options = {}) {
38124
+ return onKeyStroke(key, handler, { ...options, eventName: "keydown" });
38125
+ }
38126
+ function onKeyUp(key, handler, options = {}) {
38127
+ return onKeyStroke(key, handler, { ...options, eventName: "keyup" });
38128
+ }
38129
+
38015
38130
  const ssrWidthSymbol = Symbol("vueuse-ssr-width");
38016
38131
  // @__NO_SIDE_EFFECTS__
38017
38132
  function useSSRWidth() {
@@ -38567,10 +38682,11 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
38567
38682
  const calculatedTooltipTransform = ref("none");
38568
38683
  const windowSize = useWindowSize();
38569
38684
  const { getTooltipTranslatePosition } = useTooltipHelper();
38685
+ const attrs = useAttrs();
38570
38686
  const props = __props;
38571
38687
  const anchorElement = ref(void 0);
38572
38688
  const classes = computed(
38573
- () => `bms-tooltip__text bms-tooltip__text--${props.direction}`
38689
+ () => `bms-tooltip__text bms-tooltip__text--${props.direction} ${attrs.class ? attrs.class : ""}`
38574
38690
  );
38575
38691
  const setTooltipPosition = async () => {
38576
38692
  if (props.visible && JSON.stringify(anchorElement.value) !== JSON.stringify(props.getAnchorElementValues())) {
@@ -38628,7 +38744,7 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
38628
38744
  }
38629
38745
  });
38630
38746
 
38631
- const UiTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-bf923418"]]);
38747
+ const UiTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-4ae8c6bb"]]);
38632
38748
 
38633
38749
  const _sfc_main$1g = /* @__PURE__ */ defineComponent({
38634
38750
  __name: "BmsTooltip",
@@ -38639,11 +38755,16 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
38639
38755
  activated: { type: Boolean, default: true }
38640
38756
  },
38641
38757
  setup(__props, { expose: __expose }) {
38758
+ const attrs = useAttrs();
38642
38759
  const tooltip = ref(null);
38643
38760
  const tooltipAnchor = ref();
38644
38761
  const showToolTip = ref(true);
38645
38762
  const { isOutside } = useMouseInElement(tooltipAnchor);
38646
38763
  const anchorVisibility = useElementVisibility(tooltipAnchor);
38764
+ const classes = computed(() => {
38765
+ const parentClasses = attrs.class;
38766
+ return parentClasses?.split(" ").map((cls) => `${cls}__bms-tooltip`).join(" ") ?? "";
38767
+ });
38647
38768
  const isUnderOverlay = () => {
38648
38769
  const overlays = Array.from(document.getElementsByClassName("overlay"));
38649
38770
  if (overlays.length === 0) {
@@ -38685,7 +38806,8 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
38685
38806
  key: 0,
38686
38807
  visible: showToolTip.value && __props.activated,
38687
38808
  direction: __props.direction,
38688
- getAnchorElementValues
38809
+ getAnchorElementValues,
38810
+ class: normalizeClass(classes.value)
38689
38811
  }, {
38690
38812
  default: withCtx(() => [
38691
38813
  renderSlot(_ctx.$slots, "tooltipText", {}, () => [
@@ -38693,7 +38815,7 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
38693
38815
  ], true)
38694
38816
  ]),
38695
38817
  _: 3
38696
- }, 8, ["visible", "direction"])) : createCommentVNode("", true)
38818
+ }, 8, ["visible", "direction", "class"])) : createCommentVNode("", true)
38697
38819
  ])),
38698
38820
  __props.activated ? (openBlock(), createElementBlock("div", {
38699
38821
  key: 0,
@@ -38709,7 +38831,7 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
38709
38831
  }
38710
38832
  });
38711
38833
 
38712
- const BmsTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-b033f8af"]]);
38834
+ const BmsTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-5c0e03ac"]]);
38713
38835
 
38714
38836
  const _hoisted_1$T = {
38715
38837
  class: "options-list",
@@ -38818,7 +38940,7 @@ const FieldDatalist = /* @__PURE__ */ _export_sfc(_sfc_main$1f, [["__scopeId", "
38818
38940
  const _hoisted_1$S = { class: "field__input-label" };
38819
38941
  const _hoisted_2$A = { class: "field__input-icon field__input-icon--start" };
38820
38942
  const _hoisted_3$j = ["type", "value", "placeholder", "required", "disabled", "max", "min", "minlength", "maxlength"];
38821
- const _hoisted_4$c = { class: "field__input-icon field__input-icon--end" };
38943
+ const _hoisted_4$b = { class: "field__input-icon field__input-icon--end" };
38822
38944
  const _sfc_main$1e = /* @__PURE__ */ defineComponent({
38823
38945
  __name: "RawInputText",
38824
38946
  props: {
@@ -38890,9 +39012,10 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
38890
39012
  maxlength: __props.maxlength,
38891
39013
  onBlur: _cache[0] || (_cache[0] = ($event) => $emits("blur")),
38892
39014
  onInput,
38893
- onFocus: _cache[1] || (_cache[1] = ($event) => $emits("focus"))
39015
+ onFocus: _cache[1] || (_cache[1] = ($event) => $emits("focus")),
39016
+ onClick: _cache[2] || (_cache[2] = ($event) => $emits("click"))
38894
39017
  }, null, 40, _hoisted_3$j),
38895
- createElementVNode("span", _hoisted_4$c, [
39018
+ createElementVNode("span", _hoisted_4$b, [
38896
39019
  renderSlot(_ctx.$slots, "icon-end", {}, void 0, true)
38897
39020
  ])
38898
39021
  ], 2);
@@ -38900,7 +39023,7 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
38900
39023
  }
38901
39024
  });
38902
39025
 
38903
- const RawInputText = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["__scopeId", "data-v-4c74b915"]]);
39026
+ const RawInputText = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["__scopeId", "data-v-d5f058e1"]]);
38904
39027
 
38905
39028
  const _sfc_main$1d = /* @__PURE__ */ defineComponent({
38906
39029
  __name: "RawAutocomplete",
@@ -38924,7 +39047,7 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
38924
39047
  "modelValue": { required: true },
38925
39048
  "modelModifiers": {}
38926
39049
  }),
38927
- emits: /* @__PURE__ */ mergeModels(["addNewOption", "select"], ["update:modelValue"]),
39050
+ emits: /* @__PURE__ */ mergeModels(["addNewOption", "select", "blur", "focus", "click", "input"], ["update:modelValue"]),
38928
39051
  setup(__props, { expose: __expose, emit: __emit }) {
38929
39052
  const props = __props;
38930
39053
  const modelValue = useModel(__props, "modelValue");
@@ -38941,6 +39064,12 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
38941
39064
  onClickOutside(rawInput, closeDatalist, {
38942
39065
  ignore: [".datalist-option", ".icon-toggle-button", ".icon-clear"]
38943
39066
  });
39067
+ const onBlur = () => {
39068
+ emits("blur");
39069
+ closeDatalist();
39070
+ };
39071
+ onKeyUp("Escape", onBlur);
39072
+ onKeyUp("Tab", onBlur);
38944
39073
  const classes = computed(() => {
38945
39074
  return { "is-error": props.errors?.length, "is-disabled": props.disabled };
38946
39075
  });
@@ -38978,8 +39107,8 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
38978
39107
  }
38979
39108
  }
38980
39109
  );
38981
- const onFocus = () => {
38982
- openDatalist();
39110
+ const onClick = () => {
39111
+ isDatalistOpen.value = !isDatalistOpen.value;
38983
39112
  };
38984
39113
  const onInput = () => {
38985
39114
  openDatalist();
@@ -39041,7 +39170,8 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
39041
39170
  required: __props.required,
39042
39171
  small: __props.small,
39043
39172
  onInput,
39044
- onFocus
39173
+ onClick,
39174
+ onKeyup: withKeys(openDatalist, ["down"])
39045
39175
  }, {
39046
39176
  "icon-start": withCtx(() => [
39047
39177
  renderSlot(_ctx.$slots, "icon-start", {}, void 0, true)
@@ -39074,7 +39204,7 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
39074
39204
  }
39075
39205
  });
39076
39206
 
39077
- const RawAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["__scopeId", "data-v-15343285"]]);
39207
+ const RawAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["__scopeId", "data-v-46667c72"]]);
39078
39208
 
39079
39209
  const _hoisted_1$R = ["innerHTML"];
39080
39210
  const _hoisted_2$z = ["innerHTML"];
@@ -39434,10 +39564,12 @@ const BmsChip = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["__scopeId", "data-v
39434
39564
  const _hoisted_1$P = { class: "file-upload" };
39435
39565
  const _hoisted_2$x = { class: "file-upload__label" };
39436
39566
  const _hoisted_3$i = { key: 1 };
39437
- const _hoisted_4$b = { class: "file-upload__file-name" };
39567
+ const _hoisted_4$a = { class: "file-upload__file-name" };
39438
39568
  const _sfc_main$18 = /* @__PURE__ */ defineComponent({
39439
39569
  __name: "BmsFilePicker",
39440
39570
  props: {
39571
+ dragOverMessage: { default: "Déposer votre image ici" },
39572
+ dragOffMessage: { default: "Glissez votre image ici ou cliquez pour parcourir" },
39441
39573
  modelValue: {},
39442
39574
  limit: { default: 10 }
39443
39575
  },
@@ -39517,9 +39649,9 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
39517
39649
  }, [
39518
39650
  createElementVNode("label", _hoisted_2$x, [
39519
39651
  isDragOver.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39520
- createTextVNode("Déposer votre image ici")
39652
+ createTextVNode(toDisplayString(__props.dragOverMessage), 1)
39521
39653
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
39522
- createTextVNode("Glissez votre image ici ou cliquez pour parcourir")
39654
+ createTextVNode(toDisplayString(__props.dragOffMessage), 1)
39523
39655
  ], 64)),
39524
39656
  createElementVNode("input", {
39525
39657
  "data-testid": "file-upload-input-file",
@@ -39533,8 +39665,8 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
39533
39665
  key: file.name,
39534
39666
  class: "file-upload__file"
39535
39667
  }, [
39536
- createElementVNode("span", _hoisted_4$b, toDisplayString(file.name), 1),
39537
- createVNode(unref(_sfc_main$1n), {
39668
+ createElementVNode("span", _hoisted_4$a, toDisplayString(file.name), 1),
39669
+ createVNode(unref(_sfc_main$1o), {
39538
39670
  onClick: ($event) => onDeleteFile(file)
39539
39671
  }, {
39540
39672
  default: withCtx(() => [
@@ -39550,7 +39682,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
39550
39682
  }
39551
39683
  });
39552
39684
 
39553
- const BmsFilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["__scopeId", "data-v-c892a845"]]);
39685
+ const BmsFilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["__scopeId", "data-v-4aaf4346"]]);
39554
39686
 
39555
39687
  const _hoisted_1$O = ["disabled", "name", "value"];
39556
39688
  const _hoisted_2$w = {
@@ -68837,7 +68969,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
68837
68969
  src: getImageSrc(file),
68838
68970
  class: "file-upload__file-img"
68839
68971
  }, null, 8, _hoisted_2$v)) : (openBlock(), createElementBlock("span", _hoisted_3$h, toDisplayString(file.name), 1)),
68840
- createVNode(_sfc_main$1n, {
68972
+ createVNode(_sfc_main$1o, {
68841
68973
  mode: unref(StatusType).Danger,
68842
68974
  onClick: withModifiers(($event) => onDeleteFile(file), ["prevent"]),
68843
68975
  class: "close-button"
@@ -69303,7 +69435,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
69303
69435
  }, [
69304
69436
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
69305
69437
  createElementVNode("span", _hoisted_1$I, [
69306
- __props.canBeDismissed ? (openBlock(), createBlock(unref(_sfc_main$1n), {
69438
+ __props.canBeDismissed ? (openBlock(), createBlock(unref(_sfc_main$1o), {
69307
69439
  key: 0,
69308
69440
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emits("dismiss"), ["stop"]))
69309
69441
  }, {
@@ -69404,26 +69536,37 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
69404
69536
  "modelValue": { default: [] },
69405
69537
  "modelModifiers": {}
69406
69538
  }),
69407
- emits: ["update:modelValue"],
69408
- setup(__props) {
69539
+ emits: /* @__PURE__ */ mergeModels(["select", "input"], ["update:modelValue"]),
69540
+ setup(__props, { emit: __emit }) {
69409
69541
  const props = __props;
69542
+ const emits = __emit;
69543
+ const modelValue = useModel(__props, "modelValue");
69410
69544
  const inputElement = ref(null);
69411
69545
  const isDatalistOpen = ref(false);
69546
+ const searching = ref("");
69412
69547
  const closeDatalist = () => isDatalistOpen.value = false;
69413
69548
  const openDatalist = () => {
69414
69549
  if (!props.disabled) {
69415
69550
  isDatalistOpen.value = true;
69416
69551
  }
69417
69552
  };
69418
- const searching = ref("");
69419
- const modelValue = useModel(__props, "modelValue");
69420
- onClickOutside(inputElement, closeDatalist, {
69421
- ignore: [".datalist-option", ".icon-toggle-button"]
69422
- });
69423
69553
  const onBackspace = () => {
69424
69554
  if (searching.value.length === 0 && modelValue.value && modelValue.value.length > 0)
69425
69555
  modelValue.value.splice(-1);
69426
69556
  };
69557
+ onClickOutside(inputElement, closeDatalist, {
69558
+ ignore: [".datalist-option", ".icon-toggle-button"]
69559
+ });
69560
+ onKeyUp("Escape", closeDatalist);
69561
+ onKeyUp("Tab", closeDatalist);
69562
+ onKeyDown("Backspace", onBackspace);
69563
+ const onSelectClick = () => {
69564
+ isDatalistOpen.value = !isDatalistOpen.value;
69565
+ };
69566
+ const onInput = (e) => {
69567
+ emits("input", e);
69568
+ openDatalist();
69569
+ };
69427
69570
  const setFocus = () => {
69428
69571
  if (inputElement.value) {
69429
69572
  inputElement.value.focus();
@@ -69436,8 +69579,8 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
69436
69579
  modelValue.value = (modelValue.value ?? []).concat(option.value);
69437
69580
  }
69438
69581
  searching.value = "";
69582
+ emits("select", option);
69439
69583
  setFocus();
69440
- closeDatalist();
69441
69584
  };
69442
69585
  const removeOption = (value) => {
69443
69586
  modelValue.value = (modelValue.value ?? []).filter((o) => o !== value);
@@ -69469,7 +69612,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
69469
69612
  "model-value": modelValue.value,
69470
69613
  open: isDatalistOpen.value,
69471
69614
  onSelect,
69472
- onClick: setFocus
69615
+ onClick: onSelectClick
69473
69616
  }), {
69474
69617
  input: withCtx(() => [
69475
69618
  createElementVNode("div", _hoisted_1$H, [
@@ -69493,13 +69636,8 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
69493
69636
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searching.value = $event),
69494
69637
  class: "search",
69495
69638
  disabled: __props.disabled,
69496
- onFocus: openDatalist,
69497
- onClick: openDatalist,
69498
- onKeyup: [
69499
- withKeys(openDatalist, ["down"]),
69500
- withKeys(onBackspace, ["backspace"])
69501
- ],
69502
- onInput: openDatalist
69639
+ onInput,
69640
+ onKeyup: withKeys(openDatalist, ["down"])
69503
69641
  }, null, 40, _hoisted_2$s), [
69504
69642
  [vModelText, searching.value]
69505
69643
  ])
@@ -69512,12 +69650,10 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
69512
69650
  })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
69513
69651
  isDatalistOpen.value ? (openBlock(), createBlock(unref(ChevronUp), {
69514
69652
  key: 0,
69515
- class: "icon icon-toggle-button",
69516
- onClick: closeDatalist
69653
+ class: "icon icon-toggle-button"
69517
69654
  })) : (openBlock(), createBlock(unref(ChevronDown), {
69518
69655
  key: 1,
69519
- class: "icon icon-toggle-button",
69520
- onClick: openDatalist
69656
+ class: "icon icon-toggle-button"
69521
69657
  }))
69522
69658
  ], 64))
69523
69659
  ])
@@ -69540,7 +69676,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
69540
69676
  }
69541
69677
  });
69542
69678
 
69543
- const BmsMultiSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-b8b817ba"]]);
69679
+ const BmsMultiSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-970d00fe"]]);
69544
69680
 
69545
69681
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
69546
69682
  __name: "BmsSearch",
@@ -86846,6 +86982,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
86846
86982
  emits: /* @__PURE__ */ mergeModels(["select"], ["update:modelValue"]),
86847
86983
  setup(__props, { expose: __expose, emit: __emit }) {
86848
86984
  const props = __props;
86985
+ const emits = __emit;
86849
86986
  const modelValue = useModel(__props, "modelValue");
86850
86987
  const inputElement = ref(null);
86851
86988
  const isDatalistOpen = ref(props.open);
@@ -86858,10 +86995,11 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
86858
86995
  setFocus();
86859
86996
  }
86860
86997
  };
86861
- const emits = __emit;
86862
86998
  onClickOutside(inputElement, closeDatalist, {
86863
86999
  ignore: [".datalist-option", ".icon-toggle-button"]
86864
87000
  });
87001
+ onKeyUp("Escape", closeDatalist);
87002
+ onKeyUp("Tab", closeDatalist);
86865
87003
  const displayValue = computed(() => {
86866
87004
  const option = props.options.find(
86867
87005
  (o) => _.isEqual(o.value, modelValue.value)
@@ -86880,6 +87018,12 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
86880
87018
  setFocus();
86881
87019
  closeDatalist();
86882
87020
  };
87021
+ const onSelectClick = () => {
87022
+ isDatalistOpen.value = !isDatalistOpen.value;
87023
+ if (isDatalistOpen) {
87024
+ setFocus();
87025
+ }
87026
+ };
86883
87027
  __expose({
86884
87028
  setFocus
86885
87029
  });
@@ -86887,7 +87031,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
86887
87031
  return openBlock(), createBlock(RawSelect, mergeProps(_ctx.$props, {
86888
87032
  open: isDatalistOpen.value,
86889
87033
  onSelect,
86890
- onClick: setFocus
87034
+ onClick: onSelectClick
86891
87035
  }), {
86892
87036
  input: withCtx(() => [
86893
87037
  createElementVNode("input", {
@@ -86900,19 +87044,15 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
86900
87044
  placeholder: __props.placeholder,
86901
87045
  required: __props.required,
86902
87046
  disabled: __props.disabled,
86903
- onFocus: openDatalist,
86904
- onClick: openDatalist,
86905
87047
  onKeyup: withKeys(openDatalist, ["down"])
86906
87048
  }, null, 40, _hoisted_1$G),
86907
87049
  createElementVNode("span", _hoisted_2$r, [
86908
87050
  isDatalistOpen.value ? (openBlock(), createBlock(unref(ChevronUp), {
86909
87051
  key: 0,
86910
- class: "icon-toggle-button",
86911
- onClick: closeDatalist
87052
+ class: "icon-toggle-button"
86912
87053
  })) : (openBlock(), createBlock(unref(ChevronDown), {
86913
87054
  key: 1,
86914
- class: "icon-toggle-button",
86915
- onClick: openDatalist
87055
+ class: "icon-toggle-button"
86916
87056
  }))
86917
87057
  ])
86918
87058
  ]),
@@ -86922,7 +87062,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
86922
87062
  }
86923
87063
  });
86924
87064
 
86925
- const BmsSelect = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-7aef9c6c"]]);
87065
+ const BmsSelect = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-fa4e9db0"]]);
86926
87066
 
86927
87067
  const _hoisted_1$F = ["value", "required", "placeholder", "disabled"];
86928
87068
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
@@ -87068,7 +87208,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
87068
87208
  class: normalizeClass(["card__body", { animated: __props.animated, hasAction: !!_ctx.$slots.action }])
87069
87209
  }, [
87070
87210
  createElementVNode("div", _hoisted_1$D, [
87071
- __props.to ? (openBlock(), createBlock(_sfc_main$1r, {
87211
+ __props.to ? (openBlock(), createBlock(_sfc_main$1s, {
87072
87212
  key: 0,
87073
87213
  class: "card__body__content__link",
87074
87214
  to: __props.to
@@ -87090,15 +87230,20 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
87090
87230
 
87091
87231
  const BmsCard = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-cff3f84d"]]);
87092
87232
 
87093
- const _hoisted_1$C = { class: "floating-window-wrapper" };
87094
- const _hoisted_2$o = { class: "floating-window" };
87095
- const _hoisted_3$f = { class: "floating-window__header" };
87096
- const _hoisted_4$a = { class: "floating-window__header__buttons" };
87097
- const _hoisted_5$8 = { class: "floating-window__content" };
87233
+ const _hoisted_1$C = { class: "floating-window__header__title" };
87234
+ const _hoisted_2$o = { class: "floating-window__header__buttons" };
87235
+ const _hoisted_3$f = { class: "floating-window__content" };
87098
87236
  const _sfc_main$L = /* @__PURE__ */ defineComponent({
87099
87237
  __name: "BmsFloatingWindow",
87100
87238
  props: /* @__PURE__ */ mergeModels({
87101
- title: {}
87239
+ title: {},
87240
+ defaultPlacement: { default: "center" },
87241
+ expandable: { type: Boolean, default: false },
87242
+ expandedWidth: { default: "100%" },
87243
+ expandedHeight: { default: "100%" },
87244
+ expandTarget: { default: void 0 },
87245
+ width: { default: "50%" },
87246
+ height: { default: "40%" }
87102
87247
  }, {
87103
87248
  "modelValue": { type: Boolean, ...{
87104
87249
  default: false
@@ -87107,23 +87252,196 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
87107
87252
  }),
87108
87253
  emits: ["update:modelValue"],
87109
87254
  setup(__props) {
87255
+ const props = __props;
87110
87256
  const open = useModel(__props, "modelValue");
87257
+ const wrapperRef = ref(null);
87258
+ const windowRef = ref(null);
87259
+ const position = ref(null);
87260
+ const computedSize = ref(null);
87261
+ const isDragging = ref(false);
87262
+ const dragOffset = ref({ x: 0, y: 0 });
87263
+ const isExpanded = ref(false);
87264
+ const positionBeforeExpand = ref(null);
87265
+ const expandedStyle = ref(null);
87266
+ function computeInitialPosition() {
87267
+ if (!wrapperRef.value || !windowRef.value) return null;
87268
+ const wrapperRect = wrapperRef.value.getBoundingClientRect();
87269
+ const windowRect = windowRef.value.getBoundingClientRect();
87270
+ const padding = 16;
87271
+ switch (props.defaultPlacement) {
87272
+ case "top-left":
87273
+ return { x: wrapperRect.left + padding, y: wrapperRect.top + padding };
87274
+ case "top-right":
87275
+ return {
87276
+ x: wrapperRect.right - windowRect.width - padding,
87277
+ y: wrapperRect.top + padding
87278
+ };
87279
+ case "bottom-left":
87280
+ return {
87281
+ x: wrapperRect.left + padding,
87282
+ y: wrapperRect.bottom - windowRect.height - padding
87283
+ };
87284
+ case "bottom-right":
87285
+ return {
87286
+ x: wrapperRect.right - windowRect.width - padding,
87287
+ y: wrapperRect.bottom - windowRect.height - padding
87288
+ };
87289
+ case "center":
87290
+ default:
87291
+ return null;
87292
+ }
87293
+ }
87294
+ function initPosition() {
87295
+ if (props.defaultPlacement !== "center" && !position.value) {
87296
+ position.value = computeInitialPosition();
87297
+ }
87298
+ }
87299
+ onMounted(() => {
87300
+ if (open.value) {
87301
+ initPosition();
87302
+ }
87303
+ });
87304
+ watch(open, (newVal) => {
87305
+ if (newVal) {
87306
+ requestAnimationFrame(initPosition);
87307
+ }
87308
+ });
87309
+ const windowStyle = computed(() => {
87310
+ if (isExpanded.value && expandedStyle.value) {
87311
+ return expandedStyle.value;
87312
+ }
87313
+ const sizeStyle = {};
87314
+ if (computedSize.value) {
87315
+ sizeStyle.width = `${computedSize.value.width}px`;
87316
+ sizeStyle.height = `${computedSize.value.height}px`;
87317
+ } else {
87318
+ if (props.width) {
87319
+ sizeStyle.width = props.width;
87320
+ }
87321
+ if (props.height) {
87322
+ sizeStyle.height = props.height;
87323
+ }
87324
+ }
87325
+ if (!position.value) {
87326
+ return sizeStyle;
87327
+ }
87328
+ return {
87329
+ position: "absolute",
87330
+ left: `${position.value.x}px`,
87331
+ top: `${position.value.y}px`,
87332
+ ...sizeStyle
87333
+ };
87334
+ });
87335
+ function computeExpandedStyle() {
87336
+ if (props.expandTarget) {
87337
+ const targetEl = document.querySelector(props.expandTarget);
87338
+ if (targetEl) {
87339
+ const targetRect = targetEl.getBoundingClientRect();
87340
+ return {
87341
+ position: "fixed",
87342
+ left: `${targetRect.left}px`,
87343
+ top: `${targetRect.top}px`,
87344
+ width: props.expandedWidth === "100%" ? `${targetRect.width}px` : props.expandedWidth,
87345
+ height: props.expandedHeight === "100%" ? `${targetRect.height}px` : props.expandedHeight,
87346
+ maxWidth: "none",
87347
+ maxHeight: "none"
87348
+ };
87349
+ }
87350
+ }
87351
+ return {
87352
+ position: "absolute",
87353
+ width: props.expandedWidth,
87354
+ height: props.expandedHeight,
87355
+ maxWidth: "none",
87356
+ maxHeight: "none"
87357
+ };
87358
+ }
87359
+ function toggleExpand() {
87360
+ if (isExpanded.value) {
87361
+ expandedStyle.value = null;
87362
+ position.value = positionBeforeExpand.value;
87363
+ isExpanded.value = false;
87364
+ } else {
87365
+ positionBeforeExpand.value = position.value;
87366
+ expandedStyle.value = computeExpandedStyle();
87367
+ isExpanded.value = true;
87368
+ }
87369
+ }
87370
+ function onDragStart(event) {
87371
+ if (event.target.closest(".floating-window__header__buttons")) {
87372
+ return;
87373
+ }
87374
+ if (isExpanded.value) {
87375
+ return;
87376
+ }
87377
+ isDragging.value = true;
87378
+ if (windowRef.value) {
87379
+ const rect = windowRef.value.getBoundingClientRect();
87380
+ dragOffset.value = {
87381
+ x: event.clientX - rect.left,
87382
+ y: event.clientY - rect.top
87383
+ };
87384
+ if (!computedSize.value) {
87385
+ computedSize.value = { width: rect.width, height: rect.height };
87386
+ }
87387
+ if (!position.value) {
87388
+ position.value = { x: rect.left, y: rect.top };
87389
+ }
87390
+ }
87391
+ document.addEventListener("mousemove", onDrag);
87392
+ document.addEventListener("mouseup", onDragEnd);
87393
+ }
87394
+ function onDrag(event) {
87395
+ if (!isDragging.value) return;
87396
+ position.value = {
87397
+ x: event.clientX - dragOffset.value.x,
87398
+ y: event.clientY - dragOffset.value.y
87399
+ };
87400
+ }
87401
+ function onDragEnd() {
87402
+ isDragging.value = false;
87403
+ document.removeEventListener("mousemove", onDrag);
87404
+ document.removeEventListener("mouseup", onDragEnd);
87405
+ }
87111
87406
  return (_ctx, _cache) => {
87112
- return openBlock(), createElementBlock("div", _hoisted_1$C, [
87113
- withDirectives(createElementVNode("div", _hoisted_2$o, [
87114
- createElementVNode("div", _hoisted_3$f, [
87115
- createElementVNode("h2", null, toDisplayString(__props.title), 1),
87116
- createElementVNode("div", _hoisted_4$a, [
87117
- createVNode(_sfc_main$1n, {
87118
- "tooltip-text": "Maximiser la fenêtre",
87119
- disabled: ""
87407
+ return openBlock(), createElementBlock("div", {
87408
+ ref_key: "wrapperRef",
87409
+ ref: wrapperRef,
87410
+ class: "floating-window-wrapper"
87411
+ }, [
87412
+ isDragging.value ? (openBlock(), createElementBlock("div", {
87413
+ key: 0,
87414
+ class: "floating-window__drag-overlay",
87415
+ onMousemove: onDrag,
87416
+ onMouseup: onDragEnd
87417
+ }, null, 32)) : createCommentVNode("", true),
87418
+ withDirectives(createElementVNode("div", {
87419
+ ref_key: "windowRef",
87420
+ ref: windowRef,
87421
+ class: normalizeClass(["floating-window", {
87422
+ "floating-window--expanded": isExpanded.value,
87423
+ "floating-window--dragging": isDragging.value
87424
+ }]),
87425
+ style: normalizeStyle(windowStyle.value)
87426
+ }, [
87427
+ createElementVNode("div", {
87428
+ class: "floating-window__header",
87429
+ onMousedown: onDragStart
87430
+ }, [
87431
+ createElementVNode("h3", _hoisted_1$C, toDisplayString(__props.title), 1),
87432
+ createElementVNode("div", _hoisted_2$o, [
87433
+ __props.expandable ? (openBlock(), createBlock(_sfc_main$1o, {
87434
+ key: 0,
87435
+ class: normalizeClass(["floating-window__expand-btn", { "floating-window__expand-btn--expanded": isExpanded.value }]),
87436
+ "tooltip-text": isExpanded.value ? "Réduire la fenêtre" : "Maximiser la fenêtre",
87437
+ onClick: withModifiers(toggleExpand, ["prevent", "stop"])
87120
87438
  }, {
87121
87439
  default: withCtx(() => [
87122
- createVNode(unref(Maximize2))
87440
+ isExpanded.value ? (openBlock(), createBlock(unref(Minimize2), { key: 0 })) : (openBlock(), createBlock(unref(Maximize2), { key: 1 }))
87123
87441
  ]),
87124
87442
  _: 1
87125
- }),
87126
- createVNode(_sfc_main$1n, {
87443
+ }, 8, ["class", "tooltip-text"])) : createCommentVNode("", true),
87444
+ createVNode(_sfc_main$1o, {
87127
87445
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => open.value = false, ["prevent", "stop"]))
87128
87446
  }, {
87129
87447
  default: withCtx(() => [
@@ -87132,19 +87450,19 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
87132
87450
  _: 1
87133
87451
  })
87134
87452
  ])
87135
- ]),
87136
- createElementVNode("div", _hoisted_5$8, [
87453
+ ], 32),
87454
+ createElementVNode("div", _hoisted_3$f, [
87137
87455
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
87138
87456
  ])
87139
- ], 512), [
87457
+ ], 6), [
87140
87458
  [vShow, open.value]
87141
87459
  ])
87142
- ]);
87460
+ ], 512);
87143
87461
  };
87144
87462
  }
87145
87463
  });
87146
87464
 
87147
- const BmsFloatingWindow = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-fdb4e567"]]);
87465
+ const BmsFloatingWindow = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-3023af4c"]]);
87148
87466
 
87149
87467
  const _hoisted_1$B = { class: "form-section" };
87150
87468
  const _hoisted_2$n = {
@@ -90119,7 +90437,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
90119
90437
  key: 0,
90120
90438
  class: normalizeClass(["bms-short-link-menu", { "bms-short-link-menu__outline": __props.outline }])
90121
90439
  }, [
90122
- !!__props.helpLink ? (openBlock(), createBlock(_sfc_main$1n, {
90440
+ !!__props.helpLink ? (openBlock(), createBlock(_sfc_main$1o, {
90123
90441
  key: 0,
90124
90442
  "tooltip-text": "Voir la documentation",
90125
90443
  to: __props.helpLink,
@@ -90132,7 +90450,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
90132
90450
  ]),
90133
90451
  _: 3
90134
90452
  }, 8, ["to"])) : createCommentVNode("", true),
90135
- !!__props.activityLink ? (openBlock(), createBlock(_sfc_main$1n, {
90453
+ !!__props.activityLink ? (openBlock(), createBlock(_sfc_main$1o, {
90136
90454
  key: 1,
90137
90455
  "tooltip-text": "Voir l'activité",
90138
90456
  to: __props.activityLink,
@@ -90384,7 +90702,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
90384
90702
  ])
90385
90703
  ], true)
90386
90704
  ]),
90387
- createVNode(_sfc_main$1n, {
90705
+ createVNode(_sfc_main$1o, {
90388
90706
  disabled: !isModalClosable.value,
90389
90707
  onClick: dismissModal,
90390
90708
  "data-testid": "close-modal"
@@ -90410,7 +90728,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
90410
90728
  modalData: props.modelValue
90411
90729
  }, () => [
90412
90730
  (openBlock(true), createElementBlock(Fragment, null, renderList(buttons.value, (button) => {
90413
- return openBlock(), createBlock(_sfc_main$1o, {
90731
+ return openBlock(), createBlock(_sfc_main$1p, {
90414
90732
  key: button.label + button.role,
90415
90733
  type: button.role === "cancel" ? "secondary" : "primary",
90416
90734
  disabled: !isModalClosable.value || button.disabled,
@@ -90514,7 +90832,6 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
90514
90832
  watch(
90515
90833
  () => props.collapsed,
90516
90834
  (val) => {
90517
- console.log("watch:collapsed", val);
90518
90835
  collapsedLocal.value = val ?? false;
90519
90836
  }
90520
90837
  );
@@ -90667,7 +90984,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
90667
90984
  }
90668
90985
  });
90669
90986
 
90670
- const BmsSplitWindow = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-0aa0f55f"]]);
90987
+ const BmsSplitWindow = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-4d48c930"]]);
90671
90988
 
90672
90989
  const _hoisted_1$u = { class: "step" };
90673
90990
  const _hoisted_2$j = { class: "step-buttons" };
@@ -90687,7 +91004,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
90687
91004
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
90688
91005
  renderSlot(_ctx.$slots, "actions", {}, () => [
90689
91006
  createElementVNode("div", _hoisted_2$j, [
90690
- __props.previousLabel ? (openBlock(), createBlock(_sfc_main$1o, {
91007
+ __props.previousLabel ? (openBlock(), createBlock(_sfc_main$1p, {
90691
91008
  key: 0,
90692
91009
  "data-test": "previous-button",
90693
91010
  name: "previous",
@@ -90699,7 +91016,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
90699
91016
  ]),
90700
91017
  _: 1
90701
91018
  })) : createCommentVNode("", true),
90702
- __props.nextLabel ? (openBlock(), createBlock(_sfc_main$1o, {
91019
+ __props.nextLabel ? (openBlock(), createBlock(_sfc_main$1p, {
90703
91020
  key: 1,
90704
91021
  "data-test": "next-button",
90705
91022
  class: "",
@@ -90994,7 +91311,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
90994
91311
  return classes2;
90995
91312
  });
90996
91313
  return (_ctx, _cache) => {
90997
- return openBlock(), createBlock(_sfc_main$1r, {
91314
+ return openBlock(), createBlock(_sfc_main$1s, {
90998
91315
  to: __props.item.link,
90999
91316
  target: __props.target,
91000
91317
  classes: classes.value
@@ -91088,7 +91405,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
91088
91405
  key: item.label
91089
91406
  }, [
91090
91407
  hasSubItems(item) ? (openBlock(), createElementBlock("div", _hoisted_1$p, [
91091
- item.link ? (openBlock(), createBlock(_sfc_main$1r, {
91408
+ item.link ? (openBlock(), createBlock(_sfc_main$1s, {
91092
91409
  key: 0,
91093
91410
  to: item.link,
91094
91411
  class: normalizeClass(`parent-item ${isItemActive(item) ? "active" : ""}`)
@@ -91216,7 +91533,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
91216
91533
  const toggleMenu = (newMenuState = true) => isMenuOpen.value = newMenuState;
91217
91534
  return (_ctx, _cache) => {
91218
91535
  return openBlock(), createElementBlock("div", _hoisted_1$n, [
91219
- createVNode(unref(_sfc_main$1n), {
91536
+ createVNode(unref(_sfc_main$1o), {
91220
91537
  onClick: _cache[0] || (_cache[0] = ($event) => toggleMenu(!isMenuOpen.value)),
91221
91538
  "data-testid": "openMenu",
91222
91539
  "aria-label": "Ouvrir le menu"
@@ -91240,7 +91557,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
91240
91557
  ref: menu,
91241
91558
  class: normalizeClass(["menu__container", { "is-show": isMenuOpen.value }])
91242
91559
  }, [
91243
- createVNode(unref(_sfc_main$1n), {
91560
+ createVNode(unref(_sfc_main$1o), {
91244
91561
  class: "menu__close",
91245
91562
  onClick: _cache[1] || (_cache[1] = ($event) => toggleMenu(false)),
91246
91563
  "data-testid": "closeMenu",
@@ -91574,7 +91891,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
91574
91891
  createTextVNode(" " + toDisplayString(__props.tenant.label), 1),
91575
91892
  createElementVNode("em", null, "- " + toDisplayString(__props.tenant.information), 1)
91576
91893
  ], 8, _hoisted_1$k),
91577
- __props.tenant.isFavorite ? (openBlock(), createBlock(_sfc_main$1n, {
91894
+ __props.tenant.isFavorite ? (openBlock(), createBlock(_sfc_main$1o, {
91578
91895
  key: 0,
91579
91896
  class: "remove-tenant-button",
91580
91897
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emits("removeFavorite"), ["stop"]))
@@ -91770,7 +92087,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
91770
92087
  __props.currentTenant && __props.tenants.length === 1 ? (openBlock(), createElementBlock("div", _hoisted_1$i, [
91771
92088
  createVNode(_sfc_main$n, { tenant: __props.currentTenant }, null, 8, ["tenant"]),
91772
92089
  createElementVNode("span", null, toDisplayString(__props.currentTenant.label), 1)
91773
- ])) : __props.tenants.length > 0 ? (openBlock(), createBlock(unref(_sfc_main$1o), {
92090
+ ])) : __props.tenants.length > 0 ? (openBlock(), createBlock(unref(_sfc_main$1p), {
91774
92091
  key: 1,
91775
92092
  type: "tertiary",
91776
92093
  onClick: _cache[0] || (_cache[0] = ($event) => showTenantSwitcher.value = !showTenantSwitcher.value)
@@ -91913,7 +92230,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
91913
92230
  onMouseup: _cache[1] || (_cache[1] = () => gripped.value = false)
91914
92231
  }),
91915
92232
  renderSlot(_ctx.$slots, "default", { row: item }, void 0, true),
91916
- createVNode(unref(_sfc_main$1n), {
92233
+ createVNode(unref(_sfc_main$1o), {
91917
92234
  mode: unref(StatusType).Danger,
91918
92235
  onClick: ($event) => onRemove(item)
91919
92236
  }, {
@@ -92061,7 +92378,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
92061
92378
  ], true)
92062
92379
  ]),
92063
92380
  createElementVNode("div", _hoisted_3$6, [
92064
- createVNode(_sfc_main$1n, {
92381
+ createVNode(_sfc_main$1o, {
92065
92382
  color: "neutral",
92066
92383
  onClick: goToFirst,
92067
92384
  disabled: __props.currentPage === 0
@@ -92071,7 +92388,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
92071
92388
  ]),
92072
92389
  _: 1
92073
92390
  }, 8, ["disabled"]),
92074
- createVNode(_sfc_main$1n, {
92391
+ createVNode(_sfc_main$1o, {
92075
92392
  onClick: goToPrevious,
92076
92393
  disabled: __props.currentPage === 0
92077
92394
  }, {
@@ -92080,7 +92397,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
92080
92397
  ]),
92081
92398
  _: 1
92082
92399
  }, 8, ["disabled"]),
92083
- createVNode(_sfc_main$1n, {
92400
+ createVNode(_sfc_main$1o, {
92084
92401
  onClick: goToNext,
92085
92402
  disabled: __props.currentPage === __props.pages - 1 || __props.pages === 0
92086
92403
  }, {
@@ -92089,7 +92406,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
92089
92406
  ]),
92090
92407
  _: 1
92091
92408
  }, 8, ["disabled"]),
92092
- createVNode(_sfc_main$1n, {
92409
+ createVNode(_sfc_main$1o, {
92093
92410
  onClick: goToLast,
92094
92411
  disabled: __props.currentPage === __props.pages - 1 || __props.pages === 0 || __props.total === Infinity
92095
92412
  }, {
@@ -96292,7 +96609,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
96292
96609
  );
96293
96610
  return (_ctx, _cache) => {
96294
96611
  return openBlock(), createElementBlock("span", _hoisted_1$a, [
96295
- createVNode(_sfc_main$1p, {
96612
+ createVNode(_sfc_main$1q, {
96296
96613
  class: "filter-button",
96297
96614
  color: __props.isFilterVisible ? unref(StatusType).Default : unref(StatusType).Information,
96298
96615
  mode: __props.isFilterVisible ? "fill" : "ghost",
@@ -98537,7 +98854,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
98537
98854
  _cache[2] || (_cache[2] = createTextVNode(" Recherche avancée ", -1))
98538
98855
  ]),
98539
98856
  createElementVNode("span", _hoisted_4$3, [
98540
- __props.canSaveFilters ? (openBlock(), createBlock(_sfc_main$1n, {
98857
+ __props.canSaveFilters ? (openBlock(), createBlock(_sfc_main$1o, {
98541
98858
  key: 0,
98542
98859
  class: "save",
98543
98860
  tooltipText: "Sauvegarder le filtre",
@@ -98548,7 +98865,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
98548
98865
  ]),
98549
98866
  _: 1
98550
98867
  })) : createCommentVNode("", true),
98551
- createVNode(_sfc_main$1n, {
98868
+ createVNode(_sfc_main$1o, {
98552
98869
  class: "reset",
98553
98870
  tooltipText: "Vider les champs",
98554
98871
  onClick: reset
@@ -98613,7 +98930,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
98613
98930
  }
98614
98931
  });
98615
98932
 
98616
- const BmsTableFilters = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-4a441463"]]);
98933
+ const BmsTableFilters = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-94b8e913"]]);
98617
98934
 
98618
98935
  /**
98619
98936
  * Create a bound version of a function with a specified `this` context
@@ -103201,7 +103518,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
103201
103518
  class: "bms-notification__icon"
103202
103519
  })),
103203
103520
  createElementVNode("div", _hoisted_2$4, toDisplayString(__props.notification.text), 1),
103204
- createVNode(_sfc_main$1n, {
103521
+ createVNode(_sfc_main$1o, {
103205
103522
  class: "bms-notification__close-button",
103206
103523
  onClick: closeNotification
103207
103524
  }, {
@@ -103442,7 +103759,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
103442
103759
  createElementVNode("div", null, [
103443
103760
  createElementVNode("div", _hoisted_5$1, [
103444
103761
  createElementVNode("span", _hoisted_6$1, toDisplayString(__props.problem.detail), 1),
103445
- createVNode(unref(_sfc_main$1n), {
103762
+ createVNode(unref(_sfc_main$1o), {
103446
103763
  class: "copyToClipboardButton",
103447
103764
  onClick: _cache[1] || (_cache[1] = ($event) => onCopyToClipboard(__props.problem.detail))
103448
103765
  }, {
@@ -103477,7 +103794,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
103477
103794
  createElementVNode("div", null, [
103478
103795
  createElementVNode("div", _hoisted_8$1, [
103479
103796
  createElementVNode("span", _hoisted_9, toDisplayString(__props.problem.correlationId), 1),
103480
- createVNode(unref(_sfc_main$1n), {
103797
+ createVNode(unref(_sfc_main$1o), {
103481
103798
  class: "copyToClipboardButton",
103482
103799
  onClick: _cache[3] || (_cache[3] = ($event) => onCopyToClipboard(__props.problem.detail))
103483
103800
  }, {
@@ -103687,7 +104004,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
103687
104004
  );
103688
104005
  return (_ctx, _cache) => {
103689
104006
  return isFeatureFlippingOn.value ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
103690
- createVNode(_sfc_main$1o, {
104007
+ createVNode(_sfc_main$1p, {
103691
104008
  onClick: _cache[0] || (_cache[0] = ($event) => emit("click")),
103692
104009
  mode: unref(StatusType).Danger
103693
104010
  }, {
@@ -105984,12 +106301,13 @@ const routerHistoryPlugin = {
105984
106301
 
105985
106302
  const createBmsUi = () => ({
105986
106303
  install: (app) => {
105987
- app.component("BmsButton", _sfc_main$1o);
105988
- app.component("BmsIconButton", _sfc_main$1n);
106304
+ app.component("BmsButton", _sfc_main$1p);
106305
+ app.component("BmsIconButton", _sfc_main$1o);
105989
106306
  app.component("BmsAlert", BmsAlert);
105990
106307
  app.component("BmsBadge", BmsBadge);
105991
106308
  app.component("BmsCaption", BmsCaption);
105992
106309
  app.component("BmsCircularProgress", BmsCircularProgress);
106310
+ app.component("BmsGhost", BmsGhost);
105993
106311
  app.component("BmsLoader", BmsLoader);
105994
106312
  app.component("BmsTooltip", BmsTooltip);
105995
106313
  app.component("BmsAutocomplete", BmsAutocomplete);
@@ -106031,7 +106349,7 @@ const createBmsUi = () => ({
106031
106349
  app.component("BmsBackButton", BmsBackButton);
106032
106350
  app.component("BmsBreadcrumb", BmsBreadcrumb);
106033
106351
  app.component("BmsFixedMenu", BmsFixedMenu);
106034
- app.component("BmsLink", _sfc_main$1r);
106352
+ app.component("BmsLink", _sfc_main$1s);
106035
106353
  app.component("BmsMenu", BmsMenu);
106036
106354
  app.component("BmsMenuNav", BmsMenuNav);
106037
106355
  app.component("BmsShortLinkMenu", BmsShortLinkMenu);
@@ -106048,5 +106366,5 @@ const createBmsUi = () => ({
106048
106366
  }
106049
106367
  });
106050
106368
 
106051
- export { BMS_FORM_VALID_URL_REGEX, BmsAlert, BmsAutocomplete, BmsBackButton, BmsBadge, BmsBetweenInput, BmsBreadcrumb, _sfc_main$1o as BmsButton, BmsCaption, BmsCard, BmsChip, BmsCircularProgress, BmsCocarde, BmsContentPageLayout, BmsDraggableList, BmsEmptyScreen, BmsFilePicker, BmsFixedMenu, BmsFloatingWindow, BmsForm, BmsHeader, BmsHeaderTitle, _sfc_main$1n as BmsIconButton, _sfc_main$16 as BmsInputBooleanCheckbox, BmsInputCheckboxCaption, BmsInputCheckboxCaptionGroup, BmsInputCheckboxGroup, BmsInputCode, _sfc_main$10 as BmsInputDateTime, BmsInputFile, _sfc_main$_ as BmsInputNumber, BmsInputRadio, BmsInputRadioCaption, BmsInputRadioCaptionGroup, BmsInputRadioGroup, _sfc_main$11 as BmsInputText, BmsInputToggle, _sfc_main$1r as BmsLink, BmsLoader, BmsMenu, BmsMenuNav, BmsModal, BmsMultiSelect, BmsNotificationsInstance, BmsOverlay, BmsPagination, BmsProblem, _sfc_main$g as BmsRelativeTime, BmsSearch, BmsSection, BmsSelect, BmsServerAutocomplete, BmsServerTable, BmsShortLinkMenu, BmsSplitWindow, BmsStep, BmsStepper, BmsTable, _sfc_main$p as BmsTabs, BmsTag, BmsTenantSwitcher, BmsTextArea, BmsTooltip, ChipColor, CocardeBorder, ColumnType, ConfirmInstance, InputType, KeycloakAuthAdapterInstance, RuntimeEnv, SelectMode, SortValue, StatusType, TooltipDirection, confirmPlugin, convertStringToCaption, createBmsUi, createRuntimeEnv, defaultSortFunction, enforceActionsColumnHeader, featureFlipperPlugin, fetchRuntimeEnv, field, getCurrentHistory, getCurrentLocation, getFiltersAsQueryParams, getHeaderClasses, getImageFromFile, getNumberFromPathQuery, getStringFromPathQuery, getUserPrefFromLocalStorage, getValueByPath, handleValueInSearchParams, isEmptyStringOrNotDefined, isExternalLink, isFileImage, isProblem, keycloakAuthAdapter, keycloakAuthAdapterInit, notifications, readableDate, reflectFiltersToPath, reflectSearchToPath, relativeDate, relativeDateDefaultFormatFunction, routerHistoryPlugin, sanitizeHtml, sanitizeString, saveValuesToPathQuery, searchString, setUserPrefFromLocalStorage, useClipboard, useConfirm, useFeatureFlipper, useKeycloakAuthAdapter, useNotifications, usePagination, useRouterHistory, useRuntimeEnv, useSearch, useSort, useUserPref, writeLocation };
106369
+ export { BMS_FORM_VALID_URL_REGEX, BmsAlert, BmsAutocomplete, BmsBackButton, BmsBadge, BmsBetweenInput, BmsBreadcrumb, _sfc_main$1p as BmsButton, BmsCaption, BmsCard, BmsChip, BmsCircularProgress, BmsCocarde, BmsContentPageLayout, BmsDraggableList, BmsEmptyScreen, BmsFilePicker, BmsFixedMenu, BmsFloatingWindow, BmsForm, BmsGhost, BmsHeader, BmsHeaderTitle, _sfc_main$1o as BmsIconButton, _sfc_main$16 as BmsInputBooleanCheckbox, BmsInputCheckboxCaption, BmsInputCheckboxCaptionGroup, BmsInputCheckboxGroup, BmsInputCode, _sfc_main$10 as BmsInputDateTime, BmsInputFile, _sfc_main$_ as BmsInputNumber, BmsInputRadio, BmsInputRadioCaption, BmsInputRadioCaptionGroup, BmsInputRadioGroup, _sfc_main$11 as BmsInputText, BmsInputToggle, _sfc_main$1s as BmsLink, BmsLoader, BmsMenu, BmsMenuNav, BmsModal, BmsMultiSelect, BmsNotificationsInstance, BmsOverlay, BmsPagination, BmsProblem, _sfc_main$g as BmsRelativeTime, BmsSearch, BmsSection, BmsSelect, BmsServerAutocomplete, BmsServerTable, BmsShortLinkMenu, BmsSplitWindow, BmsStep, BmsStepper, BmsTable, _sfc_main$p as BmsTabs, BmsTag, BmsTenantSwitcher, BmsTextArea, BmsTooltip, ChipColor, CocardeBorder, ColumnType, ConfirmInstance, InputType, KeycloakAuthAdapterInstance, RuntimeEnv, SelectMode, SortValue, StatusType, TooltipDirection, confirmPlugin, convertStringToCaption, createBmsUi, createRuntimeEnv, defaultSortFunction, enforceActionsColumnHeader, featureFlipperPlugin, fetchRuntimeEnv, field, getCurrentHistory, getCurrentLocation, getFiltersAsQueryParams, getHeaderClasses, getImageFromFile, getNumberFromPathQuery, getStringFromPathQuery, getUserPrefFromLocalStorage, getValueByPath, handleValueInSearchParams, isEmptyStringOrNotDefined, isExternalLink, isFileImage, isProblem, keycloakAuthAdapter, keycloakAuthAdapterInit, notifications, readableDate, reflectFiltersToPath, reflectSearchToPath, relativeDate, relativeDateDefaultFormatFunction, routerHistoryPlugin, sanitizeHtml, sanitizeString, saveValuesToPathQuery, searchString, setUserPrefFromLocalStorage, useClipboard, useConfirm, useFeatureFlipper, useKeycloakAuthAdapter, useNotifications, usePagination, useRouterHistory, useRuntimeEnv, useSearch, useSort, useUserPref, writeLocation };
106052
106370
  //# sourceMappingURL=sipa-bms-ui.es.js.map