@ouestfrance/sipa-bms-ui 8.16.0 → 8.18.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 (35) hide show
  1. package/dist/components/navigation/BmsTabs.vue.d.ts +6 -1
  2. package/dist/components/navigation/UiTab.vue.d.ts +5 -4
  3. package/dist/components/navigation/UiTabs.vue.d.ts +21 -0
  4. package/dist/components/table/BmsTable.vue.d.ts +3 -1
  5. package/dist/components/table/UiBmsTable.vue.d.ts +1 -1
  6. package/dist/helpers/tab.helper.d.ts +2 -0
  7. package/dist/helpers/table.helper.d.ts +1 -0
  8. package/dist/models/tab.model.d.ts +5 -0
  9. package/dist/models/table.model.d.ts +2 -1
  10. package/dist/sipa-bms-ui.css +70 -69
  11. package/dist/sipa-bms-ui.es.js +380 -294
  12. package/dist/sipa-bms-ui.es.js.map +1 -1
  13. package/dist/sipa-bms-ui.umd.js +388 -301
  14. package/dist/sipa-bms-ui.umd.js.map +1 -1
  15. package/package.json +1 -1
  16. package/src/components/layout/BmsFloatingWindow.vue +1 -0
  17. package/src/components/navigation/BmsTabs.stories.js +58 -4
  18. package/src/components/navigation/BmsTabs.vue +53 -33
  19. package/src/components/navigation/UiTab.stories.js +5 -5
  20. package/src/components/navigation/UiTab.vue +15 -20
  21. package/src/components/navigation/UiTabs.stories.js +34 -0
  22. package/src/components/navigation/UiTabs.vue +76 -0
  23. package/src/components/table/BmsTable.stories.js +47 -0
  24. package/src/components/table/BmsTable.vue +22 -3
  25. package/src/components/table/UiBmsTable.spec.ts +47 -3
  26. package/src/components/table/UiBmsTable.stories.js +43 -0
  27. package/src/components/table/UiBmsTable.vue +51 -91
  28. package/src/components/table/UiBmsTableRow.vue +18 -3
  29. package/src/documentation/principles.mdx +73 -7
  30. package/src/helpers/tab.helper.ts +3 -0
  31. package/src/helpers/table.helper.ts +19 -0
  32. package/src/models/tab.model.ts +6 -0
  33. package/src/models/table.model.ts +1 -0
  34. package/src/showroom/pages/server-table.vue +1 -4
  35. package/src/showroom/pages/table.vue +3 -0
@@ -53,6 +53,7 @@
53
53
  var SelectMode = /* @__PURE__ */ ((SelectMode2) => {
54
54
  SelectMode2["ALL"] = "all";
55
55
  SelectMode2["DEFAULT"] = "default";
56
+ SelectMode2["SINGLE"] = "single";
56
57
  return SelectMode2;
57
58
  })(SelectMode || {});
58
59
 
@@ -311,10 +312,27 @@
311
312
  console.error("Table component cannot have multiple action columns ");
312
313
  return headers.filter((h) => !h?.action).concat(actionsHeaders.length ? actionsHeaders[0] : []);
313
314
  };
315
+ const getAlignClass = (header) => {
316
+ const align = !header.align ? "start" : header.align;
317
+ return `u-text-align-${align}`;
318
+ };
319
+ const getHeaderClasses = (header, sort) => {
320
+ const classes = [getAlignClass(header), "bms-table__header-cell"];
321
+ if (header.class) {
322
+ classes.push(header.class);
323
+ }
324
+ if (header.sortable) {
325
+ classes.push("sortable");
326
+ }
327
+ if (sort.key === header.key) {
328
+ classes.push("sorted");
329
+ }
330
+ return classes;
331
+ };
314
332
 
315
333
  const _hoisted_1$$ = ["href", "target"];
316
334
  const _hoisted_2$G = ["href", "onClick", "target"];
317
- const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
335
+ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
318
336
  __name: "BmsLink",
319
337
  props: {
320
338
  to: {},
@@ -364,7 +382,7 @@
364
382
  });
365
383
 
366
384
  const _hoisted_1$_ = ["type"];
367
- const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
385
+ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
368
386
  __name: "UiButtonLink",
369
387
  props: {
370
388
  type: {},
@@ -389,7 +407,7 @@
389
407
  type: __props.type
390
408
  }, [
391
409
  vue.renderSlot(_ctx.$slots, "default")
392
- ], 10, _hoisted_1$_)) : (vue.openBlock(), vue.createBlock(_sfc_main$1q, {
410
+ ], 10, _hoisted_1$_)) : (vue.openBlock(), vue.createBlock(_sfc_main$1r, {
393
411
  key: 1,
394
412
  to: __props.to,
395
413
  target: __props.target,
@@ -407,7 +425,7 @@
407
425
  const _hoisted_1$Z = { class: "start" };
408
426
  const _hoisted_2$F = { class: "content" };
409
427
  const _hoisted_3$m = { class: "end" };
410
- const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
428
+ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
411
429
  __name: "UiButton",
412
430
  props: {
413
431
  type: { default: "button" },
@@ -420,7 +438,7 @@
420
438
  setup(__props) {
421
439
  const props = __props;
422
440
  return (_ctx, _cache) => {
423
- return vue.openBlock(), vue.createBlock(_sfc_main$1p, vue.normalizeProps(vue.guardReactiveProps(props)), {
441
+ return vue.openBlock(), vue.createBlock(_sfc_main$1q, vue.normalizeProps(vue.guardReactiveProps(props)), {
424
442
  default: vue.withCtx(() => [
425
443
  vue.createElementVNode("span", _hoisted_1$Z, [
426
444
  vue.renderSlot(_ctx.$slots, "start")
@@ -438,7 +456,7 @@
438
456
  }
439
457
  });
440
458
 
441
- const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
459
+ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
442
460
  __name: "BmsButton",
443
461
  props: {
444
462
  type: { default: "primary" },
@@ -462,7 +480,7 @@
462
480
  }
463
481
  });
464
482
  return (_ctx, _cache) => {
465
- return vue.openBlock(), vue.createBlock(_sfc_main$1o, {
483
+ return vue.openBlock(), vue.createBlock(_sfc_main$1p, {
466
484
  mode: uiMode.value,
467
485
  color: __props.mode,
468
486
  to: __props.to,
@@ -484,7 +502,7 @@
484
502
  }
485
503
  });
486
504
 
487
- const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
505
+ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
488
506
  __name: "BmsIconButton",
489
507
  props: {
490
508
  to: { default: null },
@@ -504,7 +522,7 @@
504
522
  direction: __props.tooltipDirection
505
523
  }, {
506
524
  default: vue.withCtx(() => [
507
- vue.createVNode(_sfc_main$1o, vue.mergeProps(_ctx.$attrs, {
525
+ vue.createVNode(_sfc_main$1p, vue.mergeProps(_ctx.$attrs, {
508
526
  icon: "",
509
527
  to: __props.to,
510
528
  target: __props.target,
@@ -37430,7 +37448,7 @@
37430
37448
  const _hoisted_1$Y = { class: "info-line" };
37431
37449
  const _hoisted_2$E = { class: "icon" };
37432
37450
  const _hoisted_3$l = { class: "message" };
37433
- const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
37451
+ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
37434
37452
  __name: "BmsAlert",
37435
37453
  props: {
37436
37454
  message: {},
@@ -37465,7 +37483,7 @@
37465
37483
  ], true)
37466
37484
  ]),
37467
37485
  vue.renderSlot(_ctx.$slots, "action", {}, void 0, true),
37468
- __props.dismissable ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
37486
+ __props.dismissable ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
37469
37487
  key: 0,
37470
37488
  onClick: _cache[0] || (_cache[0] = ($event) => emits("dismiss"))
37471
37489
  }, {
@@ -37489,13 +37507,13 @@
37489
37507
  return target;
37490
37508
  };
37491
37509
 
37492
- const BmsAlert = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-26caccdd"]]);
37510
+ const BmsAlert = /* @__PURE__ */ _export_sfc(_sfc_main$1m, [["__scopeId", "data-v-26caccdd"]]);
37493
37511
 
37494
37512
  const _hoisted_1$X = {
37495
37513
  key: 0,
37496
37514
  class: "ui-badge__container"
37497
37515
  };
37498
- const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
37516
+ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
37499
37517
  __name: "BmsBadge",
37500
37518
  props: {
37501
37519
  pending: { default: 0 },
@@ -37521,14 +37539,14 @@
37521
37539
  }
37522
37540
  });
37523
37541
 
37524
- const BmsBadge = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-8a6297ca"]]);
37542
+ const BmsBadge = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-8a6297ca"]]);
37525
37543
 
37526
37544
  const _hoisted_1$W = {
37527
37545
  key: 0,
37528
37546
  class: "icon"
37529
37547
  };
37530
37548
  const _hoisted_2$D = ["innerHTML"];
37531
- const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
37549
+ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
37532
37550
  __name: "BmsCaption",
37533
37551
  props: {
37534
37552
  caption: {}
@@ -37571,7 +37589,7 @@
37571
37589
  }
37572
37590
  });
37573
37591
 
37574
- const BmsCaption = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-b08dd4e0"]]);
37592
+ const BmsCaption = /* @__PURE__ */ _export_sfc(_sfc_main$1k, [["__scopeId", "data-v-b08dd4e0"]]);
37575
37593
 
37576
37594
  const _hoisted_1$V = { class: "circular-progress" };
37577
37595
  const _hoisted_2$C = {
@@ -37581,7 +37599,7 @@
37581
37599
  const _hoisted_3$k = { transform: "rotate(-90, 50, 50)" };
37582
37600
  const _hoisted_4$d = ["stroke-dashoffset"];
37583
37601
  const _hoisted_5$9 = { class: "percent" };
37584
- const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
37602
+ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
37585
37603
  __name: "BmsCircularProgress",
37586
37604
  props: ["progress"],
37587
37605
  setup(__props) {
@@ -37616,13 +37634,13 @@
37616
37634
  }
37617
37635
  });
37618
37636
 
37619
- const BmsCircularProgress = /* @__PURE__ */ _export_sfc(_sfc_main$1i, [["__scopeId", "data-v-7869acfb"]]);
37637
+ const BmsCircularProgress = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-7869acfb"]]);
37620
37638
 
37621
37639
  const _hoisted_1$U = { class: "bms-loader" };
37622
37640
  function transformIntoPx(totransform) {
37623
37641
  return typeof totransform === "string" ? totransform : `${totransform}px`;
37624
37642
  }
37625
- const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
37643
+ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
37626
37644
  __name: "BmsLoader",
37627
37645
  props: {
37628
37646
  size: { default: "inherit" }
@@ -37643,7 +37661,7 @@
37643
37661
  }
37644
37662
  });
37645
37663
 
37646
- const BmsLoader = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-7cc96135"]]);
37664
+ const BmsLoader = /* @__PURE__ */ _export_sfc(_sfc_main$1i, [["__scopeId", "data-v-7cc96135"]]);
37647
37665
 
37648
37666
  function tryOnScopeDispose(fn) {
37649
37667
  if (vue.getCurrentScope()) {
@@ -38537,7 +38555,7 @@
38537
38555
  };
38538
38556
  };
38539
38557
 
38540
- const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
38558
+ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
38541
38559
  __name: "UiTooltip",
38542
38560
  props: {
38543
38561
  visible: { type: Boolean, default: true },
@@ -38613,9 +38631,9 @@
38613
38631
  }
38614
38632
  });
38615
38633
 
38616
- const UiTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-bf923418"]]);
38634
+ const UiTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1h, [["__scopeId", "data-v-bf923418"]]);
38617
38635
 
38618
- const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
38636
+ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
38619
38637
  __name: "BmsTooltip",
38620
38638
  props: {
38621
38639
  tooltipText: { default: "" },
@@ -38694,14 +38712,14 @@
38694
38712
  }
38695
38713
  });
38696
38714
 
38697
- const BmsTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1f, [["__scopeId", "data-v-b033f8af"]]);
38715
+ const BmsTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$1g, [["__scopeId", "data-v-b033f8af"]]);
38698
38716
 
38699
38717
  const _hoisted_1$T = {
38700
38718
  class: "options-list",
38701
38719
  "data-testid": "select-options"
38702
38720
  };
38703
38721
  const _hoisted_2$B = ["data-testid", "onClick"];
38704
- const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
38722
+ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
38705
38723
  __name: "FieldDatalist",
38706
38724
  props: {
38707
38725
  options: {},
@@ -38798,13 +38816,13 @@
38798
38816
  }
38799
38817
  });
38800
38818
 
38801
- const FieldDatalist = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["__scopeId", "data-v-ba5302fc"]]);
38819
+ const FieldDatalist = /* @__PURE__ */ _export_sfc(_sfc_main$1f, [["__scopeId", "data-v-ba5302fc"]]);
38802
38820
 
38803
38821
  const _hoisted_1$S = { class: "field__input-label" };
38804
38822
  const _hoisted_2$A = { class: "field__input-icon field__input-icon--start" };
38805
38823
  const _hoisted_3$j = ["type", "value", "placeholder", "required", "disabled", "max", "min", "minlength", "maxlength"];
38806
38824
  const _hoisted_4$c = { class: "field__input-icon field__input-icon--end" };
38807
- const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
38825
+ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
38808
38826
  __name: "RawInputText",
38809
38827
  props: {
38810
38828
  modelValue: {},
@@ -38885,9 +38903,9 @@
38885
38903
  }
38886
38904
  });
38887
38905
 
38888
- const RawInputText = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["__scopeId", "data-v-4c74b915"]]);
38906
+ const RawInputText = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["__scopeId", "data-v-4c74b915"]]);
38889
38907
 
38890
- const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
38908
+ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
38891
38909
  __name: "RawAutocomplete",
38892
38910
  props: /* @__PURE__ */ vue.mergeModels({
38893
38911
  options: {},
@@ -39059,11 +39077,11 @@
39059
39077
  }
39060
39078
  });
39061
39079
 
39062
- const RawAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["__scopeId", "data-v-15343285"]]);
39080
+ const RawAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["__scopeId", "data-v-15343285"]]);
39063
39081
 
39064
39082
  const _hoisted_1$R = ["innerHTML"];
39065
39083
  const _hoisted_2$z = ["innerHTML"];
39066
- const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
39084
+ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
39067
39085
  __name: "BmsAutocomplete",
39068
39086
  props: /* @__PURE__ */ vue.mergeModels({
39069
39087
  options: {},
@@ -39154,11 +39172,11 @@
39154
39172
  }
39155
39173
  });
39156
39174
 
39157
- const BmsAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["__scopeId", "data-v-43ad5137"]]);
39175
+ const BmsAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["__scopeId", "data-v-43ad5137"]]);
39158
39176
 
39159
39177
  const _hoisted_1$Q = ["innerHTML"];
39160
39178
  const _hoisted_2$y = ["innerHTML"];
39161
- const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
39179
+ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
39162
39180
  __name: "BmsServerAutocomplete",
39163
39181
  props: /* @__PURE__ */ vue.mergeModels({
39164
39182
  url: {},
@@ -39290,9 +39308,9 @@
39290
39308
  }
39291
39309
  });
39292
39310
 
39293
- const BmsServerAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["__scopeId", "data-v-d94effd6"]]);
39311
+ const BmsServerAutocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["__scopeId", "data-v-d94effd6"]]);
39294
39312
 
39295
- const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
39313
+ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
39296
39314
  __name: "BmsBetweenInput",
39297
39315
  props: {
39298
39316
  inputType: { default: InputType.NUMBER },
@@ -39389,9 +39407,9 @@
39389
39407
  }
39390
39408
  });
39391
39409
 
39392
- const BmsBetweenInput = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["__scopeId", "data-v-f25b520b"]]);
39410
+ const BmsBetweenInput = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["__scopeId", "data-v-f25b520b"]]);
39393
39411
 
39394
- const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
39412
+ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
39395
39413
  __name: "BmsChip",
39396
39414
  props: {
39397
39415
  color: { default: ChipColor.Grey }
@@ -39414,13 +39432,13 @@
39414
39432
  }
39415
39433
  });
39416
39434
 
39417
- const BmsChip = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["__scopeId", "data-v-72b945cc"]]);
39435
+ const BmsChip = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["__scopeId", "data-v-72b945cc"]]);
39418
39436
 
39419
39437
  const _hoisted_1$P = { class: "file-upload" };
39420
39438
  const _hoisted_2$x = { class: "file-upload__label" };
39421
39439
  const _hoisted_3$i = { key: 1 };
39422
39440
  const _hoisted_4$b = { class: "file-upload__file-name" };
39423
- const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
39441
+ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
39424
39442
  __name: "BmsFilePicker",
39425
39443
  props: {
39426
39444
  modelValue: {},
@@ -39519,7 +39537,7 @@
39519
39537
  class: "file-upload__file"
39520
39538
  }, [
39521
39539
  vue.createElementVNode("span", _hoisted_4$b, vue.toDisplayString(file.name), 1),
39522
- vue.createVNode(vue.unref(_sfc_main$1m), {
39540
+ vue.createVNode(vue.unref(_sfc_main$1n), {
39523
39541
  onClick: ($event) => onDeleteFile(file)
39524
39542
  }, {
39525
39543
  default: vue.withCtx(() => [
@@ -39535,14 +39553,14 @@
39535
39553
  }
39536
39554
  });
39537
39555
 
39538
- const BmsFilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["__scopeId", "data-v-c892a845"]]);
39556
+ const BmsFilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["__scopeId", "data-v-c892a845"]]);
39539
39557
 
39540
39558
  const _hoisted_1$O = ["disabled", "name", "value"];
39541
39559
  const _hoisted_2$w = {
39542
39560
  key: 0,
39543
39561
  class: "input-checkbox-info"
39544
39562
  };
39545
- const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
39563
+ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
39546
39564
  __name: "UiBmsInputCheckbox",
39547
39565
  props: {
39548
39566
  modelValue: { default: false },
@@ -39592,9 +39610,9 @@
39592
39610
  }
39593
39611
  });
39594
39612
 
39595
- const UiBmsInputCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["__scopeId", "data-v-e1d94c62"]]);
39613
+ const UiBmsInputCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["__scopeId", "data-v-e1d94c62"]]);
39596
39614
 
39597
- const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
39615
+ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
39598
39616
  __name: "BmsInputBooleanCheckbox",
39599
39617
  props: {
39600
39618
  modelValue: {},
@@ -39715,7 +39733,7 @@
39715
39733
  return _v4(options, buf, offset);
39716
39734
  }
39717
39735
 
39718
- const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
39736
+ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
39719
39737
  __name: "BmsInputCheckboxGroup",
39720
39738
  props: {
39721
39739
  values: {},
@@ -39786,9 +39804,9 @@
39786
39804
  }
39787
39805
  });
39788
39806
 
39789
- const BmsInputCheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["__scopeId", "data-v-43978315"]]);
39807
+ const BmsInputCheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-43978315"]]);
39790
39808
 
39791
- const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
39809
+ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
39792
39810
  __name: "BmsInputCheckboxCaption",
39793
39811
  props: {
39794
39812
  modelValue: {},
@@ -39864,9 +39882,9 @@
39864
39882
  }
39865
39883
  });
39866
39884
 
39867
- const BmsInputCheckboxCaption = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["__scopeId", "data-v-6cb7c474"]]);
39885
+ const BmsInputCheckboxCaption = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["__scopeId", "data-v-6cb7c474"]]);
39868
39886
 
39869
- const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
39887
+ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
39870
39888
  __name: "BmsInputCheckboxCaptionGroup",
39871
39889
  props: {
39872
39890
  options: { default: () => [] },
@@ -39921,7 +39939,7 @@
39921
39939
  }
39922
39940
  });
39923
39941
 
39924
- const BmsInputCheckboxCaptionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["__scopeId", "data-v-4183cc04"]]);
39942
+ const BmsInputCheckboxCaptionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["__scopeId", "data-v-4183cc04"]]);
39925
39943
 
39926
39944
  /**
39927
39945
  The default maximum length of a `TreeBuffer` node.
@@ -68447,7 +68465,7 @@
68447
68465
  var h=Object.freeze({autofocus:false,disabled:false,indentWithTab:true,tabSize:2,placeholder:"",autoDestroy:true,extensions:[basicSetup]}),y=Symbol("vue-codemirror-global-config");var O,j=function(e){var t=e.onUpdate,n=e.onChange,o=e.onFocus,r=e.onBlur,u=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);}return n}(e,["onUpdate","onChange","onFocus","onBlur"]);return EditorState.create({doc:u.doc,selection:u.selection,extensions:(Array.isArray(u.extensions)?u.extensions:[u.extensions]).concat([EditorView.updateListener.of((function(e){t(e),e.docChanged&&n(e.state.doc.toString(),e),e.focusChanged&&(e.view.hasFocus?o(e):r(e));}))])})},S=function(e){var t=new Compartment;return {compartment:t,run:function(n){t.get(e.state)?e.dispatch({effects:t.reconfigure(n)}):e.dispatch({effects:StateEffect.appendConfig.of(t.of(n))});}}},x=function(e,t){var n=S(e),o=n.compartment,r=n.run;return function(n){var u=o.get(e.state);r((null!=n?n:u!==t)?t:[]);}},C={type:Boolean,default:void 0},D={autofocus:C,disabled:C,indentWithTab:C,tabSize:Number,placeholder:String,style:Object,autoDestroy:C,phrases:Object,root:Object,extensions:Array,selection:Object},U={modelValue:{type:String,default:""}},w=Object.assign(Object.assign({},D),U);!function(e){e.Change="change",e.Update="update",e.Focus="focus",e.Blur="blur",e.Ready="ready",e.ModelUpdate="update:modelValue";}(O||(O={}));var z={};z[O.Change]=function(e,t){return true},z[O.Update]=function(e){return true},z[O.Focus]=function(e){return true},z[O.Blur]=function(e){return true},z[O.Ready]=function(e){return true};var B={};B[O.ModelUpdate]=z[O.Change];var F=Object.assign(Object.assign({},z),B),P=vue.defineComponent({name:"VueCodemirror",props:Object.assign({},w),emits:Object.assign({},F),setup:function(t,s){var f=vue.shallowRef(),d=vue.shallowRef(),C=vue.shallowRef(),D=Object.assign(Object.assign({},h),vue.inject(y,{})),U=vue.computed((function(){var e={};return Object.keys(vue.toRaw(t)).forEach((function(n){var o;"modelValue"!==n&&(e[n]=null!==(o=t[n])&&void 0!==o?o:D[n]);})),e}));return vue.onMounted((function(){var e;d.value=j({doc:t.modelValue,selection:U.value.selection,extensions:null!==(e=D.extensions)&&void 0!==e?e:[],onFocus:function(e){return s.emit(O.Focus,e)},onBlur:function(e){return s.emit(O.Blur,e)},onUpdate:function(e){return s.emit(O.Update,e)},onChange:function(e,n){e!==t.modelValue&&(s.emit(O.Change,e,n),s.emit(O.ModelUpdate,e,n));}}),C.value=function(e){return new EditorView(Object.assign({},e))}({state:d.value,parent:f.value,root:U.value.root});var n=function(e){var t=function(){return e.state.doc.toString()},n=S(e).run,o=x(e,[EditorView.editable.of(false),EditorState.readOnly.of(true)]),r=x(e,keymap.of([indentWithTab])),u=S(e).run,a=S(e).run,i=S(e).run,c=S(e).run;return {focus:function(){return e.focus()},getDoc:t,setDoc:function(n){n!==t()&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:n}});},reExtensions:n,toggleDisabled:o,toggleIndentWithTab:r,setTabSize:function(e){u([EditorState.tabSize.of(e),indentUnit.of(" ".repeat(e))]);},setPhrases:function(e){a([EditorState.phrases.of(e)]);},setPlaceholder:function(e){i(placeholder(e));},setStyle:function(e){ void 0===e&&(e={}),c(EditorView.theme({"&":Object.assign({},e)}));}}}(C.value);vue.watch((function(){return t.modelValue}),(function(e){e!==n.getDoc()&&n.setDoc(e);})),vue.watch((function(){return t.extensions}),(function(e){return n.reExtensions(e||[])}),{immediate:true}),vue.watch((function(){return U.value.disabled}),(function(e){return n.toggleDisabled(e)}),{immediate:true}),vue.watch((function(){return U.value.indentWithTab}),(function(e){return n.toggleIndentWithTab(e)}),{immediate:true}),vue.watch((function(){return U.value.tabSize}),(function(e){return n.setTabSize(e)}),{immediate:true}),vue.watch((function(){return U.value.phrases}),(function(e){return n.setPhrases(e||{})}),{immediate:true}),vue.watch((function(){return U.value.placeholder}),(function(e){return n.setPlaceholder(e)}),{immediate:true}),vue.watch((function(){return U.value.style}),(function(e){return n.setStyle(e)}),{immediate:true}),U.value.autofocus&&n.focus(),s.emit(O.Ready,{state:d.value,view:C.value,container:f.value});})),vue.onBeforeUnmount((function(){U.value.autoDestroy&&C.value&&function(e){e.destroy();}(C.value);})),function(){return vue.h("div",{class:"v-codemirror",style:{display:"contents"},ref:f})}}}),T=P;
68448
68466
 
68449
68467
  const _hoisted_1$N = { class: "code-mirror" };
68450
- const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
68468
+ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
68451
68469
  __name: "BmsInputCode",
68452
68470
  props: /* @__PURE__ */ vue.mergeModels({
68453
68471
  type: {},
@@ -68500,9 +68518,9 @@
68500
68518
  }
68501
68519
  });
68502
68520
 
68503
- const BmsInputCode = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["__scopeId", "data-v-0de8ac2e"]]);
68521
+ const BmsInputCode = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["__scopeId", "data-v-0de8ac2e"]]);
68504
68522
 
68505
- const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
68523
+ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
68506
68524
  __name: "BmsInputText",
68507
68525
  props: {
68508
68526
  inputType: { default: InputType.TEXT },
@@ -68617,7 +68635,7 @@
68617
68635
  }
68618
68636
  });
68619
68637
 
68620
- const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
68638
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
68621
68639
  __name: "BmsInputDateTime",
68622
68640
  props: {
68623
68641
  modelValue: {},
@@ -68643,7 +68661,7 @@
68643
68661
  if (!props.disabled && value) $emits("update:modelValue", value);
68644
68662
  };
68645
68663
  return (_ctx, _cache) => {
68646
- return vue.openBlock(), vue.createBlock(_sfc_main$10, {
68664
+ return vue.openBlock(), vue.createBlock(_sfc_main$11, {
68647
68665
  modelValue: __props.modelValue,
68648
68666
  label: __props.label,
68649
68667
  required: __props.required,
@@ -68666,7 +68684,7 @@
68666
68684
  key: 1,
68667
68685
  class: "file-upload__file-name"
68668
68686
  };
68669
- const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
68687
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
68670
68688
  __name: "BmsInputFile",
68671
68689
  props: {
68672
68690
  modelValue: {},
@@ -68822,7 +68840,7 @@
68822
68840
  src: getImageSrc(file),
68823
68841
  class: "file-upload__file-img"
68824
68842
  }, null, 8, _hoisted_2$v)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$h, vue.toDisplayString(file.name), 1)),
68825
- vue.createVNode(_sfc_main$1m, {
68843
+ vue.createVNode(_sfc_main$1n, {
68826
68844
  mode: vue.unref(StatusType).Danger,
68827
68845
  onClick: vue.withModifiers(($event) => onDeleteFile(file), ["prevent"]),
68828
68846
  class: "close-button"
@@ -68842,9 +68860,9 @@
68842
68860
  }
68843
68861
  });
68844
68862
 
68845
- const BmsInputFile = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-07e6912d"]]);
68863
+ const BmsInputFile = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-07e6912d"]]);
68846
68864
 
68847
- const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
68865
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
68848
68866
  __name: "BmsInputNumber",
68849
68867
  props: {
68850
68868
  modelValue: {},
@@ -68904,7 +68922,7 @@
68904
68922
  () => checkLimit()
68905
68923
  );
68906
68924
  return (_ctx, _cache) => {
68907
- return vue.openBlock(), vue.createBlock(_sfc_main$10, {
68925
+ return vue.openBlock(), vue.createBlock(_sfc_main$11, {
68908
68926
  modelValue: __props.modelValue,
68909
68927
  label: __props.label,
68910
68928
  required: __props.required,
@@ -68928,7 +68946,7 @@
68928
68946
  key: 0,
68929
68947
  class: "input-radio-info"
68930
68948
  };
68931
- const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
68949
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
68932
68950
  __name: "BmsInputRadio",
68933
68951
  props: {
68934
68952
  modelValue: {},
@@ -68979,9 +68997,9 @@
68979
68997
  }
68980
68998
  });
68981
68999
 
68982
- const BmsInputRadio = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-c0c9efa3"]]);
69000
+ const BmsInputRadio = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-c0c9efa3"]]);
68983
69001
 
68984
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
69002
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
68985
69003
  __name: "BmsInputRadioGroup",
68986
69004
  props: {
68987
69005
  values: { default: () => [] },
@@ -69052,9 +69070,9 @@
69052
69070
  }
69053
69071
  });
69054
69072
 
69055
- const BmsInputRadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-186163e2"]]);
69073
+ const BmsInputRadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-186163e2"]]);
69056
69074
 
69057
- const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
69075
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
69058
69076
  __name: "BmsInputRadioCaption",
69059
69077
  props: {
69060
69078
  modelValue: {},
@@ -69116,9 +69134,9 @@
69116
69134
  }
69117
69135
  });
69118
69136
 
69119
- const BmsInputRadioCaption = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-c3ba4fee"]]);
69137
+ const BmsInputRadioCaption = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-c3ba4fee"]]);
69120
69138
 
69121
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
69139
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
69122
69140
  __name: "BmsInputRadioCaptionGroup",
69123
69141
  props: {
69124
69142
  options: { default: () => [] },
@@ -69178,10 +69196,10 @@
69178
69196
  }
69179
69197
  });
69180
69198
 
69181
- const BmsInputRadioCaptionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-a4287904"]]);
69199
+ const BmsInputRadioCaptionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-a4287904"]]);
69182
69200
 
69183
69201
  const _hoisted_1$K = ["disabled", "name"];
69184
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
69202
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
69185
69203
  __name: "UiBmsSwitch",
69186
69204
  props: {
69187
69205
  disabled: { type: Boolean, default: false },
@@ -69218,11 +69236,11 @@
69218
69236
  }
69219
69237
  });
69220
69238
 
69221
- const UiBmsSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-6de1a5c6"]]);
69239
+ const UiBmsSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-6de1a5c6"]]);
69222
69240
 
69223
69241
  const _hoisted_1$J = ["title"];
69224
69242
  const _hoisted_2$t = { class: "input-switch-info" };
69225
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
69243
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
69226
69244
  __name: "BmsInputToggle",
69227
69245
  props: {
69228
69246
  name: {},
@@ -69267,10 +69285,10 @@
69267
69285
  }
69268
69286
  });
69269
69287
 
69270
- const BmsInputToggle = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-5f354760"]]);
69288
+ const BmsInputToggle = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-5f354760"]]);
69271
69289
 
69272
69290
  const _hoisted_1$I = { class: "dismiss-button" };
69273
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
69291
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
69274
69292
  __name: "BmsTag",
69275
69293
  props: {
69276
69294
  active: { type: Boolean, default: false },
@@ -69288,7 +69306,7 @@
69288
69306
  }, [
69289
69307
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
69290
69308
  vue.createElementVNode("span", _hoisted_1$I, [
69291
- __props.canBeDismissed ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1m), {
69309
+ __props.canBeDismissed ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1n), {
69292
69310
  key: 0,
69293
69311
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emits("dismiss"), ["stop"]))
69294
69312
  }, {
@@ -69305,9 +69323,9 @@
69305
69323
  }
69306
69324
  });
69307
69325
 
69308
- const BmsTag = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-e2517fee"]]);
69326
+ const BmsTag = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-e2517fee"]]);
69309
69327
 
69310
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
69328
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
69311
69329
  __name: "RawSelect",
69312
69330
  props: {
69313
69331
  options: {},
@@ -69365,12 +69383,12 @@
69365
69383
  }
69366
69384
  });
69367
69385
 
69368
- const RawSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-6231389d"]]);
69386
+ const RawSelect = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-6231389d"]]);
69369
69387
 
69370
69388
  const _hoisted_1$H = { class: "tags" };
69371
69389
  const _hoisted_2$s = ["disabled"];
69372
69390
  const _hoisted_3$g = { class: "icon-container" };
69373
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
69391
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
69374
69392
  __name: "BmsMultiSelect",
69375
69393
  props: /* @__PURE__ */ vue.mergeModels({
69376
69394
  options: {},
@@ -69525,9 +69543,9 @@
69525
69543
  }
69526
69544
  });
69527
69545
 
69528
- const BmsMultiSelect = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-b8b817ba"]]);
69546
+ const BmsMultiSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-b8b817ba"]]);
69529
69547
 
69530
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
69548
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
69531
69549
  __name: "BmsSearch",
69532
69550
  props: {
69533
69551
  modelValue: {},
@@ -69557,7 +69575,7 @@
69557
69575
  setFocus
69558
69576
  });
69559
69577
  return (_ctx, _cache) => {
69560
- return vue.openBlock(), vue.createBlock(_sfc_main$10, {
69578
+ return vue.openBlock(), vue.createBlock(_sfc_main$11, {
69561
69579
  ref_key: "input",
69562
69580
  ref: input,
69563
69581
  modelValue: search.value,
@@ -69586,7 +69604,7 @@
69586
69604
  }
69587
69605
  });
69588
69606
 
69589
- const BmsSearch = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-66c267f2"]]);
69607
+ const BmsSearch = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-66c267f2"]]);
69590
69608
 
69591
69609
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
69592
69610
 
@@ -86808,7 +86826,7 @@
86808
86826
 
86809
86827
  const _hoisted_1$G = ["value", "placeholder", "required", "disabled"];
86810
86828
  const _hoisted_2$r = { class: "icon-toggle-container" };
86811
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
86829
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
86812
86830
  __name: "BmsSelect",
86813
86831
  props: /* @__PURE__ */ vue.mergeModels({
86814
86832
  options: {},
@@ -86907,10 +86925,10 @@
86907
86925
  }
86908
86926
  });
86909
86927
 
86910
- const BmsSelect = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-7aef9c6c"]]);
86928
+ const BmsSelect = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-7aef9c6c"]]);
86911
86929
 
86912
86930
  const _hoisted_1$F = ["value", "required", "placeholder", "disabled"];
86913
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
86931
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
86914
86932
  __name: "BmsTextArea",
86915
86933
  props: {
86916
86934
  modelValue: {},
@@ -86975,11 +86993,11 @@
86975
86993
  }
86976
86994
  });
86977
86995
 
86978
- const BmsTextArea = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-94de6dd9"]]);
86996
+ const BmsTextArea = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-94de6dd9"]]);
86979
86997
 
86980
86998
  const _hoisted_1$E = { class: "page__breadcrumb" };
86981
86999
  const _hoisted_2$q = { class: "page__header" };
86982
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
87000
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
86983
87001
  __name: "BmsContentPageLayout",
86984
87002
  props: {
86985
87003
  size: { default: "large" }
@@ -87006,14 +87024,14 @@
87006
87024
  }
87007
87025
  });
87008
87026
 
87009
- const BmsContentPageLayout = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-31057778"]]);
87027
+ const BmsContentPageLayout = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-31057778"]]);
87010
87028
 
87011
87029
  const _hoisted_1$D = { class: "card__body__content" };
87012
87030
  const _hoisted_2$p = {
87013
87031
  key: 0,
87014
87032
  class: "card__body__action"
87015
87033
  };
87016
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
87034
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
87017
87035
  __name: "BmsCard",
87018
87036
  props: {
87019
87037
  animated: { type: Boolean, default: false },
@@ -87053,7 +87071,7 @@
87053
87071
  class: vue.normalizeClass(["card__body", { animated: __props.animated, hasAction: !!_ctx.$slots.action }])
87054
87072
  }, [
87055
87073
  vue.createElementVNode("div", _hoisted_1$D, [
87056
- __props.to ? (vue.openBlock(), vue.createBlock(_sfc_main$1q, {
87074
+ __props.to ? (vue.openBlock(), vue.createBlock(_sfc_main$1r, {
87057
87075
  key: 0,
87058
87076
  class: "card__body__content__link",
87059
87077
  to: __props.to
@@ -87073,14 +87091,14 @@
87073
87091
  }
87074
87092
  });
87075
87093
 
87076
- const BmsCard = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-cff3f84d"]]);
87094
+ const BmsCard = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-cff3f84d"]]);
87077
87095
 
87078
87096
  const _hoisted_1$C = { class: "floating-window-wrapper" };
87079
87097
  const _hoisted_2$o = { class: "floating-window" };
87080
87098
  const _hoisted_3$f = { class: "floating-window__header" };
87081
87099
  const _hoisted_4$a = { class: "floating-window__header__buttons" };
87082
87100
  const _hoisted_5$8 = { class: "floating-window__content" };
87083
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
87101
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
87084
87102
  __name: "BmsFloatingWindow",
87085
87103
  props: /* @__PURE__ */ vue.mergeModels({
87086
87104
  title: {}
@@ -87099,7 +87117,7 @@
87099
87117
  vue.createElementVNode("div", _hoisted_3$f, [
87100
87118
  vue.createElementVNode("h2", null, vue.toDisplayString(__props.title), 1),
87101
87119
  vue.createElementVNode("div", _hoisted_4$a, [
87102
- vue.createVNode(_sfc_main$1m, {
87120
+ vue.createVNode(_sfc_main$1n, {
87103
87121
  "tooltip-text": "Maximiser la fenêtre",
87104
87122
  disabled: ""
87105
87123
  }, {
@@ -87108,7 +87126,7 @@
87108
87126
  ]),
87109
87127
  _: 1
87110
87128
  }),
87111
- vue.createVNode(_sfc_main$1m, {
87129
+ vue.createVNode(_sfc_main$1n, {
87112
87130
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => open.value = false, ["prevent", "stop"]))
87113
87131
  }, {
87114
87132
  default: vue.withCtx(() => [
@@ -87129,7 +87147,7 @@
87129
87147
  }
87130
87148
  });
87131
87149
 
87132
- const BmsFloatingWindow = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-9bfb3c86"]]);
87150
+ const BmsFloatingWindow = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-fdb4e567"]]);
87133
87151
 
87134
87152
  const _hoisted_1$B = { class: "form-section" };
87135
87153
  const _hoisted_2$n = {
@@ -87137,7 +87155,7 @@
87137
87155
  style: "border"
87138
87156
  };
87139
87157
  const _hoisted_3$e = { class: "actions" };
87140
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
87158
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
87141
87159
  __name: "BmsForm",
87142
87160
  setup(__props) {
87143
87161
  const slots = vue.useSlots();
@@ -87164,16 +87182,16 @@
87164
87182
  }
87165
87183
  });
87166
87184
 
87167
- const BmsForm = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-b5bab57e"]]);
87185
+ const BmsForm = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-b5bab57e"]]);
87168
87186
 
87169
- const _sfc_main$I = { };
87187
+ const _sfc_main$J = { };
87170
87188
 
87171
87189
  function _sfc_render$1(_ctx, _cache) {
87172
87190
  return (vue.openBlock(), vue.createElementBlock("header", null, [
87173
87191
  vue.renderSlot(_ctx.$slots, "default", {}, undefined, true)
87174
87192
  ]))
87175
87193
  }
87176
- const BmsHeader = /*#__PURE__*/_export_sfc(_sfc_main$I, [['render',_sfc_render$1],['__scopeId',"data-v-97c1615a"]]);
87194
+ const BmsHeader = /*#__PURE__*/_export_sfc(_sfc_main$J, [['render',_sfc_render$1],['__scopeId',"data-v-97c1615a"]]);
87177
87195
 
87178
87196
  function isPlainObject$1(value) {
87179
87197
  if (value === null || typeof value !== "object") {
@@ -89956,7 +89974,7 @@
89956
89974
  "stroke-linecap": "round",
89957
89975
  "stroke-linejoin": "round"
89958
89976
  };
89959
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
89977
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
89960
89978
  __name: "AnimatedCircleHelpIcon",
89961
89979
  setup(__props) {
89962
89980
  const defaultTransition = {
@@ -90031,7 +90049,7 @@
90031
90049
  "stroke-linecap": "round",
90032
90050
  "stroke-linejoin": "round"
90033
90051
  };
90034
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
90052
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
90035
90053
  __name: "AnimatedActivityIcon",
90036
90054
  setup(__props) {
90037
90055
  const variants = {
@@ -90091,7 +90109,7 @@
90091
90109
  }
90092
90110
  });
90093
90111
 
90094
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
90112
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
90095
90113
  __name: "BmsShortLinkMenu",
90096
90114
  props: {
90097
90115
  outline: { type: Boolean, default: false },
@@ -90104,7 +90122,7 @@
90104
90122
  key: 0,
90105
90123
  class: vue.normalizeClass(["bms-short-link-menu", { "bms-short-link-menu__outline": __props.outline }])
90106
90124
  }, [
90107
- !!__props.helpLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
90125
+ !!__props.helpLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90108
90126
  key: 0,
90109
90127
  "tooltip-text": "Voir la documentation",
90110
90128
  to: __props.helpLink,
@@ -90112,12 +90130,12 @@
90112
90130
  }, {
90113
90131
  default: vue.withCtx(() => [
90114
90132
  vue.renderSlot(_ctx.$slots, "documentationIcon", {}, () => [
90115
- vue.createVNode(_sfc_main$H)
90133
+ vue.createVNode(_sfc_main$I)
90116
90134
  ], true)
90117
90135
  ]),
90118
90136
  _: 3
90119
90137
  }, 8, ["to"])) : vue.createCommentVNode("", true),
90120
- !!__props.activityLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
90138
+ !!__props.activityLink ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90121
90139
  key: 1,
90122
90140
  "tooltip-text": "Voir l'activité",
90123
90141
  to: __props.activityLink,
@@ -90125,7 +90143,7 @@
90125
90143
  }, {
90126
90144
  default: vue.withCtx(() => [
90127
90145
  vue.renderSlot(_ctx.$slots, "activityIcon", {}, () => [
90128
- vue.createVNode(_sfc_main$G)
90146
+ vue.createVNode(_sfc_main$H)
90129
90147
  ], true)
90130
90148
  ]),
90131
90149
  _: 3
@@ -90135,7 +90153,7 @@
90135
90153
  }
90136
90154
  });
90137
90155
 
90138
- const BmsShortLinkMenu = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-d23e08a5"]]);
90156
+ const BmsShortLinkMenu = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-d23e08a5"]]);
90139
90157
 
90140
90158
  const _hoisted_1$y = { class: "bms-header" };
90141
90159
  const _hoisted_2$m = { class: "bms-header__title" };
@@ -90153,7 +90171,7 @@
90153
90171
  key: 0,
90154
90172
  class: "bms-header__subtitle"
90155
90173
  };
90156
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
90174
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
90157
90175
  __name: "BmsHeaderTitle",
90158
90176
  props: {
90159
90177
  title: {},
@@ -90195,9 +90213,9 @@
90195
90213
  }
90196
90214
  });
90197
90215
 
90198
- const BmsHeaderTitle = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-1368f77d"]]);
90216
+ const BmsHeaderTitle = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-1368f77d"]]);
90199
90217
 
90200
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
90218
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
90201
90219
  __name: "BmsOverlay",
90202
90220
  props: {
90203
90221
  active: { type: Boolean },
@@ -90215,7 +90233,7 @@
90215
90233
  }
90216
90234
  });
90217
90235
 
90218
- const BmsOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-383b958c"]]);
90236
+ const BmsOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-383b958c"]]);
90219
90237
 
90220
90238
  const _hoisted_1$x = ["data-testid"];
90221
90239
  const _hoisted_2$l = { class: "ui-modal__header" };
@@ -90229,7 +90247,7 @@
90229
90247
  class: "ui-modal__loader"
90230
90248
  };
90231
90249
  const _hoisted_9$2 = { key: 0 };
90232
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
90250
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
90233
90251
  __name: "BmsModal",
90234
90252
  props: {
90235
90253
  modelValue: { default: null },
@@ -90369,7 +90387,7 @@
90369
90387
  ])
90370
90388
  ], true)
90371
90389
  ]),
90372
- vue.createVNode(_sfc_main$1m, {
90390
+ vue.createVNode(_sfc_main$1n, {
90373
90391
  disabled: !isModalClosable.value,
90374
90392
  onClick: dismissModal,
90375
90393
  "data-testid": "close-modal"
@@ -90395,7 +90413,7 @@
90395
90413
  modalData: props.modelValue
90396
90414
  }, () => [
90397
90415
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(buttons.value, (button) => {
90398
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90416
+ return vue.openBlock(), vue.createBlock(_sfc_main$1o, {
90399
90417
  key: button.label + button.role,
90400
90418
  type: button.role === "cancel" ? "secondary" : "primary",
90401
90419
  disabled: !isModalClosable.value || button.disabled,
@@ -90435,10 +90453,10 @@
90435
90453
  }
90436
90454
  });
90437
90455
 
90438
- const BmsModal = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-769d070b"]]);
90456
+ const BmsModal = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-769d070b"]]);
90439
90457
 
90440
90458
  const _hoisted_1$w = { class: "header" };
90441
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
90459
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
90442
90460
  __name: "BmsSection",
90443
90461
  props: {
90444
90462
  style: { default: "flat" }
@@ -90457,14 +90475,14 @@
90457
90475
  }
90458
90476
  });
90459
90477
 
90460
- const BmsSection = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-2e9192be"]]);
90478
+ const BmsSection = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-2e9192be"]]);
90461
90479
 
90462
90480
  const _hoisted_1$v = ["id"];
90463
90481
  const _hoisted_2$k = ["aria-label", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-orientation", "aria-controls"];
90464
90482
  const _hoisted_3$b = ["id"];
90465
90483
  const DEFAULT_MIN = 0;
90466
90484
  const DEFAULT_MAX = 100;
90467
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
90485
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
90468
90486
  __name: "BmsSplitWindow",
90469
90487
  props: /* @__PURE__ */ vue.mergeModels({
90470
90488
  splitOrientation: { default: "vertical" },
@@ -90644,11 +90662,11 @@
90644
90662
  }
90645
90663
  });
90646
90664
 
90647
- const BmsSplitWindow = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-61513081"]]);
90665
+ const BmsSplitWindow = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-61513081"]]);
90648
90666
 
90649
90667
  const _hoisted_1$u = { class: "step" };
90650
90668
  const _hoisted_2$j = { class: "step-buttons" };
90651
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
90669
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
90652
90670
  __name: "BmsStep",
90653
90671
  props: {
90654
90672
  previousLabel: { default: "Précédent" },
@@ -90664,7 +90682,7 @@
90664
90682
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
90665
90683
  vue.renderSlot(_ctx.$slots, "actions", {}, () => [
90666
90684
  vue.createElementVNode("div", _hoisted_2$j, [
90667
- __props.previousLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90685
+ __props.previousLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
90668
90686
  key: 0,
90669
90687
  "data-test": "previous-button",
90670
90688
  name: "previous",
@@ -90676,7 +90694,7 @@
90676
90694
  ]),
90677
90695
  _: 1
90678
90696
  })) : vue.createCommentVNode("", true),
90679
- __props.nextLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
90697
+ __props.nextLabel ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
90680
90698
  key: 1,
90681
90699
  "data-test": "next-button",
90682
90700
  class: "",
@@ -90696,7 +90714,7 @@
90696
90714
  }
90697
90715
  });
90698
90716
 
90699
- const BmsStep = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-fcce71d1"]]);
90717
+ const BmsStep = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-fcce71d1"]]);
90700
90718
 
90701
90719
  const _hoisted_1$t = { class: "stepper" };
90702
90720
  const _hoisted_2$i = { class: "stepper-header" };
@@ -90708,7 +90726,7 @@
90708
90726
  class: "stepper-header--separator"
90709
90727
  };
90710
90728
  const _hoisted_7$3 = { class: "stepper-body" };
90711
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
90729
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
90712
90730
  __name: "BmsStepper",
90713
90731
  props: {
90714
90732
  currentStep: { default: 0 },
@@ -90782,7 +90800,7 @@
90782
90800
  }
90783
90801
  });
90784
90802
 
90785
- const BmsStepper = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-c132d5cd"]]);
90803
+ const BmsStepper = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-c132d5cd"]]);
90786
90804
 
90787
90805
  const historyRoutes = vue.ref([]);
90788
90806
  const useRouterHistory = () => {
@@ -90817,7 +90835,7 @@
90817
90835
  };
90818
90836
  };
90819
90837
 
90820
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
90838
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
90821
90839
  __name: "BmsBackButton",
90822
90840
  props: {
90823
90841
  fallback: {}
@@ -90841,7 +90859,7 @@
90841
90859
  }
90842
90860
  });
90843
90861
 
90844
- const BmsBackButton = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-02d02028"]]);
90862
+ const BmsBackButton = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-02d02028"]]);
90845
90863
 
90846
90864
  const _hoisted_1$s = {
90847
90865
  xmlns: "http://www.w3.org/2000/svg",
@@ -90854,7 +90872,7 @@
90854
90872
  "stroke-linecap": "round",
90855
90873
  "stroke-linejoin": "round"
90856
90874
  };
90857
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
90875
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
90858
90876
  __name: "AnimatedHomeIcon",
90859
90877
  setup(__props) {
90860
90878
  const variants = {
@@ -90913,7 +90931,7 @@
90913
90931
  key: 1,
90914
90932
  class: "breadcrumb__here"
90915
90933
  };
90916
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
90934
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
90917
90935
  __name: "BmsBreadcrumb",
90918
90936
  props: {
90919
90937
  homeLocation: { default: "/" },
@@ -90926,7 +90944,7 @@
90926
90944
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
90927
90945
  vue.createVNode(_component_RouterLink, { to: __props.homeLocation }, {
90928
90946
  default: vue.withCtx(() => [
90929
- vue.createVNode(_sfc_main$w)
90947
+ vue.createVNode(_sfc_main$x)
90930
90948
  ]),
90931
90949
  _: 1
90932
90950
  }, 8, ["to"]),
@@ -90951,10 +90969,10 @@
90951
90969
  }
90952
90970
  });
90953
90971
 
90954
- const BmsBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-a7f3b134"]]);
90972
+ const BmsBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-a7f3b134"]]);
90955
90973
 
90956
90974
  const _hoisted_1$q = { class: "label" };
90957
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
90975
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
90958
90976
  __name: "UiMenuItem",
90959
90977
  props: {
90960
90978
  item: {},
@@ -90971,7 +90989,7 @@
90971
90989
  return classes2;
90972
90990
  });
90973
90991
  return (_ctx, _cache) => {
90974
- return vue.openBlock(), vue.createBlock(_sfc_main$1q, {
90992
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
90975
90993
  to: __props.item.link,
90976
90994
  target: __props.target,
90977
90995
  classes: classes.value
@@ -91002,7 +91020,7 @@
91002
91020
  const _hoisted_3$9 = ["onClick"];
91003
91021
  const _hoisted_4$6 = { class: "parent-label" };
91004
91022
  const _hoisted_5$4 = { class: "additional" };
91005
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
91023
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
91006
91024
  __name: "BmsMenuNav",
91007
91025
  props: {
91008
91026
  items: {},
@@ -91065,7 +91083,7 @@
91065
91083
  key: item.label
91066
91084
  }, [
91067
91085
  hasSubItems(item) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
91068
- item.link ? (vue.openBlock(), vue.createBlock(_sfc_main$1q, {
91086
+ item.link ? (vue.openBlock(), vue.createBlock(_sfc_main$1r, {
91069
91087
  key: 0,
91070
91088
  to: item.link,
91071
91089
  class: vue.normalizeClass(`parent-item ${isItemActive(item) ? "active" : ""}`)
@@ -91093,7 +91111,7 @@
91093
91111
  return vue.openBlock(), vue.createElementBlock("li", {
91094
91112
  key: subItem.label
91095
91113
  }, [
91096
- vue.createVNode(_sfc_main$u, {
91114
+ vue.createVNode(_sfc_main$v, {
91097
91115
  item: subItem,
91098
91116
  active: isItemActive(subItem),
91099
91117
  onClick: ($event) => clickItem(subItem)
@@ -91111,7 +91129,7 @@
91111
91129
  ]),
91112
91130
  _: 2
91113
91131
  }, 1024)
91114
- ])) : (vue.openBlock(), vue.createBlock(_sfc_main$u, {
91132
+ ])) : (vue.openBlock(), vue.createBlock(_sfc_main$v, {
91115
91133
  key: 1,
91116
91134
  item,
91117
91135
  active: isItemActive(item),
@@ -91133,12 +91151,12 @@
91133
91151
  }
91134
91152
  });
91135
91153
 
91136
- const BmsMenuNav = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-8b4752b4"]]);
91154
+ const BmsMenuNav = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-8b4752b4"]]);
91137
91155
 
91138
91156
  const _hoisted_1$o = { class: "menu__container" };
91139
91157
  const _hoisted_2$f = { class: "menu__top" };
91140
91158
  const _hoisted_3$8 = { class: "menu__copyright" };
91141
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
91159
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
91142
91160
  __name: "BmsFixedMenu",
91143
91161
  props: {
91144
91162
  items: {},
@@ -91172,11 +91190,11 @@
91172
91190
  }
91173
91191
  });
91174
91192
 
91175
- const BmsFixedMenu = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-b6a4c4f0"]]);
91193
+ const BmsFixedMenu = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-b6a4c4f0"]]);
91176
91194
 
91177
91195
  const _hoisted_1$n = { class: "menu" };
91178
91196
  const _hoisted_2$e = { class: "menu__copyright" };
91179
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
91197
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
91180
91198
  __name: "BmsMenu",
91181
91199
  props: {
91182
91200
  items: {},
@@ -91193,7 +91211,7 @@
91193
91211
  const toggleMenu = (newMenuState = true) => isMenuOpen.value = newMenuState;
91194
91212
  return (_ctx, _cache) => {
91195
91213
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
91196
- vue.createVNode(vue.unref(_sfc_main$1m), {
91214
+ vue.createVNode(vue.unref(_sfc_main$1n), {
91197
91215
  onClick: _cache[0] || (_cache[0] = ($event) => toggleMenu(!isMenuOpen.value)),
91198
91216
  "data-testid": "openMenu",
91199
91217
  "aria-label": "Ouvrir le menu"
@@ -91217,7 +91235,7 @@
91217
91235
  ref: menu,
91218
91236
  class: vue.normalizeClass(["menu__container", { "is-show": isMenuOpen.value }])
91219
91237
  }, [
91220
- vue.createVNode(vue.unref(_sfc_main$1m), {
91238
+ vue.createVNode(vue.unref(_sfc_main$1n), {
91221
91239
  class: "menu__close",
91222
91240
  onClick: _cache[1] || (_cache[1] = ($event) => toggleMenu(false)),
91223
91241
  "data-testid": "closeMenu",
@@ -91257,52 +91275,66 @@
91257
91275
  }
91258
91276
  });
91259
91277
 
91260
- const BmsMenu = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-02719cac"]]);
91278
+ const BmsMenu = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-02719cac"]]);
91261
91279
 
91262
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
91280
+ const getTabId = (tab) => tab.id || tab.name;
91281
+
91282
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
91263
91283
  __name: "UiTab",
91264
91284
  props: {
91265
- currentRoute: {},
91285
+ selectedTabId: {},
91266
91286
  tab: {}
91267
91287
  },
91268
91288
  setup(__props) {
91269
91289
  const props = __props;
91290
+ const tabId = vue.computed(() => getTabId(props.tab));
91270
91291
  const isTabSelected = vue.computed(
91271
- () => props.tab.routePath ? props.currentRoute.path.includes(props.tab.routePath) : props.tab.routeName ? !!props.currentRoute.name && props.currentRoute.name.includes(props.tab.routeName) : false
91272
- );
91273
- const tabTarget = vue.computed(
91274
- () => props.tab.routePath ? { path: props.tab.routePath } : { name: props.tab.routeName }
91292
+ () => tabId.value && tabId.value === props.selectedTabId || false
91275
91293
  );
91276
91294
  return (_ctx, _cache) => {
91277
- const _component_router_link = vue.resolveComponent("router-link");
91278
- return vue.openBlock(), vue.createBlock(_component_router_link, {
91279
- to: tabTarget.value,
91295
+ return vue.openBlock(), vue.createElementBlock("span", {
91280
91296
  "data-testid": "tab",
91281
91297
  class: vue.normalizeClass(["tab", { active: isTabSelected.value, error: __props.tab.error, disabled: __props.tab.disabled }])
91282
- }, {
91283
- default: vue.withCtx(() => [
91284
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
91285
- vue.createTextVNode(vue.toDisplayString(__props.tab.name), 1)
91286
- ], true)
91287
- ]),
91288
- _: 3
91289
- }, 8, ["to", "class"]);
91298
+ }, [
91299
+ vue.renderSlot(_ctx.$slots, "router", { tab: __props.tab }, () => [
91300
+ vue.createTextVNode(vue.toDisplayString(__props.tab.name), 1)
91301
+ ], true)
91302
+ ], 2);
91290
91303
  };
91291
91304
  }
91292
91305
  });
91293
91306
 
91294
- const UiTab = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-d2f6b84b"]]);
91307
+ const UiTab = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-b6feec3b"]]);
91295
91308
 
91296
91309
  const _hoisted_1$m = { class: "tabs-header" };
91297
91310
  const _hoisted_2$d = { class: "tabs-title" };
91298
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
91299
- __name: "BmsTabs",
91311
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
91312
+ __name: "UiTabs",
91300
91313
  props: {
91301
91314
  title: {},
91302
- tabs: {}
91315
+ tabs: {},
91316
+ initialTabId: {}
91303
91317
  },
91304
- setup(__props) {
91305
- const { currentRoute } = vueRouter.useRouter();
91318
+ emits: ["click"],
91319
+ setup(__props, { emit: __emit }) {
91320
+ const props = __props;
91321
+ const selectedTabId = vue.ref(null);
91322
+ vue.onMounted(() => {
91323
+ selectedTabId.value = props.initialTabId || null;
91324
+ });
91325
+ vue.watch(
91326
+ () => props.initialTabId,
91327
+ () => {
91328
+ selectedTabId.value = props.initialTabId || null;
91329
+ }
91330
+ );
91331
+ const $emits = __emit;
91332
+ const onTabClick = (tab) => {
91333
+ if (getTabId(tab) !== selectedTabId.value) {
91334
+ $emits("click", tab);
91335
+ selectedTabId.value = getTabId(tab);
91336
+ }
91337
+ };
91306
91338
  return (_ctx, _cache) => {
91307
91339
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
91308
91340
  vue.createElementVNode("div", _hoisted_2$d, [
@@ -91310,17 +91342,80 @@
91310
91342
  ]),
91311
91343
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.tabs, (tab) => {
91312
91344
  return vue.openBlock(), vue.createBlock(UiTab, {
91313
- key: tab.name,
91345
+ key: vue.unref(getTabId)(tab),
91346
+ selectedTabId: selectedTabId.value,
91314
91347
  tab,
91315
- "current-route": vue.unref(currentRoute)
91316
- }, null, 8, ["tab", "current-route"]);
91348
+ onClick: ($event) => onTabClick(tab)
91349
+ }, {
91350
+ router: vue.withCtx(({ tab: tab2 }) => [
91351
+ vue.renderSlot(_ctx.$slots, "router", { tab: tab2 }, void 0, true)
91352
+ ]),
91353
+ _: 2
91354
+ }, 1032, ["selectedTabId", "tab", "onClick"]);
91317
91355
  }), 128))
91318
91356
  ]);
91319
91357
  };
91320
91358
  }
91321
91359
  });
91322
91360
 
91323
- const BmsTabs = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-f862fbda"]]);
91361
+ const UiTabs = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-9f2a5368"]]);
91362
+
91363
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
91364
+ __name: "BmsTabs",
91365
+ props: {
91366
+ title: {},
91367
+ tabs: {},
91368
+ initialTabId: {}
91369
+ },
91370
+ emits: ["click"],
91371
+ setup(__props, { emit: __emit }) {
91372
+ const { currentRoute } = vueRouter.useRouter();
91373
+ const props = __props;
91374
+ const getTabTarget = (tab) => {
91375
+ return tab.routePath ? { path: tab.routePath } : { name: tab.routeName };
91376
+ };
91377
+ const $emits = __emit;
91378
+ const needRouterEngine = vue.computed(() => {
91379
+ return !!props.tabs && !!props.tabs[0] && !!(props.tabs[0].routePath || props.tabs[0].routeName);
91380
+ });
91381
+ const selectedTabId = vue.computed(() => {
91382
+ if (needRouterEngine.value) {
91383
+ const selectedTab = props.tabs.find((t) => isTabSelected(t, currentRoute.value)) || null;
91384
+ return selectedTab ? getTabId(selectedTab) : null;
91385
+ } else if (props.initialTabId) {
91386
+ return props.initialTabId;
91387
+ } else {
91388
+ return null;
91389
+ }
91390
+ });
91391
+ const isTabSelected = (tab, currentRoute2) => tab.routePath ? currentRoute2.path.includes(tab.routePath) : tab.routeName ? !!currentRoute2.name && currentRoute2.name.includes(tab.routeName) : false;
91392
+ return (_ctx, _cache) => {
91393
+ const _component_router_link = vue.resolveComponent("router-link");
91394
+ return vue.openBlock(), vue.createBlock(UiTabs, {
91395
+ title: __props.title,
91396
+ tabs: __props.tabs,
91397
+ "initial-tab-id": selectedTabId.value,
91398
+ onClick: _cache[0] || (_cache[0] = ($event) => $emits("click", $event))
91399
+ }, vue.createSlots({ _: 2 }, [
91400
+ needRouterEngine.value ? {
91401
+ name: "router",
91402
+ fn: vue.withCtx(({ tab }) => [
91403
+ vue.createVNode(_component_router_link, {
91404
+ class: "tab",
91405
+ to: getTabTarget(tab)
91406
+ }, {
91407
+ default: vue.withCtx(() => [
91408
+ vue.createTextVNode(vue.toDisplayString(tab.name), 1)
91409
+ ]),
91410
+ _: 2
91411
+ }, 1032, ["to"])
91412
+ ]),
91413
+ key: "0"
91414
+ } : void 0
91415
+ ]), 1032, ["title", "tabs", "initial-tab-id"]);
91416
+ };
91417
+ }
91418
+ });
91324
91419
 
91325
91420
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
91326
91421
  __name: "UiPopoverMenu",
@@ -91474,7 +91569,7 @@
91474
91569
  vue.createTextVNode(" " + vue.toDisplayString(__props.tenant.label), 1),
91475
91570
  vue.createElementVNode("em", null, "- " + vue.toDisplayString(__props.tenant.information), 1)
91476
91571
  ], 8, _hoisted_1$k),
91477
- __props.tenant.isFavorite ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
91572
+ __props.tenant.isFavorite ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
91478
91573
  key: 0,
91479
91574
  class: "remove-tenant-button",
91480
91575
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emits("removeFavorite"), ["stop"]))
@@ -91554,7 +91649,7 @@
91554
91649
  }, {
91555
91650
  default: vue.withCtx(() => [
91556
91651
  vue.createElementVNode("div", _hoisted_1$j, [
91557
- vue.createVNode(vue.unref(_sfc_main$10), {
91652
+ vue.createVNode(vue.unref(_sfc_main$11), {
91558
91653
  ref_key: "searchRef",
91559
91654
  ref: searchRef,
91560
91655
  modelValue: search.value,
@@ -91670,7 +91765,7 @@
91670
91765
  __props.currentTenant && __props.tenants.length === 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
91671
91766
  vue.createVNode(_sfc_main$n, { tenant: __props.currentTenant }, null, 8, ["tenant"]),
91672
91767
  vue.createElementVNode("span", null, vue.toDisplayString(__props.currentTenant.label), 1)
91673
- ])) : __props.tenants.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1n), {
91768
+ ])) : __props.tenants.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1o), {
91674
91769
  key: 1,
91675
91770
  type: "tertiary",
91676
91771
  onClick: _cache[0] || (_cache[0] = ($event) => showTenantSwitcher.value = !showTenantSwitcher.value)
@@ -91813,7 +91908,7 @@
91813
91908
  onMouseup: _cache[1] || (_cache[1] = () => gripped.value = false)
91814
91909
  }),
91815
91910
  vue.renderSlot(_ctx.$slots, "default", { row: item }, void 0, true),
91816
- vue.createVNode(vue.unref(_sfc_main$1m), {
91911
+ vue.createVNode(vue.unref(_sfc_main$1n), {
91817
91912
  mode: vue.unref(StatusType).Danger,
91818
91913
  onClick: ($event) => onRemove(item)
91819
91914
  }, {
@@ -91961,7 +92056,7 @@
91961
92056
  ], true)
91962
92057
  ]),
91963
92058
  vue.createElementVNode("div", _hoisted_3$6, [
91964
- vue.createVNode(_sfc_main$1m, {
92059
+ vue.createVNode(_sfc_main$1n, {
91965
92060
  color: "neutral",
91966
92061
  onClick: goToFirst,
91967
92062
  disabled: __props.currentPage === 0
@@ -91971,7 +92066,7 @@
91971
92066
  ]),
91972
92067
  _: 1
91973
92068
  }, 8, ["disabled"]),
91974
- vue.createVNode(_sfc_main$1m, {
92069
+ vue.createVNode(_sfc_main$1n, {
91975
92070
  onClick: goToPrevious,
91976
92071
  disabled: __props.currentPage === 0
91977
92072
  }, {
@@ -91980,7 +92075,7 @@
91980
92075
  ]),
91981
92076
  _: 1
91982
92077
  }, 8, ["disabled"]),
91983
- vue.createVNode(_sfc_main$1m, {
92078
+ vue.createVNode(_sfc_main$1n, {
91984
92079
  onClick: goToNext,
91985
92080
  disabled: __props.currentPage === __props.pages - 1 || __props.pages === 0
91986
92081
  }, {
@@ -91989,7 +92084,7 @@
91989
92084
  ]),
91990
92085
  _: 1
91991
92086
  }, 8, ["disabled"]),
91992
- vue.createVNode(_sfc_main$1m, {
92087
+ vue.createVNode(_sfc_main$1n, {
91993
92088
  onClick: goToLast,
91994
92089
  disabled: __props.currentPage === __props.pages - 1 || __props.pages === 0 || __props.total === Infinity
91995
92090
  }, {
@@ -95738,6 +95833,9 @@
95738
95833
  setup(__props, { emit: __emit }) {
95739
95834
  const props = __props;
95740
95835
  const emits = __emit;
95836
+ const currentItem = vue.computed(
95837
+ () => props.isChildElement ? props.item.childElement : props.item
95838
+ );
95741
95839
  const isItemSelected = (item) => {
95742
95840
  return props.selectMode === SelectMode.ALL || !!props.selectedItems.find((it) => _isEqual(item, it));
95743
95841
  };
@@ -95748,7 +95846,7 @@
95748
95846
  return (_ctx, _cache) => {
95749
95847
  return vue.openBlock(), vue.createElementBlock("tr", {
95750
95848
  class: vue.normalizeClass(["bms-table__row", {
95751
- "bms-table__row--selected": isItemSelected(__props.item),
95849
+ "bms-table__row--selected": isItemSelected(currentItem.value),
95752
95850
  "bms-table__row--disabled": __props.isChildElement,
95753
95851
  "bms-table__row--dense": __props.dense
95754
95852
  }])
@@ -95760,12 +95858,20 @@
95760
95858
  activated: __props.selectMode === vue.unref(SelectMode).ALL
95761
95859
  }, {
95762
95860
  default: vue.withCtx(() => [
95763
- vue.createVNode(UiBmsInputCheckbox, {
95861
+ __props.selectMode === vue.unref(SelectMode).SINGLE ? (vue.openBlock(), vue.createBlock(BmsInputRadio, {
95862
+ key: 0,
95863
+ name: vue.unref(v4)(),
95864
+ disabled: __props.selectableDisabled,
95865
+ value: currentItem.value,
95866
+ "model-value": isItemSelected(currentItem.value) ? currentItem.value : null,
95867
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emits("select", currentItem.value))
95868
+ }, null, 8, ["name", "disabled", "value", "model-value"])) : (vue.openBlock(), vue.createBlock(UiBmsInputCheckbox, {
95869
+ key: 1,
95764
95870
  name: vue.unref(v4)(),
95765
95871
  disabled: __props.selectMode === vue.unref(SelectMode).ALL || __props.selectableDisabled,
95766
- "model-value": isItemSelected(__props.item),
95767
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emits("select", __props.item))
95768
- }, null, 8, ["name", "disabled", "model-value"])
95872
+ "model-value": isItemSelected(currentItem.value),
95873
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => emits("select", currentItem.value))
95874
+ }, null, 8, ["name", "disabled", "model-value"]))
95769
95875
  ]),
95770
95876
  _: 1
95771
95877
  }, 8, ["direction", "activated"])
@@ -95813,7 +95919,7 @@
95813
95919
  }
95814
95920
  });
95815
95921
 
95816
- const UiBmsTableRow = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-c6304837"]]);
95922
+ const UiBmsTableRow = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-2ab3888f"]]);
95817
95923
 
95818
95924
  const _hoisted_1$b = { class: "bms-table" };
95819
95925
  const _hoisted_2$9 = { class: "bms-table__actions" };
@@ -95831,16 +95937,20 @@
95831
95937
  key: 0,
95832
95938
  class: "bms-table__loader"
95833
95939
  };
95834
- const _hoisted_11$1 = { class: "bms-table__headers bms-table__row" };
95835
- const _hoisted_12$1 = { key: 0 };
95836
- const _hoisted_13$1 = ["onClick"];
95837
- const _hoisted_14$1 = { class: "header-content" };
95838
- const _hoisted_15$1 = { class: "bms-table__body" };
95839
- const _hoisted_16$1 = {
95940
+ const _hoisted_11$1 = {
95941
+ ref: "thead",
95942
+ class: "bms-table__header"
95943
+ };
95944
+ const _hoisted_12$1 = { class: "bms-table__headers bms-table__row" };
95945
+ const _hoisted_13$1 = { key: 0 };
95946
+ const _hoisted_14$1 = ["onClick"];
95947
+ const _hoisted_15$1 = { class: "header-content" };
95948
+ const _hoisted_16$1 = { class: "bms-table__body" };
95949
+ const _hoisted_17 = {
95840
95950
  key: 1,
95841
95951
  class: "bms-table__row"
95842
95952
  };
95843
- const _hoisted_17 = ["colspan"];
95953
+ const _hoisted_18 = ["colspan"];
95844
95954
  const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
95845
95955
  __name: "UiBmsTable",
95846
95956
  props: /* @__PURE__ */ vue.mergeModels({
@@ -95871,31 +95981,23 @@
95871
95981
  const selectedItems = vue.useModel(__props, "selectedItems");
95872
95982
  const emits = __emit;
95873
95983
  const pagination = vue.ref(null);
95874
- const isHeaderStuck = vue.ref(false);
95875
- const thead = vue.ref(null);
95876
- const filteredHeaders = vue.computed(() => {
95877
- return enforceActionsColumnHeader(props.headers);
95878
- });
95984
+ const isFocusOnPagination = () => pagination.value?.contains(document.activeElement);
95985
+ vue.watch(
95986
+ () => props.items,
95987
+ async function keepFocusOnPaginationWhenUsed(newVal, oldVal) {
95988
+ if (oldVal.length > 0 && newVal.length > 0 && isFocusOnPagination()) {
95989
+ await vue.nextTick();
95990
+ pagination.value?.focus();
95991
+ }
95992
+ },
95993
+ { deep: true }
95994
+ );
95995
+ const filteredHeaders = vue.computed(
95996
+ () => enforceActionsColumnHeader(props.headers)
95997
+ );
95879
95998
  const tableClass = vue.computed(
95880
95999
  () => `bms-table__table bms-table__table--${props.mode}`
95881
96000
  );
95882
- const getAlignClass = (header) => {
95883
- const align = !header.align ? "start" : header.align;
95884
- return `u-text-align-${align}`;
95885
- };
95886
- const getHeaderClasses = (header) => {
95887
- const classes = [getAlignClass(header), "bms-table__header-cell"];
95888
- if (header.class) {
95889
- classes.push(header.class);
95890
- }
95891
- if (header.sortable) {
95892
- classes.push("sortable");
95893
- }
95894
- if (props.sort.key === header.key) {
95895
- classes.push("sorted");
95896
- }
95897
- return classes;
95898
- };
95899
96001
  const getSortComponent = (header) => {
95900
96002
  if (!props.sort.key || header.key !== props.sort.key) {
95901
96003
  return ChevronsUpDown;
@@ -95909,41 +96011,19 @@
95909
96011
  return ChevronsUpDown;
95910
96012
  }
95911
96013
  };
95912
- const isFocusOnPagination = () => {
95913
- return pagination.value?.contains(document.activeElement);
95914
- };
95915
- vue.watch(
95916
- () => props.items,
95917
- async (newVal, oldVal) => {
95918
- if (oldVal.length > 0 && newVal.length > 0 && isFocusOnPagination()) {
95919
- await vue.nextTick();
95920
- pagination.value?.focus();
95921
- }
95922
- },
95923
- { deep: true }
95924
- );
95925
- onscroll = () => {
95926
- if (thead.value) {
95927
- const { top: theadTop } = thead.value.getBoundingClientRect();
95928
- const headers = document.getElementsByTagName("header");
95929
- if (headers.length > 0) {
95930
- const header = headers[0];
95931
- const { height: headerHeight } = header.getBoundingClientRect();
95932
- isHeaderStuck.value = headerHeight === theadTop;
95933
- }
95934
- }
95935
- };
95936
- const isItemSelected = (item) => {
95937
- return props.selectMode === SelectMode.ALL || !!selectedItems.value.find((it) => _isEqual(item, it));
95938
- };
96014
+ const isItemSelected = (item) => props.selectMode === SelectMode.ALL || !!selectedItems.value.find((it) => _isEqual(item, it));
95939
96015
  const onItemSelect = (item) => {
95940
- if (isItemSelected(item)) {
95941
- selectedItems.value = selectedItems.value.filter(
95942
- (it) => !_isEqual(item, it)
95943
- );
95944
- areAllCurrentItemsSelected.value = false;
96016
+ if (props.selectMode === SelectMode.SINGLE) {
96017
+ selectedItems.value = [item];
95945
96018
  } else {
95946
- selectedItems.value.push(item);
96019
+ if (isItemSelected(item)) {
96020
+ selectedItems.value = selectedItems.value.filter(
96021
+ (it) => !_isEqual(item, it)
96022
+ );
96023
+ areAllCurrentItemsSelected.value = false;
96024
+ } else {
96025
+ selectedItems.value.push(item);
96026
+ }
95947
96027
  }
95948
96028
  };
95949
96029
  const areAllCurrentItemsSelected = vue.ref(props.selectMode === SelectMode.ALL);
@@ -95955,7 +96035,7 @@
95955
96035
  if (props.selectMode === SelectMode.ALL) {
95956
96036
  emits("clearSelection");
95957
96037
  }
95958
- if (selectedItems.value.length > props.items.length) {
96038
+ if (selectedItems.value.length > props.totalSize) {
95959
96039
  selectedItems.value = [];
95960
96040
  } else {
95961
96041
  if (!areAllCurrentItemsSelected.value) {
@@ -95963,11 +96043,12 @@
95963
96043
  if (!isItemSelected(item)) {
95964
96044
  selectedItems.value.push(item);
95965
96045
  }
96046
+ if (item?.childElement && !isItemSelected(item?.childElement)) {
96047
+ selectedItems.value.push(item.childElement);
96048
+ }
95966
96049
  });
95967
96050
  } else {
95968
- selectedItems.value = selectedItems.value.filter(
95969
- (selectedItem) => !props.items.find((item) => _isEqual(item, selectedItem))
95970
- );
96051
+ selectedItems.value = [];
95971
96052
  }
95972
96053
  }
95973
96054
  };
@@ -96040,7 +96121,7 @@
96040
96121
  _cache[1] || (_cache[1] = vue.createElementVNode("strong", null, "1", -1)),
96041
96122
  _cache[2] || (_cache[2] = vue.createTextVNode(" élément du tableau est sélectionné. ", -1))
96042
96123
  ], 64)) : (vue.openBlock(), vue.createElementBlock("strong", _hoisted_8$2, vue.toDisplayString(selectedItems.value.length) + " éléments du tableau sont sélectionnés. ", 1)),
96043
- __props.totalSize < __props.maxSelectedSize ? (vue.openBlock(), vue.createElementBlock("span", {
96124
+ __props.totalSize < __props.maxSelectedSize && __props.selectMode !== vue.unref(SelectMode).SINGLE ? (vue.openBlock(), vue.createElementBlock("span", {
96044
96125
  key: 2,
96045
96126
  class: "select-mode-all",
96046
96127
  onClick: selectAll
@@ -96074,14 +96155,11 @@
96074
96155
  ref_key: "mainComponent",
96075
96156
  ref: mainComponent
96076
96157
  }, [
96077
- vue.createElementVNode("thead", {
96078
- ref_key: "thead",
96079
- ref: thead,
96080
- class: vue.normalizeClass(["bms-table__header", { stuck: isHeaderStuck.value }])
96081
- }, [
96082
- vue.createElementVNode("tr", _hoisted_11$1, [
96083
- __props.selectable ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_12$1, [
96084
- vue.createVNode(UiBmsInputCheckbox, {
96158
+ vue.createElementVNode("thead", _hoisted_11$1, [
96159
+ vue.createElementVNode("tr", _hoisted_12$1, [
96160
+ __props.selectable ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_13$1, [
96161
+ __props.selectMode !== vue.unref(SelectMode).SINGLE ? (vue.openBlock(), vue.createBlock(UiBmsInputCheckbox, {
96162
+ key: 0,
96085
96163
  name: "select-all",
96086
96164
  disabled: __props.items.length === 0 || __props.selectableDisabled,
96087
96165
  "onUpdate:modelValue": [
@@ -96089,18 +96167,18 @@
96089
96167
  _cache[0] || (_cache[0] = ($event) => areAllCurrentItemsSelected.value = $event)
96090
96168
  ],
96091
96169
  modelValue: areAllCurrentItemsSelected.value
96092
- }, null, 8, ["disabled", "modelValue"])
96170
+ }, null, 8, ["disabled", "modelValue"])) : vue.createCommentVNode("", true)
96093
96171
  ])) : vue.createCommentVNode("", true),
96094
96172
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredHeaders.value, (header) => {
96095
96173
  return vue.openBlock(), vue.createElementBlock("th", {
96096
96174
  style: vue.normalizeStyle({
96097
96175
  "--table-cell-width": header?.width || void 0
96098
96176
  }),
96099
- class: vue.normalizeClass(getHeaderClasses(header)),
96177
+ class: vue.normalizeClass(vue.unref(getHeaderClasses)(header, __props.sort)),
96100
96178
  key: header.label,
96101
96179
  onClick: ($event) => emits("clickHeader", header)
96102
96180
  }, [
96103
- vue.createElementVNode("span", _hoisted_14$1, [
96181
+ vue.createElementVNode("span", _hoisted_15$1, [
96104
96182
  vue.createTextVNode(vue.toDisplayString(header.label) + " ", 1),
96105
96183
  header.sortable ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getSortComponent(header)), {
96106
96184
  key: 0,
@@ -96108,11 +96186,11 @@
96108
96186
  class: "header-content-sort"
96109
96187
  })) : vue.createCommentVNode("", true)
96110
96188
  ])
96111
- ], 14, _hoisted_13$1);
96189
+ ], 14, _hoisted_14$1);
96112
96190
  }), 128))
96113
96191
  ])
96114
- ], 2),
96115
- vue.createElementVNode("tbody", _hoisted_15$1, [
96192
+ ], 512),
96193
+ vue.createElementVNode("tbody", _hoisted_16$1, [
96116
96194
  __props.items.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.items, (item) => {
96117
96195
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: item }, [
96118
96196
  vue.createVNode(UiBmsTableRow, {
@@ -96147,7 +96225,8 @@
96147
96225
  selectable: __props.selectable,
96148
96226
  headers: filteredHeaders.value,
96149
96227
  "select-mode": __props.selectMode,
96150
- "selectable-disabled": __props.selectableDisabled
96228
+ "selectable-disabled": __props.selectableDisabled,
96229
+ onSelect: onItemSelect
96151
96230
  }, vue.createSlots({ _: 2 }, [
96152
96231
  vue.renderList(__props.headers, (cell) => {
96153
96232
  return {
@@ -96160,7 +96239,7 @@
96160
96239
  ]), 1032, ["item", "selected-items", "selectable", "headers", "select-mode", "selectable-disabled"])
96161
96240
  ], true) : vue.createCommentVNode("", true)
96162
96241
  ], 64);
96163
- }), 128)) : (vue.openBlock(), vue.createElementBlock("tr", _hoisted_16$1, [
96242
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("tr", _hoisted_17, [
96164
96243
  vue.createElementVNode("td", {
96165
96244
  colspan: __props.selectable ? filteredHeaders.value.length + 1 : filteredHeaders.value.length,
96166
96245
  class: "bms-table__cell bms-table__cell--empty"
@@ -96168,7 +96247,7 @@
96168
96247
  !props.loading ? vue.renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
96169
96248
  _cache[3] || (_cache[3] = vue.createTextVNode("Aucune donnée", -1))
96170
96249
  ], true) : vue.createCommentVNode("", true)
96171
- ], 8, _hoisted_17)
96250
+ ], 8, _hoisted_18)
96172
96251
  ]))
96173
96252
  ])
96174
96253
  ], 2)) : vue.createCommentVNode("", true),
@@ -96186,7 +96265,7 @@
96186
96265
  }
96187
96266
  });
96188
96267
 
96189
- const UiBmsTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-9cbfc981"]]);
96268
+ const UiBmsTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-45f34152"]]);
96190
96269
 
96191
96270
  const _hoisted_1$a = { class: "filter-button-container" };
96192
96271
  const _hoisted_2$8 = {
@@ -96208,7 +96287,7 @@
96208
96287
  );
96209
96288
  return (_ctx, _cache) => {
96210
96289
  return vue.openBlock(), vue.createElementBlock("span", _hoisted_1$a, [
96211
- vue.createVNode(_sfc_main$1o, {
96290
+ vue.createVNode(_sfc_main$1p, {
96212
96291
  class: "filter-button",
96213
96292
  color: __props.isFilterVisible ? vue.unref(StatusType).Default : vue.unref(StatusType).Information,
96214
96293
  mode: __props.isFilterVisible ? "fill" : "ghost",
@@ -98364,9 +98443,9 @@
98364
98443
  case "boolean":
98365
98444
  return BmsSelect;
98366
98445
  case "input":
98367
- return _sfc_main$10;
98446
+ return _sfc_main$11;
98368
98447
  case "inputDate":
98369
- return _sfc_main$$;
98448
+ return _sfc_main$10;
98370
98449
  case "autocomplete":
98371
98450
  return BmsAutocomplete;
98372
98451
  case "autocompleteServer":
@@ -98453,7 +98532,7 @@
98453
98532
  _cache[2] || (_cache[2] = vue.createTextVNode(" Recherche avancée ", -1))
98454
98533
  ]),
98455
98534
  vue.createElementVNode("span", _hoisted_4$3, [
98456
- __props.canSaveFilters ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
98535
+ __props.canSaveFilters ? (vue.openBlock(), vue.createBlock(_sfc_main$1n, {
98457
98536
  key: 0,
98458
98537
  class: "save",
98459
98538
  tooltipText: "Sauvegarder le filtre",
@@ -98464,7 +98543,7 @@
98464
98543
  ]),
98465
98544
  _: 1
98466
98545
  })) : vue.createCommentVNode("", true),
98467
- vue.createVNode(_sfc_main$1m, {
98546
+ vue.createVNode(_sfc_main$1n, {
98468
98547
  class: "reset",
98469
98548
  tooltipText: "Vider les champs",
98470
98549
  onClick: reset
@@ -98513,7 +98592,7 @@
98513
98592
  }, {
98514
98593
  default: vue.withCtx(() => [
98515
98594
  _cache[3] || (_cache[3] = vue.createElementVNode("div", null, " Vous pouvez sauvegarder votre recherche pour la retrouver plus facilement. ", -1)),
98516
- vue.createVNode(vue.unref(_sfc_main$10), {
98595
+ vue.createVNode(vue.unref(_sfc_main$11), {
98517
98596
  ref_key: "nameInput",
98518
98597
  ref: nameInput,
98519
98598
  label: "Nom de la sauvegarde",
@@ -102804,7 +102883,8 @@
102804
102883
  value: SortValue.default
102805
102884
  }) },
102806
102885
  selectable: { type: Boolean, default: false },
102807
- selectableDisabled: { type: Boolean, default: false }
102886
+ selectableDisabled: { type: Boolean, default: false },
102887
+ selectMode: { default: SelectMode.DEFAULT }
102808
102888
  }, {
102809
102889
  "selectedItems": {
102810
102890
  required: false,
@@ -102937,9 +103017,14 @@
102937
103017
  const onClickHeader = (header) => {
102938
103018
  changeSort(header);
102939
103019
  };
103020
+ const elementsAndChildElements = vue.computed(() => {
103021
+ const childElements = items.value.map((item) => item.childElement).filter((childElement) => !!childElement);
103022
+ return [...items.value, ...childElements];
103023
+ });
102940
103024
  const onSelectAll = () => {
102941
- selectedItems.value = items.value;
103025
+ selectedItems.value = elementsAndChildElements.value;
102942
103026
  };
103027
+ const totalSize = vue.computed(() => elementsAndChildElements.value.length);
102943
103028
  return (_ctx, _cache) => {
102944
103029
  return vue.openBlock(), vue.createBlock(UiBmsTable, {
102945
103030
  selectedItems: selectedItems.value,
@@ -102952,7 +103037,8 @@
102952
103037
  sort: vue.unref(sort),
102953
103038
  selectable: __props.selectable,
102954
103039
  selectableDisabled: __props.selectableDisabled,
102955
- totalSize: vue.unref(items).length,
103040
+ totalSize: totalSize.value,
103041
+ selectMode: __props.selectMode,
102956
103042
  onClickHeader,
102957
103043
  onSelectAll
102958
103044
  }, vue.createSlots({
@@ -103047,12 +103133,12 @@
103047
103133
  ])
103048
103134
  };
103049
103135
  })
103050
- ]), 1032, ["selectedItems", "loading", "items", "headers", "mode", "hasFilters", "sort", "selectable", "selectableDisabled", "totalSize"]);
103136
+ ]), 1032, ["selectedItems", "loading", "items", "headers", "mode", "hasFilters", "sort", "selectable", "selectableDisabled", "totalSize", "selectMode"]);
103051
103137
  };
103052
103138
  }
103053
103139
  });
103054
103140
 
103055
- const BmsTable = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-2f003e4e"]]);
103141
+ const BmsTable = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-704a7453"]]);
103056
103142
 
103057
103143
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
103058
103144
  __name: "BmsCocarde",
@@ -103110,7 +103196,7 @@
103110
103196
  class: "bms-notification__icon"
103111
103197
  })),
103112
103198
  vue.createElementVNode("div", _hoisted_2$4, vue.toDisplayString(__props.notification.text), 1),
103113
- vue.createVNode(_sfc_main$1m, {
103199
+ vue.createVNode(_sfc_main$1n, {
103114
103200
  class: "bms-notification__close-button",
103115
103201
  onClick: closeNotification
103116
103202
  }, {
@@ -103351,7 +103437,7 @@
103351
103437
  vue.createElementVNode("div", null, [
103352
103438
  vue.createElementVNode("div", _hoisted_5$1, [
103353
103439
  vue.createElementVNode("span", _hoisted_6$1, vue.toDisplayString(__props.problem.detail), 1),
103354
- vue.createVNode(vue.unref(_sfc_main$1m), {
103440
+ vue.createVNode(vue.unref(_sfc_main$1n), {
103355
103441
  class: "copyToClipboardButton",
103356
103442
  onClick: _cache[1] || (_cache[1] = ($event) => onCopyToClipboard(__props.problem.detail))
103357
103443
  }, {
@@ -103386,7 +103472,7 @@
103386
103472
  vue.createElementVNode("div", null, [
103387
103473
  vue.createElementVNode("div", _hoisted_8$1, [
103388
103474
  vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(__props.problem.correlationId), 1),
103389
- vue.createVNode(vue.unref(_sfc_main$1m), {
103475
+ vue.createVNode(vue.unref(_sfc_main$1n), {
103390
103476
  class: "copyToClipboardButton",
103391
103477
  onClick: _cache[3] || (_cache[3] = ($event) => onCopyToClipboard(__props.problem.detail))
103392
103478
  }, {
@@ -103596,7 +103682,7 @@
103596
103682
  );
103597
103683
  return (_ctx, _cache) => {
103598
103684
  return isFeatureFlippingOn.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
103599
- vue.createVNode(_sfc_main$1n, {
103685
+ vue.createVNode(_sfc_main$1o, {
103600
103686
  onClick: _cache[0] || (_cache[0] = ($event) => emit("click")),
103601
103687
  mode: vue.unref(StatusType).Danger
103602
103688
  }, {
@@ -105893,8 +105979,8 @@
105893
105979
 
105894
105980
  const createBmsUi = () => ({
105895
105981
  install: (app) => {
105896
- app.component("BmsButton", _sfc_main$1n);
105897
- app.component("BmsIconButton", _sfc_main$1m);
105982
+ app.component("BmsButton", _sfc_main$1o);
105983
+ app.component("BmsIconButton", _sfc_main$1n);
105898
105984
  app.component("BmsAlert", BmsAlert);
105899
105985
  app.component("BmsBadge", BmsBadge);
105900
105986
  app.component("BmsCaption", BmsCaption);
@@ -105906,19 +105992,19 @@
105906
105992
  app.component("BmsBetweenInput", BmsBetweenInput);
105907
105993
  app.component("BmsChip", BmsChip);
105908
105994
  app.component("BmsFilePicker", BmsFilePicker);
105909
- app.component("BmsInputBooleanCheckbox", _sfc_main$15);
105995
+ app.component("BmsInputBooleanCheckbox", _sfc_main$16);
105910
105996
  app.component("BmsInputCheckboxGroup", BmsInputCheckboxGroup);
105911
105997
  app.component("BmsInputCheckboxCaption", BmsInputCheckboxCaption);
105912
105998
  app.component("BmsInputCheckboxCaptionGroup", BmsInputCheckboxCaptionGroup);
105913
105999
  app.component("BmsInputCode", BmsInputCode);
105914
- app.component("BmsInputDateTime", _sfc_main$$);
106000
+ app.component("BmsInputDateTime", _sfc_main$10);
105915
106001
  app.component("BmsInputFile", BmsInputFile);
105916
- app.component("BmsInputNumber", _sfc_main$Z);
106002
+ app.component("BmsInputNumber", _sfc_main$_);
105917
106003
  app.component("BmsInputRadio", BmsInputRadio);
105918
106004
  app.component("BmsInputRadioGroup", BmsInputRadioGroup);
105919
106005
  app.component("BmsInputRadioCaption", BmsInputRadioCaption);
105920
106006
  app.component("BmsInputRadioCaptionGroup", BmsInputRadioCaptionGroup);
105921
- app.component("BmsInputText", _sfc_main$10);
106007
+ app.component("BmsInputText", _sfc_main$11);
105922
106008
  app.component("BmsInputToggle", BmsInputToggle);
105923
106009
  app.component("BmsMultiSelect", BmsMultiSelect);
105924
106010
  app.component("BmsSearch", BmsSearch);
@@ -105940,11 +106026,11 @@
105940
106026
  app.component("BmsBackButton", BmsBackButton);
105941
106027
  app.component("BmsBreadcrumb", BmsBreadcrumb);
105942
106028
  app.component("BmsFixedMenu", BmsFixedMenu);
105943
- app.component("BmsLink", _sfc_main$1q);
106029
+ app.component("BmsLink", _sfc_main$1r);
105944
106030
  app.component("BmsMenu", BmsMenu);
105945
106031
  app.component("BmsMenuNav", BmsMenuNav);
105946
106032
  app.component("BmsShortLinkMenu", BmsShortLinkMenu);
105947
- app.component("BmsTabs", BmsTabs);
106033
+ app.component("BmsTabs", _sfc_main$p);
105948
106034
  app.component("BmsTenantSwitcher", BmsTenantSwitcher);
105949
106035
  app.component("BmsDraggableList", BmsDraggableList);
105950
106036
  app.component("BmsEmptyScreen", BmsEmptyScreen);
@@ -105964,7 +106050,7 @@
105964
106050
  exports.BmsBadge = BmsBadge;
105965
106051
  exports.BmsBetweenInput = BmsBetweenInput;
105966
106052
  exports.BmsBreadcrumb = BmsBreadcrumb;
105967
- exports.BmsButton = _sfc_main$1n;
106053
+ exports.BmsButton = _sfc_main$1o;
105968
106054
  exports.BmsCaption = BmsCaption;
105969
106055
  exports.BmsCard = BmsCard;
105970
106056
  exports.BmsChip = BmsChip;
@@ -105979,22 +106065,22 @@
105979
106065
  exports.BmsForm = BmsForm;
105980
106066
  exports.BmsHeader = BmsHeader;
105981
106067
  exports.BmsHeaderTitle = BmsHeaderTitle;
105982
- exports.BmsIconButton = _sfc_main$1m;
105983
- exports.BmsInputBooleanCheckbox = _sfc_main$15;
106068
+ exports.BmsIconButton = _sfc_main$1n;
106069
+ exports.BmsInputBooleanCheckbox = _sfc_main$16;
105984
106070
  exports.BmsInputCheckboxCaption = BmsInputCheckboxCaption;
105985
106071
  exports.BmsInputCheckboxCaptionGroup = BmsInputCheckboxCaptionGroup;
105986
106072
  exports.BmsInputCheckboxGroup = BmsInputCheckboxGroup;
105987
106073
  exports.BmsInputCode = BmsInputCode;
105988
- exports.BmsInputDateTime = _sfc_main$$;
106074
+ exports.BmsInputDateTime = _sfc_main$10;
105989
106075
  exports.BmsInputFile = BmsInputFile;
105990
- exports.BmsInputNumber = _sfc_main$Z;
106076
+ exports.BmsInputNumber = _sfc_main$_;
105991
106077
  exports.BmsInputRadio = BmsInputRadio;
105992
106078
  exports.BmsInputRadioCaption = BmsInputRadioCaption;
105993
106079
  exports.BmsInputRadioCaptionGroup = BmsInputRadioCaptionGroup;
105994
106080
  exports.BmsInputRadioGroup = BmsInputRadioGroup;
105995
- exports.BmsInputText = _sfc_main$10;
106081
+ exports.BmsInputText = _sfc_main$11;
105996
106082
  exports.BmsInputToggle = BmsInputToggle;
105997
- exports.BmsLink = _sfc_main$1q;
106083
+ exports.BmsLink = _sfc_main$1r;
105998
106084
  exports.BmsLoader = BmsLoader;
105999
106085
  exports.BmsMenu = BmsMenu;
106000
106086
  exports.BmsMenuNav = BmsMenuNav;
@@ -106015,7 +106101,7 @@
106015
106101
  exports.BmsStep = BmsStep;
106016
106102
  exports.BmsStepper = BmsStepper;
106017
106103
  exports.BmsTable = BmsTable;
106018
- exports.BmsTabs = BmsTabs;
106104
+ exports.BmsTabs = _sfc_main$p;
106019
106105
  exports.BmsTag = BmsTag;
106020
106106
  exports.BmsTenantSwitcher = BmsTenantSwitcher;
106021
106107
  exports.BmsTextArea = BmsTextArea;
@@ -106043,6 +106129,7 @@
106043
106129
  exports.getCurrentHistory = getCurrentHistory;
106044
106130
  exports.getCurrentLocation = getCurrentLocation;
106045
106131
  exports.getFiltersAsQueryParams = getFiltersAsQueryParams;
106132
+ exports.getHeaderClasses = getHeaderClasses;
106046
106133
  exports.getImageFromFile = getImageFromFile;
106047
106134
  exports.getNumberFromPathQuery = getNumberFromPathQuery;
106048
106135
  exports.getStringFromPathQuery = getStringFromPathQuery;