@quidgest/chatbot 0.0.4 → 0.0.6

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.
package/dist/index.js CHANGED
@@ -61,21 +61,21 @@
61
61
  if (obj === null || typeof obj === "undefined") {
62
62
  return;
63
63
  }
64
- let i;
65
- let l;
64
+ let i2;
65
+ let l2;
66
66
  if (typeof obj !== "object") {
67
67
  obj = [obj];
68
68
  }
69
69
  if (isArray(obj)) {
70
- for (i = 0, l = obj.length; i < l; i++) {
71
- fn.call(null, obj[i], i, obj);
70
+ for (i2 = 0, l2 = obj.length; i2 < l2; i2++) {
71
+ fn.call(null, obj[i2], i2, obj);
72
72
  }
73
73
  } else {
74
74
  const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
75
75
  const len = keys.length;
76
76
  let key;
77
- for (i = 0; i < len; i++) {
78
- key = keys[i];
77
+ for (i2 = 0; i2 < len; i2++) {
78
+ key = keys[i2];
79
79
  fn.call(null, obj[key], key, obj);
80
80
  }
81
81
  }
@@ -83,10 +83,10 @@
83
83
  function findKey(obj, key) {
84
84
  key = key.toLowerCase();
85
85
  const keys = Object.keys(obj);
86
- let i = keys.length;
86
+ let i2 = keys.length;
87
87
  let _key;
88
- while (i-- > 0) {
89
- _key = keys[i];
88
+ while (i2-- > 0) {
89
+ _key = keys[i2];
90
90
  if (key === _key.toLowerCase()) {
91
91
  return _key;
92
92
  }
@@ -114,20 +114,20 @@
114
114
  result[targetKey] = val;
115
115
  }
116
116
  };
117
- for (let i = 0, l = arguments.length; i < l; i++) {
118
- arguments[i] && forEach(arguments[i], assignValue);
117
+ for (let i2 = 0, l2 = arguments.length; i2 < l2; i2++) {
118
+ arguments[i2] && forEach(arguments[i2], assignValue);
119
119
  }
120
120
  return result;
121
121
  }
122
- const extend = (a, b, thisArg, { allOwnKeys } = {}) => {
123
- forEach(b, (val, key) => {
122
+ const extend = (a2, b2, thisArg, { allOwnKeys } = {}) => {
123
+ forEach(b2, (val, key) => {
124
124
  if (thisArg && isFunction(val)) {
125
- a[key] = bind(val, thisArg);
125
+ a2[key] = bind(val, thisArg);
126
126
  } else {
127
- a[key] = val;
127
+ a2[key] = val;
128
128
  }
129
129
  }, { allOwnKeys });
130
- return a;
130
+ return a2;
131
131
  };
132
132
  const stripBOM = (content) => {
133
133
  if (content.charCodeAt(0) === 65279) {
@@ -145,7 +145,7 @@
145
145
  };
146
146
  const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
147
147
  let props;
148
- let i;
148
+ let i2;
149
149
  let prop;
150
150
  const merged = {};
151
151
  destObj = destObj || {};
@@ -153,9 +153,9 @@
153
153
  return destObj;
154
154
  do {
155
155
  props = Object.getOwnPropertyNames(sourceObj);
156
- i = props.length;
157
- while (i-- > 0) {
158
- prop = props[i];
156
+ i2 = props.length;
157
+ while (i2-- > 0) {
158
+ prop = props[i2];
159
159
  if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
160
160
  destObj[prop] = sourceObj[prop];
161
161
  merged[prop] = true;
@@ -179,12 +179,12 @@
179
179
  return null;
180
180
  if (isArray(thing))
181
181
  return thing;
182
- let i = thing.length;
183
- if (!isNumber(i))
182
+ let i2 = thing.length;
183
+ if (!isNumber(i2))
184
184
  return null;
185
- const arr = new Array(i);
186
- while (i-- > 0) {
187
- arr[i] = thing[i];
185
+ const arr = new Array(i2);
186
+ while (i2-- > 0) {
187
+ arr[i2] = thing[i2];
188
188
  }
189
189
  return arr;
190
190
  };
@@ -214,7 +214,7 @@
214
214
  const toCamelCase = (str) => {
215
215
  return str.toLowerCase().replace(
216
216
  /[-_\s]([a-z\d])(\w*)/g,
217
- function replacer(m, p1, p2) {
217
+ function replacer(m2, p1, p2) {
218
218
  return p1.toUpperCase() + p2;
219
219
  }
220
220
  );
@@ -288,19 +288,19 @@
288
288
  }
289
289
  const toJSONObject = (obj) => {
290
290
  const stack = new Array(10);
291
- const visit = (source, i) => {
291
+ const visit = (source, i2) => {
292
292
  if (isObject(source)) {
293
293
  if (stack.indexOf(source) >= 0) {
294
294
  return;
295
295
  }
296
296
  if (!("toJSON" in source)) {
297
- stack[i] = source;
297
+ stack[i2] = source;
298
298
  const target = isArray(source) ? [] : {};
299
299
  forEach(source, (value, key) => {
300
- const reducedValue = visit(value, i + 1);
300
+ const reducedValue = visit(value, i2 + 1);
301
301
  !isUndefined(reducedValue) && (target[key] = reducedValue);
302
302
  });
303
- stack[i] = void 0;
303
+ stack[i2] = void 0;
304
304
  return target;
305
305
  }
306
306
  }
@@ -443,9 +443,9 @@
443
443
  function renderKey(path, key, dots) {
444
444
  if (!path)
445
445
  return key;
446
- return path.concat(key).map(function each(token, i) {
446
+ return path.concat(key).map(function each(token, i2) {
447
447
  token = removeBrackets(token);
448
- return !dots && i ? "[" + token + "]" : token;
448
+ return !dots && i2 ? "[" + token + "]" : token;
449
449
  }).join(dots ? "." : "");
450
450
  }
451
451
  function isFlatArray(arr) {
@@ -654,9 +654,9 @@
654
654
  * @returns {void}
655
655
  */
656
656
  forEach(fn) {
657
- utils$1.forEach(this.handlers, function forEachHandler(h) {
658
- if (h !== null) {
659
- fn(h);
657
+ utils$1.forEach(this.handlers, function forEachHandler(h2) {
658
+ if (h2 !== null) {
659
+ fn(h2);
660
660
  }
661
661
  });
662
662
  }
@@ -715,11 +715,11 @@
715
715
  function arrayToObject(arr) {
716
716
  const obj = {};
717
717
  const keys = Object.keys(arr);
718
- let i;
718
+ let i2;
719
719
  const len = keys.length;
720
720
  let key;
721
- for (i = 0; i < len; i++) {
722
- key = keys[i];
721
+ for (i2 = 0; i2 < len; i2++) {
722
+ key = keys[i2];
723
723
  obj[key] = arr[key];
724
724
  }
725
725
  return obj;
@@ -763,9 +763,9 @@
763
763
  try {
764
764
  (parser || JSON.parse)(rawValue);
765
765
  return utils$1.trim(rawValue);
766
- } catch (e) {
767
- if (e.name !== "SyntaxError") {
768
- throw e;
766
+ } catch (e2) {
767
+ if (e2.name !== "SyntaxError") {
768
+ throw e2;
769
769
  }
770
770
  }
771
771
  }
@@ -824,12 +824,12 @@
824
824
  const strictJSONParsing = !silentJSONParsing && JSONRequested;
825
825
  try {
826
826
  return JSON.parse(data);
827
- } catch (e) {
827
+ } catch (e2) {
828
828
  if (strictJSONParsing) {
829
- if (e.name === "SyntaxError") {
830
- throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
829
+ if (e2.name === "SyntaxError") {
830
+ throw AxiosError.from(e2, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
831
831
  }
832
- throw e;
832
+ throw e2;
833
833
  }
834
834
  }
835
835
  }
@@ -885,11 +885,11 @@
885
885
  const parsed = {};
886
886
  let key;
887
887
  let val;
888
- let i;
888
+ let i2;
889
889
  rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
890
- i = line.indexOf(":");
891
- key = line.substring(0, i).trim().toLowerCase();
892
- val = line.substring(i + 1).trim();
890
+ i2 = line.indexOf(":");
891
+ key = line.substring(0, i2).trim().toLowerCase();
892
+ val = line.substring(i2 + 1).trim();
893
893
  if (!key || parsed[key] && ignoreDuplicateOf[key]) {
894
894
  return;
895
895
  }
@@ -1035,10 +1035,10 @@
1035
1035
  }
1036
1036
  clear(matcher) {
1037
1037
  const keys = Object.keys(this);
1038
- let i = keys.length;
1038
+ let i2 = keys.length;
1039
1039
  let deleted = false;
1040
- while (i--) {
1041
- const key = keys[i];
1040
+ while (i2--) {
1041
+ const key = keys[i2];
1042
1042
  if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
1043
1043
  delete this[key];
1044
1044
  deleted = true;
@@ -1258,11 +1258,11 @@
1258
1258
  }
1259
1259
  bytes[head] = chunkLength;
1260
1260
  timestamps[head] = now;
1261
- let i = tail;
1261
+ let i2 = tail;
1262
1262
  let bytesCount = 0;
1263
- while (i !== head) {
1264
- bytesCount += bytes[i++];
1265
- i = i % samplesCount;
1263
+ while (i2 !== head) {
1264
+ bytesCount += bytes[i2++];
1265
+ i2 = i2 % samplesCount;
1266
1266
  }
1267
1267
  head = (head + 1) % samplesCount;
1268
1268
  if (head === tail) {
@@ -1278,9 +1278,9 @@
1278
1278
  function progressEventReducer(listener, isDownloadStream) {
1279
1279
  let bytesNotified = 0;
1280
1280
  const _speedometer = speedometer(50, 250);
1281
- return (e) => {
1282
- const loaded = e.loaded;
1283
- const total = e.lengthComputable ? e.total : void 0;
1281
+ return (e2) => {
1282
+ const loaded = e2.loaded;
1283
+ const total = e2.lengthComputable ? e2.total : void 0;
1284
1284
  const progressBytes = loaded - bytesNotified;
1285
1285
  const rate = _speedometer(progressBytes);
1286
1286
  const inRange = loaded <= total;
@@ -1292,7 +1292,7 @@
1292
1292
  bytes: progressBytes,
1293
1293
  rate: rate ? rate : void 0,
1294
1294
  estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
1295
- event: e
1295
+ event: e2
1296
1296
  };
1297
1297
  data[isDownloadStream ? "download" : "upload"] = true;
1298
1298
  listener(data);
@@ -1451,7 +1451,7 @@
1451
1451
  if (fn) {
1452
1452
  try {
1453
1453
  Object.defineProperty(fn, "name", { value });
1454
- } catch (e) {
1454
+ } catch (e2) {
1455
1455
  }
1456
1456
  Object.defineProperty(fn, "adapterName", { value });
1457
1457
  }
@@ -1465,8 +1465,8 @@
1465
1465
  let nameOrAdapter;
1466
1466
  let adapter;
1467
1467
  const rejectedReasons = {};
1468
- for (let i = 0; i < length; i++) {
1469
- nameOrAdapter = adapters2[i];
1468
+ for (let i2 = 0; i2 < length; i2++) {
1469
+ nameOrAdapter = adapters2[i2];
1470
1470
  let id;
1471
1471
  adapter = nameOrAdapter;
1472
1472
  if (!isResolvedHandle(nameOrAdapter)) {
@@ -1478,7 +1478,7 @@
1478
1478
  if (adapter) {
1479
1479
  break;
1480
1480
  }
1481
- rejectedReasons[id || "#" + i] = adapter;
1481
+ rejectedReasons[id || "#" + i2] = adapter;
1482
1482
  }
1483
1483
  if (!adapter) {
1484
1484
  const reasons = Object.entries(rejectedReasons).map(
@@ -1551,30 +1551,30 @@
1551
1551
  }
1552
1552
  return source;
1553
1553
  }
1554
- function mergeDeepProperties(a, b, caseless) {
1555
- if (!utils$1.isUndefined(b)) {
1556
- return getMergedValue(a, b, caseless);
1557
- } else if (!utils$1.isUndefined(a)) {
1558
- return getMergedValue(void 0, a, caseless);
1554
+ function mergeDeepProperties(a2, b2, caseless) {
1555
+ if (!utils$1.isUndefined(b2)) {
1556
+ return getMergedValue(a2, b2, caseless);
1557
+ } else if (!utils$1.isUndefined(a2)) {
1558
+ return getMergedValue(void 0, a2, caseless);
1559
1559
  }
1560
1560
  }
1561
- function valueFromConfig2(a, b) {
1562
- if (!utils$1.isUndefined(b)) {
1563
- return getMergedValue(void 0, b);
1561
+ function valueFromConfig2(a2, b2) {
1562
+ if (!utils$1.isUndefined(b2)) {
1563
+ return getMergedValue(void 0, b2);
1564
1564
  }
1565
1565
  }
1566
- function defaultToConfig2(a, b) {
1567
- if (!utils$1.isUndefined(b)) {
1568
- return getMergedValue(void 0, b);
1569
- } else if (!utils$1.isUndefined(a)) {
1570
- return getMergedValue(void 0, a);
1566
+ function defaultToConfig2(a2, b2) {
1567
+ if (!utils$1.isUndefined(b2)) {
1568
+ return getMergedValue(void 0, b2);
1569
+ } else if (!utils$1.isUndefined(a2)) {
1570
+ return getMergedValue(void 0, a2);
1571
1571
  }
1572
1572
  }
1573
- function mergeDirectKeys(a, b, prop) {
1573
+ function mergeDirectKeys(a2, b2, prop) {
1574
1574
  if (prop in config2) {
1575
- return getMergedValue(a, b);
1575
+ return getMergedValue(a2, b2);
1576
1576
  } else if (prop in config1) {
1577
- return getMergedValue(void 0, a);
1577
+ return getMergedValue(void 0, a2);
1578
1578
  }
1579
1579
  }
1580
1580
  const mergeMap = {
@@ -1606,7 +1606,7 @@
1606
1606
  socketPath: defaultToConfig2,
1607
1607
  responseEncoding: defaultToConfig2,
1608
1608
  validateStatus: mergeDirectKeys,
1609
- headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)
1609
+ headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true)
1610
1610
  };
1611
1611
  utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
1612
1612
  const merge2 = mergeMap[prop] || mergeDeepProperties;
@@ -1617,9 +1617,9 @@
1617
1617
  }
1618
1618
  const VERSION = "1.6.7";
1619
1619
  const validators$1 = {};
1620
- ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
1620
+ ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => {
1621
1621
  validators$1[type] = function validator2(thing) {
1622
- return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
1622
+ return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type;
1623
1623
  };
1624
1624
  });
1625
1625
  const deprecatedWarnings = {};
@@ -1651,9 +1651,9 @@
1651
1651
  throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
1652
1652
  }
1653
1653
  const keys = Object.keys(options);
1654
- let i = keys.length;
1655
- while (i-- > 0) {
1656
- const opt = keys[i];
1654
+ let i2 = keys.length;
1655
+ while (i2-- > 0) {
1656
+ const opt = keys[i2];
1657
1657
  const validator2 = schema[opt];
1658
1658
  if (validator2) {
1659
1659
  const value = options[opt];
@@ -1760,7 +1760,7 @@
1760
1760
  responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
1761
1761
  });
1762
1762
  let promise;
1763
- let i = 0;
1763
+ let i2 = 0;
1764
1764
  let len;
1765
1765
  if (!synchronousRequestInterceptors) {
1766
1766
  const chain = [dispatchRequest.bind(this), void 0];
@@ -1768,17 +1768,17 @@
1768
1768
  chain.push.apply(chain, responseInterceptorChain);
1769
1769
  len = chain.length;
1770
1770
  promise = Promise.resolve(config);
1771
- while (i < len) {
1772
- promise = promise.then(chain[i++], chain[i++]);
1771
+ while (i2 < len) {
1772
+ promise = promise.then(chain[i2++], chain[i2++]);
1773
1773
  }
1774
1774
  return promise;
1775
1775
  }
1776
1776
  len = requestInterceptorChain.length;
1777
1777
  let newConfig = config;
1778
- i = 0;
1779
- while (i < len) {
1780
- const onFulfilled = requestInterceptorChain[i++];
1781
- const onRejected = requestInterceptorChain[i++];
1778
+ i2 = 0;
1779
+ while (i2 < len) {
1780
+ const onFulfilled = requestInterceptorChain[i2++];
1781
+ const onRejected = requestInterceptorChain[i2++];
1782
1782
  try {
1783
1783
  newConfig = onFulfilled(newConfig);
1784
1784
  } catch (error) {
@@ -1791,10 +1791,10 @@
1791
1791
  } catch (error) {
1792
1792
  return Promise.reject(error);
1793
1793
  }
1794
- i = 0;
1794
+ i2 = 0;
1795
1795
  len = responseInterceptorChain.length;
1796
- while (i < len) {
1797
- promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
1796
+ while (i2 < len) {
1797
+ promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]);
1798
1798
  }
1799
1799
  return promise;
1800
1800
  }
@@ -1843,9 +1843,9 @@
1843
1843
  this.promise.then((cancel) => {
1844
1844
  if (!token._listeners)
1845
1845
  return;
1846
- let i = token._listeners.length;
1847
- while (i-- > 0) {
1848
- token._listeners[i](cancel);
1846
+ let i2 = token._listeners.length;
1847
+ while (i2-- > 0) {
1848
+ token._listeners[i2](cancel);
1849
1849
  }
1850
1850
  token._listeners = null;
1851
1851
  });
@@ -2026,113 +2026,107 @@
2026
2026
  axios.HttpStatusCode = HttpStatusCode$1;
2027
2027
  axios.default = axios;
2028
2028
  const ChatBotIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA1LTIxVDE4OjE5OjQxKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NmI5YWQxZC0yOTk4LTQ2ZjYtYjliYS01NTBlNzgwOGQ5MWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZiOWFkMWQtMjk5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";
2029
- function ye(t) {
2030
- return t == null ? true : typeof t == "string" || Array.isArray(t) ? t.length === 0 : typeof t == "object" ? Object.keys(t).length === 0 : false;
2031
- }
2032
- function Be(t) {
2033
- return t !== null && typeof t == "object" && !Array.isArray(t);
2034
- }
2035
- function ke(t = {}, o = {}) {
2036
- const e = {};
2037
- for (const n in t)
2038
- e[n] = t[n];
2039
- for (const n in o) {
2040
- const l = t[n], s = o[n];
2041
- if (Be(l) && Be(s)) {
2042
- e[n] = ke(
2043
- l,
2044
- s
2029
+ const u$2 = /* @__PURE__ */ vue.defineComponent({
2030
+ __name: "QSpinnerLoader",
2031
+ props: {
2032
+ size: { default: 48 },
2033
+ class: { default: void 0 }
2034
+ },
2035
+ setup(o2) {
2036
+ const e2 = o2, s = vue.computed(() => ({
2037
+ "font-size": e2.size !== 48 ? `${e2.size}px` : void 0
2038
+ }));
2039
+ return (i2, p2) => (vue.openBlock(), vue.createElementBlock(
2040
+ "div",
2041
+ {
2042
+ class: vue.normalizeClass(["q-spinner-loader", e2.class]),
2043
+ style: vue.normalizeStyle(s.value)
2044
+ },
2045
+ null,
2046
+ 6
2047
+ /* CLASS, STYLE */
2048
+ ));
2049
+ }
2050
+ });
2051
+ function n(r2) {
2052
+ return r2 == null ? true : typeof r2 == "string" || Array.isArray(r2) ? r2.length === 0 : typeof r2 == "object" ? Object.keys(r2).length === 0 : false;
2053
+ }
2054
+ function t$3(r2) {
2055
+ return r2 !== null && typeof r2 == "object" && !Array.isArray(r2);
2056
+ }
2057
+ function f(n2 = {}, e2 = {}) {
2058
+ const t2 = {};
2059
+ for (const o2 in n2)
2060
+ t2[o2] = n2[o2];
2061
+ for (const o2 in e2) {
2062
+ const c = n2[o2], r2 = e2[o2];
2063
+ if (t$3(c) && t$3(r2)) {
2064
+ t2[o2] = f(
2065
+ c,
2066
+ r2
2045
2067
  );
2046
2068
  continue;
2047
2069
  }
2048
- e[n] = s;
2070
+ t2[o2] = r2;
2049
2071
  }
2050
- return e;
2072
+ return t2;
2051
2073
  }
2052
- const we = "q-defaults";
2053
- function Ye() {
2054
- var s, r;
2055
- const t = vue.getCurrentInstance();
2056
- if (!t)
2074
+ const i = "q-defaults";
2075
+ function E() {
2076
+ var r2, u2;
2077
+ const e2 = vue.getCurrentInstance();
2078
+ if (!e2)
2057
2079
  throw new Error("[Quidgest UI] useDefaults must be called from inside a setup function");
2058
- const o = t.type.name ?? t.type.__name;
2059
- if (!o)
2080
+ const t2 = e2.type.name ?? e2.type.__name;
2081
+ if (!t2)
2060
2082
  throw new Error("[Quidgest UI] Could not determine component name");
2061
- const e = Oe(), n = (s = e.value) == null ? void 0 : s.Global, l = (r = e.value) == null ? void 0 : r[o];
2062
- return vue.computed(() => ke(n, l));
2083
+ const n2 = l$1(), o2 = (r2 = n2.value) == null ? void 0 : r2.Global, c = (u2 = n2.value) == null ? void 0 : u2[t2];
2084
+ return vue.computed(() => f(o2, c));
2063
2085
  }
2064
- function Me(t) {
2065
- if (ye(t))
2086
+ function I$1(e2) {
2087
+ if (n(e2))
2066
2088
  return;
2067
- const o = Oe(), e = vue.ref(t), n = vue.computed(() => ye(e.value) ? o.value : ke(o.value, e.value));
2068
- vue.provide(we, n);
2089
+ const t2 = l$1(), n$1 = vue.ref(e2), o2 = vue.computed(() => n(n$1.value) ? t2.value : f(t2.value, n$1.value));
2090
+ vue.provide(i, o2);
2069
2091
  }
2070
- function Oe() {
2071
- const t = vue.inject(we, void 0);
2072
- if (!t)
2092
+ function l$1() {
2093
+ const e2 = vue.inject(i, void 0);
2094
+ if (!e2)
2073
2095
  throw new Error("[Quidgest UI] Could not find defaults instance");
2074
- return t;
2075
- }
2076
- function Fe(t) {
2077
- return t.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/([0-9])([A-Za-z])/g, "$1-$2").replace(/([A-Za-z])([0-9])/g, "$1-$2").toLowerCase();
2078
- }
2079
- const at = /* @__PURE__ */ vue.createElementVNode("svg", { viewBox: "25 25 50 50" }, [
2080
- /* @__PURE__ */ vue.createElementVNode("circle", {
2081
- class: "path",
2082
- cx: "50",
2083
- cy: "50",
2084
- r: "20",
2085
- fill: "none",
2086
- stroke: "currentColor",
2087
- "stroke-width": "5",
2088
- "stroke-miterlimit": "10"
2089
- })
2090
- ], -1), st = [
2091
- at
2092
- ], it = /* @__PURE__ */ vue.defineComponent({
2093
- __name: "QSpinnerLoader",
2094
- props: {
2095
- size: { default: 48 },
2096
- class: { default: void 0 }
2097
- },
2098
- setup(t) {
2099
- const o = t, e = vue.computed(() => ({
2100
- "font-size": o.size !== 48 ? `${o.size}px` : void 0
2101
- }));
2102
- return (n, l) => (vue.openBlock(), vue.createElementBlock("div", {
2103
- class: vue.normalizeClass(["q-spinner-loader", o.class]),
2104
- style: vue.normalizeStyle(e.value)
2105
- }, st, 6));
2106
- }
2107
- });
2108
- function rt(t, o) {
2109
- var n;
2110
- const e = Fe(o);
2111
- return e ? typeof ((n = t.props) == null ? void 0 : n[e]) < "u" : false;
2112
- }
2113
- function S(t) {
2114
- const o = t.setup;
2115
- return o && (t.setup = (e, n) => {
2116
- const l = Ye();
2117
- if (ye(l.value))
2118
- return o(e, n);
2096
+ return e2;
2097
+ }
2098
+ function a$2(e2) {
2099
+ return e2.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/([0-9])([A-Za-z])/g, "$1-$2").replace(/([A-Za-z])([0-9])/g, "$1-$2").toLowerCase();
2100
+ }
2101
+ function y(e2, t2) {
2102
+ var n2;
2103
+ const r2 = a$2(t2);
2104
+ return r2 ? typeof ((n2 = e2.props) == null ? void 0 : n2[r2]) < "u" : false;
2105
+ }
2106
+ function C$3(e2) {
2107
+ const t2 = e2.setup;
2108
+ return t2 && (e2.setup = (r2, n$1) => {
2109
+ const o2 = E();
2110
+ if (n(o2.value))
2111
+ return t2(r2, n$1);
2119
2112
  const s = vue.getCurrentInstance();
2120
2113
  if (s === null)
2121
- return o(e, n);
2122
- const r = new Proxy(e, {
2123
- get(i, f) {
2124
- var y;
2125
- const L = Reflect.get(i, f), _ = (y = l.value) == null ? void 0 : y[f];
2126
- return typeof f == "string" && !rt(s.vnode, f) ? _ ?? L : L;
2114
+ return t2(r2, n$1);
2115
+ const a2 = new Proxy(r2, {
2116
+ get(l2, u2) {
2117
+ var i2;
2118
+ const f2 = Reflect.get(l2, u2), p2 = (i2 = o2.value) == null ? void 0 : i2[u2];
2119
+ return typeof u2 == "string" && !y(s.vnode, u2) ? p2 ?? f2 : f2;
2127
2120
  }
2128
2121
  });
2129
- return o(r, n);
2130
- }), t;
2122
+ return t2(a2, n$1);
2123
+ }), e2;
2131
2124
  }
2132
- const $e = S(it), dt = ["disabled"], ut = {
2125
+ const t$2 = C$3(u$2);
2126
+ const h$3 = ["disabled"], z$2 = {
2133
2127
  key: 0,
2134
2128
  class: "q-btn__spinner"
2135
- }, ct = { class: "q-btn__content" }, ft = /* @__PURE__ */ vue.defineComponent({
2129
+ }, C$2 = { class: "q-btn__content" }, O = /* @__PURE__ */ vue.defineComponent({
2136
2130
  __name: "QButton",
2137
2131
  props: {
2138
2132
  active: { type: Boolean },
@@ -2148,122 +2142,70 @@
2148
2142
  class: { default: void 0 }
2149
2143
  },
2150
2144
  emits: ["click"],
2151
- setup(t, { emit: o }) {
2152
- const e = t, n = o, l = vue.computed(() => e.disabled || e.loading);
2153
- function s(i) {
2154
- l.value || n("click", i);
2145
+ setup(c, { emit: b2 }) {
2146
+ const e2 = c, p2 = b2, a2 = vue.computed(() => e2.disabled || e2.loading);
2147
+ function u2(t2) {
2148
+ a2.value || p2("click", t2);
2155
2149
  }
2156
- const r = vue.computed(() => {
2157
- const i = e.size !== "regular" ? `q-btn--${e.size}` : void 0;
2150
+ const f2 = vue.computed(() => {
2151
+ const t2 = e2.size !== "regular" ? `q-btn--${e2.size}` : void 0;
2158
2152
  return [
2159
2153
  "q-btn",
2160
- `q-btn--${e.bStyle}`,
2161
- i,
2154
+ `q-btn--${e2.bStyle}`,
2155
+ t2,
2162
2156
  {
2163
- "q-btn--active": e.active,
2164
- "q-btn--borderless": e.borderless,
2165
- "q-btn--elevated": e.elevated,
2166
- "q-btn--block": e.block,
2167
- "q-btn--loading": e.loading
2157
+ "q-btn--active": e2.active,
2158
+ "q-btn--borderless": e2.borderless,
2159
+ "q-btn--elevated": e2.elevated,
2160
+ "q-btn--block": e2.block,
2161
+ "q-btn--loading": e2.loading
2168
2162
  },
2169
- e.class
2163
+ e2.class
2170
2164
  ];
2171
2165
  });
2172
- return (i, f) => (vue.openBlock(), vue.createElementBlock("button", {
2166
+ return (t2, S) => (vue.openBlock(), vue.createElementBlock("button", {
2173
2167
  type: "button",
2174
- class: vue.normalizeClass(r.value),
2175
- disabled: l.value,
2176
- onClick: vue.withModifiers(s, ["stop", "prevent"])
2168
+ class: vue.normalizeClass(f2.value),
2169
+ disabled: a2.value,
2170
+ onClick: vue.withModifiers(u2, ["stop", "prevent"])
2177
2171
  }, [
2178
- i.loading ? (vue.openBlock(), vue.createElementBlock("div", ut, [
2179
- vue.createVNode(vue.unref($e), { size: 20 })
2180
- ])) : vue.createCommentVNode("", true),
2181
- vue.createElementVNode("span", ct, [
2182
- i.iconOnRight ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
2183
- vue.createTextVNode(vue.toDisplayString(e.label), 1)
2184
- ], 64)) : vue.createCommentVNode("", true),
2185
- vue.renderSlot(i.$slots, "default"),
2186
- i.iconOnRight ? vue.createCommentVNode("", true) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
2187
- vue.createTextVNode(vue.toDisplayString(e.label), 1)
2188
- ], 64))
2189
- ])
2190
- ], 10, dt));
2191
- }
2192
- }), fe = S(ft), pt = /* @__PURE__ */ vue.defineComponent({
2193
- __name: "QButtonGroup",
2194
- props: {
2195
- disabled: { type: Boolean },
2196
- borderless: { type: Boolean },
2197
- elevated: { type: Boolean },
2198
- class: { default: void 0 }
2199
- },
2200
- setup(t) {
2201
- const o = t;
2202
- return Me({
2203
- QButton: {
2204
- bStyle: "secondary",
2205
- disabled: vue.toRef(o, "disabled"),
2206
- borderless: vue.toRef(o, "borderless"),
2207
- elevated: false
2208
- }
2209
- }), (e, n) => (vue.openBlock(), vue.createElementBlock("div", {
2210
- class: vue.normalizeClass([
2211
- "q-btn-group",
2212
- {
2213
- "q-btn-group--elevated": o.elevated
2214
- },
2215
- o.class
2172
+ t2.loading ? (vue.openBlock(), vue.createElementBlock("div", z$2, [
2173
+ vue.createVNode(vue.unref(t$2), { size: 20 })
2174
+ ])) : vue.createCommentVNode("v-if", true),
2175
+ vue.createElementVNode("span", C$2, [
2176
+ t2.iconOnRight ? (vue.openBlock(), vue.createElementBlock(
2177
+ vue.Fragment,
2178
+ { key: 0 },
2179
+ [
2180
+ vue.createTextVNode(
2181
+ vue.toDisplayString(e2.label),
2182
+ 1
2183
+ /* TEXT */
2184
+ )
2185
+ ],
2186
+ 64
2187
+ /* STABLE_FRAGMENT */
2188
+ )) : vue.createCommentVNode("v-if", true),
2189
+ vue.renderSlot(t2.$slots, "default"),
2190
+ t2.iconOnRight ? vue.createCommentVNode("v-if", true) : (vue.openBlock(), vue.createElementBlock(
2191
+ vue.Fragment,
2192
+ { key: 1 },
2193
+ [
2194
+ vue.createTextVNode(
2195
+ vue.toDisplayString(e2.label),
2196
+ 1
2197
+ /* TEXT */
2198
+ )
2199
+ ],
2200
+ 64
2201
+ /* STABLE_FRAGMENT */
2202
+ ))
2216
2203
  ])
2217
- }, [
2218
- vue.renderSlot(e.$slots, "default")
2219
- ], 2));
2220
- }
2221
- }), mt = S(pt), vt = /* @__PURE__ */ vue.defineComponent({
2222
- __name: "QButtonToggle",
2223
- props: /* @__PURE__ */ vue.mergeModels({
2224
- options: {},
2225
- disabled: { type: Boolean },
2226
- borderless: { type: Boolean },
2227
- elevated: { type: Boolean },
2228
- required: { type: Boolean },
2229
- class: {}
2230
- }, {
2231
- modelValue: {},
2232
- modelModifiers: {}
2233
- }),
2234
- emits: ["update:modelValue"],
2235
- setup(t) {
2236
- const o = t, e = vue.useModel(t, "modelValue");
2237
- function n(l) {
2238
- e.value === l.key && !o.required ? e.value = void 0 : e.value = l.key;
2239
- }
2240
- return (l, s) => (vue.openBlock(), vue.createBlock(vue.unref(mt), {
2241
- "b-style": "secondary",
2242
- class: vue.normalizeClass(o.class),
2243
- disabled: o.disabled,
2244
- borderless: o.borderless,
2245
- elevated: o.elevated
2246
- }, {
2247
- default: vue.withCtx(() => [
2248
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.options, (r) => (vue.openBlock(), vue.createBlock(vue.unref(fe), {
2249
- key: r.key,
2250
- title: r.title,
2251
- label: r.label,
2252
- active: e.value === r.key,
2253
- onClick: () => n(r)
2254
- }, {
2255
- default: vue.withCtx(() => [
2256
- vue.renderSlot(l.$slots, r.key)
2257
- ]),
2258
- _: 2
2259
- }, 1032, ["title", "label", "active", "onClick"]))), 128))
2260
- ]),
2261
- _: 3
2262
- }, 8, ["class", "disabled", "borderless", "elevated"]));
2204
+ ], 10, h$3));
2263
2205
  }
2264
2206
  });
2265
- S(vt);
2266
- const ht = /* @__PURE__ */ vue.defineComponent({
2207
+ const p$2 = C$3(O);
2208
+ const _$1 = /* @__PURE__ */ vue.defineComponent({
2267
2209
  __name: "QIcon",
2268
2210
  props: {
2269
2211
  icon: {},
@@ -2271,26 +2213,27 @@
2271
2213
  size: { default: void 0 },
2272
2214
  class: { default: void 0 }
2273
2215
  },
2274
- setup(t) {
2275
- const o = t, e = vue.computed(() => {
2276
- switch (o.type) {
2216
+ setup(o2) {
2217
+ const e2 = o2, n2 = vue.computed(() => {
2218
+ switch (e2.type) {
2277
2219
  case "svg":
2278
- return It;
2220
+ return Q$1;
2279
2221
  case "font":
2280
- return qt;
2222
+ return I;
2281
2223
  case "img":
2282
- return Lt;
2224
+ return a;
2283
2225
  default:
2284
2226
  return;
2285
2227
  }
2286
2228
  });
2287
- return (n, l) => (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(e.value), {
2288
- class: vue.normalizeClass(o.class),
2289
- icon: o.icon,
2290
- size: o.size
2229
+ return (m2, d) => (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(n2.value), {
2230
+ class: vue.normalizeClass(e2.class),
2231
+ icon: e2.icon,
2232
+ size: e2.size
2291
2233
  }, null, 8, ["class", "icon", "size"]));
2292
2234
  }
2293
- }), bt = /* @__PURE__ */ vue.defineComponent({
2235
+ });
2236
+ const v = /* @__PURE__ */ vue.defineComponent({
2294
2237
  __name: "QIconFont",
2295
2238
  props: {
2296
2239
  icon: {},
@@ -2299,48 +2242,56 @@
2299
2242
  size: { default: void 0 },
2300
2243
  class: { default: void 0 }
2301
2244
  },
2302
- setup(t) {
2303
- const o = t, e = vue.computed(() => o.variant ? `${o.library}-${o.variant}` : o.library), n = vue.computed(() => o.library && o.icon ? `${o.library}-${o.icon}` : o.icon), l = vue.computed(() => ({
2304
- "font-size": o.size !== void 0 ? `${o.size}px` : void 0
2245
+ setup(e2) {
2246
+ const n2 = e2, t2 = vue.computed(() => n2.variant ? `${n2.library}-${n2.variant}` : n2.library), a2 = vue.computed(() => n2.library && n2.icon ? `${n2.library}-${n2.icon}` : n2.icon), i2 = vue.computed(() => ({
2247
+ "font-size": n2.size !== void 0 ? `${n2.size}px` : void 0
2305
2248
  }));
2306
- return (s, r) => (vue.openBlock(), vue.createElementBlock("i", {
2307
- class: vue.normalizeClass(["q-icon", "q-icon__font", e.value, n.value, o.class]),
2308
- style: vue.normalizeStyle(l.value)
2309
- }, null, 6));
2249
+ return (f2, d) => (vue.openBlock(), vue.createElementBlock(
2250
+ "i",
2251
+ {
2252
+ class: vue.normalizeClass(["q-icon", "q-icon__font", t2.value, a2.value, n2.class]),
2253
+ style: vue.normalizeStyle(i2.value)
2254
+ },
2255
+ null,
2256
+ 6
2257
+ /* CLASS, STYLE */
2258
+ ));
2310
2259
  }
2311
- }), yt = ["src"], gt = /* @__PURE__ */ vue.defineComponent({
2260
+ });
2261
+ const a$1 = ["src"], u$1 = /* @__PURE__ */ vue.defineComponent({
2312
2262
  __name: "QIconImg",
2313
2263
  props: {
2314
2264
  icon: {},
2315
2265
  size: {},
2316
2266
  class: {}
2317
2267
  },
2318
- setup(t) {
2319
- const o = t, e = vue.computed(() => ({
2320
- "font-size": o.size !== void 0 ? `${o.size}px` : void 0
2268
+ setup(o2) {
2269
+ const e2 = o2, s = vue.computed(() => ({
2270
+ "font-size": e2.size !== void 0 ? `${e2.size}px` : void 0
2321
2271
  }));
2322
- return (n, l) => (vue.openBlock(), vue.createElementBlock("img", {
2323
- src: o.icon,
2324
- class: vue.normalizeClass(["q-icon", "q-icon__img", o.class]),
2325
- style: vue.normalizeStyle(e.value)
2326
- }, null, 14, yt));
2272
+ return (m2, p2) => (vue.openBlock(), vue.createElementBlock("img", {
2273
+ src: e2.icon,
2274
+ class: vue.normalizeClass(["q-icon", "q-icon__img", e2.class]),
2275
+ style: vue.normalizeStyle(s.value)
2276
+ }, null, 14, a$1));
2327
2277
  }
2328
- }), re = {}, _t = vue.defineComponent({
2278
+ });
2279
+ const o = {}, h$2 = vue.defineComponent({
2329
2280
  name: "InlineSvg",
2330
2281
  emits: {
2331
- loaded: (t) => typeof t == "object",
2282
+ loaded: (t2) => typeof t2 == "object",
2332
2283
  unloaded: () => true,
2333
- error: (t) => typeof t == "object"
2284
+ error: (t2) => typeof t2 == "object"
2334
2285
  },
2335
2286
  inheritAttrs: false,
2336
2287
  render() {
2337
2288
  if (!this.svgElSource)
2338
2289
  return null;
2339
- const t = this.getSvgContent(this.svgElSource);
2340
- if (!t)
2290
+ const t2 = this.getSvgContent(this.svgElSource);
2291
+ if (!t2)
2341
2292
  return vue.h("div", this.$attrs);
2342
- const o = {};
2343
- return this.copySvgAttrs(o, this.svgElSource), this.copySvgAttrs(o, t), this.copyComponentAttrs(o, this.$attrs), o.innerHTML = t.innerHTML, vue.h("svg", o);
2293
+ const e2 = {};
2294
+ return this.copySvgAttrs(e2, this.svgElSource), this.copySvgAttrs(e2, t2), this.copyComponentAttrs(e2, this.$attrs), e2.innerHTML = t2.innerHTML, vue.h("svg", e2);
2344
2295
  },
2345
2296
  props: {
2346
2297
  /**
@@ -2391,30 +2342,30 @@
2391
2342
  await this.getSource(this.src);
2392
2343
  },
2393
2344
  methods: {
2394
- copySvgAttrs(t, o) {
2395
- const e = o.attributes;
2396
- if (e)
2397
- for (const n of e)
2398
- t[n.name] = n.value;
2345
+ copySvgAttrs(t2, e2) {
2346
+ const r2 = e2.attributes;
2347
+ if (r2)
2348
+ for (const n2 of r2)
2349
+ t2[n2.name] = n2.value;
2399
2350
  },
2400
- copyComponentAttrs(t, o) {
2401
- for (const [e, n] of Object.entries(o))
2402
- n !== false && n !== null && n !== void 0 && (t[e] = n);
2351
+ copyComponentAttrs(t2, e2) {
2352
+ for (const [r2, n2] of Object.entries(e2))
2353
+ n2 !== false && n2 !== null && n2 !== void 0 && (t2[r2] = n2);
2403
2354
  },
2404
- getSvgContent(t) {
2405
- return this.symbol && (t = t.getElementById(this.symbol), !t) ? null : (this.transformSource && (t = t.cloneNode(true), t = this.transformSource(t)), this.title && (this.transformSource || (t = t.cloneNode(true)), kt(t, this.title)), t);
2355
+ getSvgContent(t2) {
2356
+ return this.symbol && (t2 = t2.getElementById(this.symbol), !t2) ? null : (this.transformSource && (t2 = t2.cloneNode(true), t2 = this.transformSource(t2)), this.title && (this.transformSource || (t2 = t2.cloneNode(true)), l(t2, this.title)), t2);
2406
2357
  },
2407
2358
  /**
2408
2359
  * Get svgElSource
2409
2360
  * @param {string} src
2410
2361
  */
2411
- async getSource(t) {
2362
+ async getSource(t2) {
2412
2363
  try {
2413
- re[t] || (re[t] = wt(this.download(t))), this.svgElSource && re[t].getIsPending() && !this.keepDuringLoading && (this.svgElSource = null, this.$emit("unloaded"));
2414
- const o = await re[t];
2415
- this.svgElSource = o, await this.$nextTick(), this.$emit("loaded", this.$el);
2416
- } catch (o) {
2417
- this.svgElSource && (this.svgElSource = null, this.$emit("unloaded")), delete re[t], this.$emit("error", o);
2364
+ o[t2] || (o[t2] = u(this.download(t2))), this.svgElSource && o[t2].getIsPending() && !this.keepDuringLoading && (this.svgElSource = null, this.$emit("unloaded"));
2365
+ const e2 = await o[t2];
2366
+ this.svgElSource = e2, await this.$nextTick(), this.$emit("loaded", this.$el);
2367
+ } catch (e2) {
2368
+ this.svgElSource && (this.svgElSource = null, this.$emit("unloaded")), delete o[t2], this.$emit("error", e2);
2418
2369
  }
2419
2370
  },
2420
2371
  /**
@@ -2422,45 +2373,45 @@
2422
2373
  * @param {string} url
2423
2374
  * @returns {PromiseWithState<Element>}
2424
2375
  */
2425
- async download(t) {
2426
- const o = await fetch(t);
2427
- if (!o.ok)
2376
+ async download(t2) {
2377
+ const e2 = await fetch(t2);
2378
+ if (!e2.ok)
2428
2379
  throw new Error("Error loading SVG");
2429
- const e = await o.text(), s = new DOMParser().parseFromString(e, "text/xml").getElementsByTagName("svg")[0];
2430
- if (!s)
2380
+ const r2 = await e2.text(), i2 = new DOMParser().parseFromString(r2, "text/xml").getElementsByTagName("svg")[0];
2381
+ if (!i2)
2431
2382
  throw new Error("Loaded file is not a valid SVG");
2432
- return s;
2383
+ return i2;
2433
2384
  }
2434
2385
  },
2435
2386
  watch: {
2436
- src(t) {
2437
- this.getSource(t);
2387
+ src(t2) {
2388
+ this.getSource(t2);
2438
2389
  }
2439
2390
  },
2440
2391
  expose: []
2441
2392
  });
2442
- function kt(t, o) {
2443
- const e = t.getElementsByTagName("title");
2444
- if (e.length)
2445
- e[0].textContent = o;
2393
+ function l(t2, e2) {
2394
+ const r2 = t2.getElementsByTagName("title");
2395
+ if (r2.length)
2396
+ r2[0].textContent = e2;
2446
2397
  else {
2447
- const n = document.createElementNS("http://www.w3.org/2000/svg", "title");
2448
- n.textContent = o, t.insertBefore(n, t.firstChild);
2398
+ const n2 = document.createElementNS("http://www.w3.org/2000/svg", "title");
2399
+ n2.textContent = e2, t2.insertBefore(n2, t2.firstChild);
2449
2400
  }
2450
2401
  }
2451
- function wt(t) {
2452
- if (t.getIsPending)
2453
- return t;
2454
- let o = true;
2455
- const e = t.then(
2456
- (n) => (o = false, n),
2457
- (n) => {
2458
- throw o = false, n;
2402
+ function u(t2) {
2403
+ if (t2.getIsPending)
2404
+ return t2;
2405
+ let e2 = true;
2406
+ const r2 = t2.then(
2407
+ (n2) => (e2 = false, n2),
2408
+ (n2) => {
2409
+ throw e2 = false, n2;
2459
2410
  }
2460
2411
  );
2461
- return e.getIsPending = () => o, e;
2412
+ return r2.getIsPending = () => e2, r2;
2462
2413
  }
2463
- const $t = /* @__PURE__ */ vue.defineComponent({
2414
+ const b$1 = /* @__PURE__ */ vue.defineComponent({
2464
2415
  __name: "QIconSvg",
2465
2416
  props: {
2466
2417
  icon: {},
@@ -2469,568 +2420,44 @@
2469
2420
  class: { default: void 0 }
2470
2421
  },
2471
2422
  emits: ["loaded", "unloaded"],
2472
- setup(t, { emit: o }) {
2473
- const e = t, n = o, l = vue.computed(() => ({
2474
- "font-size": e.size !== void 0 ? `${e.size}px` : void 0
2423
+ setup(s, { emit: l2 }) {
2424
+ const e2 = s, o2 = l2, t2 = vue.computed(() => ({
2425
+ "font-size": e2.size !== void 0 ? `${e2.size}px` : void 0
2475
2426
  }));
2476
- function s(i) {
2477
- n("loaded", i);
2478
- }
2479
- function r() {
2480
- n("unloaded");
2481
- }
2482
- return (i, f) => (vue.openBlock(), vue.createBlock(vue.unref(_t), {
2483
- class: vue.normalizeClass(["q-icon", "q-icon__svg", e.class]),
2484
- src: e.bundle,
2485
- symbol: e.icon,
2486
- style: vue.normalizeStyle(l.value),
2487
- onLoaded: s,
2488
- onUnloaded: r
2427
+ function c(n2) {
2428
+ o2("loaded", n2);
2429
+ }
2430
+ function i2() {
2431
+ o2("unloaded");
2432
+ }
2433
+ return (n2, _2) => (vue.openBlock(), vue.createBlock(vue.unref(h$2), {
2434
+ class: vue.normalizeClass(["q-icon", "q-icon__svg", e2.class]),
2435
+ src: e2.bundle,
2436
+ symbol: e2.icon,
2437
+ style: vue.normalizeStyle(t2.value),
2438
+ onLoaded: c,
2439
+ onUnloaded: i2
2489
2440
  }, null, 8, ["class", "src", "symbol", "style"]));
2490
2441
  }
2491
- }), ee = S(ht), qt = S(bt), Lt = S(gt), It = S($t), xt = /* @__PURE__ */ vue.defineComponent({
2492
- __name: "QList",
2493
- props: /* @__PURE__ */ vue.mergeModels({
2494
- highlighted: { type: [String, Number, Boolean, Symbol], default: void 0 },
2495
- items: {},
2496
- groups: { default: () => [] },
2497
- itemValue: { default: "key" },
2498
- itemLabel: { default: "label" },
2499
- disabled: { type: Boolean },
2500
- class: { default: void 0 }
2501
- }, {
2502
- modelValue: {
2503
- type: [String, Number, Boolean, Symbol]
2504
- },
2505
- modelModifiers: {}
2506
- }),
2507
- emits: ["update:modelValue"],
2508
- setup(t, { expose: o }) {
2509
- const e = t, n = vue.useModel(t, "modelValue"), l = vue.ref(false), s = vue.computed(() => r.value.length > 1 ? "div" : "ul"), r = vue.computed(() => e.groups.length ? e.groups.filter(
2510
- (c) => e.items.some((b) => b.group === c.id)
2511
- ) : [{ id: "", title: "" }]), i = vue.ref(null);
2512
- function f(c) {
2513
- n.value = c;
2514
- }
2515
- function L() {
2516
- l.value = true;
2517
- }
2518
- function _() {
2519
- l.value = false;
2520
- }
2521
- function y(c) {
2522
- var d;
2523
- if ((d = i.value) != null && d.contains(c.relatedTarget))
2524
- return;
2525
- let b;
2526
- n.value ? b = e.items.findIndex(($) => $[e.itemValue] === n.value) : b = j();
2527
- const q = l.value;
2528
- C(b, q);
2529
- }
2530
- function U(c) {
2531
- switch (["ArrowDown", "ArrowUp", "Home", "End"].includes(c.key) && c.preventDefault(), c.key) {
2532
- case "ArrowDown":
2533
- z("next");
2534
- break;
2535
- case "ArrowUp":
2536
- z("prev");
2537
- break;
2538
- case "Home":
2539
- z("first");
2540
- break;
2541
- case "End":
2542
- z("last");
2543
- break;
2544
- }
2545
- }
2546
- function z(c) {
2547
- switch (c) {
2548
- case "next":
2549
- case "prev":
2550
- C(X(c));
2551
- break;
2552
- case "first":
2553
- C(j());
2554
- break;
2555
- case "last":
2556
- C(A());
2557
- break;
2558
- }
2559
- }
2560
- function C(c, b = false) {
2561
- var d;
2562
- (d = V()[c]) == null || d.focus({ preventScroll: b });
2563
- }
2564
- function V() {
2565
- var b;
2566
- const c = (b = i.value) == null ? void 0 : b.querySelectorAll("li");
2567
- return c ? Array.from(c) : [];
2568
- }
2569
- function W(c) {
2570
- return V()[c];
2571
- }
2572
- function le() {
2573
- return V().indexOf(document.activeElement);
2574
- }
2575
- function j() {
2576
- const c = V(), b = c.find((q) => P(q));
2577
- return b ? c.indexOf(b) : -1;
2578
- }
2579
- function A() {
2580
- const c = V(), b = [...c].reverse().find((q) => P(q));
2581
- return b ? c.indexOf(b) : -1;
2582
- }
2583
- function Q(c, b, q) {
2584
- return b === "prev" && c === 0 || b === "next" && c === q.length - 1;
2585
- }
2586
- function X(c) {
2587
- const b = le();
2588
- return N(b, c);
2589
- }
2590
- function N(c, b) {
2591
- const q = V();
2592
- if (Q(c, b, q))
2593
- return c;
2594
- let d = c + (b === "next" ? 1 : -1);
2595
- for (; !P(q[d]); ) {
2596
- if (Q(d, b, q))
2597
- return c;
2598
- d += b === "next" ? 1 : -1;
2599
- }
2600
- return d;
2601
- }
2602
- function P(c) {
2603
- return c.tabIndex === -2;
2604
- }
2605
- function ae(c) {
2606
- return c ? e.items.filter((b) => b.group === c) : e.items;
2607
- }
2608
- return o({
2609
- focusItem: C,
2610
- getItem: W,
2611
- getAdjacentItemIndex: N,
2612
- getFirstFocusableItemIndex: j,
2613
- getLastFocusableItemIndex: A
2614
- }), (c, b) => (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(s.value), {
2615
- ref_key: "listRef",
2616
- ref: i,
2617
- class: vue.normalizeClass(["q-list", { "q-list--disabled": e.disabled }, e.class]),
2618
- role: "listbox",
2619
- tabindex: e.disabled ? -1 : 0,
2620
- onFocus: y,
2621
- onMousedown: L,
2622
- onMouseup: _,
2623
- onKeydown: U
2624
- }, {
2625
- default: vue.withCtx(() => [
2626
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(r.value, (q) => (vue.openBlock(), vue.createBlock(vue.unref(Qt), {
2627
- key: q.id,
2628
- title: r.value.length === 1 ? void 0 : q.title,
2629
- disabled: q.disabled
2630
- }, {
2631
- default: vue.withCtx(() => [
2632
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(ae(q.id), (d) => (vue.openBlock(), vue.createBlock(vue.unref(At), {
2633
- key: d[e.itemValue],
2634
- value: d[e.itemValue],
2635
- label: d[e.itemLabel],
2636
- icon: d.icon,
2637
- disabled: e.disabled || d.disabled,
2638
- highlighted: e.highlighted === d[e.itemValue],
2639
- selected: n.value === d[e.itemValue],
2640
- onSelect: f
2641
- }, {
2642
- default: vue.withCtx(() => [
2643
- vue.renderSlot(c.$slots, "item", { item: d })
2644
- ]),
2645
- _: 2
2646
- }, 1032, ["value", "label", "icon", "disabled", "highlighted", "selected"]))), 128))
2647
- ]),
2648
- _: 2
2649
- }, 1032, ["title", "disabled"]))), 128))
2650
- ]),
2651
- _: 3
2652
- }, 40, ["class", "tabindex"]));
2653
- }
2654
2442
  });
2655
- let Bt = 0;
2656
- function me(t) {
2657
- return t || `uid-${++Bt}`;
2658
- }
2659
- const St = ["id", "data-key", "tabindex", "aria-label", "aria-selected"], Vt = { class: "q-list-item__check-container" }, Et = {
2660
- check: {
2661
- icon: "check"
2662
- }
2663
- }, Tt = /* @__PURE__ */ vue.defineComponent({
2664
- __name: "QListItem",
2665
- props: {
2666
- value: { type: [String, Number, Boolean, Symbol] },
2667
- label: {},
2668
- icon: { default: void 0 },
2669
- selected: { type: Boolean },
2670
- highlighted: { type: Boolean },
2671
- icons: { default: () => Et },
2672
- disabled: { type: Boolean }
2673
- },
2674
- emits: ["select"],
2675
- setup(t, { emit: o }) {
2676
- const e = t, n = o, l = me();
2677
- function s() {
2678
- e.disabled || n("select", e.value);
2679
- }
2680
- function r(i) {
2681
- i.key === "Tab" && s(), (i.key === "Enter" || i.key === " ") && (i.preventDefault(), i.stopPropagation(), s());
2682
- }
2683
- return (i, f) => (vue.openBlock(), vue.createElementBlock("li", {
2684
- id: vue.unref(l),
2685
- "data-key": e.value,
2686
- role: "option",
2687
- tabindex: e.disabled ? void 0 : -2,
2688
- class: vue.normalizeClass([
2689
- "q-list-item",
2690
- {
2691
- "q-list-item--disabled": e.disabled,
2692
- "q-list-item--selected": e.selected,
2693
- "q-list-item--highlighted": e.highlighted
2694
- }
2695
- ]),
2696
- "aria-label": e.label,
2697
- "aria-selected": e.disabled ? void 0 : e.selected,
2698
- onKeydown: r,
2699
- onClick: vue.withModifiers(s, ["stop", "prevent"])
2700
- }, [
2701
- vue.renderSlot(i.$slots, "default", {}, () => [
2702
- e.icon ? (vue.openBlock(), vue.createBlock(vue.unref(ee), vue.normalizeProps(vue.mergeProps({ key: 0 }, e.icon)), null, 16)) : vue.createCommentVNode("", true),
2703
- vue.createTextVNode(" " + vue.toDisplayString(e.label), 1)
2704
- ]),
2705
- vue.createElementVNode("div", Vt, [
2706
- e.selected ? (vue.openBlock(), vue.createBlock(vue.unref(ee), vue.mergeProps({ key: 0 }, e.icons.check, { class: "q-list-item__check" }), null, 16)) : vue.createCommentVNode("", true)
2707
- ])
2708
- ], 42, St));
2709
- }
2710
- }), Dt = ["aria-labelledby"], zt = ["id"], Ct = /* @__PURE__ */ vue.defineComponent({
2711
- __name: "QListItemGroup",
2712
- props: {
2713
- title: { default: "" },
2714
- disabled: { type: Boolean }
2715
- },
2716
- setup(t) {
2717
- const o = t, e = me();
2718
- return (n, l) => (vue.openBlock(), vue.createElementBlock("ul", {
2719
- class: "q-list-item-group",
2720
- role: "group",
2721
- "aria-labelledby": o.title ? vue.unref(e) : void 0
2722
- }, [
2723
- o.title ? (vue.openBlock(), vue.createElementBlock("li", {
2724
- key: 0,
2725
- id: vue.unref(e),
2726
- class: "q-list-item-group__title",
2727
- role: "presentation"
2728
- }, vue.toDisplayString(o.title), 9, zt)) : vue.createCommentVNode("", true),
2729
- vue.renderSlot(n.$slots, "default")
2730
- ], 8, Dt));
2731
- }
2732
- }), Re = S(xt), At = S(Tt), Qt = S(Ct);
2733
- function Mt(t, o, e = "right", n) {
2734
- const l = t.getBoundingClientRect(), s = l.x + window.scrollX, r = l.y + window.scrollY, i = o == null ? void 0 : o.getBoundingClientRect(), f = (i == null ? void 0 : i.width) ?? 0, L = (i == null ? void 0 : i.height) ?? 0;
2735
- let _ = e;
2736
- i && ge(l, i, _) !== 0 && (_ = Ot(l, i, _));
2737
- const y = { x: 0, y: 0, placement: _ };
2738
- switch (_) {
2739
- case "top":
2740
- n === "anchor" ? y.x = s : y.x = s + (l.width - f) / 2, y.y = r - L;
2741
- break;
2742
- case "bottom":
2743
- n === "anchor" ? y.x = s : y.x = s + (l.width - f) / 2, y.y = r + l.height;
2744
- break;
2745
- case "left":
2746
- y.x = s - f, y.y = r + l.height / 2 - L / 2;
2747
- break;
2748
- case "right":
2749
- y.x = s + l.width, y.y = r + l.height / 2 - L / 2;
2750
- break;
2751
- }
2752
- return y.x = Math.max(0, y.x), y.y = Math.max(0, y.y), n === "anchor" && l.width >= f && (y.width = l.width), y;
2753
- }
2754
- function ge(t, o, e) {
2755
- let n = 0, l = 0;
2756
- switch (e) {
2757
- case "top":
2758
- n = Te(t, o), l = t.top - o.height;
2759
- break;
2760
- case "bottom":
2761
- n = Te(t, o), l = window.innerHeight - t.top - t.height - o.height;
2762
- break;
2763
- case "left":
2764
- n = t.left - o.width, l = Ee(t, o);
2765
- break;
2766
- case "right":
2767
- n = window.innerWidth - t.left - t.width - o.width, l = Ee(t, o);
2768
- break;
2769
- }
2770
- return Math.min(0, Math.min(n, l));
2771
- }
2772
- function Ee(t, o) {
2773
- return Math.min(
2774
- window.innerHeight - t.top - t.height / 2 - o.height / 2,
2775
- t.top + t.height / 2 - o.height / 2
2776
- );
2777
- }
2778
- function Te(t, o) {
2779
- return Math.min(
2780
- window.innerWidth - t.left - t.width / 2 - o.width / 2,
2781
- t.left + t.width / 2 - o.width / 2
2782
- );
2783
- }
2784
- function Ot(t, o, e) {
2785
- const n = {
2786
- top: ["bottom", "left", "right"],
2787
- bottom: ["top", "left", "right"],
2788
- left: ["right", "top", "bottom"],
2789
- right: ["left", "top", "bottom"]
2790
- };
2791
- let l = e, s = ge(t, o, e);
2792
- for (const r of n[e]) {
2793
- const i = ge(t, o, r);
2794
- i > s && (s = i, l = r);
2795
- }
2796
- return l;
2797
- }
2798
- function Ft(t) {
2799
- return typeof t == "string" ? document.querySelector(t) : t;
2443
+ const _ = C$3(_$1), I = C$3(v), a = C$3(u$1), Q$1 = C$3(b$1);
2444
+ let e = 0;
2445
+ function r(u2) {
2446
+ return u2 || `uid-${++e}`;
2800
2447
  }
2801
- const Rt = ["role"], Ut = {
2802
- key: 0,
2803
- role: "presentation",
2804
- class: "q-overlay__arrow"
2805
- }, Nt = /* @__PURE__ */ vue.defineComponent({
2806
- inheritAttrs: false,
2807
- __name: "QOverlay",
2808
- props: /* @__PURE__ */ vue.mergeModels({
2809
- anchor: { default: void 0 },
2810
- appearance: { default: "regular" },
2811
- arrow: { type: Boolean },
2812
- attach: { default: "body" },
2813
- backdropBlur: { type: Boolean },
2814
- delay: { default: 500 },
2815
- scrollLock: { type: Boolean },
2816
- offset: { default: 8 },
2817
- persistent: { type: Boolean },
2818
- placement: { default: "right" },
2819
- spy: { type: Boolean },
2820
- transition: { default: "fade" },
2821
- trigger: { default: "click" },
2822
- width: { default: "auto" },
2823
- class: { default: void 0 }
2824
- }, {
2825
- modelValue: { type: Boolean },
2826
- modelModifiers: {}
2827
- }),
2828
- emits: /* @__PURE__ */ vue.mergeModels(["enter", "leave"], ["update:modelValue"]),
2829
- setup(t, { emit: o }) {
2830
- const e = t, n = o, l = vue.useModel(t, "modelValue"), s = vue.computed(() => [
2831
- "q-overlay",
2832
- `q-overlay--${i.placement}`,
2833
- {
2834
- "q-overlay--independent": e.anchor === void 0,
2835
- "q-overlay--inverted": e.appearance === "inverted"
2836
- },
2837
- e.class
2838
- ]), r = vue.computed(
2839
- () => (l.value || i.animating) && (e.anchor === void 0 || e.trigger === "click")
2840
- ), i = vue.reactive({
2841
- animating: false,
2842
- top: 0,
2843
- left: 0,
2844
- width: 0,
2845
- placement: e.placement
2846
- });
2847
- vue.watch(l, () => i.animating = true);
2848
- const f = vue.computed(() => {
2849
- if (e.anchor === void 0)
2850
- return;
2851
- const p = ["top", "bottom"].includes(i.placement) ? i.width : void 0;
2852
- return {
2853
- top: `${i.top}px`,
2854
- left: `${i.left}px`,
2855
- width: p !== void 0 ? `${p}px` : void 0
2856
- };
2857
- }), L = vue.ref(null);
2858
- function _() {
2859
- const p = A();
2860
- if (!p)
2861
- return;
2862
- const M = Mt(p, L.value, e.placement, e.width);
2863
- let R = 0, oe = 0;
2864
- switch (M.placement) {
2865
- case "top":
2866
- oe = -(e.offset || 0);
2867
- break;
2868
- case "bottom":
2869
- oe = e.offset || 0;
2870
- break;
2871
- case "left":
2872
- R = -(e.offset || 0);
2873
- break;
2874
- case "right":
2875
- R = e.offset || 0;
2876
- break;
2877
- }
2878
- i.left = M.x + R, i.top = M.y + oe, i.width = M.width, i.placement = M.placement;
2879
- }
2880
- vue.watch([l, () => e.placement], _);
2881
- let y;
2882
- function U() {
2883
- C(0);
2884
- }
2885
- function z() {
2886
- C(e.delay);
2887
- }
2888
- function C(p) {
2889
- y || (y = window.setTimeout(() => {
2890
- l.value = true;
2891
- }, p));
2892
- }
2893
- function V() {
2894
- clearTimeout(y), y = void 0, l.value = false, vue.nextTick(() => {
2895
- if (e.anchor && e.trigger === "click") {
2896
- const p = A();
2897
- p == null || p.focus();
2898
- }
2899
- });
2900
- }
2901
- let W;
2902
- function le() {
2903
- n("enter");
2904
- }
2905
- function j() {
2906
- window.clearTimeout(W), W = window.setTimeout(() => i.animating = false, 200), n("leave");
2907
- }
2908
- function A() {
2909
- return e.anchor ? Ft(e.anchor) : null;
2910
- }
2911
- let Q;
2912
- function X() {
2913
- vue.nextTick(() => {
2914
- const p = A();
2915
- if (p)
2916
- switch (Q = new MutationObserver(_), Q.observe(p, {
2917
- attributes: false,
2918
- childList: true,
2919
- characterData: true,
2920
- subtree: true
2921
- }), e.trigger) {
2922
- case "click":
2923
- p.addEventListener("click", U);
2924
- break;
2925
- case "hover":
2926
- p.addEventListener("mouseenter", z), p.addEventListener("mouseleave", V), p.addEventListener("focusin", U), p.addEventListener("focusout", V);
2927
- break;
2928
- }
2929
- });
2930
- }
2931
- function N() {
2932
- const p = A();
2933
- if (p)
2934
- switch (Q == null || Q.disconnect(), e.trigger) {
2935
- case "click":
2936
- p.removeEventListener("click", U);
2937
- break;
2938
- case "hover":
2939
- p.removeEventListener("mouseenter", z), p.removeEventListener("mouseleave", V), p.removeEventListener("focusin", U), p.removeEventListener("focusout", V);
2940
- break;
2941
- }
2942
- }
2943
- function P() {
2944
- vue.nextTick(() => {
2945
- window.addEventListener("resize", _), e.scrollLock || window.addEventListener("scroll", _), _();
2946
- });
2947
- }
2948
- function ae() {
2949
- window.removeEventListener("resize", _), e.scrollLock || window.removeEventListener("scroll", _);
2950
- }
2951
- let c;
2952
- function b() {
2953
- A() ? (_(), c = window.setTimeout(b, 100)) : V();
2954
- }
2955
- function q() {
2956
- P(), e.spy && b(), e.scrollLock && document.body.classList.add("no-scroll"), vue.nextTick(() => {
2957
- var p;
2958
- (e.anchor === void 0 || e.trigger === "click") && ((p = L.value) == null || p.focus());
2959
- });
2960
- }
2961
- function d() {
2962
- ae(), e.spy && (clearTimeout(c), c = void 0), e.scrollLock && document.body.classList.remove("no-scroll");
2963
- }
2964
- function $() {
2965
- e.persistent || V();
2966
- }
2967
- return vue.onBeforeUnmount(() => {
2968
- N(), d();
2969
- }), vue.onMounted(() => {
2970
- vue.nextTick(() => {
2971
- X(), _();
2972
- });
2973
- }), vue.watch(
2974
- l,
2975
- (p) => {
2976
- p ? q() : d();
2977
- },
2978
- { immediate: true }
2979
- ), (p, M) => (vue.openBlock(), vue.createBlock(vue.Teleport, {
2980
- disabled: !l.value && !i.animating || !e.attach,
2981
- to: e.attach
2982
- }, [
2983
- r.value ? (vue.openBlock(), vue.createElementBlock("div", {
2984
- key: 0,
2985
- class: vue.normalizeClass([
2986
- "q-overlay__underlay",
2987
- { "q-overlay__underlay--blur": e.backdropBlur }
2988
- ])
2989
- }, null, 2)) : vue.createCommentVNode("", true),
2990
- vue.createVNode(vue.Transition, {
2991
- name: e.transition,
2992
- appear: "",
2993
- onEnter: le,
2994
- onLeave: j
2995
- }, {
2996
- default: vue.withCtx(() => [
2997
- l.value ? (vue.openBlock(), vue.createElementBlock("div", {
2998
- key: 0,
2999
- class: vue.normalizeClass(s.value),
3000
- style: vue.normalizeStyle(f.value)
3001
- }, [
3002
- vue.createElementVNode("div", vue.mergeProps({
3003
- class: "q-overlay__content",
3004
- ref_key: "overlayRef",
3005
- ref: L,
3006
- tabindex: "-1",
3007
- role: r.value ? "dialog" : void 0
3008
- }, p.$attrs, {
3009
- onKeydown: vue.withKeys($, ["escape"]),
3010
- onBlur: $
3011
- }), [
3012
- e.arrow ? (vue.openBlock(), vue.createElementBlock("div", Ut)) : vue.createCommentVNode("", true),
3013
- vue.renderSlot(p.$slots, "default")
3014
- ], 16, Rt)
3015
- ], 6)) : vue.createCommentVNode("", true)
3016
- ]),
3017
- _: 3
3018
- }, 8, ["name"])
3019
- ], 8, ["disabled", "to"]));
3020
- }
3021
- }), ve = S(Nt), Ht = ["id"], Kt = {
2448
+ const b = ["id"], h$1 = {
3022
2449
  key: 0,
3023
2450
  class: "q-field__label"
3024
- }, Gt = ["for"], Wt = {
2451
+ }, k = ["for"], B = {
3025
2452
  key: 0,
3026
2453
  class: "q-field__prepend"
3027
- }, jt = {
2454
+ }, z$1 = {
3028
2455
  key: 1,
3029
2456
  class: "q-field__append"
3030
- }, Xt = {
2457
+ }, C$1 = {
3031
2458
  key: 1,
3032
2459
  class: "q-field__extras"
3033
- }, Yt = /* @__PURE__ */ vue.defineComponent({
2460
+ }, N = /* @__PURE__ */ vue.defineComponent({
3034
2461
  inheritAttrs: false,
3035
2462
  __name: "QField",
3036
2463
  props: {
@@ -3043,51 +2470,59 @@
3043
2470
  required: { type: Boolean },
3044
2471
  class: { default: void 0 }
3045
2472
  },
3046
- setup(t, { expose: o }) {
3047
- const e = t, n = me(e.id), l = vue.ref(null), s = vue.computed(() => e.required && !e.readonly && !e.disabled);
3048
- return o({
3049
- fieldRef: l
3050
- }), (r, i) => (vue.openBlock(), vue.createElementBlock("div", {
3051
- id: vue.unref(n),
2473
+ setup(a2, { expose: n2 }) {
2474
+ const e2 = a2, f2 = r(e2.id), t2 = vue.ref(null), p2 = vue.computed(() => e2.required && !e2.readonly && !e2.disabled);
2475
+ return n2({
2476
+ fieldRef: t2
2477
+ }), (l2, R) => (vue.openBlock(), vue.createElementBlock("div", {
2478
+ id: vue.unref(f2),
3052
2479
  class: vue.normalizeClass([
3053
2480
  "q-field",
3054
- `q-field--${e.size}`,
2481
+ `q-field--${e2.size}`,
3055
2482
  {
3056
- "q-field--readonly": e.readonly,
3057
- "q-field--disabled": e.disabled,
3058
- "q-field--required": s.value
2483
+ "q-field--readonly": e2.readonly,
2484
+ "q-field--disabled": e2.disabled,
2485
+ "q-field--required": p2.value
3059
2486
  },
3060
- e.class
2487
+ e2.class
3061
2488
  ])
3062
2489
  }, [
3063
- e.label ? (vue.openBlock(), vue.createElementBlock("div", Kt, [
3064
- vue.renderSlot(r.$slots, "label.prepend"),
2490
+ e2.label ? (vue.openBlock(), vue.createElementBlock("div", h$1, [
2491
+ vue.renderSlot(l2.$slots, "label.prepend"),
3065
2492
  vue.createElementVNode("label", {
3066
- for: e.for
3067
- }, vue.toDisplayString(e.label), 9, Gt),
3068
- vue.renderSlot(r.$slots, "label.append")
3069
- ])) : vue.createCommentVNode("", true),
3070
- vue.renderSlot(r.$slots, "control", {}, () => [
3071
- vue.createElementVNode("div", vue.mergeProps({
3072
- class: "q-field__control",
3073
- ref_key: "fieldRef",
3074
- ref: l
3075
- }, r.$attrs), [
3076
- r.$slots.prepend ? (vue.openBlock(), vue.createElementBlock("div", Wt, [
3077
- vue.renderSlot(r.$slots, "prepend")
3078
- ])) : vue.createCommentVNode("", true),
3079
- vue.renderSlot(r.$slots, "default"),
3080
- r.$slots.append ? (vue.openBlock(), vue.createElementBlock("div", jt, [
3081
- vue.renderSlot(r.$slots, "append")
3082
- ])) : vue.createCommentVNode("", true)
3083
- ], 16)
2493
+ for: e2.for
2494
+ }, vue.toDisplayString(e2.label), 9, k),
2495
+ vue.renderSlot(l2.$slots, "label.append")
2496
+ ])) : vue.createCommentVNode("v-if", true),
2497
+ vue.renderSlot(l2.$slots, "control", {}, () => [
2498
+ vue.createElementVNode(
2499
+ "div",
2500
+ vue.mergeProps({
2501
+ class: "q-field__control",
2502
+ ref_key: "fieldRef",
2503
+ ref: t2
2504
+ }, l2.$attrs),
2505
+ [
2506
+ l2.$slots.prepend ? (vue.openBlock(), vue.createElementBlock("div", B, [
2507
+ vue.renderSlot(l2.$slots, "prepend")
2508
+ ])) : vue.createCommentVNode("v-if", true),
2509
+ vue.renderSlot(l2.$slots, "default"),
2510
+ l2.$slots.append ? (vue.openBlock(), vue.createElementBlock("div", z$1, [
2511
+ vue.renderSlot(l2.$slots, "append")
2512
+ ])) : vue.createCommentVNode("v-if", true)
2513
+ ],
2514
+ 16
2515
+ /* FULL_PROPS */
2516
+ )
3084
2517
  ]),
3085
- r.$slots.extras ? (vue.openBlock(), vue.createElementBlock("div", Xt, [
3086
- vue.renderSlot(r.$slots, "extras")
3087
- ])) : vue.createCommentVNode("", true)
3088
- ], 10, Ht));
2518
+ l2.$slots.extras ? (vue.openBlock(), vue.createElementBlock("div", C$1, [
2519
+ vue.renderSlot(l2.$slots, "extras")
2520
+ ])) : vue.createCommentVNode("v-if", true)
2521
+ ], 10, b));
3089
2522
  }
3090
- }), qe = S(Yt), Zt = ["id", "type", "role", "required", "placeholder", "readonly", "disabled", "maxlength"], Jt = /* @__PURE__ */ vue.defineComponent({
2523
+ });
2524
+ const t$1 = C$3(N);
2525
+ const C = ["id", "type", "role", "required", "placeholder", "readonly", "disabled", "maxlength"], L = /* @__PURE__ */ vue.defineComponent({
3091
2526
  inheritAttrs: false,
3092
2527
  __name: "QTextField",
3093
2528
  props: /* @__PURE__ */ vue.mergeModels({
@@ -3107,413 +2542,86 @@
3107
2542
  modelModifiers: {}
3108
2543
  }),
3109
2544
  emits: ["update:modelValue"],
3110
- setup(t, { expose: o }) {
3111
- const e = t, n = vue.useModel(t, "modelValue"), l = me(e.id), s = vue.ref(null), r = vue.ref(null), i = vue.computed(
3112
- () => e.readonly || e.disabled ? "" : e.placeholder
2545
+ setup(r$1, { expose: m2 }) {
2546
+ const e2 = r$1, t2 = vue.useModel(r$1, "modelValue"), s = r(e2.id), i2 = vue.ref(null), n2 = vue.ref(null), y2 = vue.computed(
2547
+ () => e2.readonly || e2.disabled ? "" : e2.placeholder
3113
2548
  );
3114
- return o({
2549
+ return m2({
3115
2550
  fieldRef: vue.computed(() => {
3116
- var f;
3117
- return (f = s.value) == null ? void 0 : f.fieldRef;
2551
+ var l2;
2552
+ return (l2 = i2.value) == null ? void 0 : l2.fieldRef;
3118
2553
  }),
3119
- inputRef: r
3120
- }), (f, L) => (vue.openBlock(), vue.createBlock(vue.unref(qe), {
2554
+ inputRef: n2
2555
+ }), (l2, p2) => (vue.openBlock(), vue.createBlock(vue.unref(t$1), {
3121
2556
  ref_key: "fieldRef",
3122
- ref: s,
3123
- class: vue.normalizeClass(["q-text-field", e.class]),
3124
- for: vue.unref(l),
3125
- label: e.label,
3126
- size: e.size,
3127
- readonly: e.readonly,
3128
- disabled: e.disabled,
3129
- required: e.required
2557
+ ref: i2,
2558
+ class: vue.normalizeClass(["q-text-field", e2.class]),
2559
+ for: vue.unref(s),
2560
+ label: e2.label,
2561
+ size: e2.size,
2562
+ readonly: e2.readonly,
2563
+ disabled: e2.disabled,
2564
+ required: e2.required
3130
2565
  }, vue.createSlots({
3131
2566
  "label.prepend": vue.withCtx(() => [
3132
- vue.renderSlot(f.$slots, "label.prepend")
2567
+ vue.renderSlot(l2.$slots, "label.prepend")
3133
2568
  ]),
3134
2569
  "label.append": vue.withCtx(() => [
3135
- vue.renderSlot(f.$slots, "label.append")
2570
+ vue.renderSlot(l2.$slots, "label.append")
3136
2571
  ]),
3137
2572
  default: vue.withCtx(() => [
3138
2573
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
3139
- "onUpdate:modelValue": L[0] || (L[0] = (_) => n.value = _),
2574
+ "onUpdate:modelValue": p2[0] || (p2[0] = (c) => t2.value = c),
3140
2575
  ref_key: "inputRef",
3141
- ref: r,
3142
- id: vue.unref(l),
2576
+ ref: n2,
2577
+ id: vue.unref(s),
3143
2578
  class: "q-text-field__input",
3144
- type: e.type,
3145
- role: e.role,
3146
- required: e.required,
3147
- placeholder: i.value,
3148
- readonly: e.readonly,
3149
- disabled: e.disabled,
3150
- maxlength: e.maxLength
3151
- }, f.$attrs), null, 16, Zt), [
3152
- [vue.vModelDynamic, n.value]
2579
+ type: e2.type,
2580
+ role: e2.role,
2581
+ required: e2.required,
2582
+ placeholder: y2.value,
2583
+ readonly: e2.readonly,
2584
+ disabled: e2.disabled,
2585
+ maxlength: e2.maxLength
2586
+ }, l2.$attrs), null, 16, C), [
2587
+ [vue.vModelDynamic, t2.value]
3153
2588
  ])
3154
2589
  ]),
3155
2590
  _: 2
2591
+ /* DYNAMIC */
3156
2592
  }, [
3157
- f.$slots.prepend ? {
2593
+ l2.$slots.prepend ? {
3158
2594
  name: "prepend",
3159
2595
  fn: vue.withCtx(() => [
3160
- vue.renderSlot(f.$slots, "prepend")
2596
+ vue.renderSlot(l2.$slots, "prepend")
3161
2597
  ]),
3162
2598
  key: "0"
3163
2599
  } : void 0,
3164
- f.$slots.append ? {
2600
+ l2.$slots.append ? {
3165
2601
  name: "append",
3166
2602
  fn: vue.withCtx(() => [
3167
- vue.renderSlot(f.$slots, "append")
2603
+ vue.renderSlot(l2.$slots, "append")
3168
2604
  ]),
3169
2605
  key: "1"
3170
2606
  } : void 0,
3171
- f.$slots.extras ? {
2607
+ l2.$slots.extras ? {
3172
2608
  name: "extras",
3173
2609
  fn: vue.withCtx(() => [
3174
- vue.renderSlot(f.$slots, "extras")
2610
+ vue.renderSlot(l2.$slots, "extras")
3175
2611
  ]),
3176
2612
  key: "2"
3177
2613
  } : void 0
3178
2614
  ]), 1032, ["class", "for", "label", "size", "readonly", "disabled", "required"]));
3179
2615
  }
3180
- }), Pt = S(Jt), eo = ["data-key"], to = {
3181
- key: 0,
3182
- class: "q-select__loader"
3183
- }, oo = {
3184
- key: 2,
3185
- class: "q-select__loader"
3186
- }, no = {
3187
- noData: "No data available"
3188
- }, lo = {
3189
- chevron: {
3190
- icon: "chevron-down"
3191
- },
3192
- clear: {
3193
- icon: "close"
3194
- }
3195
- }, ao = /* @__PURE__ */ vue.defineComponent({
3196
- __name: "QCombobox",
3197
- props: /* @__PURE__ */ vue.mergeModels({
3198
- id: { default: void 0 },
3199
- placeholder: { default: "" },
3200
- selectionMode: { default: "automatic" },
3201
- filterMode: { default: "builtin" },
3202
- label: { default: "" },
3203
- clearable: { type: Boolean },
3204
- readonly: { type: Boolean },
3205
- disabled: { type: Boolean },
3206
- required: { type: Boolean },
3207
- loading: { type: Boolean },
3208
- items: {},
3209
- groups: { default: () => [] },
3210
- itemValue: { default: "key" },
3211
- itemLabel: { default: "label" },
3212
- emptyValue: { type: [String, Number, Boolean, Symbol], default: void 0 },
3213
- size: { default: void 0 },
3214
- texts: { default: () => no },
3215
- icons: { default: () => lo },
3216
- class: { default: void 0 }
3217
- }, {
3218
- modelValue: {
3219
- type: [String, Number, Boolean, Symbol]
3220
- },
3221
- modelModifiers: {},
3222
- open: { type: Boolean },
3223
- openModifiers: {},
3224
- search: { default: "" },
3225
- searchModifiers: {}
3226
- }),
3227
- emits: /* @__PURE__ */ vue.mergeModels(["before-show", "before-hide", "show", "hide"], ["update:modelValue", "update:open", "update:search"]),
3228
- setup(t, { expose: o, emit: e }) {
3229
- const n = t, l = e, s = vue.useModel(t, "modelValue"), r = vue.useModel(t, "open"), i = vue.useModel(t, "search"), f = vue.ref(void 0), L = vue.ref(null), _ = vue.ref(null), y = vue.ref(null);
3230
- vue.onMounted(Q);
3231
- const U = vue.computed(() => n.clearable && !n.readonly && !n.disabled), z = vue.computed(() => {
3232
- var a;
3233
- return n.filterMode === "manual" || !j.value ? n.items : (a = n.items) == null ? void 0 : a.filter(
3234
- (g) => g[n.itemLabel].toLowerCase().startsWith(i.value.toLowerCase())
3235
- );
3236
- }), C = vue.computed(() => {
3237
- var a;
3238
- return (a = n.items) == null ? void 0 : a.find((g) => g[n.itemValue] === s.value);
3239
- }), V = vue.computed(() => C.value === void 0), W = vue.computed(() => {
3240
- const a = f.value;
3241
- if (a !== void 0 && z.value[a])
3242
- return z.value[a];
3243
- }), le = vue.computed(() => {
3244
- var g;
3245
- if (f.value === void 0)
3246
- return;
3247
- const a = (g = _.value) == null ? void 0 : g.getItem(f.value);
3248
- return a == null ? void 0 : a.id;
3249
- }), j = vue.computed(() => {
3250
- var a;
3251
- return i.value.length > 0 && i.value !== ((a = C.value) == null ? void 0 : a[n.itemLabel]);
3252
- });
3253
- function A(a) {
3254
- s.value = a, N();
3255
- }
3256
- function Q() {
3257
- var g;
3258
- const a = ((g = C.value) == null ? void 0 : g[n.itemLabel]) || "";
3259
- i.value !== a && (i.value = a);
3260
- }
3261
- function X() {
3262
- r.value || n.readonly || n.disabled || (l("before-show"), r.value = true, M());
3263
- }
3264
- function N() {
3265
- r.value && (l("before-hide"), r.value = false, f.value = void 0);
3266
- }
3267
- function P() {
3268
- r.value ? N() : c();
3269
- }
3270
- function ae() {
3271
- U.value && (s.value = n.emptyValue, f.value = void 0, M());
3272
- }
3273
- function c() {
3274
- if (X(), C.value !== void 0) {
3275
- const a = z.value.indexOf(C.value);
3276
- a !== -1 && vue.nextTick(() => Le(a));
3277
- }
3278
- }
3279
- function b(a) {
3280
- var g, B;
3281
- if (!(!a.key || n.readonly || n.disabled))
3282
- if (["ArrowDown", "ArrowUp", "Home", "End"].includes(a.key) && (a.preventDefault(), a.stopPropagation()), a.key === "Escape")
3283
- Q(), r.value && N();
3284
- else if (["ArrowDown", "ArrowUp"].includes(a.key))
3285
- r.value ? vue.nextTick(() => {
3286
- if (f.value === void 0)
3287
- q();
3288
- else {
3289
- const O = a.key === "ArrowDown" ? "next" : "prev";
3290
- $(f.value, O);
3291
- }
3292
- }) : (X(), vue.nextTick(() => {
3293
- a.key === "ArrowDown" ? q() : d();
3294
- }));
3295
- else if (a.key === "Enter") {
3296
- if (W.value === void 0)
3297
- return;
3298
- A(W.value[n.itemValue]);
3299
- } else
3300
- a.key === "Home" ? f.value = (g = _.value) == null ? void 0 : g.getFirstFocusableItemIndex() : a.key === "End" ? f.value = (B = _.value) == null ? void 0 : B.getLastFocusableItemIndex() : (/^[a-z]$/i.test(a.key) || a.key === "Backspace") && X();
3301
- }
3302
- function q() {
3303
- var a, g;
3304
- if (V.value)
3305
- f.value = (g = _.value) == null ? void 0 : g.getFirstFocusableItemIndex();
3306
- else {
3307
- const B = z.value.findIndex(
3308
- (O) => O[n.itemValue] === s.value
3309
- );
3310
- B === -1 ? f.value = (a = _.value) == null ? void 0 : a.getFirstFocusableItemIndex() : f.value = B;
3311
- }
3312
- }
3313
- function d() {
3314
- var a;
3315
- f.value = (a = _.value) == null ? void 0 : a.getLastFocusableItemIndex();
3316
- }
3317
- function $(a, g) {
3318
- var B;
3319
- f.value = (B = _.value) == null ? void 0 : B.getAdjacentItemIndex(a, g);
3320
- }
3321
- function p(a) {
3322
- var g, B, O;
3323
- !((g = y.value) != null && g.contains(a.relatedTarget)) && !((O = (B = L.value) == null ? void 0 : B.fieldRef) != null && O.contains(a.relatedTarget)) ? (N(), U.value && !i.value && (s.value = n.emptyValue), Q()) : (a.preventDefault(), a.stopPropagation());
3324
- }
3325
- function M() {
3326
- var a, g;
3327
- (g = (a = L.value) == null ? void 0 : a.inputRef) == null || g.focus();
3328
- }
3329
- function R() {
3330
- M();
3331
- }
3332
- function oe() {
3333
- l("show");
3334
- }
3335
- function Ue() {
3336
- l("hide");
3337
- }
3338
- function Le(a) {
3339
- var B;
3340
- const g = (B = _.value) == null ? void 0 : B.getItem(a);
3341
- _.value && (_.value.$el.scrollTop = g == null ? void 0 : g.offsetTop);
3342
- }
3343
- return vue.watch(s, Q), vue.watch(
3344
- () => n.items,
3345
- (a, g) => {
3346
- if (!V.value) {
3347
- const B = g.find((O) => O[n.itemValue] === s.value);
3348
- i.value === (B == null ? void 0 : B[n.itemLabel]) && Q();
3349
- }
3350
- },
3351
- { deep: true }
3352
- ), vue.watch(f, (a) => {
3353
- a !== void 0 && Le(a);
3354
- }), vue.watch(i, (a) => {
3355
- a && r.value && n.selectionMode === "automatic" && vue.nextTick(q);
3356
- }), vue.watch(
3357
- () => n.loading,
3358
- (a) => {
3359
- !a && r.value && vue.nextTick(q);
3360
- }
3361
- ), o({
3362
- triggerEl: L
3363
- }), (a, g) => {
3364
- var B;
3365
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3366
- vue.createVNode(vue.unref(Pt), {
3367
- modelValue: i.value,
3368
- "onUpdate:modelValue": g[0] || (g[0] = (O) => i.value = O),
3369
- id: n.id,
3370
- label: n.label,
3371
- required: n.required,
3372
- ref_key: "triggerEl",
3373
- ref: L,
3374
- role: "combobox",
3375
- placeholder: n.placeholder,
3376
- class: vue.normalizeClass([
3377
- "q-combobox",
3378
- {
3379
- "q-combobox--readonly": n.readonly,
3380
- "q-combobox--disabled": n.disabled,
3381
- "q-combobox--expanded": r.value
3382
- },
3383
- n.class
3384
- ]),
3385
- readonly: n.readonly,
3386
- disabled: n.disabled,
3387
- "data-loading": n.loading,
3388
- autocomplete: "off",
3389
- "aria-expanded": r.value,
3390
- "aria-haspopup": "listbox",
3391
- "aria-autocomplete": "list",
3392
- "aria-activedescendant": le.value,
3393
- size: n.size,
3394
- onClick: c,
3395
- onFocusout: p,
3396
- onKeydown: vue.withModifiers(b, ["stop"])
3397
- }, vue.createSlots({
3398
- "label.prepend": vue.withCtx(() => [
3399
- vue.renderSlot(a.$slots, "label.prepend")
3400
- ]),
3401
- "label.append": vue.withCtx(() => [
3402
- vue.renderSlot(a.$slots, "label.append")
3403
- ]),
3404
- append: vue.withCtx(() => [
3405
- vue.renderSlot(a.$slots, "append"),
3406
- U.value && i.value ? (vue.openBlock(), vue.createBlock(vue.unref(fe), {
3407
- key: 0,
3408
- class: "q-combobox__clear",
3409
- "b-style": "plain",
3410
- borderless: "",
3411
- tabindex: "-1",
3412
- onClick: ae
3413
- }, {
3414
- default: vue.withCtx(() => [
3415
- vue.createVNode(vue.unref(ee), vue.normalizeProps(vue.guardReactiveProps(n.icons.clear)), null, 16)
3416
- ]),
3417
- _: 1
3418
- })) : vue.createCommentVNode("", true),
3419
- n.readonly ? vue.createCommentVNode("", true) : (vue.openBlock(), vue.createBlock(vue.unref(fe), {
3420
- key: 1,
3421
- class: "q-combobox__chevron",
3422
- "b-style": "plain",
3423
- borderless: "",
3424
- tabindex: "-1",
3425
- disabled: n.disabled,
3426
- onClick: P
3427
- }, {
3428
- default: vue.withCtx(() => [
3429
- vue.createVNode(vue.unref(ee), vue.normalizeProps(vue.guardReactiveProps(n.icons.chevron)), null, 16)
3430
- ]),
3431
- _: 1
3432
- }, 8, ["disabled"]))
3433
- ]),
3434
- _: 2
3435
- }, [
3436
- a.$slots.prepend ? {
3437
- name: "prepend",
3438
- fn: vue.withCtx(() => [
3439
- vue.renderSlot(a.$slots, "prepend")
3440
- ]),
3441
- key: "0"
3442
- } : void 0,
3443
- a.$slots.extras ? {
3444
- name: "extras",
3445
- fn: vue.withCtx(() => [
3446
- vue.renderSlot(a.$slots, "extras")
3447
- ]),
3448
- key: "1"
3449
- } : void 0
3450
- ]), 1032, ["modelValue", "id", "label", "required", "placeholder", "class", "readonly", "disabled", "data-loading", "aria-expanded", "aria-activedescendant", "size"]),
3451
- vue.createVNode(vue.unref(ve), {
3452
- modelValue: r.value,
3453
- "onUpdate:modelValue": g[2] || (g[2] = (O) => r.value = O),
3454
- spy: "",
3455
- trigger: "manual",
3456
- placement: "bottom",
3457
- width: "anchor",
3458
- offset: 4,
3459
- anchor: (B = L.value) == null ? void 0 : B.$el,
3460
- onEnter: oe,
3461
- onLeave: Ue
3462
- }, {
3463
- default: vue.withCtx(() => {
3464
- var O;
3465
- return [
3466
- vue.createElementVNode("div", {
3467
- ref_key: "contentRef",
3468
- ref: y,
3469
- "data-testid": "combobox-dropdown",
3470
- "data-key": n.id,
3471
- class: "q-select__body",
3472
- onFocusout: p
3473
- }, [
3474
- vue.renderSlot(a.$slots, "body.prepend"),
3475
- n.loading ? (vue.openBlock(), vue.createElementBlock("div", to, [
3476
- vue.createVNode(vue.unref($e), { size: 24 })
3477
- ])) : z.value.length ? (vue.openBlock(), vue.createBlock(vue.unref(Re), {
3478
- key: 1,
3479
- ref_key: "listRef",
3480
- ref: _,
3481
- class: "q-select__items",
3482
- modelValue: s.value,
3483
- "onUpdate:modelValue": [
3484
- g[1] || (g[1] = (he) => s.value = he),
3485
- A
3486
- ],
3487
- highlighted: (O = W.value) == null ? void 0 : O[n.itemValue],
3488
- items: z.value,
3489
- groups: a.groups,
3490
- "item-label": n.itemLabel,
3491
- "item-value": n.itemValue,
3492
- onMouseup: R
3493
- }, {
3494
- item: vue.withCtx(({ item: he }) => [
3495
- vue.renderSlot(a.$slots, "item", { item: he })
3496
- ]),
3497
- _: 3
3498
- }, 8, ["modelValue", "highlighted", "items", "groups", "item-label", "item-value"])) : (vue.openBlock(), vue.createElementBlock("div", oo, vue.toDisplayString(a.texts.noData), 1)),
3499
- vue.renderSlot(a.$slots, "body.append")
3500
- ], 40, eo)
3501
- ];
3502
- }),
3503
- _: 3
3504
- }, 8, ["modelValue", "anchor"])
3505
- ], 64);
3506
- };
3507
- }
3508
2616
  });
3509
- S(ao);
3510
- const so = {
2617
+ const p$1 = C$3(L);
2618
+ const q = {
3511
2619
  key: 0,
3512
2620
  class: "q-input-group__prepend"
3513
- }, io = { key: 0 }, ro = {
2621
+ }, z = { key: 0 }, $ = {
3514
2622
  key: 1,
3515
2623
  class: "q-input-group__append"
3516
- }, uo = { key: 0 }, co = /* @__PURE__ */ vue.defineComponent({
2624
+ }, h = { key: 0 }, Q = /* @__PURE__ */ vue.defineComponent({
3517
2625
  __name: "QInputGroup",
3518
2626
  props: {
3519
2627
  id: { default: void 0 },
@@ -3524,433 +2632,83 @@
3524
2632
  size: { default: "large" },
3525
2633
  class: { default: void 0 }
3526
2634
  },
3527
- setup(t) {
3528
- const o = t;
3529
- return Me({
2635
+ setup(c) {
2636
+ const e2 = c;
2637
+ return I$1({
3530
2638
  QField: {
3531
2639
  size: "block"
3532
2640
  }
3533
- }), (e, n) => (vue.openBlock(), vue.createBlock(vue.unref(qe), {
3534
- id: o.id,
3535
- class: vue.normalizeClass(["q-input-group", o.class]),
3536
- label: o.label,
3537
- required: o.required,
3538
- size: o.size
3539
- }, {
2641
+ }), (o2, y2) => (vue.openBlock(), vue.createBlock(vue.unref(t$1), {
2642
+ id: e2.id,
2643
+ class: vue.normalizeClass(["q-input-group", e2.class]),
2644
+ label: e2.label,
2645
+ required: e2.required,
2646
+ size: e2.size
2647
+ }, vue.createSlots({
3540
2648
  default: vue.withCtx(() => [
3541
- e.$slots.prepend || o.prependIcon ? (vue.openBlock(), vue.createElementBlock("div", so, [
3542
- o.prependIcon ? (vue.openBlock(), vue.createElementBlock("span", io, [
3543
- vue.createVNode(vue.unref(ee), vue.normalizeProps(vue.guardReactiveProps(o.prependIcon)), null, 16)
3544
- ])) : vue.createCommentVNode("", true),
3545
- vue.renderSlot(e.$slots, "prepend")
3546
- ])) : vue.createCommentVNode("", true),
3547
- vue.renderSlot(e.$slots, "default"),
3548
- e.$slots.append || o.appendIcon ? (vue.openBlock(), vue.createElementBlock("div", ro, [
3549
- o.appendIcon ? (vue.openBlock(), vue.createElementBlock("span", uo, [
3550
- vue.createVNode(vue.unref(ee), vue.normalizeProps(vue.guardReactiveProps(o.appendIcon)), null, 16)
3551
- ])) : vue.createCommentVNode("", true),
3552
- vue.renderSlot(e.$slots, "append")
3553
- ])) : vue.createCommentVNode("", true)
2649
+ o2.$slots.prepend || e2.prependIcon ? (vue.openBlock(), vue.createElementBlock("div", q, [
2650
+ e2.prependIcon ? (vue.openBlock(), vue.createElementBlock("span", z, [
2651
+ vue.createVNode(
2652
+ vue.unref(_),
2653
+ vue.normalizeProps(vue.guardReactiveProps(e2.prependIcon)),
2654
+ null,
2655
+ 16
2656
+ /* FULL_PROPS */
2657
+ )
2658
+ ])) : vue.createCommentVNode("v-if", true),
2659
+ vue.renderSlot(o2.$slots, "prepend")
2660
+ ])) : vue.createCommentVNode("v-if", true),
2661
+ vue.renderSlot(o2.$slots, "default"),
2662
+ o2.$slots.append || e2.appendIcon ? (vue.openBlock(), vue.createElementBlock("div", $, [
2663
+ e2.appendIcon ? (vue.openBlock(), vue.createElementBlock("span", h, [
2664
+ vue.createVNode(
2665
+ vue.unref(_),
2666
+ vue.normalizeProps(vue.guardReactiveProps(e2.appendIcon)),
2667
+ null,
2668
+ 16
2669
+ /* FULL_PROPS */
2670
+ )
2671
+ ])) : vue.createCommentVNode("v-if", true),
2672
+ vue.renderSlot(o2.$slots, "append")
2673
+ ])) : vue.createCommentVNode("v-if", true)
3554
2674
  ]),
3555
- _: 3
3556
- }, 8, ["id", "class", "label", "required", "size"]));
2675
+ _: 2
2676
+ /* DYNAMIC */
2677
+ }, [
2678
+ o2.$slots.extras ? {
2679
+ name: "extras",
2680
+ fn: vue.withCtx(() => [
2681
+ vue.renderSlot(o2.$slots, "extras")
2682
+ ]),
2683
+ key: "0"
2684
+ } : void 0
2685
+ ]), 1032, ["id", "class", "label", "required", "size"]));
3557
2686
  }
3558
- }), zo = S(co), fo = /* @__PURE__ */ vue.defineComponent({
2687
+ });
2688
+ const m = C$3(Q);
2689
+ const p = /* @__PURE__ */ vue.defineComponent({
3559
2690
  __name: "QLineLoader",
3560
2691
  props: {
3561
2692
  class: { default: void 0 }
3562
2693
  },
3563
- setup(t) {
3564
- const o = t;
3565
- return (e, n) => (vue.openBlock(), vue.createElementBlock("div", {
3566
- class: vue.normalizeClass(["q-line-loader", o.class])
3567
- }, null, 2));
3568
- }
3569
- }), Co = S(fo), po = {
3570
- key: 0,
3571
- class: "q-popover__header"
3572
- }, mo = {
3573
- key: 1,
3574
- class: "q-popover__body"
3575
- }, vo = ["innerHTML"], ho = { key: 1 }, bo = /* @__PURE__ */ vue.defineComponent({
3576
- inheritAttrs: false,
3577
- __name: "QPopover",
3578
- props: /* @__PURE__ */ vue.mergeModels({
3579
- anchor: {},
3580
- arrow: { type: Boolean, default: true },
3581
- attach: { default: "body" },
3582
- disabled: { type: Boolean },
3583
- html: { type: Boolean, default: true },
3584
- placement: { default: "right" },
3585
- text: {},
3586
- title: {}
3587
- }, {
3588
- modelValue: { type: Boolean },
3589
- modelModifiers: {}
3590
- }),
3591
- emits: ["update:modelValue"],
3592
- setup(t) {
3593
- const o = t, e = vue.useModel(t, "modelValue");
3594
- return (n, l) => (vue.openBlock(), vue.createBlock(vue.unref(ve), {
3595
- "model-value": e.value,
3596
- class: "q-popover",
3597
- trigger: "click",
3598
- anchor: o.anchor,
3599
- arrow: o.arrow,
3600
- attach: o.attach,
3601
- disabled: o.disabled,
3602
- placement: o.placement
3603
- }, {
3604
- default: vue.withCtx(() => [
3605
- o.title || n.$slots.header ? (vue.openBlock(), vue.createElementBlock("h3", po, [
3606
- vue.createTextVNode(vue.toDisplayString(o.title) + " ", 1),
3607
- vue.renderSlot(n.$slots, "header")
3608
- ])) : vue.createCommentVNode("", true),
3609
- o.text || n.$slots.body ? (vue.openBlock(), vue.createElementBlock("div", mo, [
3610
- o.html ? (vue.openBlock(), vue.createElementBlock("span", {
3611
- key: 0,
3612
- innerHTML: o.text
3613
- }, null, 8, vo)) : (vue.openBlock(), vue.createElementBlock("span", ho, vue.toDisplayString(o.text), 1)),
3614
- vue.renderSlot(n.$slots, "body")
3615
- ])) : vue.createCommentVNode("", true)
3616
- ]),
3617
- _: 3
3618
- }, 8, ["model-value", "anchor", "arrow", "attach", "disabled", "placement"]));
3619
- }
3620
- });
3621
- S(bo);
3622
- const yo = {
3623
- key: 0,
3624
- class: "q-select__value"
3625
- }, go = {
3626
- key: 1,
3627
- class: "q-select__placeholder"
3628
- }, _o = ["data-key"], ko = {
3629
- key: 0,
3630
- class: "q-select__loader"
3631
- }, wo = {
3632
- placeholder: "Choose..."
3633
- }, $o = {
3634
- chevron: {
3635
- icon: "chevron-down"
3636
- },
3637
- clear: {
3638
- icon: "close"
3639
- }
3640
- }, qo = /* @__PURE__ */ vue.defineComponent({
3641
- __name: "QSelect",
3642
- props: /* @__PURE__ */ vue.mergeModels({
3643
- id: { default: void 0 },
3644
- label: { default: "" },
3645
- clearable: { type: Boolean },
3646
- readonly: { type: Boolean },
3647
- disabled: { type: Boolean },
3648
- required: { type: Boolean },
3649
- loading: { type: Boolean },
3650
- icons: { default: () => $o },
3651
- items: {},
3652
- groups: { default: () => [] },
3653
- itemValue: { default: "key" },
3654
- itemLabel: { default: "label" },
3655
- emptyValue: { type: [String, Number, Boolean, Symbol], default: void 0 },
3656
- size: { default: void 0 },
3657
- texts: { default: () => wo },
3658
- class: { default: "" }
3659
- }, {
3660
- modelValue: {
3661
- type: [String, Number, Boolean, Symbol]
3662
- },
3663
- modelModifiers: {}
3664
- }),
3665
- emits: /* @__PURE__ */ vue.mergeModels(["before-show", "before-hide", "show", "hide"], ["update:modelValue"]),
3666
- setup(t, { emit: o }) {
3667
- const e = t, n = o, l = vue.useModel(t, "modelValue"), s = vue.ref(false), r = vue.ref(""), i = vue.ref(null), f = vue.ref(null), L = vue.ref(null), _ = vue.computed(() => y.value === void 0), y = vue.computed(
3668
- () => {
3669
- var d;
3670
- return (d = e.items) == null ? void 0 : d.find(($) => $[e.itemValue] === l.value);
3671
- }
3672
- ), U = vue.computed(
3673
- () => y.value ? y.value[e.itemLabel] : ""
3674
- ), z = vue.computed(
3675
- () => e.clearable && !e.readonly && !e.disabled && !e.loading
3676
- );
3677
- function C(d) {
3678
- l.value = d, A();
3679
- }
3680
- function V() {
3681
- z.value && C(e.emptyValue);
3682
- }
3683
- function W() {
3684
- e.readonly || e.disabled || (s.value ? A() : j());
3685
- }
3686
- function le(d) {
3687
- var $, p, M;
3688
- !(($ = L.value) != null && $.contains(d.relatedTarget)) && !((M = (p = i.value) == null ? void 0 : p.fieldRef) != null && M.contains(d.relatedTarget)) && A();
3689
- }
3690
- function j() {
3691
- s.value || (n("before-show"), s.value = true);
3692
- }
3693
- function A() {
3694
- s.value && (n("before-hide"), s.value = false);
3695
- }
3696
- function Q() {
3697
- s.value ? A() : j();
3698
- }
3699
- let X;
3700
- function N(d) {
3701
- if (!(!d.key || e.readonly || e.disabled)) {
3702
- if (window.clearTimeout(X), ["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(d.key) && (d.preventDefault(), d.stopPropagation()), ["Enter", " "].includes(d.key) && (s.value = true), ["Escape", "Tab"].includes(d.key) && (s.value ? s.value = false : z.value && d.key === "Escape" && V()), d.key === "Delete" && e.clearable && V(), /^[a-z]$/i.test(d.key)) {
3703
- r.value += d.key.toLowerCase();
3704
- for (let $ = 0; $ < e.items.length; $++)
3705
- if (e.items[$][e.itemLabel].toLowerCase().startsWith(r.value)) {
3706
- q($);
3707
- break;
3708
- }
3709
- }
3710
- X = window.setTimeout(function() {
3711
- r.value = "";
3712
- }, 500);
3713
- }
3714
- }
3715
- function P() {
3716
- var d;
3717
- e.loading ? (d = L.value) == null || d.focus() : b(), n("show");
3718
- }
3719
- function ae() {
3720
- c(), n("hide");
3721
- }
3722
- function c() {
3723
- var d, $;
3724
- ($ = (d = i.value) == null ? void 0 : d.fieldRef) == null || $.focus();
3725
- }
3726
- function b() {
3727
- var d;
3728
- (d = f.value) == null || d.$el.focus();
3729
- }
3730
- function q(d) {
3731
- var $;
3732
- ($ = f.value) == null || $.focusItem(d);
3733
- }
3734
- return vue.watch(
3735
- () => e.loading,
3736
- (d) => {
3737
- !d && s.value && vue.nextTick(b);
3738
- }
3739
- ), (d, $) => {
3740
- var p, M;
3741
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3742
- vue.createVNode(vue.unref(qe), {
3743
- id: e.id,
3744
- label: e.label,
3745
- required: e.required,
3746
- ref_key: "triggerEl",
3747
- ref: i,
3748
- role: "combobox",
3749
- tabindex: e.disabled ? -1 : 0,
3750
- class: vue.normalizeClass([
3751
- "q-select",
3752
- {
3753
- "q-select--readonly": e.readonly,
3754
- "q-select--disabled": e.disabled,
3755
- "q-select--expanded": s.value
3756
- },
3757
- e.class
3758
- ]),
3759
- readonly: e.readonly,
3760
- disabled: e.disabled,
3761
- "data-loading": e.loading,
3762
- "aria-expanded": s.value,
3763
- "aria-haspopup": "listbox",
3764
- size: e.size,
3765
- onClick: W,
3766
- onKeydown: vue.withModifiers(N, ["stop"])
3767
- }, vue.createSlots({
3768
- append: vue.withCtx(() => [
3769
- vue.renderSlot(d.$slots, "append"),
3770
- z.value && l.value ? (vue.openBlock(), vue.createBlock(vue.unref(fe), {
3771
- key: 0,
3772
- class: "q-select__clear",
3773
- "b-style": "plain",
3774
- borderless: "",
3775
- tabindex: "-1",
3776
- onClick: V
3777
- }, {
3778
- default: vue.withCtx(() => [
3779
- vue.createVNode(vue.unref(ee), vue.normalizeProps(vue.guardReactiveProps(e.icons.clear)), null, 16)
3780
- ]),
3781
- _: 1
3782
- })) : vue.createCommentVNode("", true),
3783
- e.readonly ? vue.createCommentVNode("", true) : (vue.openBlock(), vue.createBlock(vue.unref(fe), {
3784
- key: 1,
3785
- class: "q-select__chevron",
3786
- "b-style": "plain",
3787
- borderless: "",
3788
- tabindex: "-1",
3789
- disabled: e.disabled,
3790
- onClick: Q
3791
- }, {
3792
- default: vue.withCtx(() => [
3793
- vue.createVNode(vue.unref(ee), vue.normalizeProps(vue.guardReactiveProps(e.icons.chevron)), null, 16)
3794
- ]),
3795
- _: 1
3796
- }, 8, ["disabled"]))
3797
- ]),
3798
- default: vue.withCtx(() => [
3799
- _.value ? (vue.openBlock(), vue.createElementBlock("span", go, [
3800
- !e.readonly && !e.disabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3801
- vue.createTextVNode(vue.toDisplayString(d.texts.placeholder), 1)
3802
- ], 64)) : vue.createCommentVNode("", true)
3803
- ])) : (vue.openBlock(), vue.createElementBlock("span", yo, vue.toDisplayString(U.value), 1))
3804
- ]),
3805
- _: 2
3806
- }, [
3807
- (p = y.value) != null && p.icon || d.$slots.prepend ? {
3808
- name: "prepend",
3809
- fn: vue.withCtx(() => {
3810
- var R, oe;
3811
- return [
3812
- vue.renderSlot(d.$slots, "prepend"),
3813
- (R = y.value) != null && R.icon ? (vue.openBlock(), vue.createBlock(vue.unref(ee), vue.normalizeProps(vue.mergeProps({ key: 0 }, (oe = y.value) == null ? void 0 : oe.icon)), null, 16)) : vue.createCommentVNode("", true)
3814
- ];
3815
- }),
3816
- key: "0"
3817
- } : void 0,
3818
- d.$slots.extras ? {
3819
- name: "extras",
3820
- fn: vue.withCtx(() => [
3821
- vue.renderSlot(d.$slots, "extras")
3822
- ]),
3823
- key: "1"
3824
- } : void 0
3825
- ]), 1032, ["id", "label", "required", "tabindex", "class", "readonly", "disabled", "data-loading", "aria-expanded", "size"]),
3826
- vue.createVNode(vue.unref(ve), {
3827
- modelValue: s.value,
3828
- "onUpdate:modelValue": $[1] || ($[1] = (R) => s.value = R),
3829
- spy: "",
3830
- trigger: "manual",
3831
- placement: "bottom",
3832
- width: "anchor",
3833
- "scroll-lock": "",
3834
- anchor: (M = i.value) == null ? void 0 : M.$el,
3835
- offset: 2,
3836
- onEnter: P,
3837
- onLeave: ae
3838
- }, {
3839
- default: vue.withCtx(() => [
3840
- vue.createElementVNode("div", {
3841
- ref_key: "contentRef",
3842
- ref: L,
3843
- "data-testid": "combobox-dropdown",
3844
- "data-key": e.id,
3845
- class: "q-select__body",
3846
- tabindex: "-1",
3847
- onFocusout: le,
3848
- onKeydown: vue.withModifiers(N, ["stop"])
3849
- }, [
3850
- vue.renderSlot(d.$slots, "body.prepend"),
3851
- e.loading ? (vue.openBlock(), vue.createElementBlock("div", ko, [
3852
- vue.createVNode(vue.unref($e), { size: 24 })
3853
- ])) : (vue.openBlock(), vue.createBlock(vue.unref(Re), {
3854
- key: 1,
3855
- ref_key: "listRef",
3856
- ref: f,
3857
- class: "q-select__items",
3858
- modelValue: l.value,
3859
- "onUpdate:modelValue": [
3860
- $[0] || ($[0] = (R) => l.value = R),
3861
- C
3862
- ],
3863
- items: e.items,
3864
- groups: d.groups,
3865
- "item-label": e.itemLabel,
3866
- "item-value": e.itemValue
3867
- }, {
3868
- item: vue.withCtx(({ item: R }) => [
3869
- vue.renderSlot(d.$slots, "item", { item: R })
3870
- ]),
3871
- _: 3
3872
- }, 8, ["modelValue", "items", "groups", "item-label", "item-value"])),
3873
- vue.renderSlot(d.$slots, "body.append")
3874
- ], 40, _o)
3875
- ]),
3876
- _: 3
3877
- }, 8, ["modelValue", "anchor"])
3878
- ], 64);
3879
- };
3880
- }
3881
- });
3882
- S(qo);
3883
- const Lo = /* @__PURE__ */ vue.defineComponent({
3884
- __name: "QThemeProvider",
3885
- props: {
3886
- theme: {}
3887
- },
3888
- setup(t) {
3889
- const o = t;
3890
- return (e, n) => (vue.openBlock(), vue.createElementBlock("div", {
3891
- class: vue.normalizeClass(["q-theme-provider", `q-theme--${o.theme}`])
3892
- }, [
3893
- vue.renderSlot(e.$slots, "default")
3894
- ], 2));
3895
- }
3896
- });
3897
- S(Lo);
3898
- const Io = ["innerHTML"], xo = { key: 1 }, Bo = /* @__PURE__ */ vue.defineComponent({
3899
- __name: "QTooltip",
3900
- props: /* @__PURE__ */ vue.mergeModels({
3901
- id: { default: void 0 },
3902
- anchor: {},
3903
- appearance: { default: "inverted" },
3904
- arrow: { type: Boolean, default: true },
3905
- attach: { default: "body" },
3906
- delay: { default: 500 },
3907
- disabled: { type: Boolean },
3908
- html: { type: Boolean, default: true },
3909
- placement: { default: "right" },
3910
- text: {},
3911
- trigger: { default: "hover" },
3912
- class: { default: void 0 }
3913
- }, {
3914
- modelValue: { type: Boolean },
3915
- modelModifiers: {}
3916
- }),
3917
- emits: ["update:modelValue"],
3918
- setup(t) {
3919
- const o = t, e = vue.useModel(t, "modelValue"), n = me(o.id);
3920
- return (l, s) => (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
3921
- vue.renderSlot(l.$slots, "anchor", {
3922
- props: { "aria-describedby": vue.unref(n) }
3923
- }),
3924
- vue.createVNode(vue.unref(ve), {
3925
- "model-value": e.value,
3926
- anchor: o.anchor,
3927
- role: "tooltip",
3928
- id: vue.unref(n),
3929
- appearance: o.appearance,
3930
- arrow: o.arrow,
3931
- attach: o.attach,
3932
- class: vue.normalizeClass(["q-tooltip", o.class]),
3933
- delay: o.delay,
3934
- disabled: o.disabled,
3935
- placement: o.placement,
3936
- trigger: o.trigger
3937
- }, {
3938
- default: vue.withCtx(() => [
3939
- o.html ? (vue.openBlock(), vue.createElementBlock("span", {
3940
- key: 0,
3941
- innerHTML: o.text
3942
- }, null, 8, Io)) : (vue.openBlock(), vue.createElementBlock("span", xo, vue.toDisplayString(o.text), 1))
3943
- ]),
3944
- _: 1
3945
- }, 8, ["model-value", "anchor", "id", "appearance", "arrow", "attach", "class", "delay", "disabled", "placement", "trigger"])
3946
- ], 64));
2694
+ setup(e2) {
2695
+ const o2 = e2;
2696
+ return (r2, t2) => (vue.openBlock(), vue.createElementBlock(
2697
+ "div",
2698
+ {
2699
+ class: vue.normalizeClass(["q-line-loader", o2.class])
2700
+ },
2701
+ null,
2702
+ 2
2703
+ /* CLASS */
2704
+ ));
3947
2705
  }
3948
2706
  });
3949
- S(Bo);
2707
+ const t = C$3(p);
3950
2708
  const _hoisted_1$1 = { class: "q-chatbot__message-container" };
3951
2709
  const _hoisted_2$1 = ["src"];
3952
2710
  const _hoisted_3$1 = { class: "q-chatbot__message-wrapper" };
3953
- const _hoisted_4 = {
2711
+ const _hoisted_4$1 = {
3954
2712
  key: 0,
3955
2713
  class: "q-chatbot__sender"
3956
2714
  };
@@ -3966,7 +2724,8 @@
3966
2724
  sender: { default: "user" },
3967
2725
  message: {},
3968
2726
  date: { default: () => /* @__PURE__ */ new Date() },
3969
- loading: { type: Boolean }
2727
+ loading: { type: Boolean },
2728
+ dateFormat: {}
3970
2729
  },
3971
2730
  setup(__props) {
3972
2731
  const props = __props;
@@ -3974,11 +2733,22 @@
3974
2733
  return props.sender === "bot" ? "GenioBot" : "You";
3975
2734
  });
3976
2735
  const getLocaleDate = vue.computed(() => {
3977
- return props.date.toLocaleString();
2736
+ if (!props.dateFormat)
2737
+ return props.date.toLocaleString();
2738
+ return formatDate(props.date, props.dateFormat);
3978
2739
  });
3979
2740
  const messageHeader = vue.computed(() => {
3980
2741
  return `${senderName.value} ${getLocaleDate.value}`;
3981
2742
  });
2743
+ function formatDate(date, format) {
2744
+ const day = date.getDate().toString().padStart(2, "0");
2745
+ const month = (date.getMonth() + 1).toString().padStart(2, "0");
2746
+ const year = date.getFullYear().toString().padStart(2, "0");
2747
+ const hours = date.getHours().toString().padStart(2, "0");
2748
+ const minutes = date.getMinutes().toString().padStart(2, "0");
2749
+ const seconds = date.getSeconds().toString().padStart(2, "0");
2750
+ return format.replace("dd", day).replace("MM", month).replace("yyyy", year).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
2751
+ }
3982
2752
  return (_ctx, _cache) => {
3983
2753
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
3984
2754
  props.sender === "bot" ? (vue.openBlock(), vue.createElementBlock("img", {
@@ -3988,9 +2758,9 @@
3988
2758
  class: "q-chatbot__profile"
3989
2759
  }, null, 8, _hoisted_2$1)) : vue.createCommentVNode("", true),
3990
2760
  vue.createElementVNode("div", _hoisted_3$1, [
3991
- !_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, vue.toDisplayString(messageHeader.value), 1)) : vue.createCommentVNode("", true),
2761
+ !_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, vue.toDisplayString(messageHeader.value), 1)) : vue.createCommentVNode("", true),
3992
2762
  vue.createElementVNode("div", _hoisted_5, [
3993
- _ctx.loading ? (vue.openBlock(), vue.createBlock(vue.unref(Co), { key: 0 })) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
2763
+ _ctx.loading ? (vue.openBlock(), vue.createBlock(vue.unref(t), { key: 0 })) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
3994
2764
  props.sender == "bot" ? (vue.openBlock(), vue.createElementBlock("div", {
3995
2765
  key: 0,
3996
2766
  class: "q-chatbot__text",
@@ -4004,8 +2774,9 @@
4004
2774
  }
4005
2775
  });
4006
2776
  const _hoisted_1 = { class: "q-chatbot" };
4007
- const _hoisted_2 = { class: "q-chatbot__tools" };
4008
- const _hoisted_3 = { class: "q-chatbot__messages-container" };
2777
+ const _hoisted_2 = { class: "q-chatbot__content" };
2778
+ const _hoisted_3 = { class: "q-chatbot__tools" };
2779
+ const _hoisted_4 = { class: "q-chatbot__messages-container" };
4009
2780
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4010
2781
  ...{ name: "ChatBot" },
4011
2782
  __name: "ChatBot",
@@ -4020,24 +2791,24 @@
4020
2791
  botIsSick: "*cough cough* GenioBot is not feeling alright 🥴️🤒, looks like something failed!"
4021
2792
  }) },
4022
2793
  username: {},
4023
- projectPath: {}
2794
+ projectPath: {},
2795
+ dateFormat: {}
4024
2796
  },
4025
2797
  setup(__props) {
4026
2798
  let messages = vue.ref([]);
4027
2799
  let msgHistoryStack = [];
4028
2800
  let nextMessageId = 1;
4029
2801
  let userPrompt = vue.ref("");
2802
+ let isLoading = vue.ref(false);
4030
2803
  let isChatDisabled = false;
4031
- let isLoading = false;
4032
- const messagesContainer = vue.ref(null);
2804
+ const scrollElement = vue.ref(null);
4033
2805
  const promptInput = vue.ref(null);
4034
2806
  const props = __props;
4035
2807
  vue.onMounted(() => {
4036
2808
  initChat();
4037
- vue.nextTick(scrollChatToBottom);
4038
2809
  });
4039
2810
  const userMessages = vue.computed(() => {
4040
- return messages.value.filter((m) => m.sender === "user");
2811
+ return messages.value.filter((m2) => m2.sender === "user");
4041
2812
  });
4042
2813
  function setDisabledState(state) {
4043
2814
  isChatDisabled = state;
@@ -4094,10 +2865,11 @@
4094
2865
  date: /* @__PURE__ */ new Date(),
4095
2866
  sender
4096
2867
  });
2868
+ vue.nextTick(scrollToBottom);
4097
2869
  }
4098
2870
  function getLastMessage() {
4099
2871
  return messages.value.find(
4100
- (m) => m.id === nextMessageId - 1
2872
+ (m2) => m2.id === nextMessageId - 1
4101
2873
  );
4102
2874
  }
4103
2875
  function sendInitialMessage() {
@@ -4107,17 +2879,12 @@
4107
2879
  messages.value = [];
4108
2880
  msgHistoryStack = [];
4109
2881
  userPrompt.value = "";
4110
- isLoading = false;
2882
+ isLoading.value = false;
4111
2883
  setDisabledState(false);
4112
2884
  }
4113
- function scrollChatToBottom() {
4114
- if (messagesContainer.value == null)
4115
- return;
4116
- const element = messagesContainer.value;
4117
- setTimeout(
4118
- () => element.scrollIntoView(false),
4119
- 100
4120
- );
2885
+ function scrollToBottom() {
2886
+ var _a;
2887
+ (_a = scrollElement.value) == null ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
4121
2888
  }
4122
2889
  function handleKey(event) {
4123
2890
  if (promptInput.value == null)
@@ -4146,10 +2913,9 @@
4146
2913
  }
4147
2914
  }
4148
2915
  function sendMessage() {
4149
- if (userPrompt.value.trim().length == 0 || isLoading || isChatDisabled)
2916
+ if (userPrompt.value.trim().length == 0 || isLoading.value || isChatDisabled)
4150
2917
  return;
4151
2918
  addChatMessage(userPrompt.value, "user");
4152
- scrollChatToBottom();
4153
2919
  setChatPrompt(userPrompt.value);
4154
2920
  userPrompt.value = "";
4155
2921
  }
@@ -4161,7 +2927,7 @@
4161
2927
  project: props.projectPath,
4162
2928
  user: props.username
4163
2929
  };
4164
- isLoading = true;
2930
+ isLoading.value = true;
4165
2931
  axios({
4166
2932
  url: props.apiEndpoint + "/prompt/message",
4167
2933
  method: "POST",
@@ -4174,6 +2940,7 @@
4174
2940
  return;
4175
2941
  if (msg)
4176
2942
  msg.message = chunk;
2943
+ scrollToBottom();
4177
2944
  }
4178
2945
  }).then(({ data }) => {
4179
2946
  if (msg)
@@ -4183,7 +2950,7 @@
4183
2950
  setDisabledState(true);
4184
2951
  console.log(error);
4185
2952
  }).finally(() => {
4186
- isLoading = false;
2953
+ isLoading.value = false;
4187
2954
  });
4188
2955
  }
4189
2956
  function setCursorPosition(elem, pos) {
@@ -4224,59 +2991,60 @@
4224
2991
  });
4225
2992
  return (_ctx, _cache) => {
4226
2993
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
4227
- vue.createElementVNode("div", {
4228
- ref_key: "messagesContainer",
4229
- ref: messagesContainer,
4230
- class: "q-chatbot__content"
4231
- }, [
4232
- vue.createElementVNode("div", _hoisted_2, [
4233
- vue.createVNode(vue.unref(fe), {
2994
+ vue.createElementVNode("div", _hoisted_2, [
2995
+ vue.createElementVNode("div", _hoisted_3, [
2996
+ vue.createVNode(vue.unref(p$2), {
4234
2997
  title: props.texts.qButtonTitle,
4235
- "b-style": "plain",
4236
- class: "clear-btn",
2998
+ "b-style": "secondary",
4237
2999
  disabled: vue.unref(isChatDisabled),
4238
3000
  borderless: "",
4239
3001
  onClick: clearChat
4240
3002
  }, {
4241
3003
  default: vue.withCtx(() => [
4242
- vue.createVNode(vue.unref(ee), { icon: "bin" })
3004
+ vue.createVNode(vue.unref(_), { icon: "bin" })
4243
3005
  ]),
4244
3006
  _: 1
4245
3007
  }, 8, ["title", "disabled"])
4246
3008
  ]),
4247
- vue.createElementVNode("div", _hoisted_3, [
3009
+ vue.createElementVNode("div", _hoisted_4, [
4248
3010
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(messages), (message) => {
4249
3011
  return vue.openBlock(), vue.createElementBlock("div", {
4250
3012
  key: message.id,
4251
- class: vue.normalizeClass(getMessageClasses)
3013
+ class: vue.normalizeClass(getMessageClasses(message.sender))
4252
3014
  }, [
4253
3015
  vue.createVNode(vue.unref(_sfc_main$1), vue.mergeProps(message, {
3016
+ "date-format": props.dateFormat,
4254
3017
  loading: vue.unref(isLoading) && !message.message
4255
- }), null, 16, ["loading"])
4256
- ]);
3018
+ }), null, 16, ["date-format", "loading"])
3019
+ ], 2);
4257
3020
  }), 128))
4258
- ])
4259
- ], 512),
4260
- vue.createVNode(vue.unref(zo), {
3021
+ ]),
3022
+ vue.createElementVNode("div", {
3023
+ ref_key: "scrollElement",
3024
+ ref: scrollElement
3025
+ }, null, 512)
3026
+ ]),
3027
+ vue.createVNode(vue.unref(m), {
4261
3028
  size: "block",
4262
3029
  disabled: vue.unref(isChatDisabled)
4263
3030
  }, {
4264
3031
  append: vue.withCtx(() => [
4265
- vue.createVNode(vue.unref(fe), {
3032
+ vue.createVNode(vue.unref(p$2), {
4266
3033
  title: props.texts.qButtonTitle,
4267
3034
  "b-style": "primary",
4268
3035
  class: "q-chatbot__send",
4269
- disabled: vue.unref(isChatDisabled),
3036
+ disabled: vue.unref(isChatDisabled) || vue.unref(isLoading),
3037
+ loading: vue.unref(isLoading),
4270
3038
  onClick: sendMessage
4271
3039
  }, {
4272
3040
  default: vue.withCtx(() => [
4273
- vue.createVNode(vue.unref(ee), { icon: "send" })
3041
+ vue.createVNode(vue.unref(_), { icon: "send" })
4274
3042
  ]),
4275
3043
  _: 1
4276
- }, 8, ["title", "disabled"])
3044
+ }, 8, ["title", "disabled", "loading"])
4277
3045
  ]),
4278
3046
  default: vue.withCtx(() => [
4279
- vue.createVNode(vue.unref(Pt), {
3047
+ vue.createVNode(vue.unref(p$1), {
4280
3048
  ref_key: "promptInput",
4281
3049
  ref: promptInput,
4282
3050
  modelValue: vue.unref(userPrompt),