@ouestfrance/sipa-bms-ui 8.48.1 → 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",
@@ -101544,7 +101544,8 @@ var BmsCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
101544
101544
  });
101545
101545
  const classes = computed(() => ({
101546
101546
  "is-error": props.errors?.length,
101547
- "is-disabled": props.disabled
101547
+ "is-disabled": props.disabled,
101548
+ "has-icon": !props.multiple && !!singleSelectedItem.value?.icon
101548
101549
  }));
101549
101550
  watch(searching, (newSearch) => {
101550
101551
  if (props.request) debouncedLoadData(newSearch);
@@ -101749,7 +101750,7 @@ var BmsCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
101749
101750
  disabled: __props.disabled,
101750
101751
  onKeyup: withKeys(openDatalist, ["down"]),
101751
101752
  onInput: _cache[1] || (_cache[1] = ($event) => filteringActive.value = true)
101752
- }, null, 40, _hoisted_4$9)), [[vModelText, searching.value]]) : createCommentVNode("", true),
101753
+ }, null, 40, _hoisted_4$10)), [[vModelText, searching.value]]) : createCommentVNode("", true),
101753
101754
  hasEndIcon.value ? (openBlock(), createElementBlock("span", _hoisted_5$7, [renderSlot(_ctx.$slots, "icon-end", {}, void 0, true)])) : createCommentVNode("", true)
101754
101755
  ], true),
101755
101756
  createElementVNode("span", _hoisted_6$7, [canClear.value ? (openBlock(), createBlock(unref(X), {
@@ -101809,7 +101810,7 @@ var BmsCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
101809
101810
  }, 16)]);
101810
101811
  };
101811
101812
  }
101812
- }), [["__scopeId", "data-v-374cfaec"]]);
101813
+ }), [["__scopeId", "data-v-7df0bce4"]]);
101813
101814
  //#endregion
101814
101815
  //#region src/components/form/BmsTextArea.vue?vue&type=script&setup=true&lang.ts
101815
101816
  var _hoisted_1$42 = [
@@ -104873,7 +104874,7 @@ var BmsShortLinkMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/
104873
104874
  var _hoisted_1$35 = { class: "bms-header" };
104874
104875
  var _hoisted_2$23 = { class: "bms-header__title" };
104875
104876
  var _hoisted_3$13 = { class: "bms-header__title__label" };
104876
- var _hoisted_4$8 = { key: 0 };
104877
+ var _hoisted_4$9 = { key: 0 };
104877
104878
  var _hoisted_5$6 = {
104878
104879
  key: 1,
104879
104880
  class: "bms-header__title__after-title"
@@ -104904,7 +104905,7 @@ var BmsHeaderTitle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
104904
104905
  return (_ctx, _cache) => {
104905
104906
  return openBlock(), createElementBlock("div", _hoisted_1$35, [createElementVNode("span", _hoisted_2$23, [
104906
104907
  renderSlot(_ctx.$slots, "logo", {}, void 0, true),
104907
- 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)]),
104908
104909
  showHelperLink.value ? (openBlock(), createBlock(BmsShortLinkMenu_default, {
104909
104910
  key: 0,
104910
104911
  outline: true,
@@ -104939,7 +104940,7 @@ var BmsOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
104939
104940
  var _hoisted_1$34 = ["data-testid"];
104940
104941
  var _hoisted_2$22 = { class: "ui-modal__header" };
104941
104942
  var _hoisted_3$12 = { class: "ui-modal__header-inner" };
104942
- var _hoisted_4$7 = { class: "ui-modal__title" };
104943
+ var _hoisted_4$8 = { class: "ui-modal__title" };
104943
104944
  var _hoisted_5$5 = { class: "ui-modal__content" };
104944
104945
  var _hoisted_6$5 = { class: "ui-modal__footer" };
104945
104946
  var _hoisted_7$5 = { class: "ui-modal__buttons" };
@@ -105070,7 +105071,7 @@ var BmsModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
105070
105071
  ref_key: "innerModal",
105071
105072
  ref: innerModal
105072
105073
  }, [
105073
- 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), {
105074
105075
  key: 0,
105075
105076
  class: "title-indicator",
105076
105077
  size: 20
@@ -105430,7 +105431,7 @@ var BmsStep_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
105430
105431
  var _hoisted_1$29 = { class: "stepper" };
105431
105432
  var _hoisted_2$18 = { class: "stepper-header" };
105432
105433
  var _hoisted_3$10 = ["onClick"];
105433
- var _hoisted_4$6 = { key: 1 };
105434
+ var _hoisted_4$7 = { key: 1 };
105434
105435
  var _hoisted_5$4 = ["onClick"];
105435
105436
  var _hoisted_6$4 = {
105436
105437
  key: 0,
@@ -105484,7 +105485,7 @@ var BmsStepper_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
105484
105485
  createElementVNode("div", {
105485
105486
  class: normalizeClass(["stepper-header--indicator", stepIndicator(step, index)]),
105486
105487
  onClick: ($event) => onStepClick(index)
105487
- }, [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),
105488
105489
  createElementVNode("div", { onClick: ($event) => onStepClick(index) }, toDisplayString(step.stepLabel), 9, _hoisted_5$4),
105489
105490
  index < steps.value.length - 1 ? (openBlock(), createElementBlock("hr", _hoisted_6$4)) : createCommentVNode("", true)
105490
105491
  ], 2);
@@ -105698,7 +105699,7 @@ var _hoisted_1$25 = {
105698
105699
  };
105699
105700
  var _hoisted_2$16 = { class: "parent-label" };
105700
105701
  var _hoisted_3$9 = ["onClick"];
105701
- var _hoisted_4$5 = { class: "parent-label" };
105702
+ var _hoisted_4$6 = { class: "parent-label" };
105702
105703
  var _hoisted_5$3 = {
105703
105704
  key: 1,
105704
105705
  class: "parent-item"
@@ -105771,7 +105772,7 @@ var BmsMenuNav_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
105771
105772
  key: 0,
105772
105773
  class: "parent-item is-clickable",
105773
105774
  onClick: ($event) => toggleParentItem(item)
105774
- }, [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" }, {
105775
105776
  default: withCtx(() => [withDirectives(createElementVNode("ul", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.items, (subItem) => {
105776
105777
  return openBlock(), createElementBlock("li", { key: subItem.label }, [createVNode(UiMenuItem_default, {
105777
105778
  item: subItem,
@@ -106508,7 +106509,7 @@ var empty_default = { render };
106508
106509
  var _hoisted_1$15 = { class: "empty-screen" };
106509
106510
  var _hoisted_2$12 = { class: "empty-screen__img" };
106510
106511
  var _hoisted_3$7 = { class: "empty-screen__title" };
106511
- var _hoisted_4$4 = {
106512
+ var _hoisted_4$5 = {
106512
106513
  key: 0,
106513
106514
  class: "empty-screen__description"
106514
106515
  };
@@ -106526,7 +106527,7 @@ var BmsEmptyScreen_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
106526
106527
  return openBlock(), createElementBlock("div", _hoisted_1$15, [
106527
106528
  createElementVNode("div", _hoisted_2$12, [createVNode(unref(empty_default))]),
106528
106529
  createElementVNode("h1", _hoisted_3$7, toDisplayString(props.title), 1),
106529
- 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)
106530
106531
  ]);
106531
106532
  };
106532
106533
  }
@@ -108938,15 +108939,16 @@ var UiBmsTableCell_default = /* @__PURE__ */ defineComponent({
108938
108939
  });
108939
108940
  //#endregion
108940
108941
  //#region src/components/table/UiBmsTableRow.vue?vue&type=script&setup=true&lang.ts
108941
- var _hoisted_1$12 = {
108942
- key: 0,
108942
+ var _hoisted_1$12 = ["draggable"];
108943
+ var _hoisted_2$10 = {
108944
+ key: 1,
108943
108945
  class: "bms-table__row__cell__checkbox"
108944
108946
  };
108945
- var _hoisted_2$10 = {
108947
+ var _hoisted_3$5 = {
108946
108948
  key: 0,
108947
108949
  class: "bms-table__row__cell--child-element"
108948
108950
  };
108949
- var _hoisted_3$5 = {
108951
+ var _hoisted_4$4 = {
108950
108952
  key: 1,
108951
108953
  class: "bms-table__row__cell--action"
108952
108954
  };
@@ -108968,11 +108970,22 @@ var UiBmsTableRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
108968
108970
  type: Boolean,
108969
108971
  default: false
108970
108972
  },
108971
- isChildElement: { type: Boolean }
108973
+ isChildElement: { type: Boolean },
108974
+ draggable: {
108975
+ type: Boolean,
108976
+ default: false
108977
+ }
108972
108978
  },
108973
- emits: ["select"],
108979
+ emits: [
108980
+ "select",
108981
+ "dragStart",
108982
+ "dragOver",
108983
+ "dragEnd",
108984
+ "drop"
108985
+ ],
108974
108986
  setup(__props, { emit: __emit }) {
108975
108987
  const props = __props;
108988
+ const gripped = ref(false);
108976
108989
  const emits = __emit;
108977
108990
  const currentItem = computed(() => props.isChildElement ? props.item.childElement : props.item);
108978
108991
  const isItemSelected = (item) => {
@@ -108982,67 +108995,89 @@ var UiBmsTableRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
108982
108995
  return `u-text-align-${!header.align ? "start" : header.align}`;
108983
108996
  };
108984
108997
  return (_ctx, _cache) => {
108985
- return openBlock(), createElementBlock("tr", { class: normalizeClass(["bms-table__row", {
108986
- "bms-table__row--selected": isItemSelected(currentItem.value),
108987
- "bms-table__row--disabled": __props.isChildElement,
108988
- "bms-table__row--dense": __props.dense
108989
- }]) }, [__props.selectable ? (openBlock(), createElementBlock("td", _hoisted_1$12, [createVNode(BmsTooltip_default, {
108990
- direction: unref(TooltipDirection).Right,
108991
- "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",
108992
- activated: __props.selectMode === unref(SelectMode).ALL
108993
- }, {
108994
- 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", {
108995
109014
  key: 0,
108996
- name: unref(v4)(),
108997
- disabled: __props.selectableDisabled,
108998
- value: currentItem.value,
108999
- "model-value": isItemSelected(currentItem.value) ? currentItem.value : null,
109000
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emits("select", currentItem.value))
109001
- }, null, 8, [
109002
- "name",
109003
- "disabled",
109004
- "value",
109005
- "model-value"
109006
- ])) : (openBlock(), createBlock(UiBmsInputCheckbox_default, {
109007
- key: 1,
109008
- name: unref(v4)(),
109009
- disabled: __props.selectMode === unref(SelectMode).ALL || __props.selectableDisabled,
109010
- "model-value": isItemSelected(currentItem.value),
109011
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => emits("select", currentItem.value))
109012
- }, null, 8, [
109013
- "name",
109014
- "disabled",
109015
- "model-value"
109016
- ]))]),
109017
- _: 1
109018
- }, 8, ["direction", "activated"])])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", { row: __props.item }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.headers, (cell, index) => {
109019
- return openBlock(), createElementBlock("td", {
109020
- class: normalizeClass([getAlignClass(cell), "bms-table__row__cell"]),
109021
- key: cell.key
109022
- }, [__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), {
109023
109019
  key: 0,
109024
- class: "bms-table__row__cell--child-element__icon"
109025
- })) : createCommentVNode("", true), renderSlot(_ctx.$slots, cell.key, {
109026
- row: __props.item.childElement,
109027
- isChildElement: __props.isChildElement
109028
- }, () => [createVNode(UiBmsTableCell_default, {
109029
- item: __props.item.childElement,
109030
- cell
109031
- }, null, 8, ["item", "cell"])], true)])) : cell?.action ? (openBlock(), createElementBlock("div", _hoisted_3$5, [renderSlot(_ctx.$slots, cell.key, {
109032
- row: __props.item,
109033
- isChildElement: __props.isChildElement
109034
- }, void 0, true)])) : renderSlot(_ctx.$slots, cell.key, {
109035
- key: 2,
109036
- row: __props.item,
109037
- isChildElement: __props.isChildElement
109038
- }, () => [createVNode(UiBmsTableCell_default, {
109039
- item: __props.item,
109040
- cell
109041
- }, null, 8, ["item", "cell"])], true)], 2);
109042
- }), 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);
109043
109078
  };
109044
109079
  }
109045
- }), [["__scopeId", "data-v-a290e24c"]]);
109080
+ }), [["__scopeId", "data-v-13885778"]]);
109046
109081
  //#endregion
109047
109082
  //#region src/components/table/UiBmsTable.vue?vue&type=script&setup=true&lang.ts
109048
109083
  var _hoisted_1$11 = { class: "bms-table" };
@@ -109065,15 +109100,19 @@ var _hoisted_10$1 = {
109065
109100
  class: "bms-table__header"
109066
109101
  };
109067
109102
  var _hoisted_11$1 = { class: "bms-table__headers bms-table__row" };
109068
- var _hoisted_12$1 = { key: 0 };
109069
- var _hoisted_13$1 = ["onClick"];
109070
- var _hoisted_14$1 = { class: "header-content" };
109071
- var _hoisted_15$1 = { class: "bms-table__body" };
109072
- 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 = {
109073
109112
  key: 1,
109074
109113
  class: "bms-table__row"
109075
109114
  };
109076
- var _hoisted_17 = ["colspan"];
109115
+ var _hoisted_18 = ["colspan"];
109077
109116
  //#endregion
109078
109117
  //#region src/components/table/UiBmsTable.vue
109079
109118
  var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -109102,7 +109141,8 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109102
109141
  selectedItems: {},
109103
109142
  totalSize: {},
109104
109143
  maxSelectedSize: { default: Infinity },
109105
- selectMode: { default: SelectMode.DEFAULT }
109144
+ selectMode: { default: SelectMode.DEFAULT },
109145
+ draggable: { type: Boolean }
109106
109146
  }, {
109107
109147
  "selectedItems": { default: [] },
109108
109148
  "selectedItemsModifiers": {}
@@ -109110,12 +109150,34 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109110
109150
  emits: /*@__PURE__*/ mergeModels([
109111
109151
  "clickHeader",
109112
109152
  "selectAll",
109113
- "clearSelection"
109153
+ "clearSelection",
109154
+ "reorder",
109155
+ "selectionIndicesUpdate"
109114
109156
  ], ["update:selectedItems"]),
109115
109157
  setup(__props, { emit: __emit }) {
109116
109158
  const props = __props;
109117
109159
  const selectedItems = useModel(__props, "selectedItems");
109118
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
+ };
109119
109181
  const pagination = ref(null);
109120
109182
  const isFocusOnPagination = () => pagination.value?.contains(document.activeElement);
109121
109183
  watch(() => props.items, async function keepFocusOnPaginationWhenUsed(newVal, oldVal) {
@@ -109224,38 +109286,45 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109224
109286
  class: normalizeClass(tableClass.value),
109225
109287
  ref_key: "mainComponent",
109226
109288
  ref: mainComponent
109227
- }, [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, {
109228
- key: 0,
109229
- name: "select-all",
109230
- disabled: __props.items.length === 0 || __props.selectableDisabled,
109231
- "onUpdate:modelValue": [onToggleSelectAllCurrentItems, _cache[0] || (_cache[0] = ($event) => areAllCurrentItemsSelected.value = $event)],
109232
- modelValue: areAllCurrentItemsSelected.value
109233
- }, null, 8, ["disabled", "modelValue"])) : createCommentVNode("", true)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(filteredHeaders.value, (header) => {
109234
- return openBlock(), createElementBlock("th", {
109235
- style: normalizeStyle({ "--table-cell-width": header?.width || void 0 }),
109236
- class: normalizeClass(unref(getHeaderClasses)(header, __props.sort)),
109237
- key: header.label,
109238
- onClick: ($event) => emits("clickHeader", header)
109239
- }, [createElementVNode("span", _hoisted_14$1, [
109240
- createTextVNode(toDisplayString(header.label) + " ", 1),
109241
- header.helperText ? (openBlock(), createBlock(unref(BmsTooltip_default), {
109242
- key: 0,
109243
- tooltipText: header.helperText
109244
- }, {
109245
- default: withCtx(() => [createElementVNode("span", {
109246
- class: "header-content-helper",
109247
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
109248
- onPointerdown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"]))
109249
- }, [createVNode(unref(CircleQuestionMark), { size: 18 })], 32)]),
109250
- _: 1
109251
- }, 8, ["tooltipText"])) : createCommentVNode("", true),
109252
- header.sortable ? (openBlock(), createBlock(resolveDynamicComponent(getSortComponent(header)), {
109253
- key: 1,
109254
- size: 18,
109255
- class: "header-content-sort"
109256
- })) : createCommentVNode("", true)
109257
- ])], 14, _hoisted_13$1);
109258
- }), 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) => {
109259
109328
  return openBlock(), createElementBlock(Fragment, { key: item }, [createVNode(UiBmsTableRow_default, {
109260
109329
  item,
109261
109330
  "selected-items": selectedItems.value,
@@ -109264,7 +109333,16 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109264
109333
  "select-mode": __props.selectMode,
109265
109334
  "selectable-disabled": __props.selectableDisabled,
109266
109335
  dense: __props.mode === unref(TableMode).DENSE || __props.mode === unref(TableMode).SMALL,
109267
- 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
109268
109346
  }, createSlots({
109269
109347
  default: withCtx(({ row }) => [renderSlot(_ctx.$slots, "default", { row }, void 0, true)]),
109270
109348
  _: 2
@@ -109280,7 +109358,11 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109280
109358
  "headers",
109281
109359
  "select-mode",
109282
109360
  "selectable-disabled",
109283
- "dense"
109361
+ "dense",
109362
+ "draggable",
109363
+ "class",
109364
+ "onDragStart",
109365
+ "onDragOver"
109284
109366
  ]), item?.childElement ? renderSlot(_ctx.$slots, "child-element", { key: 0 }, () => [createVNode(UiBmsTableRow_default, {
109285
109367
  "is-child-element": "",
109286
109368
  item,
@@ -109289,6 +109371,7 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109289
109371
  headers: filteredHeaders.value,
109290
109372
  "select-mode": __props.selectMode,
109291
109373
  "selectable-disabled": __props.selectableDisabled,
109374
+ draggable: __props.draggable,
109292
109375
  onSelect: onItemSelect
109293
109376
  }, createSlots({ _: 2 }, [renderList(__props.headers, (cell) => {
109294
109377
  return {
@@ -109301,12 +109384,13 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109301
109384
  "selectable",
109302
109385
  "headers",
109303
109386
  "select-mode",
109304
- "selectable-disabled"
109387
+ "selectable-disabled",
109388
+ "draggable"
109305
109389
  ])], true) : createCommentVNode("", true)], 64);
109306
- }), 128)) : (openBlock(), createElementBlock("tr", _hoisted_16$1, [createElementVNode("td", {
109307
- 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),
109308
109392
  class: "bms-table__cell bms-table__cell--empty"
109309
- }, [!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),
109310
109394
  createElementVNode("div", {
109311
109395
  ref_key: "pagination",
109312
109396
  ref: pagination,
@@ -109317,7 +109401,7 @@ var UiBmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109317
109401
  ]);
109318
109402
  };
109319
109403
  }
109320
- }), [["__scopeId", "data-v-2b029949"]]);
109404
+ }), [["__scopeId", "data-v-c883a5f1"]]);
109321
109405
  //#endregion
109322
109406
  //#region src/components/table/UiFilterButton.vue?vue&type=script&setup=true&lang.ts
109323
109407
  var _hoisted_1$10 = { class: "filter-button-container" };
@@ -114453,7 +114537,8 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114453
114537
  default: false
114454
114538
  },
114455
114539
  selectMode: { default: SelectMode.DEFAULT },
114456
- customSearch: {}
114540
+ customSearch: {},
114541
+ draggable: { type: Boolean }
114457
114542
  }, {
114458
114543
  "selectedItems": {
114459
114544
  required: false,
@@ -114465,7 +114550,8 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114465
114550
  "deleteSavedFilter",
114466
114551
  "saveFilter",
114467
114552
  "filterInput",
114468
- "filterChange"
114553
+ "filterChange",
114554
+ "reorder"
114469
114555
  ], ["update:selectedItems"]),
114470
114556
  setup(__props, { emit: __emit }) {
114471
114557
  const route = useRoute();
@@ -114482,7 +114568,8 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114482
114568
  }));
114483
114569
  const getFilteredItems = () => {
114484
114570
  const applySearch = props.customSearch ? (item) => props.customSearch(item, search.value) : (item) => bmsDefaultSearchFilterFunction(item, search.value);
114485
- return sortItems(filterItems(props.items).filter(applySearch));
114571
+ const filtered = filterItems(props.items).filter(applySearch);
114572
+ return props.draggable ? filtered : sortItems(filtered);
114486
114573
  };
114487
114574
  const isMounting = ref(true);
114488
114575
  watch(() => props.filters, () => {
@@ -114506,10 +114593,18 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114506
114593
  watch(route, () => {
114507
114594
  if (!isMounting.value && true) resetAllFilters();
114508
114595
  });
114596
+ const pendingSelectionIndices = ref(null);
114597
+ const onSelectionIndicesUpdate = (indices) => {
114598
+ pendingSelectionIndices.value = indices;
114599
+ };
114509
114600
  watch(() => props.items, () => {
114510
114601
  if (!isMounting.value) {
114511
114602
  items.value = getFilteredItems();
114512
- 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 = [];
114513
114608
  }
114514
114609
  });
114515
114610
  watchEffect(() => {
@@ -114552,12 +114647,15 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114552
114647
  selectedItems: selectedItems.value,
114553
114648
  "onUpdate:selectedItems": _cache[6] || (_cache[6] = ($event) => selectedItems.value = $event),
114554
114649
  loading: __props.loading,
114555
- items: unref(currentItems),
114650
+ items: __props.draggable ? unref(items) : unref(currentItems),
114556
114651
  headers: __props.headers,
114557
114652
  mode: __props.mode,
114558
114653
  hasFilters: unref(filters).length > 0,
114559
114654
  sort: unref(sort),
114560
114655
  selectable: __props.selectable,
114656
+ draggable: __props.draggable,
114657
+ onReorder: _cache[7] || (_cache[7] = ($event) => emits("reorder", $event)),
114658
+ onSelectionIndicesUpdate,
114561
114659
  selectableDisabled: __props.selectableDisabled,
114562
114660
  totalSize: totalSize.value,
114563
114661
  selectMode: __props.selectMode,
@@ -114656,13 +114754,14 @@ var BmsTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
114656
114754
  "hasFilters",
114657
114755
  "sort",
114658
114756
  "selectable",
114757
+ "draggable",
114659
114758
  "selectableDisabled",
114660
114759
  "totalSize",
114661
114760
  "selectMode"
114662
114761
  ]);
114663
114762
  };
114664
114763
  }
114665
- }), [["__scopeId", "data-v-fd6979a1"]]);
114764
+ }), [["__scopeId", "data-v-9ae7d971"]]);
114666
114765
  //#endregion
114667
114766
  //#region src/components/utils/BmsCocarde.vue
114668
114767
  var BmsCocarde_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({