@ouestfrance/sipa-bms-ui 8.48.2 → 8.49.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.
@@ -55089,7 +55089,7 @@ var _hoisted_3$25 = {
55089
55089
  key: 1,
55090
55090
  class: "bms-switch-icon-button__menu__item__check-placeholder"
55091
55091
  };
55092
- var _hoisted_4$14 = { class: "bms-switch-icon-button__menu__item__label" };
55092
+ var _hoisted_4$15 = { class: "bms-switch-icon-button__menu__item__label" };
55093
55093
  //#endregion
55094
55094
  //#region src/components/button/BmsSwitchIconButton.vue
55095
55095
  var BmsSwitchIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -55180,7 +55180,7 @@ var BmsSwitchIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
55180
55180
  size: 16,
55181
55181
  class: "bms-switch-icon-button__menu__item__icon"
55182
55182
  })) : createCommentVNode("", true),
55183
- createElementVNode("span", _hoisted_4$14, toDisplayString(option.label), 1)
55183
+ createElementVNode("span", _hoisted_4$15, toDisplayString(option.label), 1)
55184
55184
  ], 8, _hoisted_2$43);
55185
55185
  }), 128))], 4), [[vShow, isOpen.value]])], 2);
55186
55186
  };
@@ -55307,7 +55307,7 @@ var _hoisted_2$40 = {
55307
55307
  viewBox: "0 0 100 100"
55308
55308
  };
55309
55309
  var _hoisted_3$23 = { transform: "rotate(-90, 50, 50)" };
55310
- var _hoisted_4$13 = ["stroke-dashoffset"];
55310
+ var _hoisted_4$14 = ["stroke-dashoffset"];
55311
55311
  var _hoisted_5$9 = { class: "percent" };
55312
55312
  //#endregion
55313
55313
  //#region src/components/feedback/BmsCircularProgress.vue
@@ -55333,7 +55333,7 @@ var BmsCircularProgress_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
55333
55333
  "stroke-linecap": "round",
55334
55334
  "stroke-dashoffset": 283 - __props.progress * 283 / 100,
55335
55335
  "stroke-dasharray": "283"
55336
- }, null, 8, _hoisted_4$13)])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_5$9, toDisplayString(__props.progress) + "%", 1)]);
55336
+ }, null, 8, _hoisted_4$14)])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_5$9, toDisplayString(__props.progress) + "%", 1)]);
55337
55337
  };
55338
55338
  }
55339
55339
  }), [["__scopeId", "data-v-7869acfb"]]);
@@ -55403,7 +55403,7 @@ var _hoisted_3$22 = {
55403
55403
  fill: "none",
55404
55404
  "fill-rule": "evenodd"
55405
55405
  };
55406
- var _hoisted_4$12 = { transform: "translate(1 1)" };
55406
+ var _hoisted_4$13 = { transform: "translate(1 1)" };
55407
55407
  var _hoisted_5$8 = ["stroke"];
55408
55408
  function transformIntoPx(totransform) {
55409
55409
  return typeof totransform === "string" ? totransform : `${totransform}px`;
@@ -55445,7 +55445,7 @@ var BmsLoader_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
55445
55445
  "stop-color": "currentColor",
55446
55446
  offset: "100%"
55447
55447
  }, null, -1)
55448
- ])], 8, _hoisted_2$39)]), createElementVNode("g", _hoisted_3$22, [createElementVNode("g", _hoisted_4$12, [createElementVNode("path", {
55448
+ ])], 8, _hoisted_2$39)]), createElementVNode("g", _hoisted_3$22, [createElementVNode("g", _hoisted_4$13, [createElementVNode("path", {
55449
55449
  d: "M36 18c0-9.94-8.06-18-18-18",
55450
55450
  id: "Oval-2",
55451
55451
  stroke: `url(#${unref(gradientId)})`,
@@ -55861,7 +55861,7 @@ var _hoisted_3$21 = [
55861
55861
  "minlength",
55862
55862
  "maxlength"
55863
55863
  ];
55864
- var _hoisted_4$11 = { class: "field__input-icon field__input-icon--end" };
55864
+ var _hoisted_4$12 = { class: "field__input-icon field__input-icon--end" };
55865
55865
  //#endregion
55866
55866
  //#region src/components/form/RawInputText.vue
55867
55867
  var RawInputText_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -55952,7 +55952,7 @@ var RawInputText_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
55952
55952
  onFocus: _cache[1] || (_cache[1] = ($event) => $emits("focus")),
55953
55953
  onClick: _cache[2] || (_cache[2] = ($event) => $emits("click"))
55954
55954
  }, null, 40, _hoisted_3$21),
55955
- createElementVNode("span", _hoisted_4$11, [renderSlot(_ctx.$slots, "icon-end", {}, void 0, true)])
55955
+ createElementVNode("span", _hoisted_4$12, [renderSlot(_ctx.$slots, "icon-end", {}, void 0, true)])
55956
55956
  ], 2);
55957
55957
  };
55958
55958
  }
@@ -56498,7 +56498,7 @@ var BmsChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
56498
56498
  var _hoisted_1$54 = { class: "file-upload" };
56499
56499
  var _hoisted_2$35 = { class: "file-upload__label" };
56500
56500
  var _hoisted_3$20 = { key: 1 };
56501
- var _hoisted_4$10 = { class: "file-upload__file-name" };
56501
+ var _hoisted_4$11 = { class: "file-upload__file-name" };
56502
56502
  //#endregion
56503
56503
  //#region src/components/form/BmsFilePicker.vue
56504
56504
  var BmsFilePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -56580,7 +56580,7 @@ var BmsFilePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
56580
56580
  return openBlock(), createElementBlock("div", {
56581
56581
  key: file.name,
56582
56582
  class: "file-upload__file"
56583
- }, [createElementVNode("span", _hoisted_4$10, toDisplayString(file.name), 1), createVNode(unref(BmsIconButton_default), { onClick: ($event) => onDeleteFile(file) }, {
56583
+ }, [createElementVNode("span", _hoisted_4$11, toDisplayString(file.name), 1), createVNode(unref(BmsIconButton_default), { onClick: ($event) => onDeleteFile(file) }, {
56584
56584
  default: withCtx(() => [createVNode(unref(Trash2))]),
56585
56585
  _: 1
56586
56586
  }, 8, ["onClick"])]);
@@ -101456,7 +101456,7 @@ var _hoisted_3$16 = {
101456
101456
  key: 0,
101457
101457
  class: "field__input-icon field__input-icon--start"
101458
101458
  };
101459
- var _hoisted_4$9 = [
101459
+ var _hoisted_4$10 = [
101460
101460
  "readonly",
101461
101461
  "placeholder",
101462
101462
  "required",
@@ -101750,7 +101750,7 @@ var BmsCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
101750
101750
  disabled: __props.disabled,
101751
101751
  onKeyup: withKeys(openDatalist, ["down"]),
101752
101752
  onInput: _cache[1] || (_cache[1] = ($event) => filteringActive.value = true)
101753
- }, null, 40, _hoisted_4$9)), [[vModelText, searching.value]]) : createCommentVNode("", true),
101753
+ }, null, 40, _hoisted_4$10)), [[vModelText, searching.value]]) : createCommentVNode("", true),
101754
101754
  hasEndIcon.value ? (openBlock(), createElementBlock("span", _hoisted_5$7, [renderSlot(_ctx.$slots, "icon-end", {}, void 0, true)])) : createCommentVNode("", true)
101755
101755
  ], true),
101756
101756
  createElementVNode("span", _hoisted_6$7, [canClear.value ? (openBlock(), createBlock(unref(X), {
@@ -104874,7 +104874,7 @@ var BmsShortLinkMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/
104874
104874
  var _hoisted_1$35 = { class: "bms-header" };
104875
104875
  var _hoisted_2$23 = { class: "bms-header__title" };
104876
104876
  var _hoisted_3$13 = { class: "bms-header__title__label" };
104877
- var _hoisted_4$8 = { key: 0 };
104877
+ var _hoisted_4$9 = { key: 0 };
104878
104878
  var _hoisted_5$6 = {
104879
104879
  key: 1,
104880
104880
  class: "bms-header__title__after-title"
@@ -104905,7 +104905,7 @@ var BmsHeaderTitle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
104905
104905
  return (_ctx, _cache) => {
104906
104906
  return openBlock(), createElementBlock("div", _hoisted_1$35, [createElementVNode("span", _hoisted_2$23, [
104907
104907
  renderSlot(_ctx.$slots, "logo", {}, void 0, true),
104908
- createElementVNode("span", _hoisted_3$13, [__props.label ? (openBlock(), createElementBlock("span", _hoisted_4$8, toDisplayString(__props.label), 1)) : createCommentVNode("", true), createElementVNode("h1", null, toDisplayString(__props.title), 1)]),
104908
+ createElementVNode("span", _hoisted_3$13, [__props.label ? (openBlock(), createElementBlock("span", _hoisted_4$9, toDisplayString(__props.label), 1)) : createCommentVNode("", true), createElementVNode("h1", null, toDisplayString(__props.title), 1)]),
104909
104909
  showHelperLink.value ? (openBlock(), createBlock(BmsShortLinkMenu_default, {
104910
104910
  key: 0,
104911
104911
  outline: true,
@@ -104940,7 +104940,7 @@ var BmsOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
104940
104940
  var _hoisted_1$34 = ["data-testid"];
104941
104941
  var _hoisted_2$22 = { class: "ui-modal__header" };
104942
104942
  var _hoisted_3$12 = { class: "ui-modal__header-inner" };
104943
- var _hoisted_4$7 = { class: "ui-modal__title" };
104943
+ var _hoisted_4$8 = { class: "ui-modal__title" };
104944
104944
  var _hoisted_5$5 = { class: "ui-modal__content" };
104945
104945
  var _hoisted_6$5 = { class: "ui-modal__footer" };
104946
104946
  var _hoisted_7$5 = { class: "ui-modal__buttons" };
@@ -105071,7 +105071,7 @@ var BmsModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
105071
105071
  ref_key: "innerModal",
105072
105072
  ref: innerModal
105073
105073
  }, [
105074
- createElementVNode("header", _hoisted_2$22, [createElementVNode("div", _hoisted_3$12, [renderSlot(_ctx.$slots, "header", {}, () => [createElementVNode("h1", _hoisted_4$7, [props.type !== unref(StatusType).Default ? (openBlock(), createBlock(resolveDynamicComponent(titleComponent.value), {
105074
+ createElementVNode("header", _hoisted_2$22, [createElementVNode("div", _hoisted_3$12, [renderSlot(_ctx.$slots, "header", {}, () => [createElementVNode("h1", _hoisted_4$8, [props.type !== unref(StatusType).Default ? (openBlock(), createBlock(resolveDynamicComponent(titleComponent.value), {
105075
105075
  key: 0,
105076
105076
  class: "title-indicator",
105077
105077
  size: 20
@@ -105431,7 +105431,7 @@ var BmsStep_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
105431
105431
  var _hoisted_1$29 = { class: "stepper" };
105432
105432
  var _hoisted_2$18 = { class: "stepper-header" };
105433
105433
  var _hoisted_3$10 = ["onClick"];
105434
- var _hoisted_4$6 = { key: 1 };
105434
+ var _hoisted_4$7 = { key: 1 };
105435
105435
  var _hoisted_5$4 = ["onClick"];
105436
105436
  var _hoisted_6$4 = {
105437
105437
  key: 0,
@@ -105485,7 +105485,7 @@ var BmsStepper_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
105485
105485
  createElementVNode("div", {
105486
105486
  class: normalizeClass(["stepper-header--indicator", stepIndicator(step, index)]),
105487
105487
  onClick: ($event) => onStepClick(index)
105488
- }, [step.stepComplete ? (openBlock(), createBlock(unref(Check), { key: 0 })) : (openBlock(), createElementBlock("span", _hoisted_4$6, toDisplayString(index + 1), 1))], 10, _hoisted_3$10),
105488
+ }, [step.stepComplete ? (openBlock(), createBlock(unref(Check), { key: 0 })) : (openBlock(), createElementBlock("span", _hoisted_4$7, toDisplayString(index + 1), 1))], 10, _hoisted_3$10),
105489
105489
  createElementVNode("div", { onClick: ($event) => onStepClick(index) }, toDisplayString(step.stepLabel), 9, _hoisted_5$4),
105490
105490
  index < steps.value.length - 1 ? (openBlock(), createElementBlock("hr", _hoisted_6$4)) : createCommentVNode("", true)
105491
105491
  ], 2);
@@ -105699,7 +105699,7 @@ var _hoisted_1$25 = {
105699
105699
  };
105700
105700
  var _hoisted_2$16 = { class: "parent-label" };
105701
105701
  var _hoisted_3$9 = ["onClick"];
105702
- var _hoisted_4$5 = { class: "parent-label" };
105702
+ var _hoisted_4$6 = { class: "parent-label" };
105703
105703
  var _hoisted_5$3 = {
105704
105704
  key: 1,
105705
105705
  class: "parent-item"
@@ -105772,7 +105772,7 @@ var BmsMenuNav_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
105772
105772
  key: 0,
105773
105773
  class: "parent-item is-clickable",
105774
105774
  onClick: ($event) => toggleParentItem(item)
105775
- }, [createElementVNode("span", _hoisted_4$5, toDisplayString(item.label), 1), !item.open ? (openBlock(), createBlock(unref(ChevronDown), { key: 0 })) : (openBlock(), createBlock(unref(ChevronUp), { key: 1 }))], 8, _hoisted_3$9)) : (openBlock(), createElementBlock("div", _hoisted_5$3, [createElementVNode("span", _hoisted_6$3, toDisplayString(item.label), 1)]))], 64)), createVNode(Transition, { name: "open" }, {
105775
+ }, [createElementVNode("span", _hoisted_4$6, toDisplayString(item.label), 1), !item.open ? (openBlock(), createBlock(unref(ChevronDown), { key: 0 })) : (openBlock(), createBlock(unref(ChevronUp), { key: 1 }))], 8, _hoisted_3$9)) : (openBlock(), createElementBlock("div", _hoisted_5$3, [createElementVNode("span", _hoisted_6$3, toDisplayString(item.label), 1)]))], 64)), createVNode(Transition, { name: "open" }, {
105776
105776
  default: withCtx(() => [withDirectives(createElementVNode("ul", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.items, (subItem) => {
105777
105777
  return openBlock(), createElementBlock("li", { key: subItem.label }, [createVNode(UiMenuItem_default, {
105778
105778
  item: subItem,
@@ -106509,7 +106509,7 @@ var empty_default = { render };
106509
106509
  var _hoisted_1$15 = { class: "empty-screen" };
106510
106510
  var _hoisted_2$12 = { class: "empty-screen__img" };
106511
106511
  var _hoisted_3$7 = { class: "empty-screen__title" };
106512
- var _hoisted_4$4 = {
106512
+ var _hoisted_4$5 = {
106513
106513
  key: 0,
106514
106514
  class: "empty-screen__description"
106515
106515
  };
@@ -106527,7 +106527,7 @@ var BmsEmptyScreen_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
106527
106527
  return openBlock(), createElementBlock("div", _hoisted_1$15, [
106528
106528
  createElementVNode("div", _hoisted_2$12, [createVNode(unref(empty_default))]),
106529
106529
  createElementVNode("h1", _hoisted_3$7, toDisplayString(props.title), 1),
106530
- props.description ? (openBlock(), createElementBlock("p", _hoisted_4$4, toDisplayString(props.description), 1)) : createCommentVNode("", true)
106530
+ props.description ? (openBlock(), createElementBlock("p", _hoisted_4$5, toDisplayString(props.description), 1)) : createCommentVNode("", true)
106531
106531
  ]);
106532
106532
  };
106533
106533
  }
@@ -108939,15 +108939,16 @@ var UiBmsTableCell_default = /* @__PURE__ */ defineComponent({
108939
108939
  });
108940
108940
  //#endregion
108941
108941
  //#region src/components/table/UiBmsTableRow.vue?vue&type=script&setup=true&lang.ts
108942
- var _hoisted_1$12 = {
108943
- key: 0,
108942
+ var _hoisted_1$12 = ["draggable"];
108943
+ var _hoisted_2$10 = {
108944
+ key: 1,
108944
108945
  class: "bms-table__row__cell__checkbox"
108945
108946
  };
108946
- var _hoisted_2$10 = {
108947
+ var _hoisted_3$5 = {
108947
108948
  key: 0,
108948
108949
  class: "bms-table__row__cell--child-element"
108949
108950
  };
108950
- var _hoisted_3$5 = {
108951
+ var _hoisted_4$4 = {
108951
108952
  key: 1,
108952
108953
  class: "bms-table__row__cell--action"
108953
108954
  };
@@ -108969,11 +108970,22 @@ var UiBmsTableRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
108969
108970
  type: Boolean,
108970
108971
  default: false
108971
108972
  },
108972
- isChildElement: { type: Boolean }
108973
+ isChildElement: { type: Boolean },
108974
+ draggable: {
108975
+ type: Boolean,
108976
+ default: false
108977
+ }
108973
108978
  },
108974
- emits: ["select"],
108979
+ emits: [
108980
+ "select",
108981
+ "dragStart",
108982
+ "dragOver",
108983
+ "dragEnd",
108984
+ "drop"
108985
+ ],
108975
108986
  setup(__props, { emit: __emit }) {
108976
108987
  const props = __props;
108988
+ const gripped = ref(false);
108977
108989
  const emits = __emit;
108978
108990
  const currentItem = computed(() => props.isChildElement ? props.item.childElement : props.item);
108979
108991
  const isItemSelected = (item) => {
@@ -108983,67 +108995,89 @@ var UiBmsTableRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
108983
108995
  return `u-text-align-${!header.align ? "start" : header.align}`;
108984
108996
  };
108985
108997
  return (_ctx, _cache) => {
108986
- return openBlock(), createElementBlock("tr", { class: normalizeClass(["bms-table__row", {
108987
- "bms-table__row--selected": isItemSelected(currentItem.value),
108988
- "bms-table__row--disabled": __props.isChildElement,
108989
- "bms-table__row--dense": __props.dense
108990
- }]) }, [__props.selectable ? (openBlock(), createElementBlock("td", _hoisted_1$12, [createVNode(BmsTooltip_default, {
108991
- direction: unref(TooltipDirection).Right,
108992
- "tooltip-text": "Vous ne pouvez pas désélectionner un élément unitairement si vous avez choisi de sélectionner la totalité des éléments",
108993
- activated: __props.selectMode === unref(SelectMode).ALL
108994
- }, {
108995
- default: withCtx(() => [__props.selectMode === unref(SelectMode).SINGLE ? (openBlock(), createBlock(BmsInputRadio_default, {
108998
+ return openBlock(), createElementBlock("tr", {
108999
+ class: normalizeClass(["bms-table__row", {
109000
+ "bms-table__row--selected": isItemSelected(currentItem.value),
109001
+ "bms-table__row--disabled": __props.isChildElement,
109002
+ "bms-table__row--dense": __props.dense
109003
+ }]),
109004
+ draggable: __props.draggable && gripped.value,
109005
+ onDragstart: _cache[4] || (_cache[4] = ($event) => emits("dragStart")),
109006
+ onDragover: _cache[5] || (_cache[5] = ($event) => __props.draggable && ($event.preventDefault(), emits("dragOver"))),
109007
+ onDragend: _cache[6] || (_cache[6] = ($event) => {
109008
+ gripped.value = false;
109009
+ emits("dragEnd");
109010
+ }),
109011
+ onDrop: _cache[7] || (_cache[7] = ($event) => __props.draggable && ($event.preventDefault(), emits("drop")))
109012
+ }, [
109013
+ __props.draggable ? (openBlock(), createElementBlock("td", {
108996
109014
  key: 0,
108997
- name: unref(v4)(),
108998
- disabled: __props.selectableDisabled,
108999
- value: currentItem.value,
109000
- "model-value": isItemSelected(currentItem.value) ? currentItem.value : null,
109001
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emits("select", currentItem.value))
109002
- }, null, 8, [
109003
- "name",
109004
- "disabled",
109005
- "value",
109006
- "model-value"
109007
- ])) : (openBlock(), createBlock(UiBmsInputCheckbox_default, {
109008
- key: 1,
109009
- name: unref(v4)(),
109010
- disabled: __props.selectMode === unref(SelectMode).ALL || __props.selectableDisabled,
109011
- "model-value": isItemSelected(currentItem.value),
109012
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => emits("select", currentItem.value))
109013
- }, null, 8, [
109014
- "name",
109015
- "disabled",
109016
- "model-value"
109017
- ]))]),
109018
- _: 1
109019
- }, 8, ["direction", "activated"])])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", { row: __props.item }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.headers, (cell, index) => {
109020
- return openBlock(), createElementBlock("td", {
109021
- class: normalizeClass([getAlignClass(cell), "bms-table__row__cell"]),
109022
- key: cell.key
109023
- }, [__props.isChildElement ? (openBlock(), createElementBlock("div", _hoisted_2$10, [index === 0 ? (openBlock(), createBlock(unref(CornerDownRight), {
109015
+ class: "bms-table__row__cell--drag-handle",
109016
+ onMousedown: _cache[0] || (_cache[0] = ($event) => !__props.isChildElement && (gripped.value = true)),
109017
+ onMouseup: _cache[1] || (_cache[1] = ($event) => gripped.value = false)
109018
+ }, [!__props.isChildElement ? (openBlock(), createBlock(unref(GripVertical), {
109024
109019
  key: 0,
109025
- class: "bms-table__row__cell--child-element__icon"
109026
- })) : createCommentVNode("", true), renderSlot(_ctx.$slots, cell.key, {
109027
- row: __props.item.childElement,
109028
- isChildElement: __props.isChildElement
109029
- }, () => [createVNode(UiBmsTableCell_default, {
109030
- item: __props.item.childElement,
109031
- cell
109032
- }, null, 8, ["item", "cell"])], true)])) : cell?.action ? (openBlock(), createElementBlock("div", _hoisted_3$5, [renderSlot(_ctx.$slots, cell.key, {
109033
- row: __props.item,
109034
- isChildElement: __props.isChildElement
109035
- }, void 0, true)])) : renderSlot(_ctx.$slots, cell.key, {
109036
- key: 2,
109037
- row: __props.item,
109038
- isChildElement: __props.isChildElement
109039
- }, () => [createVNode(UiBmsTableCell_default, {
109040
- item: __props.item,
109041
- cell
109042
- }, null, 8, ["item", "cell"])], true)], 2);
109043
- }), 128))], true)], 2);
109020
+ class: "drag-handle-icon"
109021
+ })) : createCommentVNode("", true)], 32)) : createCommentVNode("", true),
109022
+ __props.selectable ? (openBlock(), createElementBlock("td", _hoisted_2$10, [createVNode(BmsTooltip_default, {
109023
+ direction: unref(TooltipDirection).Right,
109024
+ "tooltip-text": "Vous ne pouvez pas désélectionner un élément unitairement si vous avez choisi de sélectionner la totalité des éléments",
109025
+ activated: __props.selectMode === unref(SelectMode).ALL
109026
+ }, {
109027
+ default: withCtx(() => [__props.selectMode === unref(SelectMode).SINGLE ? (openBlock(), createBlock(BmsInputRadio_default, {
109028
+ key: 0,
109029
+ name: unref(v4)(),
109030
+ disabled: __props.selectableDisabled,
109031
+ value: currentItem.value,
109032
+ "model-value": isItemSelected(currentItem.value) ? currentItem.value : null,
109033
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => emits("select", currentItem.value))
109034
+ }, null, 8, [
109035
+ "name",
109036
+ "disabled",
109037
+ "value",
109038
+ "model-value"
109039
+ ])) : (openBlock(), createBlock(UiBmsInputCheckbox_default, {
109040
+ key: 1,
109041
+ name: unref(v4)(),
109042
+ disabled: __props.selectMode === unref(SelectMode).ALL || __props.selectableDisabled,
109043
+ "model-value": isItemSelected(currentItem.value),
109044
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => emits("select", currentItem.value))
109045
+ }, null, 8, [
109046
+ "name",
109047
+ "disabled",
109048
+ "model-value"
109049
+ ]))]),
109050
+ _: 1
109051
+ }, 8, ["direction", "activated"])])) : createCommentVNode("", true),
109052
+ renderSlot(_ctx.$slots, "default", { row: __props.item }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.headers, (cell, index) => {
109053
+ return openBlock(), createElementBlock("td", {
109054
+ class: normalizeClass([getAlignClass(cell), "bms-table__row__cell"]),
109055
+ key: cell.key
109056
+ }, [__props.isChildElement ? (openBlock(), createElementBlock("div", _hoisted_3$5, [index === 0 ? (openBlock(), createBlock(unref(CornerDownRight), {
109057
+ key: 0,
109058
+ class: "bms-table__row__cell--child-element__icon"
109059
+ })) : createCommentVNode("", true), renderSlot(_ctx.$slots, cell.key, {
109060
+ row: __props.item.childElement,
109061
+ isChildElement: __props.isChildElement
109062
+ }, () => [createVNode(UiBmsTableCell_default, {
109063
+ item: __props.item.childElement,
109064
+ cell
109065
+ }, null, 8, ["item", "cell"])], true)])) : cell?.action ? (openBlock(), createElementBlock("div", _hoisted_4$4, [renderSlot(_ctx.$slots, cell.key, {
109066
+ row: __props.item,
109067
+ isChildElement: __props.isChildElement
109068
+ }, void 0, true)])) : renderSlot(_ctx.$slots, cell.key, {
109069
+ key: 2,
109070
+ row: __props.item,
109071
+ isChildElement: __props.isChildElement
109072
+ }, () => [createVNode(UiBmsTableCell_default, {
109073
+ item: __props.item,
109074
+ cell
109075
+ }, null, 8, ["item", "cell"])], true)], 2);
109076
+ }), 128))], true)
109077
+ ], 42, _hoisted_1$12);
109044
109078
  };
109045
109079
  }
109046
- }), [["__scopeId", "data-v-a290e24c"]]);
109080
+ }), [["__scopeId", "data-v-13885778"]]);
109047
109081
  //#endregion
109048
109082
  //#region src/components/table/UiBmsTable.vue?vue&type=script&setup=true&lang.ts
109049
109083
  var _hoisted_1$11 = { class: "bms-table" };
@@ -109066,15 +109100,19 @@ var _hoisted_10$1 = {
109066
109100
  class: "bms-table__header"
109067
109101
  };
109068
109102
  var _hoisted_11$1 = { class: "bms-table__headers bms-table__row" };
109069
- var _hoisted_12$1 = { key: 0 };
109070
- var _hoisted_13$1 = ["onClick"];
109071
- var _hoisted_14$1 = { class: "header-content" };
109072
- var _hoisted_15$1 = { class: "bms-table__body" };
109073
- var _hoisted_16$1 = {
109103
+ var _hoisted_12$1 = {
109104
+ key: 0,
109105
+ class: "drag-handle-header"
109106
+ };
109107
+ var _hoisted_13$1 = { key: 1 };
109108
+ var _hoisted_14$1 = ["onClick"];
109109
+ var _hoisted_15$1 = { class: "header-content" };
109110
+ var _hoisted_16$1 = { class: "bms-table__body" };
109111
+ var _hoisted_17 = {
109074
109112
  key: 1,
109075
109113
  class: "bms-table__row"
109076
109114
  };
109077
- var _hoisted_17 = ["colspan"];
109115
+ var _hoisted_18 = ["colspan"];
109078
109116
  //#endregion
109079
109117
  //#region src/components/table/UiBmsTable.vue
109080
109118
  var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -109103,7 +109141,8 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109103
109141
  selectedItems: {},
109104
109142
  totalSize: {},
109105
109143
  maxSelectedSize: { default: Infinity },
109106
- selectMode: { default: SelectMode.DEFAULT }
109144
+ selectMode: { default: SelectMode.DEFAULT },
109145
+ draggable: { type: Boolean }
109107
109146
  }, {
109108
109147
  "selectedItems": { default: [] },
109109
109148
  "selectedItemsModifiers": {}
@@ -109111,12 +109150,34 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109111
109150
  emits: /*@__PURE__*/ mergeModels([
109112
109151
  "clickHeader",
109113
109152
  "selectAll",
109114
- "clearSelection"
109153
+ "clearSelection",
109154
+ "reorder",
109155
+ "selectionIndicesUpdate"
109115
109156
  ], ["update:selectedItems"]),
109116
109157
  setup(__props, { emit: __emit }) {
109117
109158
  const props = __props;
109118
109159
  const selectedItems = useModel(__props, "selectedItems");
109119
109160
  const emits = __emit;
109161
+ const dragSourceIndex = ref(null);
109162
+ const dragTargetIndex = ref(null);
109163
+ const isDraggingDown = computed(() => dragSourceIndex.value !== null && dragTargetIndex.value !== null && dragSourceIndex.value < dragTargetIndex.value);
109164
+ const onRowDragStart = (index) => {
109165
+ dragSourceIndex.value = index;
109166
+ };
109167
+ const onRowDragOver = (index) => {
109168
+ dragTargetIndex.value = index;
109169
+ };
109170
+ const onRowDragEnd = () => {
109171
+ if (dragSourceIndex.value !== null && dragTargetIndex.value !== null && dragSourceIndex.value !== dragTargetIndex.value) {
109172
+ const reordered = [...props.items];
109173
+ const [moved] = reordered.splice(dragSourceIndex.value, 1);
109174
+ reordered.splice(dragTargetIndex.value, 0, moved);
109175
+ if (selectedItems.value.length > 0) emits("selectionIndicesUpdate", reordered.map((item, i) => selectedItems.value.includes(item) ? i : -1).filter((i) => i !== -1));
109176
+ emits("reorder", reordered);
109177
+ }
109178
+ dragSourceIndex.value = null;
109179
+ dragTargetIndex.value = null;
109180
+ };
109120
109181
  const pagination = ref(null);
109121
109182
  const isFocusOnPagination = () => pagination.value?.contains(document.activeElement);
109122
109183
  watch(() => props.items, async function keepFocusOnPaginationWhenUsed(newVal, oldVal) {
@@ -109225,38 +109286,45 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109225
109286
  class: normalizeClass(tableClass.value),
109226
109287
  ref_key: "mainComponent",
109227
109288
  ref: mainComponent
109228
- }, [createElementVNode("thead", _hoisted_10$1, [createElementVNode("tr", _hoisted_11$1, [__props.selectable ? (openBlock(), createElementBlock("th", _hoisted_12$1, [__props.selectMode !== unref(SelectMode).SINGLE ? (openBlock(), createBlock(UiBmsInputCheckbox_default, {
109229
- key: 0,
109230
- name: "select-all",
109231
- disabled: __props.items.length === 0 || __props.selectableDisabled,
109232
- "onUpdate:modelValue": [onToggleSelectAllCurrentItems, _cache[0] || (_cache[0] = ($event) => areAllCurrentItemsSelected.value = $event)],
109233
- modelValue: areAllCurrentItemsSelected.value
109234
- }, null, 8, ["disabled", "modelValue"])) : createCommentVNode("", true)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(filteredHeaders.value, (header) => {
109235
- return openBlock(), createElementBlock("th", {
109236
- style: normalizeStyle({ "--table-cell-width": header?.width || void 0 }),
109237
- class: normalizeClass(unref(getHeaderClasses)(header, __props.sort)),
109238
- key: header.label,
109239
- onClick: ($event) => emits("clickHeader", header)
109240
- }, [createElementVNode("span", _hoisted_14$1, [
109241
- createTextVNode(toDisplayString(header.label) + " ", 1),
109242
- header.helperText ? (openBlock(), createBlock(unref(BmsTooltip_default), {
109243
- key: 0,
109244
- tooltipText: header.helperText
109245
- }, {
109246
- default: withCtx(() => [createElementVNode("span", {
109247
- class: "header-content-helper",
109248
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
109249
- onPointerdown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"]))
109250
- }, [createVNode(unref(CircleQuestionMark), { size: 18 })], 32)]),
109251
- _: 1
109252
- }, 8, ["tooltipText"])) : createCommentVNode("", true),
109253
- header.sortable ? (openBlock(), createBlock(resolveDynamicComponent(getSortComponent(header)), {
109254
- key: 1,
109255
- size: 18,
109256
- class: "header-content-sort"
109257
- })) : createCommentVNode("", true)
109258
- ])], 14, _hoisted_13$1);
109259
- }), 128))])], 512), createElementVNode("tbody", _hoisted_15$1, [__props.items.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(__props.items, (item) => {
109289
+ }, [createElementVNode("thead", _hoisted_10$1, [createElementVNode("tr", _hoisted_11$1, [
109290
+ __props.draggable ? (openBlock(), createElementBlock("th", _hoisted_12$1)) : createCommentVNode("", true),
109291
+ __props.selectable ? (openBlock(), createElementBlock("th", _hoisted_13$1, [__props.selectMode !== unref(SelectMode).SINGLE ? (openBlock(), createBlock(UiBmsInputCheckbox_default, {
109292
+ key: 0,
109293
+ name: "select-all",
109294
+ disabled: __props.items.length === 0 || __props.selectableDisabled,
109295
+ "onUpdate:modelValue": [onToggleSelectAllCurrentItems, _cache[0] || (_cache[0] = ($event) => areAllCurrentItemsSelected.value = $event)],
109296
+ modelValue: areAllCurrentItemsSelected.value
109297
+ }, null, 8, ["disabled", "modelValue"])) : createCommentVNode("", true)])) : createCommentVNode("", true),
109298
+ (openBlock(true), createElementBlock(Fragment, null, renderList(filteredHeaders.value, (header) => {
109299
+ return openBlock(), createElementBlock("th", {
109300
+ style: normalizeStyle({ "--table-cell-width": header?.width || void 0 }),
109301
+ class: normalizeClass(unref(getHeaderClasses)(header, __props.draggable ? {
109302
+ key: null,
109303
+ value: unref(SortValue).default
109304
+ } : __props.sort)),
109305
+ key: header.label,
109306
+ onClick: ($event) => !__props.draggable && emits("clickHeader", header)
109307
+ }, [createElementVNode("span", _hoisted_15$1, [
109308
+ createTextVNode(toDisplayString(header.label) + " ", 1),
109309
+ header.helperText ? (openBlock(), createBlock(unref(BmsTooltip_default), {
109310
+ key: 0,
109311
+ tooltipText: header.helperText
109312
+ }, {
109313
+ default: withCtx(() => [createElementVNode("span", {
109314
+ class: "header-content-helper",
109315
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
109316
+ onPointerdown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"]))
109317
+ }, [createVNode(unref(CircleQuestionMark), { size: 18 })], 32)]),
109318
+ _: 1
109319
+ }, 8, ["tooltipText"])) : createCommentVNode("", true),
109320
+ header.sortable && !__props.draggable ? (openBlock(), createBlock(resolveDynamicComponent(getSortComponent(header)), {
109321
+ key: 1,
109322
+ size: 18,
109323
+ class: "header-content-sort"
109324
+ })) : createCommentVNode("", true)
109325
+ ])], 14, _hoisted_14$1);
109326
+ }), 128))
109327
+ ])], 512), createElementVNode("tbody", _hoisted_16$1, [__props.items.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(__props.items, (item, index) => {
109260
109328
  return openBlock(), createElementBlock(Fragment, { key: item }, [createVNode(UiBmsTableRow_default, {
109261
109329
  item,
109262
109330
  "selected-items": selectedItems.value,
@@ -109265,7 +109333,16 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109265
109333
  "select-mode": __props.selectMode,
109266
109334
  "selectable-disabled": __props.selectableDisabled,
109267
109335
  dense: __props.mode === unref(TableMode).DENSE || __props.mode === unref(TableMode).SMALL,
109268
- onSelect: onItemSelect
109336
+ draggable: __props.draggable,
109337
+ class: normalizeClass({
109338
+ "bms-table__row--drag-insert-after": __props.draggable && dragTargetIndex.value === index && dragSourceIndex.value !== index && isDraggingDown.value,
109339
+ "bms-table__row--drag-insert-before": __props.draggable && dragTargetIndex.value === index && dragSourceIndex.value !== index && !isDraggingDown.value
109340
+ }),
109341
+ onSelect: onItemSelect,
109342
+ onDragStart: ($event) => onRowDragStart(index),
109343
+ onDragOver: ($event) => onRowDragOver(index),
109344
+ onDragEnd: onRowDragEnd,
109345
+ onDrop: onRowDragEnd
109269
109346
  }, createSlots({
109270
109347
  default: withCtx(({ row }) => [renderSlot(_ctx.$slots, "default", { row }, void 0, true)]),
109271
109348
  _: 2
@@ -109281,7 +109358,11 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109281
109358
  "headers",
109282
109359
  "select-mode",
109283
109360
  "selectable-disabled",
109284
- "dense"
109361
+ "dense",
109362
+ "draggable",
109363
+ "class",
109364
+ "onDragStart",
109365
+ "onDragOver"
109285
109366
  ]), item?.childElement ? renderSlot(_ctx.$slots, "child-element", { key: 0 }, () => [createVNode(UiBmsTableRow_default, {
109286
109367
  "is-child-element": "",
109287
109368
  item,
@@ -109290,6 +109371,7 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109290
109371
  headers: filteredHeaders.value,
109291
109372
  "select-mode": __props.selectMode,
109292
109373
  "selectable-disabled": __props.selectableDisabled,
109374
+ draggable: __props.draggable,
109293
109375
  onSelect: onItemSelect
109294
109376
  }, createSlots({ _: 2 }, [renderList(__props.headers, (cell) => {
109295
109377
  return {
@@ -109302,12 +109384,13 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109302
109384
  "selectable",
109303
109385
  "headers",
109304
109386
  "select-mode",
109305
- "selectable-disabled"
109387
+ "selectable-disabled",
109388
+ "draggable"
109306
109389
  ])], true) : createCommentVNode("", true)], 64);
109307
- }), 128)) : (openBlock(), createElementBlock("tr", _hoisted_16$1, [createElementVNode("td", {
109308
- colspan: __props.selectable ? filteredHeaders.value.length + 1 : filteredHeaders.value.length,
109390
+ }), 128)) : (openBlock(), createElementBlock("tr", _hoisted_17, [createElementVNode("td", {
109391
+ colspan: filteredHeaders.value.length + (__props.selectable ? 1 : 0) + (__props.draggable ? 1 : 0),
109309
109392
  class: "bms-table__cell bms-table__cell--empty"
109310
- }, [!props.loading ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [_cache[5] || (_cache[5] = createTextVNode("Aucune donnée", -1))], true) : createCommentVNode("", true)], 8, _hoisted_17)]))])], 2)) : createCommentVNode("", true),
109393
+ }, [!props.loading ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [_cache[5] || (_cache[5] = createTextVNode("Aucune donnée", -1))], true) : createCommentVNode("", true)], 8, _hoisted_18)]))])], 2)) : createCommentVNode("", true),
109311
109394
  createElementVNode("div", {
109312
109395
  ref_key: "pagination",
109313
109396
  ref: pagination,
@@ -109318,7 +109401,7 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109318
109401
  ]);
109319
109402
  };
109320
109403
  }
109321
- }), [["__scopeId", "data-v-2b029949"]]);
109404
+ }), [["__scopeId", "data-v-c883a5f1"]]);
109322
109405
  //#endregion
109323
109406
  //#region src/components/table/UiFilterButton.vue?vue&type=script&setup=true&lang.ts
109324
109407
  var _hoisted_1$10 = { class: "filter-button-container" };
@@ -114454,7 +114537,8 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114454
114537
  default: false
114455
114538
  },
114456
114539
  selectMode: { default: SelectMode.DEFAULT },
114457
- customSearch: {}
114540
+ customSearch: {},
114541
+ draggable: { type: Boolean }
114458
114542
  }, {
114459
114543
  "selectedItems": {
114460
114544
  required: false,
@@ -114466,7 +114550,8 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114466
114550
  "deleteSavedFilter",
114467
114551
  "saveFilter",
114468
114552
  "filterInput",
114469
- "filterChange"
114553
+ "filterChange",
114554
+ "reorder"
114470
114555
  ], ["update:selectedItems"]),
114471
114556
  setup(__props, { emit: __emit }) {
114472
114557
  const route = useRoute();
@@ -114483,7 +114568,8 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114483
114568
  }));
114484
114569
  const getFilteredItems = () => {
114485
114570
  const applySearch = props.customSearch ? (item) => props.customSearch(item, search.value) : (item) => bmsDefaultSearchFilterFunction(item, search.value);
114486
- return sortItems(filterItems(props.items).filter(applySearch));
114571
+ const filtered = filterItems(props.items).filter(applySearch);
114572
+ return props.draggable ? filtered : sortItems(filtered);
114487
114573
  };
114488
114574
  const isMounting = ref(true);
114489
114575
  watch(() => props.filters, () => {
@@ -114507,10 +114593,18 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114507
114593
  watch(route, () => {
114508
114594
  if (!isMounting.value && true) resetAllFilters();
114509
114595
  });
114596
+ const pendingSelectionIndices = ref(null);
114597
+ const onSelectionIndicesUpdate = (indices) => {
114598
+ pendingSelectionIndices.value = indices;
114599
+ };
114510
114600
  watch(() => props.items, () => {
114511
114601
  if (!isMounting.value) {
114512
114602
  items.value = getFilteredItems();
114513
- selectedItems.value = [];
114603
+ if (!props.draggable) selectedItems.value = [];
114604
+ else if (pendingSelectionIndices.value !== null) {
114605
+ selectedItems.value = pendingSelectionIndices.value.map((i) => items.value[i]).filter(Boolean);
114606
+ pendingSelectionIndices.value = null;
114607
+ } else selectedItems.value = [];
114514
114608
  }
114515
114609
  });
114516
114610
  watchEffect(() => {
@@ -114553,12 +114647,15 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114553
114647
  selectedItems: selectedItems.value,
114554
114648
  "onUpdate:selectedItems": _cache[6] || (_cache[6] = ($event) => selectedItems.value = $event),
114555
114649
  loading: __props.loading,
114556
- items: unref(currentItems),
114650
+ items: __props.draggable ? unref(items) : unref(currentItems),
114557
114651
  headers: __props.headers,
114558
114652
  mode: __props.mode,
114559
114653
  hasFilters: unref(filters).length > 0,
114560
114654
  sort: unref(sort),
114561
114655
  selectable: __props.selectable,
114656
+ draggable: __props.draggable,
114657
+ onReorder: _cache[7] || (_cache[7] = ($event) => emits("reorder", $event)),
114658
+ onSelectionIndicesUpdate,
114562
114659
  selectableDisabled: __props.selectableDisabled,
114563
114660
  totalSize: totalSize.value,
114564
114661
  selectMode: __props.selectMode,
@@ -114657,13 +114754,14 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114657
114754
  "hasFilters",
114658
114755
  "sort",
114659
114756
  "selectable",
114757
+ "draggable",
114660
114758
  "selectableDisabled",
114661
114759
  "totalSize",
114662
114760
  "selectMode"
114663
114761
  ]);
114664
114762
  };
114665
114763
  }
114666
- }), [["__scopeId", "data-v-fd6979a1"]]);
114764
+ }), [["__scopeId", "data-v-9ae7d971"]]);
114667
114765
  //#endregion
114668
114766
  //#region src/components/utils/BmsCocarde.vue
114669
114767
  var BmsCocarde_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({