@citruslime/ui 2.0.0-beta.21 → 2.0.0-beta.24

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.
@@ -36,8 +36,8 @@ import { generateStringId } from "@citruslime/utils";
36
36
  import { createI18n, useI18n } from "vue-i18n";
37
37
  import Flatpickr from "flatpickr";
38
38
  import { useDebouncer, copy } from "@citruslime/vue-utils";
39
- const _hoisted_1$u = { class: "cl-overflow-hidden" };
40
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
39
+ const _hoisted_1$w = { class: "cl-overflow-hidden" };
40
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
41
41
  props: {
42
42
  exclusive: { type: Boolean, default: false }
43
43
  },
@@ -69,17 +69,17 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
69
69
  }
70
70
  }
71
71
  return (_ctx, _cache) => {
72
- return openBlock(), createElementBlock("div", _hoisted_1$u, [
72
+ return openBlock(), createElementBlock("div", _hoisted_1$w, [
73
73
  renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ isItemOpen, toggleItem })))
74
74
  ]);
75
75
  };
76
76
  }
77
77
  });
78
- const _hoisted_1$t = { class: "cl-absolute cl-left-5 cl-top-5" };
78
+ const _hoisted_1$v = { class: "cl-absolute cl-left-5 cl-top-5" };
79
79
  const _hoisted_2$n = { class: "cl-font-semibold cl-ml-10 cl-p-4 cl-select-none cl-text-grey-5" };
80
80
  const _hoisted_3$h = { class: "cl-overflow-hidden" };
81
81
  const _hoisted_4$d = { class: "cl-ml-10 cl-p-4" };
82
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
82
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
83
83
  props: {
84
84
  open: { type: Boolean },
85
85
  disabled: { type: Boolean, default: false }
@@ -104,7 +104,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
104
104
  }]),
105
105
  onClick: toggle
106
106
  }, [
107
- createElementVNode("div", _hoisted_1$t, [
107
+ createElementVNode("div", _hoisted_1$v, [
108
108
  createVNode(_component_icon, {
109
109
  class: normalizeClass(["cl-duration-300 cl-ease-in-out cl-text-grey-3 cl-transform-gpu cl-transition-transform", {
110
110
  "cl-rotate-180": __props.open
@@ -140,14 +140,14 @@ var _export_sfc = (sfc, props) => {
140
140
  }
141
141
  return target;
142
142
  };
143
- const _sfc_main$t = {};
144
- const _hoisted_1$s = { class: "cl-border-b cl-border-grey-1 cl-font-semibold cl-pl-14 cl-pr-4 cl-py-2 cl-text-grey-3 cl-text-sm" };
145
- function _sfc_render$5(_ctx, _cache) {
146
- return openBlock(), createElementBlock("div", _hoisted_1$s, [
143
+ const _sfc_main$w = {};
144
+ const _hoisted_1$u = { class: "cl-border-b cl-border-grey-1 cl-font-semibold cl-pl-14 cl-pr-4 cl-py-2 cl-text-grey-3 cl-text-sm" };
145
+ function _sfc_render$6(_ctx, _cache) {
146
+ return openBlock(), createElementBlock("div", _hoisted_1$u, [
147
147
  renderSlot(_ctx.$slots, "default")
148
148
  ]);
149
149
  }
150
- var clUiAccordionHeader = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["render", _sfc_render$5]]);
150
+ var clUiAccordionHeader = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$6]]);
151
151
  const notifications = ref([]);
152
152
  function showNotification(notification) {
153
153
  const newNotification = __spreadValues({
@@ -159,12 +159,12 @@ function showNotification(notification) {
159
159
  function removeNotification(notification) {
160
160
  notifications.value = notifications.value.filter((n) => n.id !== notification.id);
161
161
  }
162
- const _hoisted_1$r = ["onClick"];
162
+ const _hoisted_1$t = ["onClick"];
163
163
  const _hoisted_2$m = { class: "cl-flex-1 cl-select-none cl-text-ellipsis cl-w-64" };
164
164
  const __default__$4 = {
165
165
  inheritAttrs: false
166
166
  };
167
- const _sfc_main$s = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
167
+ const _sfc_main$v = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
168
168
  props: {
169
169
  container: { default: "body" },
170
170
  position: { default: "top-right" }
@@ -202,23 +202,23 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
202
202
  size: 16,
203
203
  weight: "bold"
204
204
  })
205
- ], 16, _hoisted_1$r);
205
+ ], 16, _hoisted_1$t);
206
206
  }), 128))
207
207
  ], 2)
208
208
  ], 8, ["to"]);
209
209
  };
210
210
  }
211
211
  }));
212
- const _hoisted_1$q = { class: "cl-absolute cl-flex cl-flex-wrap cl-h-screen cl-max-h-screen cl-max-w-full cl-min-h-screen cl-min-w-full cl-w-full" };
213
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
212
+ const _hoisted_1$s = { class: "cl-absolute cl-flex cl-flex-wrap cl-h-screen cl-max-h-screen cl-max-w-full cl-min-h-screen cl-min-w-full cl-w-full" };
213
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
214
214
  props: {
215
215
  removePadding: { type: Boolean, default: false }
216
216
  },
217
217
  setup(__props) {
218
218
  return (_ctx, _cache) => {
219
219
  return openBlock(), createElementBlock(Fragment, null, [
220
- createVNode(_sfc_main$s),
221
- createElementVNode("div", _hoisted_1$q, [
220
+ createVNode(_sfc_main$v),
221
+ createElementVNode("div", _hoisted_1$s, [
222
222
  renderSlot(_ctx.$slots, "header"),
223
223
  createElementVNode("div", {
224
224
  class: normalizeClass(["cl-content-start cl-flex cl-flex-nowrap cl-items-stretch cl-max-h-screen cl-relative cl-w-full", {
@@ -240,17 +240,17 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
240
240
  }
241
241
  });
242
242
  var clUiLoadingSpinner_vue_vue_type_style_index_0_scoped_true_lang = "";
243
- const _sfc_main$q = {};
244
- const _hoisted_1$p = { class: "loading-spinner" };
245
- function _sfc_render$4(_ctx, _cache) {
246
- return openBlock(), createElementBlock("div", _hoisted_1$p);
243
+ const _sfc_main$t = {};
244
+ const _hoisted_1$r = { class: "loading-spinner" };
245
+ function _sfc_render$5(_ctx, _cache) {
246
+ return openBlock(), createElementBlock("div", _hoisted_1$r);
247
247
  }
248
- var ClUiLoadingSpinner = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$4], ["__scopeId", "data-v-60d7cfd0"]]);
249
- const _hoisted_1$o = ["disabled"];
248
+ var ClUiLoadingSpinner = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["render", _sfc_render$5], ["__scopeId", "data-v-60d7cfd0"]]);
249
+ const _hoisted_1$q = ["disabled"];
250
250
  const __default__$3 = {
251
251
  inheritAttrs: false
252
252
  };
253
- const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
253
+ const _sfc_main$s = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
254
254
  props: {
255
255
  colour: { default: "default" },
256
256
  size: { default: "medium" },
@@ -278,7 +278,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
278
278
  disabled: __props.disabled
279
279
  }), [
280
280
  renderSlot(_ctx.$slots, "default")
281
- ], 16, _hoisted_1$o), [
281
+ ], 16, _hoisted_1$q), [
282
282
  [vShow, !__props.loading]
283
283
  ])
284
284
  ], 64);
@@ -297,8 +297,8 @@ const buttonSizes = [
297
297
  "medium",
298
298
  "large"
299
299
  ];
300
- const _hoisted_1$n = { key: 0 };
301
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
300
+ const _hoisted_1$p = { key: 0 };
301
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
302
302
  props: {
303
303
  size: { default: "medium" },
304
304
  hover: { type: Boolean, default: false }
@@ -310,7 +310,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
310
310
  "cl-cursor-pointer hover:cl-shadow-xl hover:cl-border-grey-0": __props.hover
311
311
  }])
312
312
  }, [
313
- _ctx.$slots.image ? (openBlock(), createElementBlock("div", _hoisted_1$n, [
313
+ _ctx.$slots.image ? (openBlock(), createElementBlock("div", _hoisted_1$p, [
314
314
  renderSlot(_ctx.$slots, "image")
315
315
  ])) : createCommentVNode("", true),
316
316
  _ctx.$slots.title ? (openBlock(), createElementBlock("div", {
@@ -353,16 +353,15 @@ const cardSizes = [
353
353
  "medium",
354
354
  "large"
355
355
  ];
356
- var NumberFormat;
357
- (function(NumberFormat2) {
356
+ var NumberFormat = /* @__PURE__ */ ((NumberFormat2) => {
358
357
  NumberFormat2["CURRENCY"] = "currency";
359
358
  NumberFormat2["PERCENTAGE"] = "percentage";
360
359
  NumberFormat2["INTEGER"] = "integer";
361
360
  NumberFormat2["DECIMAL"] = "decimal";
362
361
  NumberFormat2["MULTIPLIER"] = "multiplier";
363
- })(NumberFormat || (NumberFormat = {}));
364
- var DateFormat;
365
- (function(DateFormat2) {
362
+ return NumberFormat2;
363
+ })(NumberFormat || {});
364
+ var DateFormat = /* @__PURE__ */ ((DateFormat2) => {
366
365
  DateFormat2["SHORT_DATE"] = "short-date";
367
366
  DateFormat2["SHORT_DATETIME"] = "short-datetime";
368
367
  DateFormat2["DATE"] = "date";
@@ -371,7 +370,8 @@ var DateFormat;
371
370
  DateFormat2["LONG_DATETIME"] = "long-datetime";
372
371
  DateFormat2["TIME"] = "time";
373
372
  DateFormat2["MONTH_YEAR"] = "month-year";
374
- })(DateFormat || (DateFormat = {}));
373
+ return DateFormat2;
374
+ })(DateFormat || {});
375
375
  const messages = {
376
376
  "en-GB": {
377
377
  comboBox: {
@@ -554,7 +554,7 @@ function validateMinValue(minimumValue, typeOfValue, valueName, actualValue) {
554
554
  valid: false,
555
555
  message: ""
556
556
  };
557
- if (minimumValue) {
557
+ if (minimumValue !== null && minimumValue !== void 0) {
558
558
  let isValid;
559
559
  let timeValue;
560
560
  switch (typeOfValue) {
@@ -604,7 +604,7 @@ function validateMaxValue(maximumValue, typeOfValue, valueName, actualValue) {
604
604
  valid: false,
605
605
  message: ""
606
606
  };
607
- if (maximumValue) {
607
+ if (maximumValue !== null && maximumValue !== void 0) {
608
608
  let isValid;
609
609
  let timeValue;
610
610
  switch (typeOfValue) {
@@ -1085,22 +1085,11 @@ var nl = { exports: {} };
1085
1085
  Object.defineProperty(exports2, "__esModule", { value: true });
1086
1086
  });
1087
1087
  })(nl, nl.exports);
1088
- var FixedDate;
1089
- (function(FixedDate2) {
1090
- FixedDate2["YEAR"] = "1990";
1091
- FixedDate2["MONTH"] = "01";
1092
- FixedDate2["MONTH_SHORT"] = "1";
1093
- FixedDate2["DAY"] = "02";
1094
- FixedDate2["DAY_SHORT"] = "2";
1095
- FixedDate2["HOUR"] = "12";
1096
- FixedDate2["MINUTE"] = "05";
1097
- FixedDate2["SUFFIX"] = "PM";
1098
- })(FixedDate || (FixedDate = {}));
1099
1088
  function generateFixedDate() {
1100
- return new Date(`${FixedDate.YEAR}-${FixedDate.MONTH}-${FixedDate.DAY}T${FixedDate.HOUR}:${FixedDate.MINUTE}`);
1089
+ return new Date(`${"1990"}-${"01"}-${"02"}T${"12"}:${"05"}`);
1101
1090
  }
1102
1091
  function replaceDateWithPlaceholders(date, hourPlaceholder, yearPlaceholder) {
1103
- return date.replace(FixedDate.YEAR, yearPlaceholder).replace(FixedDate.HOUR, hourPlaceholder).replace(FixedDate.MONTH, "m").replace(FixedDate.MONTH_SHORT, "n").replace(FixedDate.DAY, "d").replace(FixedDate.DAY_SHORT, "j").replace(FixedDate.MINUTE, "i").replace(FixedDate.SUFFIX, "K");
1092
+ return date.replace("1990", yearPlaceholder).replace("12", hourPlaceholder).replace("01", "m").replace("1", "n").replace("02", "d").replace("2", "j").replace("05", "i").replace("PM", "K");
1104
1093
  }
1105
1094
  function getLocale(locale) {
1106
1095
  let result;
@@ -1155,9 +1144,9 @@ function getFormattedTimeForMinMax(date) {
1155
1144
  }
1156
1145
  var clUiCalendar_vue_vue_type_style_index_0_lang = "";
1157
1146
  var clUiCalendar_vue_vue_type_style_index_1_scoped_true_lang = "";
1158
- const _hoisted_1$m = ["placeholder", "disabled"];
1147
+ const _hoisted_1$o = ["placeholder", "disabled"];
1159
1148
  const _hoisted_2$l = { class: "cl-absolute cl-bg-white cl-flex cl-right-2 cl-text-grey-4 cl-top-3.5" };
1160
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
1149
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1161
1150
  props: {
1162
1151
  date: { default: null },
1163
1152
  datePlaceholder: { default: "Select date." },
@@ -1343,7 +1332,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1343
1332
  type: "text",
1344
1333
  placeholder: unref(placeholder),
1345
1334
  disabled: __props.disabled
1346
- }), null, 16, _hoisted_1$m),
1335
+ }), null, 16, _hoisted_1$o),
1347
1336
  withDirectives(createVNode(_component_icon, {
1348
1337
  class: normalizeClass(["cl-absolute cl-bg-white cl-right-2 cl-text-grey-4 cl-top-3.5", {
1349
1338
  "!cl-bg-off-white": __props.disabled
@@ -1384,14 +1373,14 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1384
1373
  };
1385
1374
  }
1386
1375
  });
1387
- var clUiCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-533d446d"]]);
1376
+ var clUiCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-533d446d"]]);
1388
1377
  const calendarTypes = [
1389
1378
  "date",
1390
1379
  "datetime",
1391
1380
  "time"
1392
1381
  ];
1393
1382
  var clUiSlider_vue_vue_type_style_index_0_scoped_true_lang = "";
1394
- const _hoisted_1$l = { class: "cl-flex cl-flex-wrap cl-items-center" };
1383
+ const _hoisted_1$n = { class: "cl-flex cl-flex-wrap cl-items-center" };
1395
1384
  const _hoisted_2$k = { class: "cl-flex cl-flex-1 cl-flex-wrap cl-items-center cl-mb-2 cl-mt-3 cl-relative md:cl-mt-0" };
1396
1385
  const _hoisted_3$g = { class: "cl-absolute cl-bg-grey-0 cl-leading-6 cl-ml-0 cl-px-3 cl-rounded-full cl-text-center cl-text-xs cl-top-full" };
1397
1386
  const _hoisted_4$c = {
@@ -1404,7 +1393,7 @@ const _hoisted_7$7 = {
1404
1393
  key: 1,
1405
1394
  class: "emphasis-danger text-sm w-full"
1406
1395
  };
1407
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
1396
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1408
1397
  props: {
1409
1398
  value: null,
1410
1399
  min: null,
@@ -1459,7 +1448,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1459
1448
  withDirectives(createElementVNode("div", { class: "cl-bg-transparent cl-relative cl-text-center cl-text-sm" }, toDisplayString(unref(currentValue)), 513), [
1460
1449
  [vShow, !__props.showNumericInput]
1461
1450
  ]),
1462
- createElementVNode("div", _hoisted_1$l, [
1451
+ createElementVNode("div", _hoisted_1$n, [
1463
1452
  withDirectives(createVNode(_component_cl_ui_input, {
1464
1453
  modelValue: numericInputValue.value,
1465
1454
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => numericInputValue.value = $event),
@@ -1503,7 +1492,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1503
1492
  };
1504
1493
  }
1505
1494
  });
1506
- var clUiSlider = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-26895858"]]);
1495
+ var clUiSlider = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-26895858"]]);
1507
1496
  function isInputText(type) {
1508
1497
  let isText = false;
1509
1498
  switch (type) {
@@ -1555,7 +1544,7 @@ function getInputTypeAsCalendarType(type) {
1555
1544
  return calendarType;
1556
1545
  }
1557
1546
  var clUiInput_vue_vue_type_style_index_0_scoped_true_lang = "";
1558
- const _hoisted_1$k = { class: "cl-align-top cl-border-none cl-inline-block cl-text-left" };
1547
+ const _hoisted_1$m = { class: "cl-align-top cl-border-none cl-inline-block cl-text-left" };
1559
1548
  const _hoisted_2$j = { class: "cl-flex cl-justify-between" };
1560
1549
  const _hoisted_3$f = { class: "cl-w-full" };
1561
1550
  const _hoisted_4$b = {
@@ -1580,7 +1569,7 @@ const _hoisted_10$5 = {
1580
1569
  key: 1,
1581
1570
  class: "cl-bg-danger-light cl-px-2 cl-rounded-md cl-text-center cl-text-danger-default cl-text-xs cl-w-auto cl-whitespace-pre-line"
1582
1571
  };
1583
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
1572
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1584
1573
  props: {
1585
1574
  inputType: { default: "text" },
1586
1575
  modelValue: { type: [String, Number, Boolean, Date, null], default: void 0 },
@@ -1771,7 +1760,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1771
1760
  watch(() => props.externalErrors, () => updateAndValidateValue(currentValue.value));
1772
1761
  return (_ctx, _cache) => {
1773
1762
  const _component_icon = resolveComponent("icon");
1774
- return openBlock(), createElementBlock("div", _hoisted_1$k, [
1763
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [
1775
1764
  createElementVNode("div", {
1776
1765
  onMouseenter: _cache[10] || (_cache[10] = ($event) => toggleFocus(true)),
1777
1766
  onMouseleave: _cache[11] || (_cache[11] = ($event) => toggleFocus(false))
@@ -1893,14 +1882,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1893
1882
  };
1894
1883
  }
1895
1884
  });
1896
- var ClUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-007f3e50"]]);
1897
- const _hoisted_1$j = { class: "cl-align-items-center cl-bg-black cl-bg-opacity-40 cl-bottom-0 cl-fixed cl-flex cl-h-screen cl-justify-center cl-left-0 cl-right-0 cl-top-0 cl-w-full cl-z-40" };
1885
+ var ClUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-007f3e50"]]);
1886
+ const _hoisted_1$l = { class: "cl-align-items-center cl-bg-black cl-bg-opacity-40 cl-bottom-0 cl-fixed cl-flex cl-h-screen cl-justify-center cl-left-0 cl-right-0 cl-top-0 cl-w-full cl-z-40" };
1898
1887
  const _hoisted_2$i = ["onKeypress"];
1899
1888
  const _hoisted_3$e = { class: "cl-overflow-y-auto cl-p-2 cl-w-full" };
1900
1889
  const __default__$2 = {
1901
1890
  inheritAttrs: false
1902
1891
  };
1903
- const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
1892
+ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
1904
1893
  props: {
1905
1894
  headerColour: { default: "white" },
1906
1895
  preventClose: { type: Boolean, default: false },
@@ -1931,7 +1920,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1931
1920
  (openBlock(), createBlock(Teleport, { to: "body" }, [
1932
1921
  createVNode(Transition, { name: "fade" }, {
1933
1922
  default: withCtx(() => [
1934
- withDirectives(createElementVNode("div", _hoisted_1$j, [
1923
+ withDirectives(createElementVNode("div", _hoisted_1$l, [
1935
1924
  createElementVNode("div", mergeProps(_ctx.$attrs, {
1936
1925
  class: ["cl-bg-white cl-flex cl-flex-wrap cl-mx-0 cl-my-auto cl-overflow-y-auto cl-relative cl-rounded-lg cl-shadow-lg", {
1937
1926
  "lg:cl-w-2/12 cl-w-10/12": __props.size === "x-small",
@@ -1978,12 +1967,12 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1978
1967
  };
1979
1968
  }
1980
1969
  }));
1981
- const _hoisted_1$i = { class: "cl-bg-grey-2 cl-border-b cl-border-grey-2 cl-border-t cl-flex cl-p-1" };
1970
+ const _hoisted_1$k = { class: "cl-bg-grey-2 cl-border-b cl-border-grey-2 cl-border-t cl-flex cl-p-1" };
1982
1971
  const _hoisted_2$h = {
1983
1972
  key: 0,
1984
1973
  class: "cl-w-1/2"
1985
1974
  };
1986
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
1975
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1987
1976
  props: {
1988
1977
  showClearButton: { type: Boolean, default: false },
1989
1978
  text: { default: "" },
@@ -1995,7 +1984,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
1995
1984
  setup(__props) {
1996
1985
  return (_ctx, _cache) => {
1997
1986
  const _component_icon = resolveComponent("icon");
1998
- return openBlock(), createElementBlock("div", _hoisted_1$i, [
1987
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
1999
1988
  __props.additionalText !== "" ? (openBlock(), createElementBlock("div", _hoisted_2$h, toDisplayString(__props.additionalText), 1)) : createCommentVNode("", true),
2000
1989
  createElementVNode("div", {
2001
1990
  class: normalizeClass({
@@ -2018,12 +2007,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2018
2007
  };
2019
2008
  }
2020
2009
  });
2021
- const _hoisted_1$h = {
2010
+ const _hoisted_1$j = {
2022
2011
  key: 0,
2023
2012
  class: "cl-w-1/2"
2024
2013
  };
2025
2014
  const _hoisted_2$g = { class: "cl-float-right cl-py-1.5" };
2026
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
2015
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2027
2016
  props: {
2028
2017
  isCreateNewOption: { type: Boolean, default: false },
2029
2018
  selectedIndex: { default: -1 },
@@ -2085,7 +2074,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2085
2074
  onMousemove: _cache[0] || (_cache[0] = ($event) => onHover(true)),
2086
2075
  onMouseleave: _cache[1] || (_cache[1] = ($event) => onHover(false))
2087
2076
  }, [
2088
- __props.option !== null && ((_a = __props.option) == null ? void 0 : _a.parentId) !== 0 && ((_b = __props.option) == null ? void 0 : _b.parentId) !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_1$h, toDisplayString(unref(displayedParent)), 1)) : createCommentVNode("", true),
2077
+ __props.option !== null && ((_a = __props.option) == null ? void 0 : _a.parentId) !== 0 && ((_b = __props.option) == null ? void 0 : _b.parentId) !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_1$j, toDisplayString(unref(displayedParent)), 1)) : createCommentVNode("", true),
2089
2078
  createElementVNode("div", {
2090
2079
  class: normalizeClass({
2091
2080
  "cl-w-1/2": unref(displayedParent) !== "",
@@ -2104,10 +2093,10 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2104
2093
  };
2105
2094
  }
2106
2095
  });
2107
- const _hoisted_1$g = ["onKeyup"];
2096
+ const _hoisted_1$i = ["onKeyup"];
2108
2097
  const _hoisted_2$f = { class: "cl-flex" };
2109
2098
  const _hoisted_3$d = { key: 5 };
2110
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
2099
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2111
2100
  props: {
2112
2101
  loading: { type: Boolean, default: false },
2113
2102
  objectType: null,
@@ -2256,27 +2245,27 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2256
2245
  [vShow, __props.loading]
2257
2246
  ])
2258
2247
  ]),
2259
- __props.currentObjectName !== "" ? (openBlock(), createBlock(_sfc_main$j, {
2248
+ __props.currentObjectName !== "" ? (openBlock(), createBlock(_sfc_main$m, {
2260
2249
  key: 0,
2261
2250
  "show-clear-button": __props.canClearSelectedObject,
2262
2251
  text: __props.currentObjectName,
2263
2252
  onClearObject: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("clear-object"))
2264
2253
  }, null, 8, ["show-clear-button", "text"])) : createCommentVNode("", true),
2265
- __props.objectParentType !== "" && __props.results !== void 0 && __props.results.length > 0 && __props.errorMessage === "" ? (openBlock(), createBlock(_sfc_main$j, {
2254
+ __props.objectParentType !== "" && __props.results !== void 0 && __props.results.length > 0 && __props.errorMessage === "" ? (openBlock(), createBlock(_sfc_main$m, {
2266
2255
  key: 1,
2267
2256
  text: __props.objectType,
2268
2257
  "additional-text": __props.objectParentType
2269
2258
  }, null, 8, ["text", "additional-text"])) : createCommentVNode("", true),
2270
- __props.results !== null && ((_a = __props.results) == null ? void 0 : _a.length) === 0 && searchText.value.trim() !== "" && __props.canCreateNewObject === false && __props.errorMessage === "" ? (openBlock(), createBlock(_sfc_main$j, {
2259
+ __props.results !== null && ((_a = __props.results) == null ? void 0 : _a.length) === 0 && searchText.value.trim() !== "" && __props.canCreateNewObject === false && __props.errorMessage === "" ? (openBlock(), createBlock(_sfc_main$m, {
2271
2260
  key: 2,
2272
2261
  text: unref(t2)("comboBox.noResults", { value: searchText.value })
2273
2262
  }, null, 8, ["text"])) : createCommentVNode("", true),
2274
- __props.errorMessage !== "" ? (openBlock(), createBlock(_sfc_main$j, {
2263
+ __props.errorMessage !== "" ? (openBlock(), createBlock(_sfc_main$m, {
2275
2264
  key: 3,
2276
2265
  class: "!cl-bg-danger-light cl-border-danger-light cl-rounded cl-text-danger-dark",
2277
2266
  text: unref(t2)("comboBox.errorMessage", { error: __props.errorMessage })
2278
2267
  }, null, 8, ["text"])) : createCommentVNode("", true),
2279
- showAddNewOption.value ? (openBlock(), createBlock(_sfc_main$i, {
2268
+ showAddNewOption.value ? (openBlock(), createBlock(_sfc_main$l, {
2280
2269
  key: 4,
2281
2270
  "is-create-new-option": true,
2282
2271
  text: unref(t2)("comboBox.addPrompt", { value: searchText.value, object: __props.objectType }),
@@ -2287,7 +2276,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2287
2276
  }, null, 8, ["text", "selected-index"])) : createCommentVNode("", true),
2288
2277
  __props.errorMessage === "" && __props.results !== null ? (openBlock(), createElementBlock("div", _hoisted_3$d, [
2289
2278
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.results, (result, index) => {
2290
- return openBlock(), createBlock(_sfc_main$i, {
2279
+ return openBlock(), createBlock(_sfc_main$l, {
2291
2280
  key: index,
2292
2281
  option: result,
2293
2282
  index,
@@ -2297,16 +2286,16 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2297
2286
  }, null, 8, ["option", "index", "selected-index"]);
2298
2287
  }), 128))
2299
2288
  ])) : createCommentVNode("", true)
2300
- ], 40, _hoisted_1$g);
2289
+ ], 40, _hoisted_1$i);
2301
2290
  };
2302
2291
  }
2303
2292
  });
2304
- const _hoisted_1$f = { class: "cl-flex" };
2293
+ const _hoisted_1$h = { class: "cl-flex" };
2305
2294
  const _hoisted_2$e = { class: "cl-relative cl-right-20 cl-top-0.5" };
2306
2295
  const _hoisted_3$c = { class: "cl-absolute cl-flex cl-float-right cl-font-semibold cl-mt-2 cl-text-danger-default cl-text-sm" };
2307
2296
  const _hoisted_4$a = { class: "cl-ml-4 cl-w-11/12" };
2308
2297
  const _hoisted_5$7 = { class: "cl-p-2 cl-text-right cl-w-full" };
2309
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
2298
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2310
2299
  props: {
2311
2300
  loading: { type: Boolean, default: false },
2312
2301
  disabled: { type: Boolean, default: false },
@@ -2465,7 +2454,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2465
2454
  const _component_icon = resolveComponent("icon");
2466
2455
  const _component_cl_ui_combo_box = resolveComponent("cl-ui-combo-box", true);
2467
2456
  return openBlock(), createElementBlock("div", null, [
2468
- createElementVNode("div", _hoisted_1$f, [
2457
+ createElementVNode("div", _hoisted_1$h, [
2469
2458
  createVNode(ClUiInput, {
2470
2459
  modelValue: unref(currentText),
2471
2460
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(currentText) ? currentText.value = $event : null),
@@ -2503,12 +2492,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2503
2492
  })
2504
2493
  ], 2)
2505
2494
  ]),
2506
- createVNode(_sfc_main$k, { size: "x-small" }, {
2495
+ createVNode(_sfc_main$n, { size: "x-small" }, {
2507
2496
  title: withCtx(() => [
2508
2497
  createTextVNode(toDisplayString(unref(t2)("comboBox.createTitle", { object: __props.objectType })), 1)
2509
2498
  ]),
2510
2499
  trigger: withCtx(({ open }) => [
2511
- withDirectives(createVNode(_sfc_main$h, {
2500
+ withDirectives(createVNode(_sfc_main$k, {
2512
2501
  "can-create-new-object": __props.canCreateNewObject,
2513
2502
  "can-clear-selected-object": __props.canClearSelectedObject,
2514
2503
  loading: __props.loading,
@@ -2529,7 +2518,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2529
2518
  ]),
2530
2519
  footer: withCtx(({ close }) => [
2531
2520
  createElementVNode("div", _hoisted_5$7, [
2532
- createVNode(_sfc_main$p, {
2521
+ createVNode(_sfc_main$s, {
2533
2522
  class: "cl-mr-4",
2534
2523
  colour: "primary",
2535
2524
  size: "small",
@@ -2544,7 +2533,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2544
2533
  ]),
2545
2534
  _: 2
2546
2535
  }, 1032, ["disabled", "onClick"]),
2547
- createVNode(_sfc_main$p, {
2536
+ createVNode(_sfc_main$s, {
2548
2537
  colour: "danger",
2549
2538
  size: "small",
2550
2539
  onClick: close
@@ -2594,8 +2583,8 @@ function isComboBoxItem(objectToTest) {
2594
2583
  function isComboBoxCreateRequest(objectToTest) {
2595
2584
  return typeof objectToTest.name === "string";
2596
2585
  }
2597
- const _sfc_main$f = {};
2598
- const _hoisted_1$e = { class: "cl-flex cl-flex-wrap cl-left-0 cl-mt-4 cl-w-full" };
2586
+ const _sfc_main$i = {};
2587
+ const _hoisted_1$g = { class: "cl-flex cl-flex-wrap cl-left-0 cl-mt-4 cl-w-full" };
2599
2588
  const _hoisted_2$d = {
2600
2589
  key: 0,
2601
2590
  class: "cl-w-full"
@@ -2606,8 +2595,8 @@ const _hoisted_3$b = {
2606
2595
  };
2607
2596
  const _hoisted_4$9 = { class: "cl-float-left" };
2608
2597
  const _hoisted_5$6 = { class: "cl-float-right" };
2609
- function _sfc_render$3(_ctx, _cache) {
2610
- return openBlock(), createElementBlock("div", _hoisted_1$e, [
2598
+ function _sfc_render$4(_ctx, _cache) {
2599
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [
2611
2600
  _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
2612
2601
  renderSlot(_ctx.$slots, "default")
2613
2602
  ])) : createCommentVNode("", true),
@@ -2621,8 +2610,8 @@ function _sfc_render$3(_ctx, _cache) {
2621
2610
  ])) : createCommentVNode("", true)
2622
2611
  ]);
2623
2612
  }
2624
- var clUiFooter = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$3]]);
2625
- const _hoisted_1$d = { class: "cl-mr-2 lg:cl-hidden" };
2613
+ var clUiFooter = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$4]]);
2614
+ const _hoisted_1$f = { class: "cl-mr-2 lg:cl-hidden" };
2626
2615
  const _hoisted_2$c = { class: "cl-mr-2 lg:cl-hidden" };
2627
2616
  const _hoisted_3$a = {
2628
2617
  key: 0,
@@ -2635,7 +2624,7 @@ const _hoisted_4$8 = {
2635
2624
  const __default__$1 = {
2636
2625
  inheritAttrs: false
2637
2626
  };
2638
- const _sfc_main$e = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
2627
+ const _sfc_main$h = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
2639
2628
  props: {
2640
2629
  column: null,
2641
2630
  record: null,
@@ -2686,7 +2675,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2686
2675
  "cl-bg-link-lighter": unref(edited)
2687
2676
  }]
2688
2677
  }), [
2689
- createElementVNode("strong", _hoisted_1$d, toDisplayString(__props.column.caption), 1),
2678
+ createElementVNode("strong", _hoisted_1$f, toDisplayString(__props.column.caption), 1),
2690
2679
  renderSlot(_ctx.$slots, `${__props.column.name}Edit`, normalizeProps(guardReactiveProps({
2691
2680
  cellFocused,
2692
2681
  column: __props.column,
@@ -2747,8 +2736,7 @@ function isGridColumnArray(arrayToTest) {
2747
2736
  return arrayIsValid;
2748
2737
  }
2749
2738
  const stringFormats = ["ellipsis"];
2750
- var FilterOperation;
2751
- (function(FilterOperation2) {
2739
+ var FilterOperation = /* @__PURE__ */ ((FilterOperation2) => {
2752
2740
  FilterOperation2[FilterOperation2["CONTAINS"] = 0] = "CONTAINS";
2753
2741
  FilterOperation2[FilterOperation2["NOT_CONTAINS"] = 1] = "NOT_CONTAINS";
2754
2742
  FilterOperation2[FilterOperation2["EQUAL"] = 2] = "EQUAL";
@@ -2759,7 +2747,8 @@ var FilterOperation;
2759
2747
  FilterOperation2[FilterOperation2["LESS_THAN"] = 7] = "LESS_THAN";
2760
2748
  FilterOperation2[FilterOperation2["EQUAL_OR_GREATER_THAN"] = 8] = "EQUAL_OR_GREATER_THAN";
2761
2749
  FilterOperation2[FilterOperation2["EQUAL_OR_LESS_THAN"] = 9] = "EQUAL_OR_LESS_THAN";
2762
- })(FilterOperation || (FilterOperation = {}));
2750
+ return FilterOperation2;
2751
+ })(FilterOperation || {});
2763
2752
  const filterMethodTypes = [
2764
2753
  "equal",
2765
2754
  "notequal",
@@ -2893,7 +2882,7 @@ const filterMethods = [
2893
2882
  ]
2894
2883
  }
2895
2884
  ];
2896
- const _hoisted_1$c = {
2885
+ const _hoisted_1$e = {
2897
2886
  key: 0,
2898
2887
  class: "cl-border-grey-2 cl-border-r cl-capitalize cl-group cl-inline cl-relative cl-w-auto"
2899
2888
  };
@@ -2911,7 +2900,7 @@ const _hoisted_12$3 = {
2911
2900
  key: 1,
2912
2901
  class: "cl-flex cl-w-full"
2913
2902
  };
2914
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
2903
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2915
2904
  props: {
2916
2905
  request: null,
2917
2906
  column: null,
@@ -3038,7 +3027,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
3038
3027
  "cl-border": __props.column.type !== "slot" || __props.column.slotType !== void 0 && __props.column.field !== void 0
3039
3028
  }])
3040
3029
  }, [
3041
- __props.column.type !== "slot" || __props.column.slotType !== void 0 && __props.column.field !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_1$c, [
3030
+ __props.column.type !== "slot" || __props.column.slotType !== void 0 && __props.column.field !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_1$e, [
3042
3031
  createElementVNode("div", _hoisted_2$b, [
3043
3032
  createVNode(_component_icon, {
3044
3033
  icon: "ph:sliders-horizontal",
@@ -3119,7 +3108,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
3119
3108
  };
3120
3109
  }
3121
3110
  });
3122
- const _hoisted_1$b = {
3111
+ const _hoisted_1$d = {
3123
3112
  key: 0,
3124
3113
  class: "cl-flex cl-flex-wrap cl-justify-end cl-mt-4 cl-w-full"
3125
3114
  };
@@ -3138,7 +3127,7 @@ const _hoisted_13$1 = ["onClick"];
3138
3127
  const _hoisted_14$1 = { class: "cl-mb-2 cl-w-full lg:cl-p-2 md:cl-mb-0 md:cl-w-auto" };
3139
3128
  const _hoisted_15$1 = { class: "cl-block cl-mb-2 cl-text-grey-3 cl-w-full lg:cl-inline-block lg:cl-mb-0 lg:cl-mr-1 lg:cl-w-auto" };
3140
3129
  const _hoisted_16$1 = { class: "cl-block lg:cl-inline-block" };
3141
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
3130
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
3142
3131
  props: {
3143
3132
  request: null,
3144
3133
  data: { default: null }
@@ -3194,7 +3183,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
3194
3183
  return (_ctx, _cache) => {
3195
3184
  var _a;
3196
3185
  const _component_icon = resolveComponent("icon");
3197
- return __props.data && ((_a = __props.data.results) == null ? void 0 : _a.length) && __props.request ? (openBlock(), createElementBlock("div", _hoisted_1$b, [
3186
+ return __props.data && ((_a = __props.data.results) == null ? void 0 : _a.length) && __props.request ? (openBlock(), createElementBlock("div", _hoisted_1$d, [
3198
3187
  createElementVNode("div", _hoisted_2$a, [
3199
3188
  createElementVNode("span", _hoisted_3$8, toDisplayString(unref(t2)("grid.jumpToPage")), 1),
3200
3189
  createVNode(ClUiInput, {
@@ -3294,7 +3283,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
3294
3283
  };
3295
3284
  }
3296
3285
  });
3297
- const _hoisted_1$a = { class: "cl-fixed cl-flex cl-h-full cl-justify-end cl-right-0 cl-shadow-lg cl-top-0 cl-z-50" };
3286
+ const _hoisted_1$c = { class: "cl-fixed cl-flex cl-h-full cl-justify-end cl-right-0 cl-shadow-lg cl-top-0 cl-z-50" };
3298
3287
  const _hoisted_2$9 = { class: "cl-bg-secondary-default cl-h-full cl-overflow-y-auto cl-px-10 cl-py-20 cl-relative cl-text-grey-2 cl-w-80" };
3299
3288
  const _hoisted_3$7 = { class: "cl-mb-4 cl-text-2xl cl-text-off-white" };
3300
3289
  const _hoisted_4$5 = { class: "cl-border-grey-3 cl-border-t cl-flex cl-flex-wrap cl-text-sm cl-w-full" };
@@ -3309,7 +3298,7 @@ const _hoisted_12$1 = { key: 1 };
3309
3298
  const __default__ = {
3310
3299
  inheritAttrs: false
3311
3300
  };
3312
- const _sfc_main$b = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), {
3301
+ const _sfc_main$e = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), {
3313
3302
  props: {
3314
3303
  columns: null
3315
3304
  },
@@ -3344,7 +3333,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
3344
3333
  return (_ctx, _cache) => {
3345
3334
  const _component_icon = resolveComponent("icon");
3346
3335
  return openBlock(), createElementBlock(Fragment, null, [
3347
- createVNode(_sfc_main$p, mergeProps(_ctx.$attrs, {
3336
+ createVNode(_sfc_main$s, mergeProps(_ctx.$attrs, {
3348
3337
  class: "cl-w-full",
3349
3338
  size: "small",
3350
3339
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => visible.value = true, ["prevent"]))
@@ -3357,7 +3346,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
3357
3346
  (openBlock(), createBlock(Teleport, { to: "body" }, [
3358
3347
  createVNode(Transition, { name: "slide-left" }, {
3359
3348
  default: withCtx(() => [
3360
- withDirectives(createElementVNode("div", _hoisted_1$a, [
3349
+ withDirectives(createElementVNode("div", _hoisted_1$c, [
3361
3350
  createElementVNode("div", _hoisted_2$9, [
3362
3351
  createVNode(_component_icon, {
3363
3352
  class: "cl-absolute cl-cursor-pointer cl-right-3 cl-text-off-white cl-top-3",
@@ -3416,14 +3405,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
3416
3405
  };
3417
3406
  }
3418
3407
  }));
3419
- const _hoisted_1$9 = {
3408
+ const _hoisted_1$b = {
3420
3409
  key: 0,
3421
3410
  class: "cl-pb-2 cl-pr-2 cl-w-1/2 lg:cl-pb-0 lg:cl-w-auto"
3422
3411
  };
3423
3412
  const _hoisted_2$8 = { class: "cl-hidden cl-pr-2 lg:cl-inline-block" };
3424
3413
  const _hoisted_3$6 = { class: "cl-pb-2 cl-pr-2 cl-w-1/2 lg:cl-pb-0 lg:cl-pr-0 lg:cl-w-auto" };
3425
3414
  const _hoisted_4$4 = { class: "cl-pr-2 cl-w-full lg:cl-hidden md:cl-w-1/2" };
3426
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
3415
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
3427
3416
  props: {
3428
3417
  columns: null,
3429
3418
  editMode: { type: Boolean },
@@ -3445,8 +3434,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3445
3434
  });
3446
3435
  return (_ctx, _cache) => {
3447
3436
  return openBlock(), createElementBlock(Fragment, null, [
3448
- __props.editEnabled ? (openBlock(), createElementBlock("span", _hoisted_1$9, [
3449
- createVNode(_sfc_main$p, {
3437
+ __props.editEnabled ? (openBlock(), createElementBlock("span", _hoisted_1$b, [
3438
+ createVNode(_sfc_main$s, {
3450
3439
  class: "cl-w-full lg:cl-w-auto",
3451
3440
  size: "small",
3452
3441
  colour: "default",
@@ -3463,13 +3452,13 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3463
3452
  })
3464
3453
  ])) : createCommentVNode("", true),
3465
3454
  createElementVNode("span", _hoisted_2$8, [
3466
- createVNode(_sfc_main$b, {
3455
+ createVNode(_sfc_main$e, {
3467
3456
  columns: unref(currentColumns),
3468
3457
  "onUpdate:columns": _cache[1] || (_cache[1] = ($event) => isRef(currentColumns) ? currentColumns.value = $event : null)
3469
3458
  }, null, 8, ["columns"])
3470
3459
  ]),
3471
3460
  createElementVNode("span", _hoisted_3$6, [
3472
- createVNode(_sfc_main$p, {
3461
+ createVNode(_sfc_main$s, {
3473
3462
  class: "cl-w-full lg:cl-w-auto",
3474
3463
  size: "small",
3475
3464
  onClick: _cache[2] || (_cache[2] = withModifiers(($event) => _ctx.$emit("reset-filters"), ["prevent"]))
@@ -3481,7 +3470,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3481
3470
  })
3482
3471
  ]),
3483
3472
  createElementVNode("span", _hoisted_4$4, [
3484
- createVNode(_sfc_main$p, {
3473
+ createVNode(_sfc_main$s, {
3485
3474
  class: "cl-w-full",
3486
3475
  colour: "blue",
3487
3476
  size: "small",
@@ -3498,7 +3487,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3498
3487
  }
3499
3488
  });
3500
3489
  var clUiGrid_vue_vue_type_style_index_0_scoped_true_lang = "";
3501
- const _hoisted_1$8 = { class: "cl-hidden cl-mb-4 cl-w-full lg:cl-block lg:cl-text-right" };
3490
+ const _hoisted_1$a = { class: "cl-hidden cl-mb-4 cl-w-full lg:cl-block lg:cl-text-right" };
3502
3491
  const _hoisted_2$7 = ["data-loading"];
3503
3492
  const _hoisted_3$5 = { class: "cl-absolute cl-bg-white cl-h-full cl-opacity-40 cl-w-full cl-z-20" };
3504
3493
  const _hoisted_4$3 = { class: "cl-bg-white cl-flex cl-flex-wrap cl-sticky cl-top-0 cl-w-full lg:cl-hidden" };
@@ -3526,7 +3515,7 @@ const _hoisted_22 = {
3526
3515
  key: 0,
3527
3516
  class: "cl-w-full"
3528
3517
  };
3529
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3518
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
3530
3519
  props: {
3531
3520
  columns: null,
3532
3521
  request: null,
@@ -3642,8 +3631,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3642
3631
  var _a, _b;
3643
3632
  const _component_icon = resolveComponent("icon");
3644
3633
  return openBlock(), createElementBlock(Fragment, null, [
3645
- createElementVNode("div", _hoisted_1$8, [
3646
- createVNode(_sfc_main$a, {
3634
+ createElementVNode("div", _hoisted_1$a, [
3635
+ createVNode(_sfc_main$d, {
3647
3636
  columns: unref(currentColumns),
3648
3637
  "onUpdate:columns": _cache[0] || (_cache[0] = ($event) => isRef(currentColumns) ? currentColumns.value = $event : null),
3649
3638
  "edit-mode": editMode.value,
@@ -3668,7 +3657,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3668
3657
  createElementVNode("div", _hoisted_5$2, [
3669
3658
  createElementVNode("strong", _hoisted_6$2, toDisplayString(unref(t2)("grid.gridTools")), 1),
3670
3659
  createElementVNode("div", _hoisted_7$2, [
3671
- createVNode(_sfc_main$a, {
3660
+ createVNode(_sfc_main$d, {
3672
3661
  columns: unref(currentColumns),
3673
3662
  "onUpdate:columns": _cache[2] || (_cache[2] = ($event) => isRef(currentColumns) ? currentColumns.value = $event : null),
3674
3663
  "edit-mode": editMode.value,
@@ -3704,7 +3693,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3704
3693
  class: "cl-grid cl-grid-cols-3 cl-mb-4 cl-w-full"
3705
3694
  }, [
3706
3695
  createElementVNode("div", null, toDisplayString(column.caption), 1),
3707
- createVNode(_sfc_main$d, {
3696
+ createVNode(_sfc_main$g, {
3708
3697
  request: unref(currentRequest),
3709
3698
  "onUpdate:request": _cache[6] || (_cache[6] = ($event) => isRef(currentRequest) ? currentRequest.value = $event : null),
3710
3699
  column
@@ -3785,7 +3774,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3785
3774
  class: "cl-p-1",
3786
3775
  style: normalizeStyle(getStyleForColumn(column.name))
3787
3776
  }, [
3788
- createVNode(_sfc_main$d, {
3777
+ createVNode(_sfc_main$g, {
3789
3778
  request: unref(currentRequest),
3790
3779
  "onUpdate:request": _cache[7] || (_cache[7] = ($event) => isRef(currentRequest) ? currentRequest.value = $event : null),
3791
3780
  column,
@@ -3805,7 +3794,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3805
3794
  })
3806
3795
  }, [
3807
3796
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(visibleColumns), (column, columnIndex) => {
3808
- return openBlock(), createBlock(_sfc_main$e, {
3797
+ return openBlock(), createBlock(_sfc_main$h, {
3809
3798
  key: columnIndex,
3810
3799
  class: "cl-align-top cl-p-2 cl-rounded cl-whitespace-nowrap",
3811
3800
  style: normalizeStyle(getStyleForColumn(column.name)),
@@ -3838,7 +3827,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3838
3827
  createElementVNode("strong", null, toDisplayString(unref(t2)("grid.noData")), 1),
3839
3828
  unref(currentRequest).filters.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_22, [
3840
3829
  createTextVNode(toDisplayString(unref(t2)("grid.noDataFiltersPresent")) + " ", 1),
3841
- createVNode(_sfc_main$p, {
3830
+ createVNode(_sfc_main$s, {
3842
3831
  size: "small",
3843
3832
  onClick: withModifiers(resetFilters, ["prevent"])
3844
3833
  }, {
@@ -3854,7 +3843,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3854
3843
  ])
3855
3844
  ])
3856
3845
  ]),
3857
- createVNode(_sfc_main$c, {
3846
+ createVNode(_sfc_main$f, {
3858
3847
  request: unref(currentRequest),
3859
3848
  "onUpdate:request": _cache[8] || (_cache[8] = ($event) => isRef(currentRequest) ? currentRequest.value = $event : null),
3860
3849
  data: __props.data
@@ -3864,12 +3853,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3864
3853
  };
3865
3854
  }
3866
3855
  });
3867
- var clUiGrid = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-7df0fada"]]);
3868
- const _sfc_main$8 = {};
3869
- const _hoisted_1$7 = { class: "cl-absolute cl-bg-secondary-default cl-flex cl-h-20 cl-items-center cl-justify-between cl-left-0 cl-top-0 cl-w-full cl-z-40" };
3856
+ var clUiGrid = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-7df0fada"]]);
3857
+ const _sfc_main$b = {};
3858
+ const _hoisted_1$9 = { class: "cl-absolute cl-bg-secondary-default cl-flex cl-h-20 cl-items-center cl-justify-between cl-left-0 cl-top-0 cl-w-full cl-z-40" };
3870
3859
  const _hoisted_2$6 = { class: "cl-flex cl-flex-nowrap" };
3871
- function _sfc_render$2(_ctx, _cache) {
3872
- return openBlock(), createElementBlock("header", _hoisted_1$7, [
3860
+ function _sfc_render$3(_ctx, _cache) {
3861
+ return openBlock(), createElementBlock("header", _hoisted_1$9, [
3873
3862
  renderSlot(_ctx.$slots, "logo"),
3874
3863
  createElementVNode("div", _hoisted_2$6, [
3875
3864
  renderSlot(_ctx.$slots, "menu"),
@@ -3877,8 +3866,8 @@ function _sfc_render$2(_ctx, _cache) {
3877
3866
  ])
3878
3867
  ]);
3879
3868
  }
3880
- var clUiHeader = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$2]]);
3881
- const _hoisted_1$6 = { class: "md:cl-relative" };
3869
+ var clUiHeader = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$3]]);
3870
+ const _hoisted_1$8 = { class: "md:cl-relative" };
3882
3871
  const _hoisted_2$5 = { class: "cl-bg-blue-light cl-flex cl-items-center cl-select-none md:cl-min-w-[320px]" };
3883
3872
  const _hoisted_3$4 = ["src"];
3884
3873
  const _hoisted_4$2 = { class: "cl-cursor-default cl-grow cl-hidden cl-my-4 cl-text-white md:cl-block" };
@@ -3891,7 +3880,7 @@ const _hoisted_6$1 = {
3891
3880
  class: "cl-cursor-default cl-text-ellipsis cl-text-xs cl-whitespace-nowrap"
3892
3881
  };
3893
3882
  const _hoisted_7$1 = { class: "cl-absolute cl-bg-white cl-right-0 cl-shadow-2xl cl-top-20 cl-w-full cl-z-20" };
3894
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3883
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3895
3884
  props: {
3896
3885
  username: { default: "" },
3897
3886
  group: { default: "" },
@@ -3901,7 +3890,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3901
3890
  const isOpen = ref(false);
3902
3891
  return (_ctx, _cache) => {
3903
3892
  const _component_icon = resolveComponent("icon");
3904
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
3893
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
3905
3894
  createElementVNode("div", _hoisted_2$5, [
3906
3895
  __props.image ? (openBlock(), createElementBlock("img", {
3907
3896
  key: 0,
@@ -3983,14 +3972,14 @@ function isLanguageArray(arrayToTest) {
3983
3972
  function isLanguage(objectToTest) {
3984
3973
  return typeof objectToTest.name === "string" && typeof objectToTest.nativeName === "string" && typeof objectToTest.localeCode === "string";
3985
3974
  }
3986
- const _hoisted_1$5 = {
3975
+ const _hoisted_1$7 = {
3987
3976
  key: 0,
3988
3977
  class: "cl-flex cl-relative cl-select-none cl-w-auto cl-z-30"
3989
3978
  };
3990
3979
  const _hoisted_2$4 = { class: "cl-absolute cl-bg-white cl-border cl-border-grey-0 cl-overflow-hidden cl-right-0 cl-rounded cl-shadow-xl cl-text-black cl-top-6 cl-z-3" };
3991
3980
  const _hoisted_3$3 = ["data-localename", "data-localecode", "onClick"];
3992
3981
  const _hoisted_4$1 = { class: "cl-text-xs" };
3993
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3982
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3994
3983
  props: {
3995
3984
  supportedLanguages: null,
3996
3985
  disabled: { type: Boolean, default: false }
@@ -4015,7 +4004,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4015
4004
  }
4016
4005
  });
4017
4006
  return (_ctx, _cache) => {
4018
- return unref(selectedLanguage) !== null && unref(isLanguageLocaleFormat)(unref(selectedLanguage)) ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
4007
+ return unref(selectedLanguage) !== null && unref(isLanguageLocaleFormat)(unref(selectedLanguage)) ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
4019
4008
  createElementVNode("div", {
4020
4009
  class: normalizeClass(["cl-flex cl-items-center", {
4021
4010
  "cl-cursor-pointer": !__props.disabled
@@ -4055,7 +4044,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4055
4044
  };
4056
4045
  }
4057
4046
  });
4058
- const _hoisted_1$4 = { class: "cl-relative" };
4047
+ const _hoisted_1$6 = { class: "cl-relative" };
4059
4048
  const _hoisted_2$3 = { class: "cl-h-screen cl-z-0" };
4060
4049
  const _hoisted_3$2 = { class: "cl-absolute cl-bg-secondary-default cl-gap-y-1 cl-grid cl-grid-cols-1 cl-left-0 cl-opacity-95 cl-p-6 cl-top-0 cl-w-full cl-z-10 lg:cl-gap-x-1 lg:cl-grid-cols-10 lg:cl-p-10" };
4061
4050
  const _hoisted_4 = { class: "cl-col-span-10 lg:cl-col-span-3" };
@@ -4068,7 +4057,7 @@ const _hoisted_7 = { class: "cl-inline cl-relative cl-text-grey-4" };
4068
4057
  const _hoisted_8 = { class: "cl-col-span-3" };
4069
4058
  const _hoisted_9 = { class: "cl-inline cl-relative cl-text-grey-4" };
4070
4059
  const _hoisted_10 = { class: "cl-col-span-10 cl-emphasis-danger cl-mt-10 cl-p-3 cl-rounded-md cl-text-sm md:cl-mt-3" };
4071
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4060
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4072
4061
  props: {
4073
4062
  errors: { default: () => [] },
4074
4063
  loading: { type: Boolean, default: false }
@@ -4108,7 +4097,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4108
4097
  }
4109
4098
  return (_ctx, _cache) => {
4110
4099
  const _component_icon = resolveComponent("icon");
4111
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
4100
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
4112
4101
  createElementVNode("div", _hoisted_2$3, [
4113
4102
  renderSlot(_ctx.$slots, "background")
4114
4103
  ]),
@@ -4197,7 +4186,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4197
4186
  "cl-mt-1.5 cl-mb-1 md:cl-mt-0.5 md:cl-mb-7 lg:cl-mb-0": __props.loading
4198
4187
  }])
4199
4188
  }, [
4200
- createVNode(_sfc_main$p, {
4189
+ createVNode(_sfc_main$s, {
4201
4190
  class: "!cl-leading-9 cl-w-full",
4202
4191
  colour: "blue",
4203
4192
  loading: __props.loading,
@@ -4246,13 +4235,13 @@ const modalColours = [
4246
4235
  "white"
4247
4236
  ];
4248
4237
  var clUiNavigation_vue_vue_type_style_index_0_scoped_true_lang = "";
4249
- const _hoisted_1$3 = { class: "cl-flex cl-flex-nowrap cl-h-full cl-max-h-full cl-min-h-full cl-min-w-20 cl-relative cl-self-start cl-w-auto" };
4238
+ const _hoisted_1$5 = { class: "cl-flex cl-flex-nowrap cl-h-full cl-max-h-full cl-min-h-full cl-min-w-20 cl-relative cl-self-start cl-w-auto" };
4250
4239
  const _hoisted_2$2 = {
4251
4240
  id: "group-container",
4252
4241
  class: "cl-bg-blue-default cl-h-full cl-left-0 cl-max-h-full cl-min-h-full cl-min-w-20 cl-overflow-y-auto cl-self-start cl-sticky cl-w-20 cl-z-30"
4253
4242
  };
4254
4243
  const _hoisted_3$1 = { class: "cl-relative cl-w-full" };
4255
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4244
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4256
4245
  setup(__props) {
4257
4246
  const open = computed(() => groups.value.filter((i) => i.open === true).length > 0);
4258
4247
  const groups = ref([]);
@@ -4281,7 +4270,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4281
4270
  }
4282
4271
  return (_ctx, _cache) => {
4283
4272
  const _component_icon = resolveComponent("icon");
4284
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
4273
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
4285
4274
  createElementVNode("div", _hoisted_2$2, [
4286
4275
  renderSlot(_ctx.$slots, "icon", normalizeProps(guardReactiveProps({ groupIsOpen, toggleOpen })), void 0, true)
4287
4276
  ]),
@@ -4320,8 +4309,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4320
4309
  };
4321
4310
  }
4322
4311
  });
4323
- var clUiNavigation = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6759d3a1"]]);
4324
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4312
+ var clUiNavigation = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-6759d3a1"]]);
4313
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4325
4314
  props: {
4326
4315
  icon: null,
4327
4316
  open: { type: Boolean }
@@ -4343,19 +4332,19 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4343
4332
  };
4344
4333
  }
4345
4334
  });
4346
- const _hoisted_1$2 = {
4335
+ const _hoisted_1$4 = {
4347
4336
  key: 0,
4348
4337
  class: "cl-font-bold cl-leading-8 cl-mb-8 cl-pr-8 cl-select-none cl-text-blue-light cl-text-lg"
4349
4338
  };
4350
4339
  const _hoisted_2$1 = { class: "cl-flex cl-flex-wrap cl-space-y-8 cl-text-sm cl-w-full" };
4351
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4340
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4352
4341
  props: {
4353
4342
  open: { type: Boolean }
4354
4343
  },
4355
4344
  setup(__props) {
4356
4345
  return (_ctx, _cache) => {
4357
4346
  return __props.open ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4358
- _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
4347
+ _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
4359
4348
  renderSlot(_ctx.$slots, "title")
4360
4349
  ])) : createCommentVNode("", true),
4361
4350
  createElementVNode("div", _hoisted_2$1, [
@@ -4365,15 +4354,15 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4365
4354
  };
4366
4355
  }
4367
4356
  });
4368
- const _sfc_main$1 = {};
4369
- const _hoisted_1$1 = { class: "cl-w-full" };
4357
+ const _sfc_main$4 = {};
4358
+ const _hoisted_1$3 = { class: "cl-w-full" };
4370
4359
  const _hoisted_2 = {
4371
4360
  key: 0,
4372
4361
  class: "cl-font-bold cl-mb-4 cl-select-none"
4373
4362
  };
4374
4363
  const _hoisted_3 = { class: "cl-flex cl-flex-wrap cl-space-y-2" };
4375
- function _sfc_render$1(_ctx, _cache) {
4376
- return openBlock(), createElementBlock("div", _hoisted_1$1, [
4364
+ function _sfc_render$2(_ctx, _cache) {
4365
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [
4377
4366
  _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_2, [
4378
4367
  renderSlot(_ctx.$slots, "title")
4379
4368
  ])) : createCommentVNode("", true),
@@ -4382,28 +4371,187 @@ function _sfc_render$1(_ctx, _cache) {
4382
4371
  ])
4383
4372
  ]);
4384
4373
  }
4385
- var clUiNavigationSection = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
4386
- const _sfc_main = {};
4387
- const _hoisted_1 = { class: "cl-cursor-pointer cl-transition-colors cl-w-full hover:cl-text-blue-light" };
4388
- function _sfc_render(_ctx, _cache) {
4389
- return openBlock(), createElementBlock("div", _hoisted_1, [
4374
+ var clUiNavigationSection = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$2]]);
4375
+ const _sfc_main$3 = {};
4376
+ const _hoisted_1$2 = { class: "cl-cursor-pointer cl-transition-colors cl-w-full hover:cl-text-blue-light" };
4377
+ function _sfc_render$1(_ctx, _cache) {
4378
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
4390
4379
  renderSlot(_ctx.$slots, "default")
4391
4380
  ]);
4392
4381
  }
4393
- var clUiNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
4394
- var components = /* @__PURE__ */ Object.freeze({
4382
+ var clUiNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$1]]);
4383
+ const _hoisted_1$1 = { class: "cl-w-full" };
4384
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4385
+ props: {
4386
+ currentTab: { default: 0 },
4387
+ disabled: { type: Boolean, default: false },
4388
+ colour: { default: "default" }
4389
+ },
4390
+ setup(__props) {
4391
+ const props = __props;
4392
+ const headerContainer = ref();
4393
+ const showLeftArrow = ref(false);
4394
+ const showRightArrow = ref(false);
4395
+ function isTabOpen(tabId) {
4396
+ return tabId === props.currentTab;
4397
+ }
4398
+ function onScroll() {
4399
+ if (headerContainer.value) {
4400
+ const maxScroll = headerContainer.value.scrollWidth - headerContainer.value.clientWidth;
4401
+ showLeftArrow.value = headerContainer.value.scrollLeft > 0;
4402
+ showRightArrow.value = headerContainer.value.scrollLeft < maxScroll;
4403
+ } else {
4404
+ showLeftArrow.value = false;
4405
+ showRightArrow.value = false;
4406
+ }
4407
+ }
4408
+ function initialiseScroll() {
4409
+ onScroll();
4410
+ window.addEventListener("resize", onScroll);
4411
+ }
4412
+ function scrollOnClick(direction) {
4413
+ if (headerContainer.value) {
4414
+ const scrollAmount = headerContainer.value.scrollWidth / 5;
4415
+ let scrollTo = scrollAmount;
4416
+ if (direction === "left") {
4417
+ scrollTo = -scrollAmount;
4418
+ }
4419
+ headerContainer.value.scroll(headerContainer.value.scrollLeft + scrollTo, 0);
4420
+ }
4421
+ }
4422
+ onMounted(() => initialiseScroll());
4423
+ onUnmounted(() => window.removeEventListener("resize", onScroll));
4424
+ return (_ctx, _cache) => {
4425
+ const _component_icon = resolveComponent("icon");
4426
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
4427
+ createElementVNode("div", null, [
4428
+ showLeftArrow.value ? (openBlock(), createElementBlock("div", {
4429
+ key: 0,
4430
+ class: "cl-bg-white cl-cursor-pointer cl-float-left cl-h-11 cl-w-4",
4431
+ onClick: _cache[0] || (_cache[0] = ($event) => scrollOnClick("left"))
4432
+ }, [
4433
+ createVNode(_component_icon, {
4434
+ icon: "ph:caret-left",
4435
+ class: "cl-mt-4 cl-text-secondary-default"
4436
+ })
4437
+ ])) : createCommentVNode("", true),
4438
+ createElementVNode("div", {
4439
+ ref_key: "headerContainer",
4440
+ ref: headerContainer,
4441
+ class: normalizeClass(["cl-flex cl-overflow-x-auto", {
4442
+ "cl-shadow-[inset_0_-1px_0_#eeeeee]": !__props.disabled && __props.colour === "default",
4443
+ "cl-shadow-[inset_0_-1px_0_#9acd32]": !__props.disabled && __props.colour === "primary",
4444
+ "cl-shadow-[inset_0_-1px_0_#30363e]": !__props.disabled && __props.colour === "secondary",
4445
+ "cl-shadow-[inset_0_-1px_0_#f0506e]": !__props.disabled && __props.colour === "danger",
4446
+ "cl-shadow-[inset_0_-1px_0_#1e90ff]": !__props.disabled && __props.colour === "blue",
4447
+ "cl-shadow-[inset_0_-1px_0_#d7d7d7]": __props.disabled,
4448
+ "cl-mr-4": showRightArrow.value
4449
+ }]),
4450
+ onScrollPassive: onScroll
4451
+ }, [
4452
+ renderSlot(_ctx.$slots, "headings", normalizeProps(guardReactiveProps({ isTabOpen, disabled: __props.disabled, colour: __props.colour })))
4453
+ ], 34),
4454
+ showRightArrow.value ? (openBlock(), createElementBlock("div", {
4455
+ key: 1,
4456
+ class: "cl-bg-white cl-bottom-12 cl-cursor-pointer cl-float-right cl-h-11 cl-relative cl-w-4",
4457
+ onClick: _cache[1] || (_cache[1] = ($event) => scrollOnClick("right"))
4458
+ }, [
4459
+ createVNode(_component_icon, {
4460
+ icon: "ph:caret-right",
4461
+ class: "cl-mt-4 cl-text-secondary-default"
4462
+ })
4463
+ ])) : createCommentVNode("", true)
4464
+ ]),
4465
+ renderSlot(_ctx.$slots, "content", normalizeProps(guardReactiveProps({ isTabOpen, disabled: __props.disabled, colour: __props.colour })))
4466
+ ]);
4467
+ };
4468
+ }
4469
+ });
4470
+ const _hoisted_1 = ["onKeyup"];
4471
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
4472
+ props: {
4473
+ id: null,
4474
+ currentTab: null,
4475
+ disabled: { type: Boolean, default: false },
4476
+ colour: { default: "default" }
4477
+ },
4478
+ emits: {
4479
+ "update:currentTab": null
4480
+ },
4481
+ setup(__props, { emit }) {
4482
+ const props = __props;
4483
+ const tabbed = ref();
4484
+ const hovered = ref();
4485
+ const open = computed(() => props.id === props.currentTab);
4486
+ function tabClicked() {
4487
+ if (!props.disabled) {
4488
+ tabbed.value = false;
4489
+ hovered.value = false;
4490
+ emit("update:currentTab", props.id);
4491
+ }
4492
+ }
4493
+ return (_ctx, _cache) => {
4494
+ return openBlock(), createElementBlock("div", {
4495
+ class: normalizeClass(["cl-border-b cl-cursor-pointer cl-flex cl-items-center cl-px-4 cl-py-2 cl-rounded-b-none cl-rounded-sm cl-select-none cl-text-xl cl-transition cl-whitespace-nowrap focus:cl-outline-none", {
4496
+ "!cl-cursor-default cl-text-grey-4 !cl-border-grey-2": __props.disabled,
4497
+ "cl-border cl-border-b-0 cl-rounded-t-md cl-shadow-[inset_0_-1px_0_#ffffff] cl-cursor-default": unref(open),
4498
+ "cl-border-grey-0": __props.colour === "default",
4499
+ "cl-border-primary-default": __props.colour === "primary",
4500
+ "cl-border-secondary-default": __props.colour === "secondary",
4501
+ "cl-border-danger-default": __props.colour === "danger",
4502
+ "cl-border-link-default": __props.colour === "blue",
4503
+ "hover:cl-bg-grey-0": !unref(open) && !__props.disabled && __props.colour === "default",
4504
+ "hover:cl-bg-primary-lighter": !unref(open) && !__props.disabled && __props.colour === "primary",
4505
+ "hover:cl-bg-secondary-light focus:cl-text-white hover:cl-text-white": !unref(open) && !__props.disabled && __props.colour === "secondary",
4506
+ "hover:cl-bg-danger-light": !unref(open) && !__props.disabled && __props.colour === "danger",
4507
+ "hover:cl-bg-link-lighter": !unref(open) && !__props.disabled && __props.colour === "blue",
4508
+ "cl-bg-grey-0": tabbed.value && !__props.disabled && __props.colour === "default",
4509
+ "cl-bg-primary-lighter": tabbed.value && !__props.disabled && __props.colour === "primary",
4510
+ "cl-bg-secondary-light cl-text-white": tabbed.value && !__props.disabled && __props.colour === "secondary",
4511
+ "cl-bg-danger-light": tabbed.value && !__props.disabled && __props.colour === "danger",
4512
+ "cl-bg-link-lighter": tabbed.value && !__props.disabled && __props.colour === "blue"
4513
+ }]),
4514
+ tabindex: "0",
4515
+ onClick: tabClicked,
4516
+ onMouseover: _cache[0] || (_cache[0] = ($event) => hovered.value = true),
4517
+ onMouseout: _cache[1] || (_cache[1] = ($event) => hovered.value = false),
4518
+ onFocusin: _cache[2] || (_cache[2] = ($event) => tabbed.value = true),
4519
+ onFocusout: _cache[3] || (_cache[3] = ($event) => tabbed.value = false),
4520
+ onKeyup: withKeys(withModifiers(tabClicked, ["self"]), ["enter"])
4521
+ }, [
4522
+ renderSlot(_ctx.$slots, "default")
4523
+ ], 42, _hoisted_1);
4524
+ };
4525
+ }
4526
+ });
4527
+ const _sfc_main = {};
4528
+ function _sfc_render(_ctx, _cache) {
4529
+ return renderSlot(_ctx.$slots, "default");
4530
+ }
4531
+ var clUiTabContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
4532
+ const tabColours = [
4533
+ "default",
4534
+ "primary",
4535
+ "secondary",
4536
+ "danger",
4537
+ "blue"
4538
+ ];
4539
+ const tabScroll = [
4540
+ "left",
4541
+ "right"
4542
+ ];
4543
+ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4395
4544
  __proto__: null,
4396
- [Symbol.toStringTag]: "Module",
4397
- clUiAccordion: _sfc_main$v,
4398
- clUiAccordionItem: _sfc_main$u,
4545
+ clUiAccordion: _sfc_main$y,
4546
+ clUiAccordionItem: _sfc_main$x,
4399
4547
  clUiAccordionHeader,
4400
- clUiApp: _sfc_main$r,
4401
- clUiButton: _sfc_main$p,
4548
+ clUiApp: _sfc_main$u,
4549
+ clUiButton: _sfc_main$s,
4402
4550
  buttonColours,
4403
4551
  buttonSizes,
4404
- clUiCard: _sfc_main$o,
4552
+ clUiCard: _sfc_main$r,
4405
4553
  cardSizes,
4406
- clUiComboBox: _sfc_main$g,
4554
+ clUiComboBox: _sfc_main$j,
4407
4555
  isComboBoxItem,
4408
4556
  isComboBoxCreateRequest,
4409
4557
  clUiFooter,
@@ -4412,31 +4560,34 @@ var components = /* @__PURE__ */ Object.freeze({
4412
4560
  isGridColumn,
4413
4561
  isGridColumnArray,
4414
4562
  stringFormats,
4415
- get FilterOperation() {
4416
- return FilterOperation;
4417
- },
4563
+ FilterOperation,
4418
4564
  filterMethodTypes,
4419
4565
  isFilterRequest,
4420
4566
  isFilterResponse,
4421
4567
  clUiHeader,
4422
- clUiHeaderMenu: _sfc_main$7,
4568
+ clUiHeaderMenu: _sfc_main$a,
4423
4569
  clUiInput: ClUiInput,
4424
4570
  inputTypes,
4425
- clUiLanguageSwitcher: _sfc_main$6,
4571
+ clUiLanguageSwitcher: _sfc_main$9,
4426
4572
  isLanguageLocaleFormat,
4427
4573
  isLanguageArray,
4428
4574
  clUiLoadingSpinner: ClUiLoadingSpinner,
4429
- clUiLogin: _sfc_main$5,
4430
- clUiModal: _sfc_main$k,
4575
+ clUiLogin: _sfc_main$8,
4576
+ clUiModal: _sfc_main$n,
4431
4577
  modalSizes,
4432
4578
  modalColours,
4433
4579
  clUiNavigation,
4434
- clUiNavigationIcon: _sfc_main$3,
4435
- clUiNavigationGroup: _sfc_main$2,
4580
+ clUiNavigationIcon: _sfc_main$6,
4581
+ clUiNavigationGroup: _sfc_main$5,
4436
4582
  clUiNavigationSection,
4437
4583
  clUiNavigationItem,
4438
- clUiNotification: _sfc_main$s
4439
- });
4584
+ clUiNotification: _sfc_main$v,
4585
+ clUiTab: _sfc_main$2,
4586
+ clUiTabHeader: _sfc_main$1,
4587
+ clUiTabContent,
4588
+ tabColours,
4589
+ tabScroll
4590
+ }, Symbol.toStringTag, { value: "Module" }));
4440
4591
  var main = "";
4441
4592
  const install = (app) => {
4442
4593
  app.use(i18n);
@@ -4448,4 +4599,4 @@ const install = (app) => {
4448
4599
  app.component(name, component);
4449
4600
  });
4450
4601
  };
4451
- export { DateFormat, FilterOperation, NumberFormat, buttonColours, buttonSizes, cardSizes, _sfc_main$v as clUiAccordion, clUiAccordionHeader, _sfc_main$u as clUiAccordionItem, _sfc_main$r as clUiApp, _sfc_main$p as clUiButton, _sfc_main$o as clUiCard, _sfc_main$g as clUiComboBox, clUiFooter, clUiGrid, clUiHeader, _sfc_main$7 as clUiHeaderMenu, ClUiInput as clUiInput, _sfc_main$6 as clUiLanguageSwitcher, ClUiLoadingSpinner as clUiLoadingSpinner, _sfc_main$5 as clUiLogin, _sfc_main$k as clUiModal, clUiNavigation, _sfc_main$2 as clUiNavigationGroup, _sfc_main$3 as clUiNavigationIcon, clUiNavigationItem, clUiNavigationSection, _sfc_main$s as clUiNotification, datetimeFormats, install as default, filterMethodTypes, gridColumnTypes, i18n, inputTypes, isComboBoxCreateRequest, isComboBoxItem, isFilterRequest, isFilterResponse, isGridColumn, isGridColumnArray, isLanguageArray, isLanguageLocaleFormat, messages, modalColours, modalSizes, numberFormats, setCurrentLocale, setLocaleDateTimeFormats, setLocaleMessages, setLocaleNumberFormats, showNotification, stringFormats, validateEmail, validateMaxValue, validateMinValue };
4602
+ export { DateFormat, FilterOperation, NumberFormat, buttonColours, buttonSizes, cardSizes, _sfc_main$y as clUiAccordion, clUiAccordionHeader, _sfc_main$x as clUiAccordionItem, _sfc_main$u as clUiApp, _sfc_main$s as clUiButton, _sfc_main$r as clUiCard, _sfc_main$j as clUiComboBox, clUiFooter, clUiGrid, clUiHeader, _sfc_main$a as clUiHeaderMenu, ClUiInput as clUiInput, _sfc_main$9 as clUiLanguageSwitcher, ClUiLoadingSpinner as clUiLoadingSpinner, _sfc_main$8 as clUiLogin, _sfc_main$n as clUiModal, clUiNavigation, _sfc_main$5 as clUiNavigationGroup, _sfc_main$6 as clUiNavigationIcon, clUiNavigationItem, clUiNavigationSection, _sfc_main$v as clUiNotification, _sfc_main$2 as clUiTab, clUiTabContent, _sfc_main$1 as clUiTabHeader, datetimeFormats, install as default, filterMethodTypes, gridColumnTypes, i18n, inputTypes, isComboBoxCreateRequest, isComboBoxItem, isFilterRequest, isFilterResponse, isGridColumn, isGridColumnArray, isLanguageArray, isLanguageLocaleFormat, messages, modalColours, modalSizes, numberFormats, setCurrentLocale, setLocaleDateTimeFormats, setLocaleMessages, setLocaleNumberFormats, showNotification, stringFormats, tabColours, tabScroll, validateEmail, validateMaxValue, validateMinValue };