@3squared/forge-ui-3 2.18.1 → 2.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import Be from "primevue/message";
2
- import { defineComponent as S, openBlock as r, createBlock as y, normalizeProps as W, guardReactiveProps as G, withCtx as f, createElementVNode as m, normalizeClass as F, unref as u, createCommentVNode as C, createVNode as h, renderSlot as k, ref as j, createElementBlock as v, Fragment as A, mergeProps as _, renderList as E, mergeModels as R, useModel as N, computed as z, createTextVNode as M, toDisplayString as B, withDirectives as J, vShow as Z, createSlots as ae, onMounted as ne, isRef as Fe, withKeys as le, normalizeStyle as Se, withModifiers as X, watch as Q, h as Ce, useTemplateRef as ze } from "vue";
2
+ import { defineComponent as C, openBlock as d, createBlock as y, normalizeProps as W, guardReactiveProps as G, withCtx as f, createElementVNode as m, normalizeClass as S, unref as u, createCommentVNode as z, createVNode as w, renderSlot as B, ref as j, createElementBlock as v, Fragment as A, mergeProps as _, renderList as E, mergeModels as R, useModel as N, computed as T, createTextVNode as M, toDisplayString as F, withDirectives as J, vShow as Z, createSlots as ae, onMounted as ne, isRef as Fe, withKeys as le, normalizeStyle as Se, withModifiers as X, watch as Q, h as Ce, useTemplateRef as ze } from "vue";
3
3
  import { Icon as P } from "@iconify/vue";
4
4
  import q from "primevue/button";
5
5
  import Te from "primevue/toast";
@@ -240,14 +240,15 @@ const Xe = {
240
240
  column: {
241
241
  pcSortBadge: "ms-2 my-auto cursor-pointer",
242
242
  headerCell: (e) => {
243
- var t, a, i, l;
243
+ var t, a, i, l, n, o;
244
244
  return {
245
245
  class: [
246
246
  "align-top",
247
247
  {
248
- "cursor-move": e.props.reorderableColumns,
249
- "position-sticky": ((t = e.column) == null ? void 0 : t.context.frozen) !== void 0 || ((a = e.column) == null ? void 0 : a.context.frozen) || ((i = e.column) == null ? void 0 : i.context.frozen) === "",
250
- "overflow-hidden position-relative bg-clip-padding": (l = e.column) == null ? void 0 : l.context.resizable
248
+ "cursor-move": (t = e.props) == null ? void 0 : t.reorderableColumns,
249
+ "position-sticky": ((a = e.column) == null ? void 0 : a.context.frozen) !== void 0 || ((i = e.column) == null ? void 0 : i.context.frozen) || ((l = e.column) == null ? void 0 : l.context.frozen) === "",
250
+ "overflow-hidden position-relative bg-clip-padding": (n = e.column) == null ? void 0 : n.context.resizable,
251
+ "align-bottom": ((o = e.column.props) == null ? void 0 : o.rowspan) > 1
251
252
  }
252
253
  ]
253
254
  };
@@ -320,7 +321,17 @@ const Xe = {
320
321
  "dropdown-divider"
321
322
  ]
322
323
  },
323
- columnHeaderContent: "d-flex",
324
+ columnHeaderContent: (e) => {
325
+ var t;
326
+ return {
327
+ class: [
328
+ "d-flex",
329
+ {
330
+ "justify-content-center": ((t = e.column.props) == null ? void 0 : t.colspan) > 1
331
+ }
332
+ ]
333
+ };
334
+ },
324
335
  columnTitle: "text-break",
325
336
  sort: "d-flex ms-auto cursor-pointer table-sort-icon",
326
337
  pcRowCheckbox: (e) => ({
@@ -610,7 +621,33 @@ const Xe = {
610
621
  }
611
622
  }),
612
623
  title: "d-flex mx-auto",
613
- day: "d-flex date-primary justify-content-center align-items-center",
624
+ dayCell: ({ context: e }) => ({
625
+ class: [
626
+ {
627
+ selected: e.selected
628
+ }
629
+ ]
630
+ }),
631
+ day: ({ context: e, props: t }) => ({
632
+ class: [
633
+ "d-flex date date-primary justify-content-center align-items-center",
634
+ {
635
+ //When using a range, a disabled date can be both selected and disabled. This logic fights that and also applies the class if a
636
+ //date across a month boundary is also selected (not prime vue functionality for some reason)
637
+ "text-white": e.selected && (!e.disabled || e.disabled && e.otherMonth),
638
+ "opacity-50": e.otherMonth,
639
+ today: e.today,
640
+ //When using a range, a disabled date can be both selected and disabled. This logic fights that and also applies the class if a
641
+ //date across a month boundary is also selected (not prime vue functionality for some reason)
642
+ selected: e.selected && (!e.disabled || e.disabled && e.otherMonth),
643
+ //This is used to show which dates should be shows as 'disabled'. The first part of logic is used to only (due to prime vue passing
644
+ //disabled for otherMonth dates) show the disabled styling for current calendar dates. The second part of logic is used to set the
645
+ //disabled state for dates out of the min/max date range, as they would also come through the context as disabled dates without knowing why
646
+ "text-grey-300": e.disabled && !e.otherMonth || t.minDate != null && new Date(e.date.year, e.date.month, e.date.day) < t.minDate || t.maxDate != null && new Date(e.date.year, e.date.month, e.date.day) > t.maxDate,
647
+ "fw-500": e.disabled && !e.otherMonth || t.minDate != null && new Date(e.date.year, e.date.month, e.date.day) < t.minDate || t.maxDate != null && new Date(e.date.year, e.date.month, e.date.day) > t.maxDate
648
+ }
649
+ ]
650
+ }),
614
651
  decade: "fw-bold",
615
652
  dayView: "datepicker-table",
616
653
  tableHeaderRow: "text-center",
@@ -760,7 +797,7 @@ const Xe = {
760
797
  ]
761
798
  })
762
799
  }
763
- }, xt = {
800
+ }, ht = {
764
801
  badge: {
765
802
  root: ({ props: e }) => ({
766
803
  class: [
@@ -782,7 +819,7 @@ const Xe = {
782
819
  ]
783
820
  })
784
821
  }
785
- }, ht = {
822
+ }, xt = {
786
823
  // More PassThrough options in component file.
787
824
  menubar: {
788
825
  rootList: ({ instance: e }) => ({
@@ -1181,7 +1218,7 @@ const Xe = {
1181
1218
  }
1182
1219
  }, Qi = {
1183
1220
  ...Xe,
1184
- ...xt,
1221
+ ...ht,
1185
1222
  ...Qe,
1186
1223
  ...Ft,
1187
1224
  ...et,
@@ -1197,7 +1234,7 @@ const Xe = {
1197
1234
  ...nt,
1198
1235
  ...ct,
1199
1236
  ...ft,
1200
- ...ht,
1237
+ ...xt,
1201
1238
  ...pt,
1202
1239
  ...gt,
1203
1240
  ...Bt,
@@ -1218,7 +1255,7 @@ const Xe = {
1218
1255
  directives: {
1219
1256
  ...wt
1220
1257
  }
1221
- }, de = /* @__PURE__ */ S({
1258
+ }, de = /* @__PURE__ */ C({
1222
1259
  __name: "ForgeAlert",
1223
1260
  props: {
1224
1261
  severity: { default: "primary" },
@@ -1239,31 +1276,31 @@ const Xe = {
1239
1276
  const t = e;
1240
1277
  return (a, i) => {
1241
1278
  const l = Be;
1242
- return r(), y(l, W(G({ ...a.$attrs, ...t })), {
1279
+ return d(), y(l, W(G({ ...a.$attrs, ...t })), {
1243
1280
  icon: f(() => [
1244
1281
  m("div", {
1245
- class: F(t.icon ? "me-2 pe-1" : "")
1282
+ class: S(t.icon ? "me-2 pe-1" : "")
1246
1283
  }, [
1247
- t.icon ? (r(), y(u(P), {
1284
+ t.icon ? (d(), y(u(P), {
1248
1285
  key: 0,
1249
1286
  "data-cy": "message-icon",
1250
1287
  icon: t.icon,
1251
- class: F(`text-${t.severity}`),
1288
+ class: S(`text-${t.severity}`),
1252
1289
  height: 35
1253
- }, null, 8, ["icon", "class"])) : C("", !0)
1290
+ }, null, 8, ["icon", "class"])) : z("", !0)
1254
1291
  ], 2)
1255
1292
  ]),
1256
1293
  closeicon: f(() => [
1257
- h(u(P), { icon: "bi:x" })
1294
+ w(u(P), { icon: "bi:x" })
1258
1295
  ]),
1259
1296
  default: f(() => [
1260
- k(a.$slots, "default")
1297
+ B(a.$slots, "default")
1261
1298
  ]),
1262
1299
  _: 3
1263
1300
  }, 16);
1264
1301
  };
1265
1302
  }
1266
- }), el = /* @__PURE__ */ S({
1303
+ }), el = /* @__PURE__ */ C({
1267
1304
  __name: "ForgeActionButton",
1268
1305
  props: {
1269
1306
  action: {},
@@ -1283,27 +1320,27 @@ const Xe = {
1283
1320
  };
1284
1321
  return (l, n) => {
1285
1322
  const o = q;
1286
- return r(), v(A, null, [
1287
- h(o, _({ ...a, ...l.$attrs }, {
1323
+ return d(), v(A, null, [
1324
+ w(o, _({ ...a, ...l.$attrs }, {
1288
1325
  loading: t.value,
1289
1326
  disabled: t.value || a.disabled,
1290
1327
  onClick: i
1291
1328
  }), null, 16, ["loading", "disabled"]),
1292
- h(u(Te))
1329
+ w(u(Te))
1293
1330
  ], 64);
1294
1331
  };
1295
1332
  }
1296
- }), tl = /* @__PURE__ */ S({
1333
+ }), tl = /* @__PURE__ */ C({
1297
1334
  __name: "ForgeAutoComplete",
1298
1335
  setup(e) {
1299
- return (t, a) => (r(), y(u(_e), _({ ...t.$attrs, ...t.$props }, { inputClass: "form-control border-0" }), {
1336
+ return (t, a) => (d(), y(u(_e), _({ ...t.$attrs, ...t.$props }, { inputClass: "form-control border-0" }), {
1300
1337
  default: f(() => [
1301
- (r(!0), v(A, null, E(t.$slots, (i, l) => k(t.$slots, l, { slot: l })), 256))
1338
+ (d(!0), v(A, null, E(t.$slots, (i, l) => B(t.$slots, l, { slot: l })), 256))
1302
1339
  ]),
1303
1340
  _: 3
1304
1341
  }, 16));
1305
1342
  }
1306
- }), Mt = { class: "d-flex flex-column" }, Vt = ["for"], ye = /* @__PURE__ */ S({
1343
+ }), Mt = { class: "d-flex flex-column" }, Vt = ["for"], ye = /* @__PURE__ */ C({
1307
1344
  __name: "ForgeCheckbox",
1308
1345
  props: /* @__PURE__ */ R({
1309
1346
  label: { default: "" },
@@ -1347,50 +1384,50 @@ const Xe = {
1347
1384
  }
1348
1385
  ), o = (p, c) => {
1349
1386
  (t.disabled || t.readonly) && p.preventDefault(), t.name ? i(c) : a.value = c;
1350
- }, s = z(() => l.value.length > 0);
1387
+ }, s = T(() => l.value.length > 0);
1351
1388
  return (p, c) => {
1352
- const x = Pe;
1353
- return r(), v("div", Mt, [
1389
+ const h = Pe;
1390
+ return d(), v("div", Mt, [
1354
1391
  m("div", _({
1355
1392
  class: "d-flex",
1356
1393
  "data-cy": "checkbox-container",
1357
- onClick: c[2] || (c[2] = (d) => o(d, a.value))
1394
+ onClick: c[2] || (c[2] = (r) => o(r, a.value))
1358
1395
  }, { ...p.$attrs }), [
1359
- h(x, _({ ...t }, {
1396
+ w(h, _({ ...t }, {
1360
1397
  binary: "",
1361
1398
  modelValue: a.value,
1362
- "onUpdate:modelValue": c[0] || (c[0] = (d) => a.value = d),
1399
+ "onUpdate:modelValue": c[0] || (c[0] = (r) => a.value = r),
1363
1400
  "input-id": t.name,
1364
1401
  "input-class": { "is-invalid": s.value },
1365
1402
  class: t.disabled || t.readonly ? "" : "cursor-pointer"
1366
1403
  }), null, 16, ["modelValue", "input-id", "input-class", "class"]),
1367
1404
  m("label", {
1368
1405
  for: t.name,
1369
- onClick: c[1] || (c[1] = (d) => o(d, !a.value)),
1370
- class: F([`${t.disabled || t.readonly ? "opacity-50" : "cursor-pointer"} ${s.value ? "text-danger-dark" : ""}`, "w-100 my-auto"])
1406
+ onClick: c[1] || (c[1] = (r) => o(r, !a.value)),
1407
+ class: S([`${t.disabled || t.readonly ? "opacity-50" : "cursor-pointer"} ${s.value ? "text-danger-dark" : ""}`, "w-100 my-auto"])
1371
1408
  }, [
1372
- k(p.$slots, "default", {}, () => [
1373
- M(B(t.label), 1)
1409
+ B(p.$slots, "default", {}, () => [
1410
+ M(F(t.label), 1)
1374
1411
  ])
1375
1412
  ], 10, Vt)
1376
1413
  ], 16),
1377
1414
  J(m("small", {
1378
1415
  "data-cy": "error",
1379
1416
  class: "text-invalid"
1380
- }, B(u(n)), 513), [
1417
+ }, F(u(n)), 513), [
1381
1418
  [Z, s.value]
1382
1419
  ])
1383
1420
  ]);
1384
1421
  };
1385
1422
  }
1386
- }), pe = /* @__PURE__ */ S({
1423
+ }), pe = /* @__PURE__ */ C({
1387
1424
  __name: "ForgeLoader",
1388
1425
  props: {
1389
1426
  severity: { default: "primary" },
1390
1427
  inLine: { type: Boolean, default: !1 }
1391
1428
  },
1392
1429
  setup(e) {
1393
- const t = e, a = z(() => ({
1430
+ const t = e, a = T(() => ({
1394
1431
  spin: () => ({
1395
1432
  class: [
1396
1433
  "spinner-border",
@@ -1402,18 +1439,18 @@ const Xe = {
1402
1439
  }));
1403
1440
  return (i, l) => {
1404
1441
  const n = je;
1405
- return r(), v("div", {
1406
- class: F(i.inLine ? "" : "forge-loader")
1442
+ return d(), v("div", {
1443
+ class: S(i.inLine ? "" : "forge-loader")
1407
1444
  }, [
1408
- h(n, {
1445
+ w(n, {
1409
1446
  "animation-duration": ".75",
1410
- class: F(`text-${t.severity === void 0 ? "primary" : t.severity}`),
1447
+ class: S(`text-${t.severity === void 0 ? "primary" : t.severity}`),
1411
1448
  pt: a.value
1412
1449
  }, null, 8, ["class", "pt"])
1413
1450
  ], 2);
1414
1451
  };
1415
1452
  }
1416
- }), Dt = ["href", "target"], al = /* @__PURE__ */ S({
1453
+ }), Dt = ["href", "target"], al = /* @__PURE__ */ C({
1417
1454
  __name: "ForgeLink",
1418
1455
  props: {
1419
1456
  url: {},
@@ -1431,7 +1468,7 @@ const Xe = {
1431
1468
  iconName: {}
1432
1469
  },
1433
1470
  setup(e) {
1434
- const t = z(() => ({
1471
+ const t = T(() => ({
1435
1472
  [`link-${e.severity}`]: e.severity,
1436
1473
  [`link-underline-${e.underlineSeverity}`]: e.underlineSeverity,
1437
1474
  [`link-opacity-${e.opacity}`]: e.opacity,
@@ -1440,27 +1477,27 @@ const Xe = {
1440
1477
  [`link-underline-opacity-${e.underlineHoverOpacity ?? e.hoverOpacity}-hover`]: e.underlineHoverOpacity || e.hoverOpacity,
1441
1478
  [`link-offset-${e.underlineOffset}`]: e.underlineOffset,
1442
1479
  "icon-link icon-link-hover": e.animateIconOnHover
1443
- })), a = z(() => ({
1480
+ })), a = T(() => ({
1444
1481
  "order-2": e.positionIconEnd,
1445
1482
  "me-1": !e.positionIconEnd && !e.animateIconOnHover,
1446
1483
  "ms-1": e.positionIconEnd && !e.animateIconOnHover,
1447
1484
  "ms-0": e.positionIconEnd && e.animateIconOnHover,
1448
1485
  "me-0": e.animateIconOnHover
1449
1486
  }));
1450
- return (i, l) => (r(), v("a", {
1487
+ return (i, l) => (d(), v("a", {
1451
1488
  id: "link",
1452
- class: F(["cursor-pointer d-flex text-break", t.value]),
1489
+ class: S(["cursor-pointer d-flex text-break", t.value]),
1453
1490
  href: i.url,
1454
1491
  target: i.target
1455
1492
  }, [
1456
- k(i.$slots, "default", {}, () => [
1457
- i.iconName ? (r(), y(u(P), {
1493
+ B(i.$slots, "default", {}, () => [
1494
+ i.iconName ? (d(), y(u(P), {
1458
1495
  key: 0,
1459
1496
  id: "link-icon",
1460
1497
  icon: i.iconName,
1461
- class: F(["bi my-auto", a.value])
1462
- }, null, 8, ["icon", "class"])) : C("", !0),
1463
- M(" " + B(i.label), 1)
1498
+ class: S(["bi my-auto", a.value])
1499
+ }, null, 8, ["icon", "class"])) : z("", !0),
1500
+ M(" " + F(i.label), 1)
1464
1501
  ])
1465
1502
  ], 10, Dt));
1466
1503
  }
@@ -1489,7 +1526,7 @@ const Nt = {
1489
1526
  }, At = { key: 0 }, Et = {
1490
1527
  class: "d-flex w-100",
1491
1528
  "data-cy": "footer"
1492
- }, nl = /* @__PURE__ */ S({
1529
+ }, nl = /* @__PURE__ */ C({
1493
1530
  __name: "ForgeModal",
1494
1531
  props: /* @__PURE__ */ R({
1495
1532
  cancelText: { default: "Cancel" },
@@ -1565,22 +1602,22 @@ const Nt = {
1565
1602
  i.value = !1;
1566
1603
  }, c = () => {
1567
1604
  i.value = !0;
1568
- }, x = () => {
1605
+ }, h = () => {
1569
1606
  l.resetErrorOnClose && s(), a.value = !1;
1570
- }, d = async () => {
1607
+ }, r = async () => {
1571
1608
  if (l.onConfirm) {
1572
1609
  n.value = !0, o.value.hasError = !1;
1573
1610
  try {
1574
- const T = await l.onConfirm();
1575
- (T || T == null) && x();
1576
- } catch (T) {
1611
+ const $ = await l.onConfirm();
1612
+ ($ || $ == null) && h();
1613
+ } catch ($) {
1577
1614
  o.value.hasError = !0;
1578
- const D = Ot(T);
1615
+ const D = Ot($);
1579
1616
  o.value.header = D.errorMessage, o.value.message = D.errorDetails;
1580
1617
  }
1581
1618
  n.value = !1;
1582
1619
  }
1583
- }, $ = z(() => ({
1620
+ }, x = T(() => ({
1584
1621
  root: [
1585
1622
  "modal modal-dialog modal-content h-auto m-0",
1586
1623
  {
@@ -1599,24 +1636,24 @@ const Nt = {
1599
1636
  }
1600
1637
  ]
1601
1638
  }));
1602
- return (T, D) => {
1639
+ return ($, D) => {
1603
1640
  const O = q, U = Ie;
1604
- return r(), y(U, _(l, {
1641
+ return d(), y(U, _(l, {
1605
1642
  onMaximize: c,
1606
1643
  onUnmaximize: p,
1607
- pt: $.value
1644
+ pt: x.value
1608
1645
  }), ae({
1609
1646
  closeicon: f(() => [
1610
- h(u(P), {
1647
+ w(u(P), {
1611
1648
  "data-cy": "close-icon",
1612
1649
  icon: "bi:x-lg",
1613
1650
  width: "18",
1614
1651
  height: "18",
1615
- onClick: x
1652
+ onClick: h
1616
1653
  })
1617
1654
  ]),
1618
1655
  maximizeicon: f(() => [
1619
- h(u(P), {
1656
+ w(u(P), {
1620
1657
  "data-cy": "maximisable-icon",
1621
1658
  icon: i.value ? "bi:arrows-angle-contract" : "bi:arrows-angle-expand",
1622
1659
  width: "16",
@@ -1625,50 +1662,50 @@ const Nt = {
1625
1662
  ]),
1626
1663
  _: 2
1627
1664
  }, [
1628
- E(T.$slots, (b, w) => ({
1629
- name: w,
1665
+ E($.$slots, (b, k) => ({
1666
+ name: k,
1630
1667
  fn: f((I) => [
1631
- w == "default" ? (r(), v(A, { key: 0 }, [
1632
- o.value.hasError ? (r(), v("div", Nt, [
1633
- h(de, {
1668
+ k == "default" ? (d(), v(A, { key: 0 }, [
1669
+ o.value.hasError ? (d(), v("div", Nt, [
1670
+ w(de, {
1634
1671
  severity: "danger",
1635
1672
  "data-cy": "error",
1636
1673
  class: "mb-0"
1637
1674
  }, {
1638
1675
  default: f(() => [
1639
1676
  m("p", {
1640
- class: F(o.value.message.length > 0 ? "my-auto" : "mb-0")
1641
- }, B(o.value.header), 3),
1642
- o.value.message.length > 0 ? (r(), v("ul", At, [
1643
- (r(!0), v(A, null, E(o.value.message, (g) => (r(), v("li", { key: g }, B(g), 1))), 128))
1644
- ])) : C("", !0)
1677
+ class: S(o.value.message.length > 0 ? "my-auto" : "mb-0")
1678
+ }, F(o.value.header), 3),
1679
+ o.value.message.length > 0 ? (d(), v("ul", At, [
1680
+ (d(!0), v(A, null, E(o.value.message, (g) => (d(), v("li", { key: g }, F(g), 1))), 128))
1681
+ ])) : z("", !0)
1645
1682
  ]),
1646
1683
  _: 1
1647
1684
  })
1648
- ])) : C("", !0)
1649
- ], 64)) : C("", !0),
1650
- k(T.$slots, w, W(G(I || {}))),
1651
- n.value ? k(T.$slots, "loader", { key: 1 }, () => [
1652
- h(pe, { "data-cy": "loader" })
1653
- ]) : C("", !0)
1685
+ ])) : z("", !0)
1686
+ ], 64)) : z("", !0),
1687
+ B($.$slots, k, W(G(I || {}))),
1688
+ n.value ? B($.$slots, "loader", { key: 1 }, () => [
1689
+ w(pe, { "data-cy": "loader" })
1690
+ ]) : z("", !0)
1654
1691
  ])
1655
1692
  })),
1656
- T.showFooter ? {
1693
+ $.showFooter ? {
1657
1694
  name: "footer",
1658
1695
  fn: f(() => [
1659
1696
  m("div", Et, [
1660
- h(O, {
1661
- label: T.cancelText,
1662
- class: F(l.cancelClass),
1697
+ w(O, {
1698
+ label: $.cancelText,
1699
+ class: S(l.cancelClass),
1663
1700
  outlined: "",
1664
- onClick: x,
1701
+ onClick: h,
1665
1702
  id: "cancel-button",
1666
1703
  type: l.cancelButtonType
1667
1704
  }, null, 8, ["label", "class", "type"]),
1668
- h(O, {
1669
- label: T.submitText,
1670
- class: F([l.submitClass, "ms-auto"]),
1671
- onClick: d,
1705
+ w(O, {
1706
+ label: $.submitText,
1707
+ class: S([l.submitClass, "ms-auto"]),
1708
+ onClick: r,
1672
1709
  id: "submit-button",
1673
1710
  type: l.submitButtonType
1674
1711
  }, null, 8, ["label", "class", "type"])
@@ -1679,7 +1716,7 @@ const Nt = {
1679
1716
  ]), 1040, ["pt"]);
1680
1717
  };
1681
1718
  }
1682
- }), Ut = ["id"], qt = { key: 0 }, Lt = { key: 0 }, Rt = { class: "d-flex justify-content-between align-items-center position-relative" }, Ht = { key: 1 }, Wt = { "data-cy": "readonly-value" }, Gt = /* @__PURE__ */ S({
1719
+ }), Ut = ["id"], qt = { key: 0 }, Lt = { key: 0 }, Rt = { class: "d-flex justify-content-between align-items-center position-relative" }, Ht = { key: 1 }, Wt = { "data-cy": "readonly-value" }, Gt = /* @__PURE__ */ C({
1683
1720
  __name: "ForgeInlineEditor",
1684
1721
  props: /* @__PURE__ */ R({
1685
1722
  name: { default: "" },
@@ -1695,12 +1732,12 @@ const Nt = {
1695
1732
  emits: ["update:modelValue"],
1696
1733
  setup(e) {
1697
1734
  const t = e, a = N(e, "modelValue"), i = j(!1), l = j(), n = () => {
1698
- var T;
1699
- i.value = !i.value, (T = l.value) == null || T.focus();
1735
+ var $;
1736
+ i.value = !i.value, ($ = l.value) == null || $.focus();
1700
1737
  }, o = async () => {
1701
- if ($.value)
1738
+ if (x.value)
1702
1739
  return !1;
1703
- if (a.value = d.value, t.completeAction)
1740
+ if (a.value = r.value, t.completeAction)
1704
1741
  try {
1705
1742
  await t.completeAction.apply(this, t.params), i.value = !i.value;
1706
1743
  } catch {
@@ -1711,47 +1748,47 @@ const Nt = {
1711
1748
  }, s = () => {
1712
1749
  i.value = !i.value;
1713
1750
  }, p = () => {
1714
- d.value = null;
1715
- }, { errorMessage: c, errors: x, value: d } = oe(() => t.name, void 0, {
1751
+ r.value = null;
1752
+ }, { errorMessage: c, errors: h, value: r } = oe(() => t.name, void 0, {
1716
1753
  initialValue: a.value
1717
1754
  });
1718
1755
  ne(() => {
1719
- d.value = a.value;
1756
+ r.value = a.value;
1720
1757
  });
1721
- const $ = z(() => x.value.length > 0);
1722
- return (T, D) => {
1758
+ const x = T(() => h.value.length > 0);
1759
+ return ($, D) => {
1723
1760
  const O = se, U = q;
1724
- return r(), v("div", {
1761
+ return d(), v("div", {
1725
1762
  id: t.name
1726
1763
  }, [
1727
- T.readonly ? (r(), v("div", Ht, [
1728
- k(T.$slots, "default", {}, () => [
1729
- m("span", Wt, B(u(d)), 1)
1764
+ $.readonly ? (d(), v("div", Ht, [
1765
+ B($.$slots, "default", {}, () => [
1766
+ m("span", Wt, F(u(r)), 1)
1730
1767
  ])
1731
- ])) : (r(), v("div", qt, [
1732
- i.value ? (r(), v("div", Lt, [
1733
- J((r(), v("div", Rt, [
1734
- k(T.$slots, "editor", {
1735
- class: F({ "is-invalid": $.value }),
1768
+ ])) : (d(), v("div", qt, [
1769
+ i.value ? (d(), v("div", Lt, [
1770
+ J((d(), v("div", Rt, [
1771
+ B($.$slots, "editor", {
1772
+ class: S({ "is-invalid": x.value }),
1736
1773
  editFinished: o,
1737
1774
  cancel: s,
1738
- val: u(d)
1775
+ val: u(r)
1739
1776
  }, () => [
1740
- h(O, {
1741
- modelValue: u(d),
1742
- "onUpdate:modelValue": D[0] || (D[0] = (b) => Fe(d) ? d.value = b : null),
1777
+ w(O, {
1778
+ modelValue: u(r),
1779
+ "onUpdate:modelValue": D[0] || (D[0] = (b) => Fe(r) ? r.value = b : null),
1743
1780
  modelModifiers: { trim: !0 },
1744
1781
  "data-cy": "input",
1745
1782
  ref_key: "input",
1746
1783
  ref: l,
1747
- class: F({ "is-invalid": $.value }),
1784
+ class: S({ "is-invalid": x.value }),
1748
1785
  onKeydown: [
1749
1786
  le(o, ["enter"]),
1750
1787
  le(s, ["esc"])
1751
1788
  ]
1752
1789
  }, null, 8, ["modelValue", "class"])
1753
1790
  ]),
1754
- h(u(P), {
1791
+ w(u(P), {
1755
1792
  icon: "bi:x-circle",
1756
1793
  class: "mx-2 cursor-pointer",
1757
1794
  onClick: p,
@@ -1761,26 +1798,26 @@ const Nt = {
1761
1798
  ])), [
1762
1799
  [u(Me), o]
1763
1800
  ])
1764
- ])) : (r(), v("div", {
1801
+ ])) : (d(), v("div", {
1765
1802
  key: 1,
1766
1803
  class: "d-flex text-muted",
1767
1804
  onClick: n,
1768
1805
  onFocus: n
1769
1806
  }, [
1770
- k(T.$slots, "default", {}, () => [
1807
+ B($.$slots, "default", {}, () => [
1771
1808
  m("div", {
1772
- class: F(["pe-2 cursor-pointer", { "text-invalid": $.value }]),
1809
+ class: S(["pe-2 cursor-pointer", { "text-invalid": x.value }]),
1773
1810
  "data-cy": "value"
1774
- }, B(u(d) ? u(d) : "Click to edit"), 3)
1811
+ }, F(u(r) ? u(r) : "Click to edit"), 3)
1775
1812
  ]),
1776
- h(U, {
1813
+ w(U, {
1777
1814
  link: "",
1778
1815
  class: "p-0 m-0"
1779
1816
  }, {
1780
1817
  default: f(() => [
1781
- h(u(P), {
1818
+ w(u(P), {
1782
1819
  icon: "bi:pencil",
1783
- class: F($.value ? "text-invalid" : "text-muted"),
1820
+ class: S(x.value ? "text-invalid" : "text-muted"),
1784
1821
  "data-cy": "edit-icon",
1785
1822
  onKeydown: le(n, ["enter"])
1786
1823
  }, null, 8, ["class"])
@@ -1792,13 +1829,13 @@ const Nt = {
1792
1829
  J(m("small", {
1793
1830
  "data-cy": "error",
1794
1831
  class: "text-invalid"
1795
- }, B(u(c)), 513), [
1796
- [Z, $.value]
1832
+ }, F(u(c)), 513), [
1833
+ [Z, x.value]
1797
1834
  ])
1798
1835
  ], 8, Ut);
1799
1836
  };
1800
1837
  }
1801
- }), Yt = ["href"], ol = /* @__PURE__ */ S({
1838
+ }), Yt = ["href"], ol = /* @__PURE__ */ C({
1802
1839
  __name: "ForgeNavbar",
1803
1840
  props: {
1804
1841
  severity: { default: "light" },
@@ -1815,7 +1852,7 @@ const Nt = {
1815
1852
  unstyled: { type: Boolean }
1816
1853
  },
1817
1854
  setup(e) {
1818
- const t = e, a = z(() => ({
1855
+ const t = e, a = T(() => ({
1819
1856
  root: () => ({
1820
1857
  class: [
1821
1858
  "navbar container-fluid navbar-expand-lg",
@@ -1843,7 +1880,7 @@ const Nt = {
1843
1880
  ]
1844
1881
  })
1845
1882
  }));
1846
- return (i, l) => (r(), y(u(Ve), _({ ...t, ...i.$attrs }, {
1883
+ return (i, l) => (d(), y(u(Ve), _({ ...t, ...i.$attrs }, {
1847
1884
  pt: a.value,
1848
1885
  "data-cy": "navbar"
1849
1886
  }), ae({
@@ -1853,16 +1890,16 @@ const Nt = {
1853
1890
  class: "navbar-brand ms-3",
1854
1891
  "data-cy": "logo"
1855
1892
  }, [
1856
- k(i.$slots, "logo", {}, () => [
1893
+ B(i.$slots, "logo", {}, () => [
1857
1894
  l[0] || (l[0] = M(" Logo "))
1858
1895
  ])
1859
1896
  ], 8, Yt)
1860
1897
  ]),
1861
1898
  buttonicon: f(() => [
1862
- k(i.$slots, "buttonIcon", {}, () => [
1863
- h(u(P), {
1899
+ B(i.$slots, "buttonIcon", {}, () => [
1900
+ w(u(P), {
1864
1901
  icon: "bi:list",
1865
- class: F(t.severity === "light" ? "text-black" : "text-white"),
1902
+ class: S(t.severity === "light" ? "text-black" : "text-white"),
1866
1903
  height: "24",
1867
1904
  "data-cy": "burger-icon"
1868
1905
  }, null, 8, ["class"])
@@ -1873,7 +1910,7 @@ const Nt = {
1873
1910
  E(i.$slots, (n, o) => ({
1874
1911
  name: o,
1875
1912
  fn: f((s) => [
1876
- k(i.$slots, o, W(G(s)))
1913
+ B(i.$slots, o, W(G(s)))
1877
1914
  ])
1878
1915
  }))
1879
1916
  ]), 1040, ["pt"]));
@@ -1885,7 +1922,7 @@ const Nt = {
1885
1922
  }, Zt = { class: "d-inline-block" }, Xt = {
1886
1923
  key: 1,
1887
1924
  class: "p-2 item d-flex justify-content-between align-items-center"
1888
- }, Qt = /* @__PURE__ */ S({
1925
+ }, Qt = /* @__PURE__ */ C({
1889
1926
  __name: "ForgeMultiSelectPreview",
1890
1927
  props: /* @__PURE__ */ R({
1891
1928
  title: { default: "Selected Items" },
@@ -1906,15 +1943,15 @@ const Nt = {
1906
1943
  };
1907
1944
  return (l, n) => {
1908
1945
  const o = re, s = q;
1909
- return r(), v("div", {
1910
- class: F(l.orientation === "column" ? "row" : ""),
1946
+ return d(), v("div", {
1947
+ class: S(l.orientation === "column" ? "row" : ""),
1911
1948
  "data-cy": "multiselect-preview"
1912
1949
  }, [
1913
1950
  m("div", {
1914
- class: F(l.orientation === "row" ? "col-12 mb-1" : "col"),
1951
+ class: S(l.orientation === "row" ? "col-12 mb-1" : "col"),
1915
1952
  "data-cy": "multiselect-container"
1916
1953
  }, [
1917
- h(o, _({
1954
+ w(o, _({
1918
1955
  modelValue: a.value,
1919
1956
  "onUpdate:modelValue": n[0] || (n[0] = (p) => a.value = p)
1920
1957
  }, { ...l.$attrs }, {
@@ -1924,14 +1961,14 @@ const Nt = {
1924
1961
  "data-cy": "multiselect"
1925
1962
  }), {
1926
1963
  default: f(() => [
1927
- (r(!0), v(A, null, E(l.$slots, (p, c) => k(l.$slots, c, { slot: c })), 256))
1964
+ (d(!0), v(A, null, E(l.$slots, (p, c) => B(l.$slots, c, { slot: c })), 256))
1928
1965
  ]),
1929
1966
  _: 3
1930
1967
  }, 16, ["modelValue", "options", "placeholder"]),
1931
- k(l.$slots, "after-multi-select")
1968
+ B(l.$slots, "after-multi-select")
1932
1969
  ], 2),
1933
1970
  m("div", {
1934
- class: F(l.orientation === "row" ? "col-12" : "col"),
1971
+ class: S(l.orientation === "row" ? "col-12" : "col"),
1935
1972
  "data-cy": "options-preview"
1936
1973
  }, [
1937
1974
  m("div", {
@@ -1939,31 +1976,31 @@ const Nt = {
1939
1976
  class: "overflow-auto"
1940
1977
  }, [
1941
1978
  m("div", Jt, [
1942
- l.title ? (r(), v("div", Kt, B(l.title), 1)) : C("", !0),
1943
- (r(!0), v(A, null, E(a.value, (p) => (r(), v("div", {
1979
+ l.title ? (d(), v("div", Kt, F(l.title), 1)) : z("", !0),
1980
+ (d(!0), v(A, null, E(a.value, (p) => (d(), v("div", {
1944
1981
  key: p.id,
1945
1982
  class: "p-2 item d-flex justify-content-between align-items-center"
1946
1983
  }, [
1947
- k(l.$slots, "list-item", { item: p }, () => [
1948
- m("span", Zt, B(p.shortLabel ? p.shortLabel : p.label), 1)
1984
+ B(l.$slots, "list-item", { item: p }, () => [
1985
+ m("span", Zt, F(p.shortLabel ? p.shortLabel : p.label), 1)
1949
1986
  ]),
1950
- l.canRemoveItemFromPreview ? (r(), y(s, {
1987
+ l.canRemoveItemFromPreview ? (d(), y(s, {
1951
1988
  key: 0,
1952
1989
  link: "",
1953
1990
  class: "m-0 p-0 d-flex align-items-center",
1954
1991
  onClick: (c) => i(p.id)
1955
1992
  }, {
1956
1993
  default: f(() => [
1957
- h(u(P), {
1994
+ w(u(P), {
1958
1995
  icon: "bi:x",
1959
1996
  class: "close-icon",
1960
1997
  "data-cy": `close-icon-${p.id}`
1961
1998
  }, null, 8, ["data-cy"])
1962
1999
  ]),
1963
2000
  _: 2
1964
- }, 1032, ["onClick"])) : C("", !0)
2001
+ }, 1032, ["onClick"])) : z("", !0)
1965
2002
  ]))), 128)),
1966
- a.value == null || a.value.length == 0 ? (r(), v("div", Xt, B(t.optionsPreviewEmptyText), 1)) : C("", !0)
2003
+ a.value == null || a.value.length == 0 ? (d(), v("div", Xt, F(t.optionsPreviewEmptyText), 1)) : z("", !0)
1967
2004
  ])
1968
2005
  ], 4)
1969
2006
  ], 2)
@@ -1976,21 +2013,21 @@ const Nt = {
1976
2013
  }, aa = {
1977
2014
  "data-cy": "slot",
1978
2015
  class: "d-flex align-items-center"
1979
- }, sl = /* @__PURE__ */ S({
2016
+ }, sl = /* @__PURE__ */ C({
1980
2017
  __name: "ForgePageHeader",
1981
2018
  props: {
1982
2019
  title: {}
1983
2020
  },
1984
2021
  setup(e) {
1985
2022
  const t = e;
1986
- return (a, i) => (r(), v("div", ea, [
1987
- m("h3", ta, B(t.title), 1),
2023
+ return (a, i) => (d(), v("div", ea, [
2024
+ m("h3", ta, F(t.title), 1),
1988
2025
  m("div", aa, [
1989
- k(a.$slots, "default")
2026
+ B(a.$slots, "default")
1990
2027
  ])
1991
2028
  ]));
1992
2029
  }
1993
- }), ia = { class: "d-flex" }, la = { "data-cy": "before-slot" }, na = { class: "position-relative w-100" }, oa = { "data-cy": "after-slot" }, xe = /* @__PURE__ */ S({
2030
+ }), ia = { class: "d-flex" }, la = { "data-cy": "before-slot" }, na = { class: "position-relative w-100" }, oa = { "data-cy": "after-slot" }, he = /* @__PURE__ */ C({
1994
2031
  __name: "ForgeDatepicker",
1995
2032
  props: /* @__PURE__ */ R({
1996
2033
  severity: { default: "primary" },
@@ -2069,34 +2106,43 @@ const Nt = {
2069
2106
  initialValue: a.value
2070
2107
  }), p = () => {
2071
2108
  s(null), a.value = null;
2072
- }, c = z(() => i.value.length > 0), x = z(() => ({
2073
- dayCell: ({ context: d }) => ({
2109
+ }, c = T(() => i.value.length > 0), h = T(() => ({
2110
+ day: ({ context: r, props: x, attrs: $ }) => ({
2074
2111
  class: [
2075
- `text-center date-${t.severity === void 0 ? "primary" : t.severity}`,
2112
+ "d-flex justify-content-center align-items-center",
2076
2113
  {
2077
- "cursor-pointer": !d.disabled,
2078
- "pe-none": d.disabled,
2079
- "text-white": d.selected
2114
+ //When using a range, a disabled date can be both selected and disabled. This logic fights that and also applies the class if a
2115
+ //date across a month boundary is also selected (not prime vue functionality for some reason)
2116
+ "text-white": r.selected && (!r.disabled || r.disabled && r.otherMonth),
2117
+ "opacity-50": r.otherMonth,
2118
+ today: r.today,
2119
+ //When using a range, a disabled date can be both selected and disabled. This logic fights that and also applies the class if a
2120
+ //date across a month boundary is also selected (not prime vue functionality for some reason)
2121
+ selected: r.selected && (!r.disabled || r.disabled && r.otherMonth),
2122
+ //This is used to show which dates should be shows as 'disabled'. The first part of logic is used to only (due to prime vue passing
2123
+ //disabled for otherMonth dates) show the disabled styling for current calendar dates. The second part of logic is used to set the
2124
+ //disabled state for dates out of the min/max date range, as they would also come through the context as disabled dates without knowing why
2125
+ "text-grey-300": r.disabled && !r.otherMonth || x.minDate != null && new Date(r.date.year, r.date.month, r.date.day) < x.minDate || x.maxDate != null && new Date(r.date.year, r.date.month, r.date.day) > x.maxDate,
2126
+ "fw-500": r.disabled && !r.otherMonth || x.minDate != null && new Date(r.date.year, r.date.month, r.date.day) < x.minDate || x.maxDate != null && new Date(r.date.year, r.date.month, r.date.day) > x.maxDate
2080
2127
  },
2081
2128
  // Severities
2082
2129
  {
2083
- selected: d.selected && !d.disabled,
2084
- "text-primary": !d.selected && d.today && (t.severity === void 0 || t.severity === "primary"),
2085
- "text-brand": !d.selected && d.today && t.severity === "brand",
2086
- "text-secondary": !d.selected && d.today && t.severity === "secondary",
2087
- "text-success": !d.selected && d.today && t.severity === "success",
2088
- "text-success-alternate": !d.selected && d.today && t.severity === "success-alternate",
2089
- "text-warning": !d.selected && d.today && t.severity === "warning",
2090
- "text-danger": !d.selected && d.today && t.severity === "danger",
2091
- "text-info": !d.selected && d.today && t.severity === "info"
2130
+ "date-primary": $.severity === void 0 || $.severity === "primary",
2131
+ "date-brand": $.severity === "brand",
2132
+ "date-secondary": $.severity === "secondary",
2133
+ "date-success": $.severity === "success",
2134
+ "date-success-alternate": $.severity === "success-alternate",
2135
+ "date-warning": $.severity === "warning",
2136
+ "date-danger": $.severity === "danger",
2137
+ "date-info": $.severity === "info"
2092
2138
  }
2093
2139
  ]
2094
2140
  }),
2095
- dayLabel: ({ context: d }) => ({
2141
+ dayLabel: ({ context: r }) => ({
2096
2142
  class: [
2097
2143
  // Disabled States
2098
2144
  {
2099
- "text-muted": d.disabled
2145
+ "text-muted": r.disabled
2100
2146
  }
2101
2147
  ]
2102
2148
  }),
@@ -2134,97 +2180,97 @@ const Nt = {
2134
2180
  ]
2135
2181
  })
2136
2182
  },
2137
- year: ({ context: d }) => ({
2183
+ year: ({ context: r }) => ({
2138
2184
  class: [
2139
2185
  "col-3 text-center cursor-pointer py-2",
2140
2186
  {
2141
- "text-primary": (t.severity === void 0 || t.severity === "primary") && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2142
- "text-brand": t.severity === "brand" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2143
- "text-secondary": t.severity === "secondary" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2144
- "text-success": t.severity === "success" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2145
- "text-success-alternate": t.severity === "success-alternate" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2146
- "text-warning": t.severity === "warning" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2147
- "text-danger": t.severity === "danger" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2148
- "text-info": t.severity === "info" && d.year.value === (/* @__PURE__ */ new Date()).getFullYear()
2187
+ "text-primary": (t.severity === void 0 || t.severity === "primary") && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2188
+ "text-brand": t.severity === "brand" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2189
+ "text-secondary": t.severity === "secondary" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2190
+ "text-success": t.severity === "success" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2191
+ "text-success-alternate": t.severity === "success-alternate" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2192
+ "text-warning": t.severity === "warning" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2193
+ "text-danger": t.severity === "danger" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear(),
2194
+ "text-info": t.severity === "info" && r.year.value === (/* @__PURE__ */ new Date()).getFullYear()
2149
2195
  }
2150
2196
  ]
2151
2197
  }),
2152
- month: ({ context: d }) => ({
2198
+ month: ({ context: r }) => ({
2153
2199
  class: [
2154
2200
  "col-3 text-center cursor-pointer py-2",
2155
2201
  {
2156
- "text-primary": (t.severity === void 0 || t.severity === "primary") && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2157
- "text-brand": t.severity === "brand" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2158
- "text-secondary": t.severity === "secondary" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2159
- "text-success": t.severity === "success" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2160
- "text-success-alternate": t.severity === "success-alternate" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2161
- "text-warning": t.severity === "warning" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2162
- "text-danger": t.severity === "danger" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2163
- "text-info": t.severity === "info" && d.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1
2202
+ "text-primary": (t.severity === void 0 || t.severity === "primary") && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2203
+ "text-brand": t.severity === "brand" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2204
+ "text-secondary": t.severity === "secondary" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2205
+ "text-success": t.severity === "success" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2206
+ "text-success-alternate": t.severity === "success-alternate" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2207
+ "text-warning": t.severity === "warning" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2208
+ "text-danger": t.severity === "danger" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1,
2209
+ "text-info": t.severity === "info" && r.monthIndex + 1 === (/* @__PURE__ */ new Date()).getMonth() + 1
2164
2210
  }
2165
2211
  ]
2166
2212
  })
2167
2213
  }));
2168
- return (d, $) => {
2169
- const T = De;
2170
- return r(), v(A, null, [
2214
+ return (r, x) => {
2215
+ const $ = De;
2216
+ return d(), v(A, null, [
2171
2217
  m("div", ia, [
2172
2218
  m("span", la, [
2173
- k(d.$slots, "before")
2219
+ B(r.$slots, "before")
2174
2220
  ]),
2175
2221
  m("div", na, [
2176
- h(T, _({ ...t, ...d.$attrs }, {
2177
- pt: x.value,
2222
+ w($, _({ ...t, ...r.$attrs }, {
2223
+ pt: h.value,
2178
2224
  modelValue: a.value,
2179
2225
  "onUpdate:modelValue": [
2180
- $[0] || ($[0] = (D) => a.value = D),
2226
+ x[0] || (x[0] = (D) => a.value = D),
2181
2227
  u(n)
2182
2228
  ],
2183
- onBlur: $[1] || ($[1] = () => u(o)),
2184
- "input-class": { "datepicker-invalid": c.value }
2229
+ onBlur: x[1] || (x[1] = () => u(o)),
2230
+ "input-class": { "text-truncate": !0, "datepicker-invalid": c.value, "pe-5": t.showIcon && t.modelValue, "pe-4": (t.showIcon || t.modelValue) && !(t.showIcon && t.modelValue) }
2185
2231
  }), null, 16, ["pt", "modelValue", "onUpdate:modelValue", "input-class"]),
2186
- J(h(u(P), {
2232
+ J(w(u(P), {
2187
2233
  "data-cy": "icon",
2188
2234
  icon: "bi:calendar4",
2189
- class: F(["position-absolute end-0 top-50 bottom-50 my-auto me-2 bg-white", `${c.value ? "text-danger-dark" : "text-muted"}`])
2235
+ class: S(["position-absolute end-0 top-50 bottom-50 my-auto me-2 bg-white pe-none", `${c.value ? "text-danger-dark" : "text-muted"}`])
2190
2236
  }, null, 8, ["class"]), [
2191
- [Z, t.showIcon]
2237
+ [Z, t.showIcon && !t.inline]
2192
2238
  ]),
2193
- J(h(u(P), {
2239
+ J(w(u(P), {
2194
2240
  "data-cy": "icon",
2195
2241
  icon: "bi:x",
2196
2242
  onClick: p,
2197
- class: F(["position-absolute end-0 top-50 bottom-50 my-auto text-muted cursor-pointer bg-white", t.showIcon ? "datepicker-close-icon" : "me-2"])
2243
+ class: S(["position-absolute end-0 top-50 bottom-50 my-auto text-muted cursor-pointer bg-white", t.showIcon ? "datepicker-close-icon" : "me-2"])
2198
2244
  }, null, 8, ["class"]), [
2199
- [Z, t.modelValue]
2245
+ [Z, t.modelValue && !t.inline]
2200
2246
  ])
2201
2247
  ]),
2202
2248
  m("span", oa, [
2203
- k(d.$slots, "after")
2249
+ B(r.$slots, "after")
2204
2250
  ])
2205
2251
  ]),
2206
2252
  J(m("small", {
2207
2253
  "data-cy": "error",
2208
2254
  class: "text-invalid"
2209
- }, B(u(l)), 513), [
2255
+ }, F(u(l)), 513), [
2210
2256
  [Z, c.value]
2211
2257
  ])
2212
2258
  ], 64);
2213
2259
  };
2214
2260
  }
2215
- }), rl = /* @__PURE__ */ S({
2261
+ }), rl = /* @__PURE__ */ C({
2216
2262
  __name: "ForgeRemainingCharacters",
2217
2263
  props: {
2218
2264
  maxCount: { default: 300 },
2219
2265
  currentCount: {}
2220
2266
  },
2221
2267
  setup(e) {
2222
- const t = e, a = z(() => t.maxCount - t.currentCount);
2223
- return (i, l) => (r(), v("div", {
2224
- class: F(a.value < 0 ? "text-danger" : "")
2225
- }, "Remaining characters: " + B(a.value), 3));
2268
+ const t = e, a = T(() => t.maxCount - t.currentCount);
2269
+ return (i, l) => (d(), v("div", {
2270
+ class: S(a.value < 0 ? "text-danger" : "")
2271
+ }, "Remaining characters: " + F(a.value), 3));
2226
2272
  }
2227
- }), sa = { class: "d-flex justify-content-between" }, dl = /* @__PURE__ */ S({
2273
+ }), sa = { class: "d-flex justify-content-between" }, dl = /* @__PURE__ */ C({
2228
2274
  __name: "ForgeForm",
2229
2275
  props: {
2230
2276
  onSubmit: {},
@@ -2251,38 +2297,38 @@ const Nt = {
2251
2297
  }
2252
2298
  return (n, o) => {
2253
2299
  const s = q;
2254
- return r(), v("form", _(n.$attrs, {
2300
+ return d(), v("form", _(n.$attrs, {
2255
2301
  novalidate: "",
2256
2302
  class: "position-relative shadow-sm border p-4 bg-white",
2257
2303
  onSubmit: X(l, ["prevent"])
2258
2304
  }), [
2259
- n.hideTitle ? C("", !0) : (r(), v(A, { key: 0 }, [
2260
- k(n.$slots, "title", {}, () => [
2305
+ n.hideTitle ? z("", !0) : (d(), v(A, { key: 0 }, [
2306
+ B(n.$slots, "title", {}, () => [
2261
2307
  m("h3", {
2262
- class: F(n.titleClass),
2308
+ class: S(n.titleClass),
2263
2309
  "data-cy": "form-title"
2264
- }, B(n.title), 3)
2310
+ }, F(n.title), 3)
2265
2311
  ]),
2266
2312
  o[1] || (o[1] = m("hr", null, null, -1))
2267
2313
  ], 64)),
2268
- i.value.hasError ? (r(), y(de, {
2314
+ i.value.hasError ? (d(), y(de, {
2269
2315
  key: 1,
2270
2316
  severity: "danger",
2271
2317
  "data-cy": "error"
2272
2318
  }, {
2273
2319
  default: f(() => [
2274
- k(n.$slots, "error", {
2320
+ B(n.$slots, "error", {
2275
2321
  error: i.value.message
2276
2322
  }, () => [
2277
- M(B(i.value.message), 1)
2323
+ M(F(i.value.message), 1)
2278
2324
  ])
2279
2325
  ]),
2280
2326
  _: 3
2281
- })) : C("", !0),
2282
- k(n.$slots, "default"),
2327
+ })) : z("", !0),
2328
+ B(n.$slots, "default"),
2283
2329
  m("div", sa, [
2284
- k(n.$slots, "cancel", {}, () => [
2285
- n.hideCancel ? C("", !0) : (r(), y(s, {
2330
+ B(n.$slots, "cancel", {}, () => [
2331
+ n.hideCancel ? z("", !0) : (d(), y(s, {
2286
2332
  key: 0,
2287
2333
  "data-cy": "cancel-btn",
2288
2334
  type: "reset",
@@ -2291,29 +2337,29 @@ const Nt = {
2291
2337
  onClick: o[0] || (o[0] = (p) => n.$emit("cancel"))
2292
2338
  }, {
2293
2339
  default: f(() => [
2294
- M(B(n.cancelText), 1)
2340
+ M(F(n.cancelText), 1)
2295
2341
  ]),
2296
2342
  _: 1
2297
2343
  }))
2298
2344
  ]),
2299
- k(n.$slots, "submit", { submit: l }, () => [
2300
- h(s, {
2345
+ B(n.$slots, "submit", { submit: l }, () => [
2346
+ w(s, {
2301
2347
  "data-cy": "submit-btn",
2302
2348
  type: "submit",
2303
2349
  severity: "primary",
2304
2350
  class: "ms-auto"
2305
2351
  }, {
2306
2352
  default: f(() => [
2307
- M(B(n.submitText), 1)
2353
+ M(F(n.submitText), 1)
2308
2354
  ]),
2309
2355
  _: 1
2310
2356
  })
2311
2357
  ])
2312
2358
  ]),
2313
- a.value ? (r(), y(pe, {
2359
+ a.value ? (d(), y(pe, {
2314
2360
  key: 2,
2315
2361
  "data-cy": "loading-spinner"
2316
- })) : C("", !0)
2362
+ })) : z("", !0)
2317
2363
  ], 16);
2318
2364
  };
2319
2365
  }
@@ -2323,7 +2369,7 @@ const Nt = {
2323
2369
  }, da = ["for"], pa = {
2324
2370
  key: 0,
2325
2371
  class: "text-danger fw-600"
2326
- }, pl = /* @__PURE__ */ S({
2372
+ }, pl = /* @__PURE__ */ C({
2327
2373
  __name: "ForgeFormField",
2328
2374
  props: /* @__PURE__ */ R({
2329
2375
  name: {},
@@ -2340,106 +2386,106 @@ const Nt = {
2340
2386
  }),
2341
2387
  emits: ["update:modelValue"],
2342
2388
  setup(e) {
2343
- const t = N(e, "modelValue"), a = e, i = (x) => {
2344
- a.type == "number" ? s(x.value) : s(x);
2389
+ const t = N(e, "modelValue"), a = e, i = (h) => {
2390
+ a.type == "number" ? s(h.value) : s(h);
2345
2391
  }, { errors: l, value: n, errorMessage: o, handleChange: s, handleBlur: p } = oe(() => a.name, void 0, {
2346
2392
  initialValue: t.value
2347
- }), c = z(() => l.value.length > 0);
2348
- return Q(() => n.value, (x) => {
2349
- t.value = x;
2350
- }, { immediate: !0 }), (x, d) => {
2351
- const $ = Ne, T = Oe, D = se, O = ie, U = re, b = xe;
2352
- return a.type === "checkbox" ? (r(), y(ye, _({
2393
+ }), c = T(() => l.value.length > 0);
2394
+ return Q(() => n.value, (h) => {
2395
+ t.value = h;
2396
+ }, { immediate: !0 }), (h, r) => {
2397
+ const x = Ne, $ = Oe, D = se, O = ie, U = re, b = he;
2398
+ return a.type === "checkbox" ? (d(), y(ye, _({
2353
2399
  key: 0,
2354
2400
  id: a.name,
2355
2401
  label: a.fieldLabel
2356
- }, x.$attrs, {
2402
+ }, h.$attrs, {
2357
2403
  name: a.name,
2358
2404
  modelValue: t.value,
2359
- "onUpdate:modelValue": d[0] || (d[0] = (w) => t.value = w)
2360
- }), null, 16, ["id", "label", "name", "modelValue"])) : (r(), v("div", ra, [
2405
+ "onUpdate:modelValue": r[0] || (r[0] = (k) => t.value = k)
2406
+ }), null, 16, ["id", "label", "name", "modelValue"])) : (d(), v("div", ra, [
2361
2407
  m("div", {
2362
2408
  "data-cy": "input-wrapper",
2363
- class: F(["d-flex", a.fieldLabelPosition === "top" ? "flex-column" : "flex-row"])
2409
+ class: S(["d-flex", a.fieldLabelPosition === "top" ? "flex-column" : "flex-row"])
2364
2410
  }, [
2365
2411
  m("label", {
2366
2412
  for: a.name,
2367
- class: F(a.fieldLabelPosition === "top" ? "mb-1" : "me-2 " + a.labelWidthClass)
2413
+ class: S(a.fieldLabelPosition === "top" ? "mb-1" : "me-2 " + a.labelWidthClass)
2368
2414
  }, [
2369
- M(B(a.fieldLabel) + " ", 1),
2370
- x.required ? (r(), v("span", pa, "*")) : C("", !0)
2415
+ M(F(a.fieldLabel) + " ", 1),
2416
+ h.required ? (d(), v("span", pa, "*")) : z("", !0)
2371
2417
  ], 10, da),
2372
- k(x.$slots, "default", W(G({ modelValue: t.value, updateModel: u(s), hasErrors: c.value })), () => [
2373
- a.type === "number" ? (r(), y(u(fe), _({
2418
+ B(h.$slots, "default", W(G({ modelValue: t.value, updateModel: u(s), hasErrors: c.value })), () => [
2419
+ a.type === "number" ? (d(), y(u(fe), _({
2374
2420
  key: 0,
2375
2421
  id: a.name
2376
- }, x.$attrs, {
2422
+ }, h.$attrs, {
2377
2423
  placeholder: a.placeholder,
2378
2424
  "input-class": { "is-invalid": c.value },
2379
2425
  class: { "is-invalid": c.value },
2380
2426
  onInput: i,
2381
2427
  modelValue: t.value,
2382
- "onUpdate:modelValue": d[1] || (d[1] = (w) => t.value = w)
2383
- }), null, 16, ["id", "placeholder", "input-class", "class", "modelValue"])) : a.type === "textarea" ? (r(), y($, _({
2428
+ "onUpdate:modelValue": r[1] || (r[1] = (k) => t.value = k)
2429
+ }), null, 16, ["id", "placeholder", "input-class", "class", "modelValue"])) : a.type === "textarea" ? (d(), y(x, _({
2384
2430
  key: 1,
2385
2431
  id: a.name
2386
- }, x.$attrs, {
2432
+ }, h.$attrs, {
2387
2433
  placeholder: a.placeholder,
2388
2434
  class: { "is-invalid": c.value },
2389
2435
  modelValue: t.value,
2390
- "onUpdate:modelValue": d[2] || (d[2] = (w) => t.value = w),
2436
+ "onUpdate:modelValue": r[2] || (r[2] = (k) => t.value = k),
2391
2437
  onInput: i,
2392
2438
  onBlur: u(p)
2393
- }), null, 16, ["id", "placeholder", "class", "modelValue", "onBlur"])) : a.type === "mask" ? (r(), y(T, _({
2439
+ }), null, 16, ["id", "placeholder", "class", "modelValue", "onBlur"])) : a.type === "mask" ? (d(), y($, _({
2394
2440
  key: 2,
2395
2441
  id: a.name
2396
- }, x.$attrs, {
2442
+ }, h.$attrs, {
2397
2443
  placeholder: a.placeholder,
2398
2444
  mask: a.mask,
2399
2445
  class: { "is-invalid": c.value },
2400
2446
  modelValue: t.value,
2401
- "onUpdate:modelValue": d[3] || (d[3] = (w) => t.value = w),
2447
+ "onUpdate:modelValue": r[3] || (r[3] = (k) => t.value = k),
2402
2448
  onComplete: i,
2403
2449
  onBlur: u(p)
2404
- }), null, 16, ["id", "placeholder", "mask", "class", "modelValue", "onBlur"])) : a.type === "text" ? (r(), y(D, _({
2450
+ }), null, 16, ["id", "placeholder", "mask", "class", "modelValue", "onBlur"])) : a.type === "text" ? (d(), y(D, _({
2405
2451
  key: 3,
2406
2452
  id: a.name
2407
- }, x.$attrs, {
2453
+ }, h.$attrs, {
2408
2454
  placeholder: a.placeholder,
2409
2455
  class: { "is-invalid": c.value },
2410
2456
  modelValue: t.value,
2411
- "onUpdate:modelValue": d[4] || (d[4] = (w) => t.value = w),
2457
+ "onUpdate:modelValue": r[4] || (r[4] = (k) => t.value = k),
2412
2458
  onInput: i,
2413
2459
  onBlur: u(p)
2414
- }), null, 16, ["id", "placeholder", "class", "modelValue", "onBlur"])) : a.type === "select" ? (r(), y(O, _({ key: 4 }, { ...a, ...x.$attrs }, {
2460
+ }), null, 16, ["id", "placeholder", "class", "modelValue", "onBlur"])) : a.type === "select" ? (d(), y(O, _({ key: 4 }, { ...a, ...h.$attrs }, {
2415
2461
  modelValue: t.value,
2416
- "onUpdate:modelValue": d[5] || (d[5] = (w) => t.value = w),
2462
+ "onUpdate:modelValue": r[5] || (r[5] = (k) => t.value = k),
2417
2463
  class: { "is-invalid": c.value }
2418
- }), null, 16, ["modelValue", "class"])) : a.type === "multiselect" ? (r(), y(U, _({ key: 5 }, { ...a, ...x.$attrs }, {
2464
+ }), null, 16, ["modelValue", "class"])) : a.type === "multiselect" ? (d(), y(U, _({ key: 5 }, { ...a, ...h.$attrs }, {
2419
2465
  modelValue: t.value,
2420
- "onUpdate:modelValue": d[6] || (d[6] = (w) => t.value = w),
2466
+ "onUpdate:modelValue": r[6] || (r[6] = (k) => t.value = k),
2421
2467
  class: { "is-invalid": c.value }
2422
- }), null, 16, ["modelValue", "class"])) : a.type === "multiselect-preview" ? (r(), y(Qt, _({ key: 6 }, { ...a, ...x.$attrs }, {
2468
+ }), null, 16, ["modelValue", "class"])) : a.type === "multiselect-preview" ? (d(), y(Qt, _({ key: 6 }, { ...a, ...h.$attrs }, {
2423
2469
  modelValue: t.value,
2424
- "onUpdate:modelValue": d[7] || (d[7] = (w) => t.value = w),
2470
+ "onUpdate:modelValue": r[7] || (r[7] = (k) => t.value = k),
2425
2471
  class: { "is-invalid": c.value }
2426
- }), null, 16, ["modelValue", "class"])) : a.type === "datepicker" ? (r(), y(b, _({ key: 7 }, { ...a, ...x.$attrs }, {
2472
+ }), null, 16, ["modelValue", "class"])) : a.type === "datepicker" ? (d(), y(b, _({ key: 7 }, { ...a, ...h.$attrs }, {
2427
2473
  modelValue: t.value,
2428
- "onUpdate:modelValue": d[8] || (d[8] = (w) => t.value = w),
2474
+ "onUpdate:modelValue": r[8] || (r[8] = (k) => t.value = k),
2429
2475
  class: { "is-invalid": c.value }
2430
- }), null, 16, ["modelValue", "class"])) : C("", !0)
2476
+ }), null, 16, ["modelValue", "class"])) : z("", !0)
2431
2477
  ])
2432
2478
  ], 2),
2433
2479
  J(m("small", {
2434
2480
  "data-cy": "error",
2435
2481
  class: "invalid-feedback"
2436
- }, B(u(o)), 513), [
2482
+ }, F(u(o)), 513), [
2437
2483
  [Z, c.value && a.type !== "multiselect" && a.type !== "datepicker"]
2438
2484
  ])
2439
2485
  ]));
2440
2486
  };
2441
2487
  }
2442
- }), cl = /* @__PURE__ */ S({
2488
+ }), cl = /* @__PURE__ */ C({
2443
2489
  __name: "ForgeChip",
2444
2490
  props: {
2445
2491
  chipSeverity: { default: "primary" },
@@ -2455,7 +2501,7 @@ const Nt = {
2455
2501
  unstyled: { type: Boolean }
2456
2502
  },
2457
2503
  setup(e) {
2458
- const t = e, a = z(() => ({
2504
+ const t = e, a = T(() => ({
2459
2505
  root: [
2460
2506
  "badge d-inline-flex align-items-center border me-1 p-1",
2461
2507
  {
@@ -2475,15 +2521,15 @@ const Nt = {
2475
2521
  }));
2476
2522
  return (i, l) => {
2477
2523
  const n = Ae;
2478
- return r(), y(n, _({ ...i.$attrs, ...i.$props }, { pt: a.value }), {
2524
+ return d(), y(n, _({ ...i.$attrs, ...i.$props }, { pt: a.value }), {
2479
2525
  default: f(() => [
2480
- (r(!0), v(A, null, E(i.$slots, (o, s) => k(i.$slots, s, { slot: s })), 256))
2526
+ (d(!0), v(A, null, E(i.$slots, (o, s) => B(i.$slots, s, { slot: s })), 256))
2481
2527
  ]),
2482
2528
  _: 3
2483
2529
  }, 16, ["pt"]);
2484
2530
  };
2485
2531
  }
2486
- }), ul = /* @__PURE__ */ S({
2532
+ }), ul = /* @__PURE__ */ C({
2487
2533
  __name: "ForgeProgressBar",
2488
2534
  props: {
2489
2535
  severity: { default: "primary" },
@@ -2499,7 +2545,7 @@ const Nt = {
2499
2545
  unstyled: { type: Boolean }
2500
2546
  },
2501
2547
  setup(e) {
2502
- const t = e, a = z(() => t.striped ? "progress-bar-striped" : null), i = z(() => t.animate ? "progress-bar-animated" : null), l = z(() => {
2548
+ const t = e, a = T(() => t.striped ? "progress-bar-striped" : null), i = T(() => t.animate ? "progress-bar-animated" : null), l = T(() => {
2503
2549
  switch (t.severity) {
2504
2550
  case "brand":
2505
2551
  return "bg-brand";
@@ -2520,7 +2566,7 @@ const Nt = {
2520
2566
  default:
2521
2567
  return "bg-primary";
2522
2568
  }
2523
- }), n = z(() => ({
2569
+ }), n = T(() => ({
2524
2570
  root: {
2525
2571
  style: t.pixelWidth ? `width: ${t.pixelWidth}px` : ""
2526
2572
  },
@@ -2530,16 +2576,16 @@ const Nt = {
2530
2576
  }));
2531
2577
  return (o, s) => {
2532
2578
  const p = Ee;
2533
- return r(), y(p, _({ ...o.$attrs, ...t }, { pt: n.value }), {
2579
+ return d(), y(p, _({ ...o.$attrs, ...t }, { pt: n.value }), {
2534
2580
  default: f(() => [
2535
- k(o.$slots, "default")
2581
+ B(o.$slots, "default")
2536
2582
  ]),
2537
2583
  _: 3
2538
2584
  }, 16, ["pt"]);
2539
2585
  };
2540
2586
  }
2541
2587
  });
2542
- var ca = /* @__PURE__ */ S({
2588
+ var ca = /* @__PURE__ */ C({
2543
2589
  name: "VueDrawingCanvas",
2544
2590
  props: {
2545
2591
  strokeType: {
@@ -2854,11 +2900,11 @@ var ca = /* @__PURE__ */ S({
2854
2900
  const o = /(\r\n|\n\r|\n|\r)+/g, s = /\s+/g;
2855
2901
  var p = t.split(o).filter((O) => O.length > 0);
2856
2902
  for (let O = 0; O < p.length; O++) {
2857
- for (var c = p[O].split(s).filter((U) => U.length > 0), x = "", d = 0; d < c.length; d++) {
2858
- var $ = x + c[d] + " ", T = e.measureText($), D = T.width;
2859
- D > l && d > 0 ? (this.watermark && this.watermark.fontStyle && this.watermark.fontStyle.drawType && this.watermark.fontStyle.drawType === "stroke" ? e.strokeText(x, a, i) : e.fillText(x, a, i), x = c[d] + " ", i += n) : x = $;
2903
+ for (var c = p[O].split(s).filter((U) => U.length > 0), h = "", r = 0; r < c.length; r++) {
2904
+ var x = h + c[r] + " ", $ = e.measureText(x), D = $.width;
2905
+ D > l && r > 0 ? (this.watermark && this.watermark.fontStyle && this.watermark.fontStyle.drawType && this.watermark.fontStyle.drawType === "stroke" ? e.strokeText(h, a, i) : e.fillText(h, a, i), h = c[r] + " ", i += n) : h = x;
2860
2906
  }
2861
- this.watermark && this.watermark.fontStyle && this.watermark.fontStyle.drawType && this.watermark.fontStyle.drawType === "stroke" ? e.strokeText(x, a, i) : e.fillText(x, a, i), i += c.length > 0 ? n : 0;
2907
+ this.watermark && this.watermark.fontStyle && this.watermark.fontStyle.drawType && this.watermark.fontStyle.drawType === "stroke" ? e.strokeText(h, a, i) : e.fillText(h, a, i), i += c.length > 0 ? n : 0;
2862
2908
  }
2863
2909
  },
2864
2910
  save() {
@@ -2885,13 +2931,13 @@ var ca = /* @__PURE__ */ S({
2885
2931
  } else if (a.type === "Text") {
2886
2932
  let i = a.fontStyle && a.fontStyle.font ? a.fontStyle.font : "20px serif", l = a.fontStyle && a.fontStyle.textAlign ? a.fontStyle.textAlign : "start", n = a.fontStyle && a.fontStyle.textBaseline ? a.fontStyle.textBaseline : "alphabetic", o = a.fontStyle && a.fontStyle.color ? a.fontStyle.color : "#000000";
2887
2933
  if (t.font = i, t.textAlign = l, t.textBaseline = n, a.fontStyle && a.fontStyle.rotate) {
2888
- let d, $;
2889
- a.fontStyle && a.fontStyle.width ? d = a.x + Math.floor(a.fontStyle.width / 2) : d = a.x, a.fontStyle && a.fontStyle.lineHeight ? $ = a.y + Math.floor(a.fontStyle.lineHeight / 2) : $ = a.y, t.translate(d, $), t.rotate(a.fontStyle.rotate * Math.PI / 180), t.translate(d * -1, $ * -1);
2934
+ let r, x;
2935
+ a.fontStyle && a.fontStyle.width ? r = a.x + Math.floor(a.fontStyle.width / 2) : r = a.x, a.fontStyle && a.fontStyle.lineHeight ? x = a.y + Math.floor(a.fontStyle.lineHeight / 2) : x = a.y, t.translate(r, x), t.rotate(a.fontStyle.rotate * Math.PI / 180), t.translate(r * -1, x * -1);
2890
2936
  }
2891
2937
  a.fontStyle && a.fontStyle.drawType && a.fontStyle.drawType === "stroke" ? (t.strokeStyle = a.fontStyle.color, a.fontStyle && a.fontStyle.width ? this.wrapText(t, a.source, a.x, a.y, a.fontStyle.width, a.fontStyle.lineHeight) : t.strokeText(a.source, a.x, a.y)) : (t.fillStyle = o, a.fontStyle && a.fontStyle.width ? this.wrapText(t, a.source, a.x, a.y, a.fontStyle.width, a.fontStyle.lineHeight) : t.fillText(a.source, a.x, a.y));
2892
- let s = document.createElement("canvas"), p = s.getContext("2d"), c = this.outputWidth === void 0 ? this.width : this.outputWidth, x = this.outputHeight === void 0 ? this.height : this.outputHeight;
2893
- if (s.width = Number(c), s.height = Number(x), p)
2894
- return p.drawImage(e, 0, 0, Number(c), Number(x)), this.$emit("update:image", s.toDataURL("image/" + this.saveAs, 1)), s.toDataURL("image/" + this.saveAs, 1);
2938
+ let s = document.createElement("canvas"), p = s.getContext("2d"), c = this.outputWidth === void 0 ? this.width : this.outputWidth, h = this.outputHeight === void 0 ? this.height : this.outputHeight;
2939
+ if (s.width = Number(c), s.height = Number(h), p)
2940
+ return p.drawImage(e, 0, 0, Number(c), Number(h)), this.$emit("update:image", s.toDataURL("image/" + this.saveAs, 1)), s.toDataURL("image/" + this.saveAs, 1);
2895
2941
  }
2896
2942
  },
2897
2943
  isEmpty() {
@@ -2929,7 +2975,7 @@ var ca = /* @__PURE__ */ S({
2929
2975
  });
2930
2976
  }
2931
2977
  });
2932
- const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1 gap-1" }, ml = /* @__PURE__ */ S({
2978
+ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1 gap-1" }, ml = /* @__PURE__ */ C({
2933
2979
  __name: "ForgeScratchpad",
2934
2980
  props: {
2935
2981
  showClear: { type: Boolean, default: !0 },
@@ -2951,72 +2997,72 @@ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1
2951
2997
  }, c = () => {
2952
2998
  i("save", l.value.isEmpty());
2953
2999
  };
2954
- return (x, d) => {
2955
- const $ = q;
2956
- return r(), v("div", ua, [
2957
- h(u(ca), _({
3000
+ return (h, r) => {
3001
+ const x = q;
3002
+ return d(), v("div", ua, [
3003
+ w(u(ca), _({
2958
3004
  ref_key: "drawingCanvas",
2959
3005
  ref: l,
2960
3006
  image: n.value,
2961
- "onUpdate:image": d[0] || (d[0] = (T) => n.value = T),
3007
+ "onUpdate:image": r[0] || (r[0] = ($) => n.value = $),
2962
3008
  "data-cy": "drawing-canvas",
2963
3009
  class: "border canvas"
2964
- }, { ...x.$attrs }, {
2965
- height: x.height,
2966
- width: x.width,
2967
- style: `height: ${x.height}px; width: ${x.width}px`,
2968
- "line-join": x.lineJoin
3010
+ }, { ...h.$attrs }, {
3011
+ height: h.height,
3012
+ width: h.width,
3013
+ style: `height: ${h.height}px; width: ${h.width}px`,
3014
+ "line-join": h.lineJoin
2969
3015
  }), null, 16, ["image", "height", "width", "style", "line-join"]),
2970
3016
  m("div", ma, [
2971
- a.showUndo ? (r(), y($, {
3017
+ a.showUndo ? (d(), y(x, {
2972
3018
  key: 0,
2973
3019
  onClick: p,
2974
3020
  outlined: "",
2975
3021
  "data-cy": "undo-button"
2976
3022
  }, {
2977
- default: f(() => d[1] || (d[1] = [
3023
+ default: f(() => r[1] || (r[1] = [
2978
3024
  M("Undo")
2979
3025
  ])),
2980
3026
  _: 1
2981
- })) : C("", !0),
2982
- a.showRedo ? (r(), y($, {
3027
+ })) : z("", !0),
3028
+ a.showRedo ? (d(), y(x, {
2983
3029
  key: 1,
2984
3030
  onClick: s,
2985
3031
  outlined: "",
2986
3032
  "data-cy": "redo-button"
2987
3033
  }, {
2988
- default: f(() => d[2] || (d[2] = [
3034
+ default: f(() => r[2] || (r[2] = [
2989
3035
  M("Redo")
2990
3036
  ])),
2991
3037
  _: 1
2992
- })) : C("", !0),
2993
- a.showClear ? (r(), y($, {
3038
+ })) : z("", !0),
3039
+ a.showClear ? (d(), y(x, {
2994
3040
  key: 2,
2995
3041
  onClick: o,
2996
3042
  outlined: "",
2997
3043
  "data-cy": "clear-button"
2998
3044
  }, {
2999
- default: f(() => d[3] || (d[3] = [
3045
+ default: f(() => r[3] || (r[3] = [
3000
3046
  M("Clear")
3001
3047
  ])),
3002
3048
  _: 1
3003
- })) : C("", !0),
3004
- a.showSave ? (r(), y($, {
3049
+ })) : z("", !0),
3050
+ a.showSave ? (d(), y(x, {
3005
3051
  key: 3,
3006
3052
  onClick: c,
3007
3053
  class: "ms-auto",
3008
3054
  "data-cy": "save-button"
3009
3055
  }, {
3010
- default: f(() => d[4] || (d[4] = [
3056
+ default: f(() => r[4] || (r[4] = [
3011
3057
  M("Save")
3012
3058
  ])),
3013
3059
  _: 1
3014
- })) : C("", !0)
3060
+ })) : z("", !0)
3015
3061
  ])
3016
3062
  ]);
3017
3063
  };
3018
3064
  }
3019
- }), va = { class: "value text-white w-100 text-center" }, vl = /* @__PURE__ */ S({
3065
+ }), va = { class: "value text-white w-100 text-center" }, vl = /* @__PURE__ */ C({
3020
3066
  __name: "ForgeStatWidget",
3021
3067
  props: {
3022
3068
  size: { default: "md" },
@@ -3024,15 +3070,15 @@ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1
3024
3070
  },
3025
3071
  setup(e) {
3026
3072
  const t = e;
3027
- return (a, i) => (r(), v("div", _(a.$attrs, {
3073
+ return (a, i) => (d(), v("div", _(a.$attrs, {
3028
3074
  class: `d-flex shadow m-2 align-items-center widget--${t.size} bg-${t.severity}`
3029
3075
  }), [
3030
3076
  m("span", va, [
3031
- k(a.$slots, "default")
3077
+ B(a.$slots, "default")
3032
3078
  ])
3033
3079
  ], 16));
3034
3080
  }
3035
- }), fa = { key: 0 }, fl = /* @__PURE__ */ S({
3081
+ }), fa = { key: 0 }, fl = /* @__PURE__ */ C({
3036
3082
  __name: "ForgeStepper",
3037
3083
  props: {
3038
3084
  currentStep: { default: 1 },
@@ -3050,7 +3096,7 @@ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1
3050
3096
  unstyled: { type: Boolean }
3051
3097
  },
3052
3098
  setup(e) {
3053
- const t = e, a = z(() => ({
3099
+ const t = e, a = T(() => ({
3054
3100
  header: {
3055
3101
  class: [
3056
3102
  "p-0 m-0 d-flex align-items-center border border-0 bg-transparent gap-1",
@@ -3079,32 +3125,32 @@ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1
3079
3125
  ]
3080
3126
  })
3081
3127
  }));
3082
- return (i, l) => (r(), y(u(qe), { value: i.currentStep }, {
3128
+ return (i, l) => (d(), y(u(qe), { value: i.currentStep }, {
3083
3129
  default: f(() => [
3084
- h(u(Le), null, {
3130
+ w(u(Le), null, {
3085
3131
  default: f(() => [
3086
- (r(!0), v(A, null, E(i.steps, (n) => (r(), y(u(Ue), _({
3132
+ (d(!0), v(A, null, E(i.steps, (n) => (d(), y(u(Ue), _({
3087
3133
  key: n.value,
3088
3134
  value: n.value,
3089
3135
  disabled: n.disabled,
3090
3136
  ref_for: !0
3091
3137
  }, { ...i.$attrs }, { pt: a.value }), {
3092
3138
  default: f(() => [
3093
- i.showStepLabel ? (r(), v("div", fa, B(n.label), 1)) : C("", !0)
3139
+ i.showStepLabel ? (d(), v("div", fa, F(n.label), 1)) : z("", !0)
3094
3140
  ]),
3095
3141
  _: 2
3096
3142
  }, 1040, ["value", "disabled", "pt"]))), 128))
3097
3143
  ]),
3098
3144
  _: 1
3099
3145
  }),
3100
- h(u(He), null, {
3146
+ w(u(He), null, {
3101
3147
  default: f(() => [
3102
- (r(!0), v(A, null, E(i.steps, (n) => (r(), y(u(Re), {
3148
+ (d(!0), v(A, null, E(i.steps, (n) => (d(), y(u(Re), {
3103
3149
  key: n.value,
3104
3150
  value: n.value
3105
3151
  }, {
3106
3152
  default: f(() => [
3107
- k(i.$slots, "step" + n.value)
3153
+ B(i.$slots, "step" + n.value)
3108
3154
  ]),
3109
3155
  _: 2
3110
3156
  }, 1032, ["value"]))), 128))
@@ -3115,7 +3161,7 @@ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1
3115
3161
  _: 3
3116
3162
  }, 8, ["value"]));
3117
3163
  }
3118
- }), ga = { class: "p-4 text-wrap w-100" }, ba = { class: "p-4 text-wrap w-100" }, gl = /* @__PURE__ */ S({
3164
+ }), ga = { class: "p-4 text-wrap w-100" }, ba = { class: "p-4 text-wrap w-100" }, gl = /* @__PURE__ */ C({
3119
3165
  __name: "ForgeTile",
3120
3166
  props: {
3121
3167
  severity: { default: "primary" },
@@ -3124,31 +3170,31 @@ const ua = { class: "d-flex flex-column" }, ma = { class: "d-flex flex-row mt-1
3124
3170
  selected: { type: Boolean, default: !1 }
3125
3171
  },
3126
3172
  setup(e) {
3127
- const t = e, a = z(() => `${t.severity === void 0 ? "tile-primary" : `tile-${t.severity}`} ${t.barPosition === "none" ? "" : `tile-bar-${t.barPosition}`} ${t.selected ? "selected" : ""}`), i = z(() => `${t.severity === void 0 ? "tile-primary border-primary" : `tile-${t.severity} border-${t.severity}`} ${t.barPosition === "none" ? "" : `tile-bar-${t.barPosition}`} ${t.selected ? "selected" : ""}`);
3173
+ const t = e, a = T(() => `${t.severity === void 0 ? "tile-primary" : `tile-${t.severity}`} ${t.barPosition === "none" ? "" : `tile-bar-${t.barPosition}`} ${t.selected ? "selected" : ""}`), i = T(() => `${t.severity === void 0 ? "tile-primary border-primary" : `tile-${t.severity} border-${t.severity}`} ${t.barPosition === "none" ? "" : `tile-bar-${t.barPosition}`} ${t.selected ? "selected" : ""}`);
3128
3174
  return (l, n) => {
3129
3175
  const o = q;
3130
- return t.clickable ? (r(), y(o, {
3176
+ return t.clickable ? (d(), y(o, {
3131
3177
  key: 0,
3132
- class: F(["d-flex w-100 p-0 text-body", a.value]),
3178
+ class: S(["d-flex w-100 p-0 text-body", a.value]),
3133
3179
  severity: t.severity,
3134
3180
  unstyled: "",
3135
3181
  "data-cy": "button-tile"
3136
3182
  }, {
3137
3183
  default: f(() => [
3138
3184
  m("div", ga, [
3139
- k(l.$slots, "default", {}, () => [
3185
+ B(l.$slots, "default", {}, () => [
3140
3186
  n[0] || (n[0] = M("Tile Content"))
3141
3187
  ])
3142
3188
  ])
3143
3189
  ]),
3144
3190
  _: 3
3145
- }, 8, ["severity", "class"])) : (r(), v("div", {
3191
+ }, 8, ["severity", "class"])) : (d(), v("div", {
3146
3192
  key: 1,
3147
- class: F(["d-flex w-100", i.value]),
3193
+ class: S(["d-flex w-100", i.value]),
3148
3194
  "data-cy": "tile"
3149
3195
  }, [
3150
3196
  m("div", ba, [
3151
- k(l.$slots, "default", {}, () => [
3197
+ B(l.$slots, "default", {}, () => [
3152
3198
  n[1] || (n[1] = M("Tile Content"))
3153
3199
  ])
3154
3200
  ])
@@ -3162,10 +3208,10 @@ function ee(e, t) {
3162
3208
  const ya = {
3163
3209
  class: "d-flex justify-content-start align-items-baseline",
3164
3210
  "data-cy": "pagination-header"
3165
- }, xa = { class: "ms-2" }, ha = { key: 0 }, wa = {
3211
+ }, ha = { class: "ms-2" }, xa = { key: 0 }, wa = {
3166
3212
  class: "w-auto",
3167
3213
  "data-cy": "total"
3168
- }, he = /* @__PURE__ */ S({
3214
+ }, xe = /* @__PURE__ */ C({
3169
3215
  __name: "ForgePaginationHeader",
3170
3216
  props: {
3171
3217
  total: {},
@@ -3176,14 +3222,14 @@ const ya = {
3176
3222
  setup(e, { emit: t }) {
3177
3223
  const a = t, i = e, l = (o) => {
3178
3224
  a("update:perPage", o.value);
3179
- }, n = z(() => {
3225
+ }, n = T(() => {
3180
3226
  const o = Math.ceil(i.total / i.perPage);
3181
3227
  return `${o} ${ee(o, "page")}`;
3182
3228
  });
3183
- return (o, s) => (r(), v("div", ya, [
3229
+ return (o, s) => (d(), v("div", ya, [
3184
3230
  s[2] || (s[2] = M(" Number of results per page ")),
3185
- m("div", xa, [
3186
- h(u(ie), {
3231
+ m("div", ha, [
3232
+ w(u(ie), {
3187
3233
  options: i.pageSizes,
3188
3234
  "model-value": i.perPage,
3189
3235
  class: "page-size",
@@ -3191,16 +3237,16 @@ const ya = {
3191
3237
  "data-cy": "pagination-page-size-select"
3192
3238
  }, null, 8, ["options", "model-value"])
3193
3239
  ]),
3194
- i.total ? (r(), v("div", ha, [
3240
+ i.total ? (d(), v("div", xa, [
3195
3241
  s[1] || (s[1] = m("span", { class: "mx-2" }, "|", -1)),
3196
- m("span", wa, B(i.total) + " " + B(u(ee)(i.total, "result")) + " across " + B(n.value), 1)
3197
- ])) : C("", !0)
3242
+ m("span", wa, F(i.total) + " " + F(u(ee)(i.total, "result")) + " across " + F(n.value), 1)
3243
+ ])) : z("", !0)
3198
3244
  ]));
3199
3245
  }
3200
3246
  }), ka = { class: "position-relative" }, $a = { "data-cy": "above-table-slot" }, Ba = { class: "d-flex w-100" }, Fa = {
3201
3247
  class: "mx-auto",
3202
3248
  "data-cy": "empty-message"
3203
- }, Sa = { class: "d-flex" }, Ca = { class: "d-flex align-items-end mb-2" }, za = { key: 0 }, Ta = { class: "ms-auto" }, bl = /* @__PURE__ */ S({
3249
+ }, Sa = { class: "d-flex" }, Ca = { class: "d-flex align-items-end mb-2" }, za = { key: 0 }, Ta = { class: "ms-auto" }, bl = /* @__PURE__ */ C({
3204
3250
  __name: "ForgeTable",
3205
3251
  props: {
3206
3252
  value: {},
@@ -3298,10 +3344,10 @@ const ya = {
3298
3344
  Q(() => i.perPage, (b) => {
3299
3345
  b && (o.value = b, s.value.perPage = b);
3300
3346
  });
3301
- const p = z(() => i.totalRecords ?? i.value.length), c = z(() => {
3347
+ const p = T(() => i.totalRecords ?? i.value.length), c = T(() => {
3302
3348
  const b = Math.ceil(p.value / o.value);
3303
3349
  return `${b} ${ee(b, "page")}`;
3304
- }), x = z(() => ({
3350
+ }), h = T(() => ({
3305
3351
  thead: () => ({
3306
3352
  class: [
3307
3353
  {
@@ -3324,18 +3370,18 @@ const ya = {
3324
3370
  }
3325
3371
  ]
3326
3372
  })
3327
- })), d = () => {
3373
+ })), r = () => {
3328
3374
  if (i.clearAll)
3329
3375
  i.clearAll();
3330
3376
  else
3331
3377
  for (const b in i.filters)
3332
3378
  typeof i.filters[b] == "string" ? i.filters[b] = "" : i.filters[b].value = null;
3333
3379
  D(i.filters);
3334
- }, $ = () => {
3380
+ }, x = () => {
3335
3381
  l.value.exportCSV();
3336
- }, T = (b) => {
3337
- var w;
3338
- s.value.sortDirection = b.sortOrder === 1 ? "Asc" : b.sortOrder === -1 ? "Desc" : "None", s.value.sortField = ((w = b.sortField) == null ? void 0 : w.toString()) ?? "", a("update:tableContext", s.value), a("sort", b);
3382
+ }, $ = (b) => {
3383
+ var k;
3384
+ s.value.sortDirection = b.sortOrder === 1 ? "Asc" : b.sortOrder === -1 ? "Desc" : "None", s.value.sortField = ((k = b.sortField) == null ? void 0 : k.toString()) ?? "", a("update:tableContext", s.value), a("sort", b);
3339
3385
  }, D = (b) => {
3340
3386
  s.value.filters = b, a("update:tableContext", s.value), a("update:filters", b);
3341
3387
  }, O = (b) => {
@@ -3345,14 +3391,14 @@ const ya = {
3345
3391
  };
3346
3392
  return Q(() => i.filters, (b) => {
3347
3393
  s.value.filters = b, a("update:tableContext", s.value);
3348
- }, { deep: !0 }), ne(() => a("update:tableContext", s.value)), (b, w) => (r(), v("div", ka, [
3394
+ }, { deep: !0 }), ne(() => a("update:tableContext", s.value)), (b, k) => (d(), v("div", ka, [
3349
3395
  m("span", $a, [
3350
- k(b.$slots, "above-table")
3396
+ B(b.$slots, "above-table")
3351
3397
  ]),
3352
- h(u(We), _({
3398
+ w(u(We), _({
3353
3399
  class: ["w-100", `${i.severity ? `forge-table-${i.severity}` : ""}`]
3354
3400
  }, { ...i, ...b.$attrs }, {
3355
- pt: x.value,
3401
+ pt: h.value,
3356
3402
  rows: o.value,
3357
3403
  "total-records": p.value,
3358
3404
  "filter-display": i.filters ? "row" : void 0,
@@ -3360,95 +3406,95 @@ const ya = {
3360
3406
  ref: l,
3361
3407
  "data-cy": "table",
3362
3408
  "onUpdate:filters": D,
3363
- onSort: T,
3409
+ onSort: $,
3364
3410
  onPage: O,
3365
3411
  showHeaders: ""
3366
3412
  }), ae({
3367
3413
  empty: f(() => [
3368
3414
  m("div", Ba, [
3369
- m("h5", Fa, B(b.emptyMessage ?? "No items Found."), 1)
3415
+ m("h5", Fa, F(b.emptyMessage ?? "No items Found."), 1)
3370
3416
  ])
3371
3417
  ]),
3372
3418
  header: f(() => [
3373
3419
  m("div", {
3374
- class: F(i.loading ? "opacity-50" : "")
3420
+ class: S(i.loading ? "opacity-50" : "")
3375
3421
  }, [
3376
3422
  m("div", Sa, [
3377
3423
  m("div", Ca, [
3378
- b.paginator && !b.legacyPaginationFooter ? (r(), v("span", za, [
3379
- h(he, {
3424
+ b.paginator && !b.legacyPaginationFooter ? (d(), v("span", za, [
3425
+ w(xe, {
3380
3426
  total: p.value,
3381
3427
  "page-sizes": n.value,
3382
3428
  "per-page": o.value,
3383
3429
  "onUpdate:perPage": [
3384
- w[0] || (w[0] = (I) => o.value = I),
3430
+ k[0] || (k[0] = (I) => o.value = I),
3385
3431
  U
3386
3432
  ]
3387
3433
  }, null, 8, ["total", "page-sizes", "per-page"])
3388
- ])) : C("", !0)
3434
+ ])) : z("", !0)
3389
3435
  ]),
3390
3436
  m("div", Ta, [
3391
- b.showClearButton ? (r(), y(u(q), {
3437
+ b.showClearButton ? (d(), y(u(q), {
3392
3438
  key: 0,
3393
3439
  outlined: "",
3394
- class: F(b.showExporterButton ? "me-2" : ""),
3395
- onClick: d,
3440
+ class: S(b.showExporterButton ? "me-2" : ""),
3441
+ onClick: r,
3396
3442
  "data-cy": "clear-all"
3397
3443
  }, {
3398
3444
  default: f(() => [
3399
- h(u(P), {
3445
+ w(u(P), {
3400
3446
  icon: "bi:funnel-fill",
3401
3447
  width: "24",
3402
3448
  height: "24"
3403
3449
  }),
3404
- w[2] || (w[2] = M(" Clear "))
3450
+ k[2] || (k[2] = M(" Clear "))
3405
3451
  ]),
3406
3452
  _: 1
3407
- }, 8, ["class"])) : C("", !0),
3408
- b.showExporterButton ? (r(), y(u(q), {
3453
+ }, 8, ["class"])) : z("", !0),
3454
+ b.showExporterButton ? (d(), y(u(q), {
3409
3455
  key: 1,
3410
3456
  outlined: "",
3411
- onClick: $,
3457
+ onClick: x,
3412
3458
  "data-cy": "exporter"
3413
3459
  }, {
3414
3460
  default: f(() => [
3415
- h(u(P), {
3461
+ w(u(P), {
3416
3462
  icon: "typcn:export",
3417
3463
  width: "24",
3418
3464
  height: "24"
3419
3465
  }),
3420
- w[3] || (w[3] = M(" Export "))
3466
+ k[3] || (k[3] = M(" Export "))
3421
3467
  ]),
3422
3468
  _: 1
3423
- })) : C("", !0),
3424
- k(b.$slots, "column-customiser")
3469
+ })) : z("", !0),
3470
+ B(b.$slots, "column-customiser")
3425
3471
  ])
3426
3472
  ])
3427
3473
  ], 2)
3428
3474
  ]),
3429
3475
  default: f(() => [
3430
- k(b.$slots, "default")
3476
+ B(b.$slots, "default")
3431
3477
  ]),
3432
3478
  _: 2
3433
3479
  }, [
3434
3480
  E(b.$slots, (I, g) => ({
3435
3481
  name: g,
3436
3482
  fn: f((V) => [
3437
- k(b.$slots, g, W(G(V || {})))
3483
+ B(b.$slots, g, W(G(V || {})))
3438
3484
  ])
3439
3485
  })),
3440
3486
  b.legacyPaginationFooter ? {
3441
3487
  name: "paginatorstart",
3442
3488
  fn: f(() => [
3443
3489
  m("span", {
3444
- class: F(["d-flex", i.loading ? "opacity-50" : ""]),
3490
+ class: S(["d-flex", i.loading ? "opacity-50" : ""]),
3445
3491
  "data-cy": "legacy-page-size"
3446
3492
  }, [
3447
- w[4] || (w[4] = m("span", { class: "me-2 my-auto text-nowrap" }, "Page Size:", -1)),
3448
- h(u(ie), {
3493
+ k[4] || (k[4] = m("span", { class: "me-2 my-auto text-nowrap" }, "Page Size:", -1)),
3494
+ w(u(ie), {
3449
3495
  options: n.value,
3450
3496
  modelValue: o.value,
3451
- "onUpdate:modelValue": w[1] || (w[1] = (I) => o.value = I),
3497
+ "onUpdate:modelValue": k[1] || (k[1] = (I) => o.value = I),
3452
3498
  class: "ms-2",
3453
3499
  onClick: U
3454
3500
  }, null, 8, ["options", "modelValue"])
@@ -3461,8 +3507,8 @@ const ya = {
3461
3507
  fn: f(() => [
3462
3508
  m("span", {
3463
3509
  "data-cy": "legacy-total",
3464
- class: F(i.loading ? "opacity-50" : "")
3465
- }, B(p.value) + " " + B(u(ee)(p.value, "result")) + " across " + B(c.value), 3)
3510
+ class: S(i.loading ? "opacity-50" : "")
3511
+ }, F(p.value) + " " + F(u(ee)(p.value, "result")) + " across " + F(c.value), 3)
3466
3512
  ]),
3467
3513
  key: "1"
3468
3514
  } : void 0
@@ -3472,7 +3518,7 @@ const ya = {
3472
3518
  }), _a = { class: "position-relative" }, Pa = { "data-cy": "above-table-slot" }, ja = { class: "d-flex w-100" }, Ia = {
3473
3519
  class: "mx-auto",
3474
3520
  "data-cy": "empty-message"
3475
- }, Ma = { class: "d-flex" }, Va = { class: "d-flex align-items-end mb-2" }, Da = { key: 0 }, Oa = { class: "ms-auto" }, yl = /* @__PURE__ */ S({
3521
+ }, Ma = { class: "d-flex" }, Va = { class: "d-flex align-items-end mb-2" }, Da = { key: 0 }, Oa = { class: "ms-auto" }, yl = /* @__PURE__ */ C({
3476
3522
  __name: "ForgeTreeTable",
3477
3523
  props: {
3478
3524
  stripedRows: { type: Boolean, default: !1 },
@@ -3540,10 +3586,10 @@ const ya = {
3540
3586
  sortDirection: "None",
3541
3587
  sortField: "",
3542
3588
  total: a.totalRecords ?? a.value.length
3543
- }), c = z(() => a.totalRecords ?? a.value.length), x = z(() => {
3589
+ }), c = T(() => a.totalRecords ?? a.value.length), h = T(() => {
3544
3590
  const g = Math.ceil(c.value / n.value);
3545
3591
  return `${g} ${ee(g, "page")}`;
3546
- }), d = z(() => ({
3592
+ }), r = T(() => ({
3547
3593
  root: "position-relative",
3548
3594
  table: (g) => ({
3549
3595
  class: [
@@ -3579,9 +3625,9 @@ const ya = {
3579
3625
  ]
3580
3626
  }));
3581
3627
  Q(() => a.parentExpanderFullRow, (g) => {
3582
- g ? $() : T();
3628
+ g ? x() : $();
3583
3629
  });
3584
- const $ = () => {
3630
+ const x = () => {
3585
3631
  a.parentExpanderFullRow && setTimeout(
3586
3632
  () => {
3587
3633
  const g = Array.from(
@@ -3597,7 +3643,7 @@ const ya = {
3597
3643
  },
3598
3644
  0
3599
3645
  );
3600
- }, T = () => {
3646
+ }, $ = () => {
3601
3647
  setTimeout(
3602
3648
  () => {
3603
3649
  const g = Array.from(
@@ -3622,74 +3668,74 @@ const ya = {
3622
3668
  U(a.filters);
3623
3669
  }, O = (g) => {
3624
3670
  var V;
3625
- p.value.sortDirection = g.sortOrder === 1 ? "Asc" : g.sortOrder === -1 ? "Desc" : "None", p.value.sortField = ((V = g.sortField) == null ? void 0 : V.toString()) ?? "", i("update:tableContext", p.value), i("sort", g), $();
3671
+ p.value.sortDirection = g.sortOrder === 1 ? "Asc" : g.sortOrder === -1 ? "Desc" : "None", p.value.sortField = ((V = g.sortField) == null ? void 0 : V.toString()) ?? "", i("update:tableContext", p.value), i("sort", g), x();
3626
3672
  }, U = (g) => {
3627
- p.value.filters = g, i("update:tableContext", p.value), i("update:filters", g), $();
3673
+ p.value.filters = g, i("update:tableContext", p.value), i("update:filters", g), x();
3628
3674
  }, b = (g) => {
3629
- p.value.page = s.value = g.page, I(), i("update:tableContext", p.value), i("page", g), $();
3630
- }, w = () => {
3631
- p.value.perPage = n.value, s.value = 0, p.value.page = s.value = Math.floor(o.value / n.value), I(), i("update:tableContext", p.value), $();
3675
+ p.value.page = s.value = g.page, I(), i("update:tableContext", p.value), i("page", g), x();
3676
+ }, k = () => {
3677
+ p.value.perPage = n.value, s.value = 0, p.value.page = s.value = Math.floor(o.value / n.value), I(), i("update:tableContext", p.value), x();
3632
3678
  };
3633
3679
  Q(() => a.filters, (g) => {
3634
3680
  p.value.filters = g, i("update:tableContext", p.value);
3635
3681
  }, { deep: !0 }), Q(() => a.value, () => {
3636
- $();
3682
+ x();
3637
3683
  }), ne(() => {
3638
- $(), i("update:tableContext", p.value);
3684
+ x(), i("update:tableContext", p.value);
3639
3685
  });
3640
3686
  const I = () => {
3641
3687
  o.value = s.value * n.value;
3642
3688
  };
3643
- return (g, V) => (r(), v("div", _a, [
3689
+ return (g, V) => (d(), v("div", _a, [
3644
3690
  m("span", Pa, [
3645
- k(g.$slots, "above-table")
3691
+ B(g.$slots, "above-table")
3646
3692
  ]),
3647
- h(u(Ge), _({
3693
+ w(u(Ge), _({
3648
3694
  class: ["w-100", `${a.severity ? `forge-table-${a.severity}` : ""}`]
3649
3695
  }, { ...a, ...g.$attrs }, {
3650
- pt: d.value,
3696
+ pt: r.value,
3651
3697
  "filter-display": a.filters ? "row" : void 0,
3652
3698
  rows: g.paginator ? n.value : void 0,
3653
3699
  "data-cy": "tree-table",
3654
3700
  "onUpdate:filters": U,
3655
3701
  onSort: O,
3656
3702
  onPage: b,
3657
- onNodeExpand: V[2] || (V[2] = () => $()),
3703
+ onNodeExpand: V[2] || (V[2] = () => x()),
3658
3704
  showHeaders: "",
3659
3705
  first: o.value
3660
3706
  }), ae({
3661
3707
  empty: f(() => [
3662
3708
  m("div", ja, [
3663
- m("h5", Ia, B(g.emptyMessage ?? "No items Found."), 1)
3709
+ m("h5", Ia, F(g.emptyMessage ?? "No items Found."), 1)
3664
3710
  ])
3665
3711
  ]),
3666
3712
  header: f(() => [
3667
3713
  m("div", {
3668
- class: F(a.loading ? "opacity-50" : "")
3714
+ class: S(a.loading ? "opacity-50" : "")
3669
3715
  }, [
3670
3716
  m("div", Ma, [
3671
3717
  m("div", Va, [
3672
- g.paginator && !g.legacyPaginationFooter ? (r(), v("span", Da, [
3673
- h(he, {
3718
+ g.paginator && !g.legacyPaginationFooter ? (d(), v("span", Da, [
3719
+ w(xe, {
3674
3720
  total: c.value,
3675
3721
  "page-sizes": l.value,
3676
3722
  "per-page": n.value,
3677
3723
  "onUpdate:perPage": [
3678
3724
  V[0] || (V[0] = (L) => n.value = L),
3679
- w
3725
+ k
3680
3726
  ]
3681
3727
  }, null, 8, ["total", "page-sizes", "per-page"])
3682
- ])) : C("", !0)
3728
+ ])) : z("", !0)
3683
3729
  ]),
3684
3730
  m("div", Oa, [
3685
- g.showClearButton ? (r(), y(u(q), {
3731
+ g.showClearButton ? (d(), y(u(q), {
3686
3732
  key: 0,
3687
3733
  outlined: "",
3688
3734
  onClick: D,
3689
3735
  "data-cy": "clear-all"
3690
3736
  }, {
3691
3737
  default: f(() => [
3692
- h(u(P), {
3738
+ w(u(P), {
3693
3739
  icon: "bi:funnel-fill",
3694
3740
  width: "24",
3695
3741
  height: "24"
@@ -3697,37 +3743,37 @@ const ya = {
3697
3743
  V[3] || (V[3] = M(" Clear "))
3698
3744
  ]),
3699
3745
  _: 1
3700
- })) : C("", !0),
3701
- k(g.$slots, "column-customiser")
3746
+ })) : z("", !0),
3747
+ B(g.$slots, "column-customiser")
3702
3748
  ])
3703
3749
  ])
3704
3750
  ], 2)
3705
3751
  ]),
3706
3752
  default: f(() => [
3707
- k(g.$slots, "default")
3753
+ B(g.$slots, "default")
3708
3754
  ]),
3709
3755
  _: 2
3710
3756
  }, [
3711
3757
  E(g.$slots, (L, ve) => ({
3712
3758
  name: ve,
3713
3759
  fn: f(($e) => [
3714
- k(g.$slots, ve, W(G($e || {})))
3760
+ B(g.$slots, ve, W(G($e || {})))
3715
3761
  ])
3716
3762
  })),
3717
3763
  g.legacyPaginationFooter ? {
3718
3764
  name: "paginatorstart",
3719
3765
  fn: f(() => [
3720
3766
  m("span", {
3721
- class: F(["d-flex", a.loading ? "opacity-50" : ""]),
3767
+ class: S(["d-flex", a.loading ? "opacity-50" : ""]),
3722
3768
  "data-cy": "legacy-page-size"
3723
3769
  }, [
3724
3770
  V[4] || (V[4] = m("span", { class: "me-2 my-auto text-nowrap" }, "Page Size:", -1)),
3725
- h(u(ie), {
3771
+ w(u(ie), {
3726
3772
  options: l.value,
3727
3773
  modelValue: n.value,
3728
3774
  "onUpdate:modelValue": V[1] || (V[1] = (L) => n.value = L),
3729
3775
  class: "ms-2",
3730
- onClick: w
3776
+ onClick: k
3731
3777
  }, null, 8, ["options", "modelValue"])
3732
3778
  ], 2)
3733
3779
  ]),
@@ -3738,15 +3784,15 @@ const ya = {
3738
3784
  fn: f(() => [
3739
3785
  m("span", {
3740
3786
  "data-cy": "legacy-total",
3741
- class: F(a.loading ? "opacity-50" : "")
3742
- }, B(c.value) + " " + B(u(ee)(c.value, "result")) + " across " + B(x.value), 3)
3787
+ class: S(a.loading ? "opacity-50" : "")
3788
+ }, F(c.value) + " " + F(u(ee)(c.value, "result")) + " across " + F(h.value), 3)
3743
3789
  ]),
3744
3790
  key: "1"
3745
3791
  } : void 0
3746
3792
  ]), 1040, ["class", "pt", "filter-display", "rows", "first"])
3747
3793
  ]));
3748
3794
  }
3749
- }), Na = { class: "d-flex position-relative" }, Aa = { class: "d-flex w-100" }, xl = /* @__PURE__ */ S({
3795
+ }), Na = { class: "d-flex position-relative" }, Aa = { class: "d-flex w-100" }, hl = /* @__PURE__ */ C({
3750
3796
  __name: "ForgeFilterHeader",
3751
3797
  props: /* @__PURE__ */ R({
3752
3798
  dataType: {},
@@ -3767,7 +3813,7 @@ const ya = {
3767
3813
  const o = (s) => {
3768
3814
  var c;
3769
3815
  const p = (c = e.dropdownOptions) == null ? void 0 : c.find(
3770
- (x) => e.optionValue ? x[e.optionValue] === s : Object.keys(x).every((d) => s.hasOwnProperty(d) && x[d] === s[d])
3816
+ (h) => e.optionValue ? h[e.optionValue] === s : Object.keys(h).every((r) => s.hasOwnProperty(r) && h[r] === s[r])
3771
3817
  );
3772
3818
  return e.optionLabel ? p[e.optionLabel] : p;
3773
3819
  };
@@ -3777,20 +3823,20 @@ const ya = {
3777
3823
  };
3778
3824
  return (l, n) => {
3779
3825
  const o = fe, s = q;
3780
- return r(), v("div", Na, [
3781
- l.dataType === "numeric" ? (r(), y(o, _({
3826
+ return d(), v("div", Na, [
3827
+ l.dataType === "numeric" ? (d(), y(o, _({
3782
3828
  key: 0,
3783
3829
  modelValue: t.value,
3784
3830
  "onUpdate:modelValue": n[0] || (n[0] = (p) => t.value = p),
3785
3831
  modelModifiers: { trim: !0 }
3786
- }, l.$attrs), null, 16, ["modelValue"])) : l.dataType === "date" ? (r(), y(xe, _({
3832
+ }, l.$attrs), null, 16, ["modelValue"])) : l.dataType === "date" ? (d(), y(he, _({
3787
3833
  key: 1,
3788
3834
  modelValue: t.value,
3789
3835
  "onUpdate:modelValue": n[1] || (n[1] = (p) => t.value = p)
3790
3836
  }, l.$attrs, {
3791
3837
  "show-icon": !1,
3792
3838
  "show-on-focus": !0
3793
- }), null, 16, ["modelValue"])) : l.dataType === "select" ? (r(), y(u(ie), _({
3839
+ }), null, 16, ["modelValue"])) : l.dataType === "select" ? (d(), y(u(ie), _({
3794
3840
  key: 2,
3795
3841
  modelValue: t.value,
3796
3842
  "onUpdate:modelValue": n[2] || (n[2] = (p) => t.value = p)
@@ -3802,16 +3848,16 @@ const ya = {
3802
3848
  value: f(({ value: p, placeholder: c }) => [
3803
3849
  m("div", Aa, [
3804
3850
  m("span", {
3805
- class: F({ "filter-placeholder": p === null })
3806
- }, B(a(p, c)), 3),
3807
- l.showClearButton && t.value !== null ? (r(), y(s, {
3851
+ class: S({ "filter-placeholder": p === null })
3852
+ }, F(a(p, c)), 3),
3853
+ l.showClearButton && t.value !== null ? (d(), y(s, {
3808
3854
  key: 0,
3809
3855
  onClick: X(i, ["prevent"]),
3810
3856
  size: "small",
3811
3857
  class: "bg-transparent border-0 ms-auto p-0 pe-1"
3812
3858
  }, {
3813
3859
  default: f(() => [
3814
- h(u(P), {
3860
+ w(u(P), {
3815
3861
  icon: "bi:x",
3816
3862
  width: "1rem",
3817
3863
  height: "1rem",
@@ -3819,11 +3865,11 @@ const ya = {
3819
3865
  })
3820
3866
  ]),
3821
3867
  _: 1
3822
- })) : C("", !0)
3868
+ })) : z("", !0)
3823
3869
  ])
3824
3870
  ]),
3825
3871
  _: 1
3826
- }, 16, ["modelValue", "options", "option-value", "option-label"])) : l.dataType === "multiselect" ? (r(), y(u(re), _({
3872
+ }, 16, ["modelValue", "options", "option-value", "option-label"])) : l.dataType === "multiselect" ? (d(), y(u(re), _({
3827
3873
  key: 3,
3828
3874
  modelValue: t.value,
3829
3875
  "onUpdate:modelValue": n[3] || (n[3] = (p) => t.value = p)
@@ -3833,20 +3879,20 @@ const ya = {
3833
3879
  "option-label": l.optionLabel,
3834
3880
  "option-value": l.optionValue,
3835
3881
  filter: ""
3836
- }), null, 16, ["modelValue", "options", "option-label", "option-value"])) : (r(), y(u(se), _({
3882
+ }), null, 16, ["modelValue", "options", "option-label", "option-value"])) : (d(), y(u(se), _({
3837
3883
  key: 4,
3838
3884
  modelValue: t.value,
3839
3885
  "onUpdate:modelValue": n[4] || (n[4] = (p) => t.value = p),
3840
3886
  modelModifiers: { trim: !0 }
3841
3887
  }, l.$attrs), null, 16, ["modelValue"])),
3842
- l.showClearButton && t.value !== null && l.dataType !== "select" && l.dataType !== "multiselect" && l.dataType !== "date" ? (r(), y(s, {
3888
+ l.showClearButton && t.value !== null && l.dataType !== "select" && l.dataType !== "multiselect" && l.dataType !== "date" ? (d(), y(s, {
3843
3889
  key: 5,
3844
3890
  onClick: X(i, ["prevent"]),
3845
3891
  size: "small",
3846
3892
  class: "bg-transparent border-0 ms-auto p-0 pe-1 position-absolute end-0 top-0 bottom-0"
3847
3893
  }, {
3848
3894
  default: f(() => [
3849
- h(u(P), {
3895
+ w(u(P), {
3850
3896
  icon: "bi:x",
3851
3897
  width: "1rem",
3852
3898
  height: "1rem",
@@ -3854,7 +3900,7 @@ const ya = {
3854
3900
  })
3855
3901
  ]),
3856
3902
  _: 1
3857
- })) : C("", !0)
3903
+ })) : z("", !0)
3858
3904
  ]);
3859
3905
  };
3860
3906
  }
@@ -5017,7 +5063,7 @@ function Ra() {
5017
5063
  const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disabled", "multiple"], Ga = {
5018
5064
  class: "text-break accepted-file-types-container",
5019
5065
  id: "accepted-file-types-overlay"
5020
- }, Ya = /* @__PURE__ */ S({
5066
+ }, Ya = /* @__PURE__ */ C({
5021
5067
  __name: "UploadButton",
5022
5068
  props: /* @__PURE__ */ R({
5023
5069
  acceptedFileTypes: {},
@@ -5029,13 +5075,13 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5029
5075
  }),
5030
5076
  emits: ["update:modelValue"],
5031
5077
  setup(e) {
5032
- const t = N(e, "modelValue"), a = j(), i = (o) => a.value.toggle(o), l = z(() => e.maxFileInput <= t.value.length), n = (o) => {
5078
+ const t = N(e, "modelValue"), a = j(), i = (o) => a.value.toggle(o), l = T(() => e.maxFileInput <= t.value.length), n = (o) => {
5033
5079
  t.value = ke(o, t.value, e.acceptedFileTypes.map((s) => s.fileType), e.maxFileInput);
5034
5080
  };
5035
5081
  return (o, s) => {
5036
5082
  const p = q;
5037
- return r(), v("div", Ha, [
5038
- k(o.$slots, "message"),
5083
+ return d(), v("div", Ha, [
5084
+ B(o.$slots, "message"),
5039
5085
  m("div", null, [
5040
5086
  m("input", {
5041
5087
  id: "file-input",
@@ -5047,12 +5093,12 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5047
5093
  onInput: s[0] || (s[0] = (c) => n([...c.target.files]))
5048
5094
  }, null, 40, Wa),
5049
5095
  m("label", {
5050
- class: F([{ disabled: l.value }, "btn btn-primary"]),
5096
+ class: S([{ disabled: l.value }, "btn btn-primary"]),
5051
5097
  id: "file-input-button",
5052
5098
  for: "file-input"
5053
5099
  }, [
5054
- k(o.$slots, "button-content", {}, () => [
5055
- h(u(P), {
5100
+ B(o.$slots, "button-content", {}, () => [
5101
+ w(u(P), {
5056
5102
  icon: "bi:upload",
5057
5103
  class: "me-2",
5058
5104
  height: "20px",
@@ -5062,7 +5108,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5062
5108
  ])
5063
5109
  ], 2)
5064
5110
  ]),
5065
- o.showDragDropArea ? (r(), y(p, {
5111
+ o.showDragDropArea ? (d(), y(p, {
5066
5112
  link: "",
5067
5113
  class: "ms-auto",
5068
5114
  key: o.acceptedFileTypes.length,
@@ -5073,13 +5119,13 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5073
5119
  M("Accepted File Types")
5074
5120
  ])),
5075
5121
  _: 1
5076
- })) : C("", !0),
5077
- h(u(be), {
5122
+ })) : z("", !0),
5123
+ w(u(be), {
5078
5124
  ref_key: "acceptedFilesOverlay",
5079
5125
  ref: a
5080
5126
  }, {
5081
5127
  default: f(() => [
5082
- m("div", Ga, B(o.acceptedFileTypes.map((c) => c.label ?? c.fileType.split("/").pop()).join(", ")), 1)
5128
+ m("div", Ga, F(o.acceptedFileTypes.map((c) => c.label ?? c.fileType.split("/").pop()).join(", ")), 1)
5083
5129
  ]),
5084
5130
  _: 1
5085
5131
  }, 512)
@@ -5093,7 +5139,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5093
5139
  }, Ka = {
5094
5140
  key: 1,
5095
5141
  class: "d-flex flex-column"
5096
- }, Za = /* @__PURE__ */ S({
5142
+ }, Za = /* @__PURE__ */ C({
5097
5143
  __name: "DragDropArea",
5098
5144
  props: /* @__PURE__ */ R({
5099
5145
  maxFileInput: {},
@@ -5105,30 +5151,30 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5105
5151
  }),
5106
5152
  emits: ["update:modelValue"],
5107
5153
  setup(e) {
5108
- const t = N(e, "modelValue"), a = j(!1), i = z(() => e.maxFileInput <= t.value.length), l = (n) => {
5154
+ const t = N(e, "modelValue"), a = j(!1), i = T(() => e.maxFileInput <= t.value.length), l = (n) => {
5109
5155
  a.value = !1, n.dataTransfer.files.length > e.maxFileInput || i.value ? n.preventDefault() : t.value = ke([...n.dataTransfer.files], t.value, e.acceptedFileTypes.map((o) => o.fileType), e.maxFileSize);
5110
5156
  };
5111
- return (n, o) => (r(), v("div", {
5157
+ return (n, o) => (d(), v("div", {
5112
5158
  id: "drag-drop-area",
5113
- class: F(`${a.value ? "border-2 border-primary bg-body-tertiary" : ""} mt-3 file-container border-dashed border-2`),
5159
+ class: S(`${a.value ? "border-2 border-primary bg-body-tertiary" : ""} mt-3 file-container border-dashed border-2`),
5114
5160
  onDragleave: o[0] || (o[0] = X((s) => a.value = !1, ["prevent"])),
5115
5161
  onDragover: o[1] || (o[1] = X((s) => a.value = !0, ["prevent"])),
5116
5162
  onDrop: X(l, ["prevent"])
5117
5163
  }, [
5118
- t.value.length === 0 ? (r(), v("div", Ja, [
5119
- h(u(P), {
5164
+ t.value.length === 0 ? (d(), v("div", Ja, [
5165
+ w(u(P), {
5120
5166
  icon: "bi:upload",
5121
5167
  class: "me-2",
5122
5168
  height: "20px",
5123
5169
  width: "20px"
5124
5170
  }),
5125
5171
  o[2] || (o[2] = M(" Drag and drop files here "))
5126
- ])) : (r(), v("div", Ka, [
5127
- k(n.$slots, "default")
5172
+ ])) : (d(), v("div", Ka, [
5173
+ B(n.$slots, "default")
5128
5174
  ]))
5129
5175
  ], 34));
5130
5176
  }
5131
- }), Xa = { class: "d-flex align-items-center me-2" }, Qa = /* @__PURE__ */ S({
5177
+ }), Xa = { class: "d-flex align-items-center me-2" }, Qa = /* @__PURE__ */ C({
5132
5178
  __name: "UploadStatus",
5133
5179
  props: {
5134
5180
  fileSize: {},
@@ -5137,7 +5183,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5137
5183
  uploadStatus: {}
5138
5184
  },
5139
5185
  setup(e) {
5140
- const t = e, a = z(() => t.uploadStatus === "Failed" || t.uploadStatus === "InvalidFileType" || t.uploadStatus === "InvalidFileSize" ? "danger" : "warning"), i = z(() => {
5186
+ const t = e, a = T(() => t.uploadStatus === "Failed" || t.uploadStatus === "InvalidFileType" || t.uploadStatus === "InvalidFileSize" ? "danger" : "warning"), i = T(() => {
5141
5187
  switch (t.uploadStatus) {
5142
5188
  case "InvalidFileType":
5143
5189
  return "Upload Failed: File type is not accepted.";
@@ -5155,22 +5201,22 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5155
5201
  });
5156
5202
  return (l, n) => {
5157
5203
  const o = pe;
5158
- return r(), v("div", Xa, [
5159
- t.uploadStatus === "Uploading" ? (r(), y(o, {
5204
+ return d(), v("div", Xa, [
5205
+ t.uploadStatus === "Uploading" ? (d(), y(o, {
5160
5206
  key: 0,
5161
5207
  "in-line": ""
5162
- })) : C("", !0),
5163
- t.uploadStatus !== "Uploading" && t.uploadStatus !== "Not Uploaded" && t.uploadStatus !== "Uploaded" && t.uploadStatus !== "Preparing" ? (r(), y(de, {
5208
+ })) : z("", !0),
5209
+ t.uploadStatus !== "Uploading" && t.uploadStatus !== "Not Uploaded" && t.uploadStatus !== "Uploaded" && t.uploadStatus !== "Preparing" ? (d(), y(de, {
5164
5210
  key: 1,
5165
5211
  id: "upload-status-alert",
5166
5212
  severity: a.value,
5167
5213
  class: "mb-0 w-75 ms-auto"
5168
5214
  }, {
5169
5215
  default: f(() => [
5170
- M(B(i.value), 1)
5216
+ M(F(i.value), 1)
5171
5217
  ]),
5172
5218
  _: 1
5173
- }, 8, ["severity"])) : C("", !0)
5219
+ }, 8, ["severity"])) : z("", !0)
5174
5220
  ]);
5175
5221
  };
5176
5222
  }
@@ -5183,7 +5229,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5183
5229
  }, li = {
5184
5230
  class: "text-black-50",
5185
5231
  id: "file-size"
5186
- }, ni = { class: "ms-auto my-auto d-flex align-items-center gap-1" }, oi = /* @__PURE__ */ S({
5232
+ }, ni = { class: "ms-auto my-auto d-flex align-items-center gap-1" }, oi = /* @__PURE__ */ C({
5187
5233
  __name: "FileInfo",
5188
5234
  props: /* @__PURE__ */ R({
5189
5235
  editableFileName: { type: Boolean },
@@ -5202,18 +5248,18 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5202
5248
  }),
5203
5249
  emits: /* @__PURE__ */ R(["deleted"], ["update:file", "update:blobFileName", "update:uploadStatus"]),
5204
5250
  setup(e, { emit: t }) {
5205
- const a = N(e, "file"), i = N(e, "blobFileName"), l = N(e, "uploadStatus"), n = t, o = j(a.value.name), s = j(""), p = j(0), c = j(), x = z(() => e.acceptedFileTypes.some(({ fileType: b }) => b === a.value.type)), d = z(() => a.value.size <= e.maxFileSize), $ = z(() => a.value.type ? a.value.type : Ra().getType(a.value.name)), T = () => {
5251
+ const a = N(e, "file"), i = N(e, "blobFileName"), l = N(e, "uploadStatus"), n = t, o = j(a.value.name), s = j(""), p = j(0), c = j(), h = T(() => e.acceptedFileTypes.some(({ fileType: b }) => b === a.value.type)), r = T(() => a.value.size <= e.maxFileSize), x = T(() => a.value.type ? a.value.type : Ra().getType(a.value.name)), $ = () => {
5206
5252
  o.value != null && (D(), a.value = new File([a.value], o.value, { type: a.value.type, lastModified: (/* @__PURE__ */ new Date()).valueOf() }));
5207
5253
  }, D = () => {
5208
- let b = o.value.split("."), w = Ea.getExtension($.value), I = o.value.split(".").pop();
5209
- b.length === 1 ? I && I.length > 0 && (o.value = [o.value, w].join(".")) : b.length > 1 && I !== w && (o.value = o.value.replace(I, w));
5254
+ let b = o.value.split("."), k = Ea.getExtension(x.value), I = o.value.split(".").pop();
5255
+ b.length === 1 ? I && I.length > 0 && (o.value = [o.value, k].join(".")) : b.length > 1 && I !== k && (o.value = o.value.replace(I, k));
5210
5256
  }, O = async () => {
5211
- if (!x.value || !d.value) {
5212
- l.value = x.value ? "InvalidFileSize" : "InvalidFileType";
5257
+ if (!h.value || !r.value) {
5258
+ l.value = h.value ? "InvalidFileSize" : "InvalidFileType";
5213
5259
  return;
5214
5260
  }
5215
5261
  l.value = "Preparing", c.value = new AbortController();
5216
- const [b, w] = await e.getFileUrlAction(a.value.name);
5262
+ const [b, k] = await e.getFileUrlAction(a.value.name);
5217
5263
  if (!b) {
5218
5264
  l.value = "Failed";
5219
5265
  return;
@@ -5224,12 +5270,12 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5224
5270
  abortSignal: c.value.signal,
5225
5271
  onProgress: (V) => p.value = V.loadedBytes,
5226
5272
  blobHTTPHeaders: {
5227
- blobContentType: $.value,
5273
+ blobContentType: x.value,
5228
5274
  blobContentDisposition: `attachment; filename="${a.value.name}"`
5229
5275
  },
5230
5276
  tags: { temp: "true" }
5231
5277
  };
5232
- await I.uploadData(a.value, g), s.value = b, l.value = "Uploaded", i.value = w;
5278
+ await I.uploadData(a.value, g), s.value = b, l.value = "Uploaded", i.value = k;
5233
5279
  } catch (I) {
5234
5280
  if (I.name === "AbortError") {
5235
5281
  l.value = "Aborted";
@@ -5242,14 +5288,14 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5242
5288
  };
5243
5289
  return ne(() => {
5244
5290
  e.autoUploadToBlob && l.value != "Uploaded" && O();
5245
- }), (b, w) => {
5291
+ }), (b, k) => {
5246
5292
  const I = q;
5247
- return r(), v("div", {
5293
+ return d(), v("div", {
5248
5294
  class: "py-4 px-3 d-flex",
5249
5295
  "data-cy": `file-info-${a.value.name}`
5250
5296
  }, [
5251
5297
  m("div", null, [
5252
- u(qa)(a.value.type) ? (r(), y(u(Ye), {
5298
+ u(qa)(a.value.type) ? (d(), y(u(Ye), {
5253
5299
  key: 0,
5254
5300
  id: "thumbnail-image",
5255
5301
  "image-class": "image-file-thumbnail border",
@@ -5257,7 +5303,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5257
5303
  alt: a.value.name,
5258
5304
  width: "75px",
5259
5305
  preview: ""
5260
- }, null, 8, ["src", "alt"])) : (r(), y(u(P), {
5306
+ }, null, 8, ["src", "alt"])) : (d(), y(u(P), {
5261
5307
  key: 1,
5262
5308
  id: "file-earmark",
5263
5309
  icon: "bi:file-earmark",
@@ -5267,56 +5313,56 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5267
5313
  ]),
5268
5314
  m("div", ti, [
5269
5315
  m("div", null, [
5270
- b.editableFileName ? (r(), y(Gt, {
5316
+ b.editableFileName ? (d(), y(Gt, {
5271
5317
  key: 0,
5272
5318
  id: "edit-file-name",
5273
5319
  modelValue: o.value,
5274
- "onUpdate:modelValue": w[0] || (w[0] = (g) => o.value = g),
5320
+ "onUpdate:modelValue": k[0] || (k[0] = (g) => o.value = g),
5275
5321
  rules: b.customFileNameRules,
5276
5322
  name: a.value.name,
5277
- "complete-action": T
5278
- }, null, 8, ["modelValue", "rules", "name"])) : (r(), v("span", ai, B(o.value), 1))
5323
+ "complete-action": $
5324
+ }, null, 8, ["modelValue", "rules", "name"])) : (d(), v("span", ai, F(o.value), 1))
5279
5325
  ]),
5280
- m("span", ii, "File type: " + B(a.value.type.split("/").pop()), 1),
5281
- m("span", li, "File size: " + B(u(me)(a.value.size)), 1)
5326
+ m("span", ii, "File type: " + F(a.value.type.split("/").pop()), 1),
5327
+ m("span", li, "File size: " + F(u(me)(a.value.size)), 1)
5282
5328
  ]),
5283
5329
  m("div", ni, [
5284
- (r(), y(Qa, {
5330
+ (d(), y(Qa, {
5285
5331
  key: l.value,
5286
5332
  "file-size": a.value.size,
5287
5333
  "upload-status": l.value,
5288
5334
  "bytes-uploaded": p.value,
5289
5335
  "max-file-size": b.maxFileSize
5290
5336
  }, null, 8, ["file-size", "upload-status", "bytes-uploaded", "max-file-size"])),
5291
- l.value === "Not Uploaded" || l.value === "Failed" || l.value === "Duplicate" || l.value === "Aborted" ? (r(), y(I, {
5337
+ l.value === "Not Uploaded" || l.value === "Failed" || l.value === "Duplicate" || l.value === "Aborted" ? (d(), y(I, {
5292
5338
  key: 0,
5293
5339
  link: "",
5294
5340
  onClick: O
5295
5341
  }, {
5296
5342
  default: f(() => [
5297
- h(u(P), {
5343
+ w(u(P), {
5298
5344
  icon: l.value === "Not Uploaded" || l.value === "Duplicate" ? "bi:upload" : "bi:arrow-clockwise"
5299
5345
  }, null, 8, ["icon"])
5300
5346
  ]),
5301
5347
  _: 1
5302
- })) : C("", !0),
5303
- l.value === "Uploading" ? (r(), y(I, {
5348
+ })) : z("", !0),
5349
+ l.value === "Uploading" ? (d(), y(I, {
5304
5350
  key: 1,
5305
5351
  link: "",
5306
- onClick: w[1] || (w[1] = (g) => c.value.abort())
5352
+ onClick: k[1] || (k[1] = (g) => c.value.abort())
5307
5353
  }, {
5308
5354
  default: f(() => [
5309
- h(u(P), { icon: "bi:x-circle-fill" })
5355
+ w(u(P), { icon: "bi:x-circle-fill" })
5310
5356
  ]),
5311
5357
  _: 1
5312
- })) : (r(), y(I, {
5358
+ })) : (d(), y(I, {
5313
5359
  key: 2,
5314
5360
  link: "",
5315
5361
  onClick: U,
5316
5362
  id: "delete-button"
5317
5363
  }, {
5318
5364
  default: f(() => [
5319
- h(u(P), { icon: "bi:trash" })
5365
+ w(u(P), { icon: "bi:trash" })
5320
5366
  ]),
5321
5367
  _: 1
5322
5368
  }))
@@ -5324,19 +5370,19 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5324
5370
  ], 8, ei);
5325
5371
  };
5326
5372
  }
5327
- }), si = { class: "d-flex justify-content-end mt-1 gap-1" }, ri = { id: "max-file-size" }, di = { id: "max-file-input" }, pi = /* @__PURE__ */ S({
5373
+ }), si = { class: "d-flex justify-content-end mt-1 gap-1" }, ri = { id: "max-file-size" }, di = { id: "max-file-input" }, pi = /* @__PURE__ */ C({
5328
5374
  __name: "FileInputInfo",
5329
5375
  props: {
5330
5376
  maxFileSize: {},
5331
5377
  maxFileInput: {}
5332
5378
  },
5333
5379
  setup(e) {
5334
- return (t, a) => (r(), v("div", si, [
5335
- m("div", ri, "Max file size: " + B(u(me)(t.maxFileSize)), 1),
5336
- m("div", di, "| Max file count: " + B(t.maxFileInput), 1)
5380
+ return (t, a) => (d(), v("div", si, [
5381
+ m("div", ri, "Max file size: " + F(u(me)(t.maxFileSize)), 1),
5382
+ m("div", di, "| Max file count: " + F(t.maxFileInput), 1)
5337
5383
  ]));
5338
5384
  }
5339
- }), ci = { "data-cy": "file-uploader" }, ui = { key: 0 }, hl = /* @__PURE__ */ S({
5385
+ }), ci = { "data-cy": "file-uploader" }, ui = { key: 0 }, xl = /* @__PURE__ */ C({
5340
5386
  __name: "ForgeFileUploader",
5341
5387
  props: /* @__PURE__ */ R({
5342
5388
  acceptedFileTypes: {},
@@ -5356,13 +5402,13 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5356
5402
  const t = N(e, "modelValue"), a = e, i = (l) => {
5357
5403
  t.value = t.value.filter((n) => n.file != l);
5358
5404
  };
5359
- return (l, n) => (r(), v("div", ci, [
5360
- h(Ya, _(a, {
5405
+ return (l, n) => (d(), v("div", ci, [
5406
+ w(Ya, _(a, {
5361
5407
  modelValue: t.value,
5362
5408
  "onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o)
5363
5409
  }), null, 16, ["modelValue"]),
5364
- l.showDragDropArea ? (r(), v("div", ui, [
5365
- h(Za, {
5410
+ l.showDragDropArea ? (d(), v("div", ui, [
5411
+ w(Za, {
5366
5412
  "max-file-input": a.maxFileInput,
5367
5413
  "max-file-size": a.maxFileSize,
5368
5414
  "accepted-file-types": a.acceptedFileTypes,
@@ -5370,8 +5416,8 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5370
5416
  "onUpdate:modelValue": n[1] || (n[1] = (o) => t.value = o)
5371
5417
  }, {
5372
5418
  default: f(() => [
5373
- (r(!0), v(A, null, E(t.value, ({ file: o }, s) => (r(), v("div", null, [
5374
- (r(), y(oi, _({
5419
+ (d(!0), v(A, null, E(t.value, ({ file: o }, s) => (d(), v("div", null, [
5420
+ (d(), y(oi, _({
5375
5421
  key: o.name,
5376
5422
  class: s === t.value.length - 1 || t.value.length == 1 ? "" : "border-bottom",
5377
5423
  file: t.value[s].file,
@@ -5386,14 +5432,14 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5386
5432
  ]),
5387
5433
  _: 1
5388
5434
  }, 8, ["max-file-input", "max-file-size", "accepted-file-types", "modelValue"]),
5389
- h(pi, {
5435
+ w(pi, {
5390
5436
  "max-file-size": a.maxFileSize,
5391
5437
  "max-file-input": l.maxFileInput
5392
5438
  }, null, 8, ["max-file-size", "max-file-input"])
5393
- ])) : C("", !0)
5439
+ ])) : z("", !0)
5394
5440
  ]));
5395
5441
  }
5396
- }), mi = { class: "d-flex" }, vi = { class: "me-3" }, fi = { class: "ms-2" }, gi = { class: "d-flex flex-column w-100" }, wl = /* @__PURE__ */ S({
5442
+ }), mi = { class: "d-flex" }, vi = { class: "me-3" }, fi = { class: "ms-2" }, gi = { class: "d-flex flex-column w-100" }, wl = /* @__PURE__ */ C({
5397
5443
  __name: "ForgeColumnCustomiser",
5398
5444
  props: {
5399
5445
  modelValue: { required: !0 },
@@ -5404,19 +5450,19 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5404
5450
  const t = N(e, "modelValue"), a = j(), i = j(!1), l = (n) => {
5405
5451
  a.value.toggle(n);
5406
5452
  };
5407
- return (n, o) => (r(), v(A, null, [
5408
- h(u(q), {
5453
+ return (n, o) => (d(), v(A, null, [
5454
+ w(u(q), {
5409
5455
  onClick: l,
5410
5456
  class: "ms-2"
5411
5457
  }, {
5412
5458
  default: f(() => [
5413
5459
  m("div", mi, [
5414
5460
  m("div", vi, [
5415
- h(u(P), { icon: "bi:layout-three-columns" })
5461
+ w(u(P), { icon: "bi:layout-three-columns" })
5416
5462
  ]),
5417
- M(" Columns (" + B(t.value.filter((s) => s.selected).length ?? 0) + "/" + B(t.value.length ?? 0) + ") ", 1),
5463
+ M(" Columns (" + F(t.value.filter((s) => s.selected).length ?? 0) + "/" + F(t.value.length ?? 0) + ") ", 1),
5418
5464
  m("div", fi, [
5419
- h(u(P), {
5465
+ w(u(P), {
5420
5466
  icon: i.value ? "bi:chevron-up" : "bi:chevron-down"
5421
5467
  }, null, 8, ["icon"])
5422
5468
  ])
@@ -5424,7 +5470,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5424
5470
  ]),
5425
5471
  _: 1
5426
5472
  }),
5427
- h(u(be), {
5473
+ w(u(be), {
5428
5474
  ref_key: "columnCustomiserPanel",
5429
5475
  ref: a,
5430
5476
  class: "column-customiser",
@@ -5433,15 +5479,15 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5433
5479
  }, {
5434
5480
  default: f(() => [
5435
5481
  m("div", gi, [
5436
- (r(!0), v(A, null, E(t.value, (s, p) => (r(), v("div", {
5437
- class: F(["d-flex cursor-pointer", {
5482
+ (d(!0), v(A, null, E(t.value, (s, p) => (d(), v("div", {
5483
+ class: S(["d-flex cursor-pointer", {
5438
5484
  "border-top": p !== 0,
5439
5485
  "py-1": p !== 0 && t.value.length - 1 !== p,
5440
5486
  "pt-1": t.value.length - 1 === p,
5441
5487
  "pb-1": p === 0
5442
5488
  }])
5443
5489
  }, [
5444
- h(ye, {
5490
+ w(ye, {
5445
5491
  id: s.field,
5446
5492
  modelValue: s.selected,
5447
5493
  "onUpdate:modelValue": (c) => s.selected = c,
@@ -5456,19 +5502,19 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5456
5502
  }, 512)
5457
5503
  ], 64));
5458
5504
  }
5459
- }), kl = /* @__PURE__ */ S({
5505
+ }), kl = /* @__PURE__ */ C({
5460
5506
  __name: "ForgePanel",
5461
5507
  setup(e) {
5462
5508
  return (t, a) => {
5463
5509
  const i = Je;
5464
- return r(), y(i, W(G({ ...t.$attrs })), ae({
5510
+ return d(), y(i, W(G({ ...t.$attrs })), ae({
5465
5511
  toggleicon: f(({ collapsed: l }) => [
5466
- l ? (r(), y(u(P), {
5512
+ l ? (d(), y(u(P), {
5467
5513
  key: 0,
5468
5514
  "data-cy": "message-icon",
5469
5515
  icon: "bi:chevron-down"
5470
- })) : C("", !0),
5471
- l ? C("", !0) : (r(), y(u(P), {
5516
+ })) : z("", !0),
5517
+ l ? z("", !0) : (d(), y(u(P), {
5472
5518
  key: 1,
5473
5519
  "data-cy": "message-icon",
5474
5520
  icon: "bi:chevron-up"
@@ -5479,19 +5525,19 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5479
5525
  E(t.$slots, (l, n) => ({
5480
5526
  name: n,
5481
5527
  fn: f((o) => [
5482
- k(t.$slots, n, W(G(o)))
5528
+ B(t.$slots, n, W(G(o)))
5483
5529
  ])
5484
5530
  }))
5485
5531
  ]), 1040);
5486
5532
  };
5487
5533
  }
5488
- }), bi = /* @__PURE__ */ S({
5534
+ }), bi = /* @__PURE__ */ C({
5489
5535
  __name: "ForgeToggleButton",
5490
5536
  props: {
5491
5537
  severity: { default: "primary" }
5492
5538
  },
5493
5539
  setup(e) {
5494
- const t = e, a = z(() => ({
5540
+ const t = e, a = T(() => ({
5495
5541
  root: (i) => ({
5496
5542
  class: [
5497
5543
  "btn",
@@ -5512,7 +5558,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5512
5558
  ]
5513
5559
  })
5514
5560
  }));
5515
- return (i, l) => (r(), y(u(Ke), _({ ...i.$attrs, ...t }, {
5561
+ return (i, l) => (d(), y(u(Ke), _({ ...i.$attrs, ...t }, {
5516
5562
  severity: t.severity,
5517
5563
  pt: a.value
5518
5564
  }), null, 16, ["severity", "pt"]));
@@ -5520,7 +5566,7 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5520
5566
  }), yi = {
5521
5567
  class: "btn-group",
5522
5568
  "data-cy": "forge-select-button"
5523
- }, $l = /* @__PURE__ */ S({
5569
+ }, $l = /* @__PURE__ */ C({
5524
5570
  __name: "ForgeSelectButton",
5525
5571
  props: /* @__PURE__ */ R({
5526
5572
  options: {},
@@ -5550,8 +5596,8 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5550
5596
  } else
5551
5597
  a.value = a.value === n.value && t.allowEmpty ? null : n.value;
5552
5598
  };
5553
- return (n, o) => (r(), v("div", yi, [
5554
- (r(!0), v(A, null, E(n.options, (s, p) => (r(), y(bi, {
5599
+ return (n, o) => (d(), v("div", yi, [
5600
+ (d(!0), v(A, null, E(n.options, (s, p) => (d(), y(bi, {
5555
5601
  key: p,
5556
5602
  onLabel: s.label,
5557
5603
  offLabel: s.label,
@@ -5564,10 +5610,10 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5564
5610
  }, null, 8, ["onLabel", "offLabel", "severity", "onChange", "defaultValue", "disabled", "data-cy", "invalid"]))), 128))
5565
5611
  ]));
5566
5612
  }
5567
- }), Bl = /* @__PURE__ */ S({
5613
+ }), Bl = /* @__PURE__ */ C({
5568
5614
  __name: "ForgeConfirmPopup",
5569
5615
  setup(e) {
5570
- const t = z(() => ({
5616
+ const t = T(() => ({
5571
5617
  root: [
5572
5618
  "card w-fit-content position-absolute"
5573
5619
  ],
@@ -5578,9 +5624,9 @@ const Ha = { class: "d-flex justify-content-between" }, Wa = ["accept", "disable
5578
5624
  pcRejectButton: { root: "btn btn-outline-primary btn-sm" },
5579
5625
  pcAcceptButton: { root: "btn btn-primary btn-sm" }
5580
5626
  }));
5581
- return (a, i) => (r(), y(u(Ze), _({ pt: t.value }, { ...a.$attrs, ...a.$props }), {
5627
+ return (a, i) => (d(), y(u(Ze), _({ pt: t.value }, { ...a.$attrs, ...a.$props }), {
5582
5628
  default: f(() => [
5583
- (r(!0), v(A, null, E(a.$slots, (l, n) => k(a.$slots, n, { slot: n })), 256))
5629
+ (d(!0), v(A, null, E(a.$slots, (l, n) => B(a.$slots, n, { slot: n })), 256))
5584
5630
  ]),
5585
5631
  _: 3
5586
5632
  }, 16, ["pt"]));
@@ -5604,9 +5650,9 @@ export {
5604
5650
  cl as ForgeChip,
5605
5651
  wl as ForgeColumnCustomiser,
5606
5652
  Bl as ForgeConfirmPopup,
5607
- xe as ForgeDatepicker,
5608
- hl as ForgeFileUploader,
5609
- xl as ForgeFilterHeader,
5653
+ he as ForgeDatepicker,
5654
+ xl as ForgeFileUploader,
5655
+ hl as ForgeFilterHeader,
5610
5656
  dl as ForgeForm,
5611
5657
  pl as ForgeFormField,
5612
5658
  Gt as ForgeInlineEditor,