eco-vue-js 0.26.5 → 0.26.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/components/Auth/utils/utils.d.ts +8 -7
  2. package/dist/components/Auth/utils/utils.d.ts.map +1 -1
  3. package/dist/components/Auth/utils/utils.js +28 -25
  4. package/dist/components/FieldWrapper/WFieldWrapper.vue.d.ts.map +1 -1
  5. package/dist/components/FieldWrapper/WFieldWrapper.vue_vue_type_script_setup_true_lang.js +2 -2
  6. package/dist/components/FieldWrapper/components/FilterButton.vue.d.ts.map +1 -1
  7. package/dist/components/FieldWrapper/components/FilterButton.vue_vue_type_script_setup_true_lang.js +1 -1
  8. package/dist/components/Input/WInput.vue.d.ts +1 -0
  9. package/dist/components/Input/WInput.vue.d.ts.map +1 -1
  10. package/dist/components/Input/WInput.vue_vue_type_script_setup_true_lang.js +2 -1
  11. package/dist/components/Tabs/WTabs.vue.d.ts.map +1 -1
  12. package/dist/components/Tabs/WTabs.vue_vue_type_script_setup_true_lang.js +9 -1
  13. package/dist/components/Uniform/WUniform.vue.d.ts +1 -1
  14. package/dist/components/Uniform/WUniform.vue.d.ts.map +1 -1
  15. package/dist/components/Uniform/WUniform.vue_vue_type_script_setup_true_lang.js +1 -1
  16. package/dist/components/Uniform/use/useUniformField.d.ts +1 -0
  17. package/dist/components/Uniform/use/useUniformField.d.ts.map +1 -1
  18. package/dist/components/Uniform/use/useUniformField.js +5 -1
  19. package/dist/components/Uniform/use/useUniformModel.d.ts +1 -1
  20. package/dist/components/Uniform/use/useUniformModel.d.ts.map +1 -1
  21. package/dist/components/Uniform/use/useUniformModel.js +6 -3
  22. package/dist/utils/ApiClient.d.ts +3 -0
  23. package/dist/utils/ApiClient.d.ts.map +1 -1
  24. package/dist/utils/ApiClient.js +10 -7
  25. package/docs/components/form.md +2 -2
  26. package/docs/llms.txt +1 -1
  27. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
- export declare function checkExpirationDate(): boolean | null;
2
- export declare function updateExpirationDate(date: Date): void;
3
- export declare function setExpirationDate(): void;
4
- export declare function removeExpirationDate(): void;
5
- export declare function setRefreshTimestamp(): void;
6
- export declare function removeRefreshTimestamp(): void;
7
- export declare function getLastRefreshPromise(): Promise<void> | null;
1
+ export declare const EXPIRATION_DATE_KEY = "exp";
2
+ export declare function checkExpirationDate(key?: string): boolean | null;
3
+ export declare function updateExpirationDate(date: Date, key?: string): void;
4
+ export declare function setExpirationDate(key?: string): void;
5
+ export declare function removeExpirationDate(key?: string): void;
6
+ export declare function setRefreshTimestamp(key?: string): void;
7
+ export declare function removeRefreshTimestamp(key?: string): void;
8
+ export declare function getLastRefreshPromise(key?: string): Promise<void> | null;
8
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/Auth/utils/utils.ts"],"names":[],"mappings":"AAyBA,wBAAgB,mBAAmB,IAAI,OAAO,GAAG,IAAI,CAMpD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,QAI9C;AAED,wBAAgB,iBAAiB,SAMhC;AAED,wBAAgB,oBAAoB,SAGnC;AAID,wBAAgB,mBAAmB,SAQlC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAwB5D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/Auth/utils/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,QAAQ,CAAA;AA8BxC,wBAAgB,mBAAmB,CAAC,GAAG,SAAsB,GAAG,OAAO,GAAG,IAAI,CAM7E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,SAAsB,QAIzE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAsB,QAM1D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAsB,QAG7D;AAID,wBAAgB,mBAAmB,CAAC,GAAG,SAAsB,QAW5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,SAAsB,GAAG,IAAI,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAwBrF"}
@@ -1,5 +1,3 @@
1
- //#region src/components/Auth/utils/utils.ts
2
- var EXPIRATION_DATE_KEY = "exp";
3
1
  var REFRESH_TIMESTAMP_KEY = "refresh-ts";
4
2
  var REFRESH_BUFFER_TIMEOUT = 3e3;
5
3
  var REFRESH_BUFFER_TICK = 1e3;
@@ -15,38 +13,43 @@ function deleteCookie(name) {
15
13
  document.cookie = name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
16
14
  }
17
15
  var EXP_FACTOR = 1e3;
18
- function checkExpirationDate() {
19
- const exp = Number.parseFloat(getCookie(EXPIRATION_DATE_KEY));
16
+ function getRefreshTimestampKey(key) {
17
+ return key === "exp" ? REFRESH_TIMESTAMP_KEY : key + "-refresh-ts";
18
+ }
19
+ function checkExpirationDate(key = "exp") {
20
+ const exp = Number.parseFloat(getCookie(key));
20
21
  if (!exp || !Number.isFinite(exp)) return null;
21
22
  return exp > Date.now() / EXP_FACTOR;
22
23
  }
23
- function updateExpirationDate(date) {
24
+ function updateExpirationDate(date, key = "exp") {
24
25
  const exp = (date.getTime() / EXP_FACTOR).toString();
25
- setCookie(EXPIRATION_DATE_KEY, exp, date);
26
- localStorage.setItem(EXPIRATION_DATE_KEY, exp);
26
+ setCookie(key, exp, date);
27
+ localStorage.setItem(key, exp);
27
28
  }
28
- function setExpirationDate() {
29
- const exp = Number.parseFloat(getCookie(EXPIRATION_DATE_KEY));
29
+ function setExpirationDate(key = "exp") {
30
+ const exp = Number.parseFloat(getCookie(key));
30
31
  if (!exp || !Number.isFinite(exp)) return;
31
- localStorage.setItem(EXPIRATION_DATE_KEY, exp.toString());
32
+ localStorage.setItem(key, exp.toString());
32
33
  }
33
- function removeExpirationDate() {
34
- localStorage.removeItem(EXPIRATION_DATE_KEY);
35
- deleteCookie(EXPIRATION_DATE_KEY);
34
+ function removeExpirationDate(key = "exp") {
35
+ localStorage.removeItem(key);
36
+ deleteCookie(key);
36
37
  }
37
- var refreshTimestampTimeout = null;
38
- function setRefreshTimestamp() {
39
- localStorage.setItem(REFRESH_TIMESTAMP_KEY, (/* @__PURE__ */ new Date()).getTime().toString());
40
- if (refreshTimestampTimeout) clearTimeout(refreshTimestampTimeout);
41
- refreshTimestampTimeout = setTimeout(() => {
42
- localStorage.removeItem(REFRESH_TIMESTAMP_KEY);
43
- }, REFRESH_BUFFER_TIMEOUT);
38
+ var refreshTimestampTimeouts = /* @__PURE__ */ new Map();
39
+ function setRefreshTimestamp(key = "exp") {
40
+ const refreshKey = getRefreshTimestampKey(key);
41
+ localStorage.setItem(refreshKey, (/* @__PURE__ */ new Date()).getTime().toString());
42
+ clearTimeout(refreshTimestampTimeouts.get(refreshKey));
43
+ refreshTimestampTimeouts.set(refreshKey, setTimeout(() => {
44
+ refreshTimestampTimeouts.delete(refreshKey);
45
+ localStorage.removeItem(refreshKey);
46
+ }, REFRESH_BUFFER_TIMEOUT));
44
47
  }
45
- function removeRefreshTimestamp() {
46
- localStorage.removeItem(REFRESH_TIMESTAMP_KEY);
48
+ function removeRefreshTimestamp(key = "exp") {
49
+ localStorage.removeItem(getRefreshTimestampKey(key));
47
50
  }
48
- function getLastRefreshPromise() {
49
- const lastRefreshTimeStamp = Number.parseInt(localStorage.getItem(REFRESH_TIMESTAMP_KEY) ?? "");
51
+ function getLastRefreshPromise(key = "exp") {
52
+ const lastRefreshTimeStamp = Number.parseInt(localStorage.getItem(getRefreshTimestampKey(key)) ?? "");
50
53
  if (!Number.isInteger(lastRefreshTimeStamp) || lastRefreshTimeStamp <= 0) return null;
51
54
  const diff = (/* @__PURE__ */ new Date()).getTime() - lastRefreshTimeStamp;
52
55
  if (diff <= 0 || diff > REFRESH_BUFFER_TIMEOUT) return null;
@@ -56,7 +59,7 @@ function getLastRefreshPromise() {
56
59
  if (count < 1) {
57
60
  clearInterval(interval);
58
61
  reject(/* @__PURE__ */ new Error("Timed out"));
59
- } else if (checkExpirationDate()) {
62
+ } else if (checkExpirationDate(key)) {
60
63
  clearInterval(interval);
61
64
  resolve();
62
65
  } else count--;
@@ -1 +1 @@
1
- {"version":3,"file":"WFieldWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/WFieldWrapper.vue"],"names":[],"mappings":"AAqLA;AAkUA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAkB,KAAK,KAAK,EAAuE,MAAM,KAAK,CAAA;AAerH,KAAK,WAAW,GAAG,iBAAiB,GAAG;IACnC,uJAAuJ;IACvJ,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC;AAyGJ,KAAK,WAAW,GAAG;IACjB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAA;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,qDAAqD;IACrD,MAAM,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,2JAA2J;IAC3J,KAAK,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACpH,sGAAsG;IACtG,OAAO,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;CACvH,CAAC;AA4XF,QAAA,MAAM,UAAU;sBAtdO,cAAc,GAAG,IAAI;yBA2BhB,MAAM,eAAc,MAAM;;;;;;;;;;;6EAgcpD,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WFieldWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/WFieldWrapper.vue"],"names":[],"mappings":"AAqLA;AAkUA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAkB,KAAK,KAAK,EAAuE,MAAM,KAAK,CAAA;AAerH,KAAK,WAAW,GAAG,iBAAiB,GAAG;IACnC,uJAAuJ;IACvJ,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC;AAyGJ,KAAK,WAAW,GAAG;IACjB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAA;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,qDAAqD;IACrD,MAAM,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,2JAA2J;IAC3J,KAAK,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACpH,sGAAsG;IACtG,OAAO,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;CACvH,CAAC;AA6XF,QAAA,MAAM,UAAU;sBAvdO,cAAc,GAAG,IAAI;yBA2BhB,MAAM,eAAc,MAAM;;;;;;;;;;;6EAicpD,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -128,7 +128,7 @@ var WFieldWrapper_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
128
128
  showMessage
129
129
  });
130
130
  return (_ctx, _cache) => {
131
- return openBlock(), createElementBlock("div", mergeProps({ class: "relative" }, __props.allowDropFile ? {
131
+ return openBlock(), createElementBlock("div", mergeProps({ class: "relative group/field" }, __props.allowDropFile ? {
132
132
  style: _ctx.$attrs.style,
133
133
  onDragover,
134
134
  onDragleave,
@@ -167,7 +167,7 @@ var WFieldWrapper_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
167
167
  createElementVNode("div", {
168
168
  ref: "field",
169
169
  class: normalizeClass(["grid", {
170
- "pr-9": !__props.title && !_ctx.$slots.title && __props.filterField,
170
+ "pr-7": !__props.title && !_ctx.$slots.title && __props.filterField,
171
171
  "col-start-2 -col-end-1 row-start-1 -row-end-3 grid-cols-subgrid": __props.subgrid,
172
172
  "grid-cols-[1fr_auto]": !__props.subgrid,
173
173
  "px-[max(0px,calc(--spacing(3)-var(--w-frame-padding,0px)))]": __props.embedded
@@ -1 +1 @@
1
- {"version":3,"file":"FilterButton.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/FieldWrapper/components/FilterButton.vue"],"names":[],"mappings":"AAoBA;AAiCA,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAiEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"FilterButton.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/FieldWrapper/components/FilterButton.vue"],"names":[],"mappings":"AAoBA;AAiCA,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAmEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -18,7 +18,7 @@ var FilterButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
18
18
  return __props.skeleton || !__props.encodedQueryParam ? (openBlock(), createElementBlock("div", _hoisted_1)) : (openBlock(), createElementBlock("button", {
19
19
  key: 1,
20
20
  class: normalizeClass(["w-ripple w-ripple-hover rounded p-[0.125em]", {
21
- "text-description": _ctx.$route.query[__props.filterField] !== __props.encodedQueryParam,
21
+ "text-description opacity-0 group-hover/field:opacity-100": _ctx.$route.query[__props.filterField] !== __props.encodedQueryParam,
22
22
  "tone-primary surface-fill": _ctx.$route.query[__props.filterField] === __props.encodedQueryParam
23
23
  }]),
24
24
  "aria-pressed": _ctx.$route.query[__props.filterField] === __props.encodedQueryParam,
@@ -30,6 +30,7 @@ declare const __VLS_export: <Type extends InputType = "text", ClearValue extends
30
30
  undo: () => void;
31
31
  redo: () => void;
32
32
  showMessage: ShowMessage;
33
+ cancel: () => void;
33
34
  }>) => void;
34
35
  attrs: any;
35
36
  slots: {
@@ -1 +1 @@
1
- {"version":3,"file":"WInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/WInput.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/WInput.vue"],"names":[],"mappings":"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"}
@@ -432,7 +432,8 @@ var WInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
432
432
  scrollToInput,
433
433
  undo,
434
434
  redo,
435
- showMessage
435
+ showMessage,
436
+ cancel: asyncState.cancel
436
437
  });
437
438
  return (_ctx, _cache) => {
438
439
  return openBlock(), createBlock(WFieldWrapper_default, mergeProps({ ref: "fieldWrapper" }, props, {
@@ -1 +1 @@
1
- {"version":3,"file":"WTabs.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Tabs/WTabs.vue"],"names":[],"mappings":"AA+KA;AA0kBA,OAAO,KAAK,EAAgB,SAAS,EAAC,MAAM,SAAS,CAAA;AAErD,OAAO,EAA0D,KAAK,KAAK,EAAqH,MAAM,KAAK,CAAA;AAmD3M,KAAK,WAAW,GAAG;IACjB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,KAAK,EAAE,CAAA;CACvB,CAAC;AA+xBF,QAAA,MAAM,UAAU;2BA7qBc,MAAM;yBAIR,MAAM;gCAkFG,OAAO,CAAC,IAAI,CAAC;oBAM7B,IAAI;iBAIL,MAAM,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;kFAilBzC,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WTabs.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Tabs/WTabs.vue"],"names":[],"mappings":"AA+KA;AAilBA,OAAO,KAAK,EAAgB,SAAS,EAAC,MAAM,SAAS,CAAA;AAErD,OAAO,EAA0D,KAAK,KAAK,EAAqH,MAAM,KAAK,CAAA;AAmD3M,KAAK,WAAW,GAAG;IACjB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,KAAK,EAAE,CAAA;CACvB,CAAC;AAsyBF,QAAA,MAAM,UAAU;2BAprBc,MAAM;yBAIR,MAAM;gCAyFG,OAAO,CAAC,IAAI,CAAC;oBAM7B,IAAI;iBAIL,MAAM,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;kFAilBzC,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { debounce, getHasScrollbar, getPropValue, throttle, unwrapSlots } from "../../utils/utils.js";
1
+ import { debounce, getHasScrollbar, getPropValue, getScrollParent, throttle, unwrapSlots } from "../../utils/utils.js";
2
2
  import { useIsMobile } from "../../utils/mobile.js";
3
3
  import { wTabItemListener, wTabItemUnlistener } from "./models/injection.js";
4
4
  import { Notify } from "../../utils/Notify.js";
@@ -157,8 +157,16 @@ var WTabs_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
157
157
  timeout = null;
158
158
  }, 300);
159
159
  };
160
+ const resetHorizontalScroll = () => {
161
+ const parent = containerRef.value && (getScrollParent(containerRef.value) ?? document.scrollingElement);
162
+ if (parent?.scrollLeft) parent.scrollTo({
163
+ left: 0,
164
+ behavior: "instant"
165
+ });
166
+ };
160
167
  const setCurrent = (value) => {
161
168
  if (current.value === value || !defaultSlotsKeys.value.includes(value)) return;
169
+ resetHorizontalScroll();
162
170
  isDirect.value = defaultSlotsKeys.value.indexOf(current.value) < defaultSlotsKeys.value.indexOf(value);
163
171
  current.value = value;
164
172
  scrollToTabContent();
@@ -44,7 +44,7 @@ declare const __VLS_export: <Model, QueryParams, Field extends keyof NonNullable
44
44
  initHasError?: boolean;
45
45
  /** Never reports unsaved changes. */
46
46
  noChanges?: boolean;
47
- /** Returns the props of a confirm modal to show before a change is applied. The change is dropped on cancel; returning nothing applies it at once. */
47
+ /** Returns the props of a confirm modal to show before a change is applied. The change is dropped on cancel, along with the field's unsaved draft; returning nothing applies it at once. */
48
48
  confimGetter?: (payload: ResultModel, data: Model) => ConfirmProps | Promise<ConfirmProps | undefined> | undefined;
49
49
  } & ({
50
50
  useQueryFn?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"WUniform.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Uniform/WUniform.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WUniform.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Uniform/WUniform.vue"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ var WUniform_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
79
79
  if (partial) scopeModel.initFields(result, payload);
80
80
  else scopeModel.initModel(result ?? payload);
81
81
  }, (message, onlyChanged, fields) => scope?.showMessage(message, onlyChanged, fields), () => props.noInit, () => props.async, () => props.fullPayload) : void 0;
82
- const scopeModel = useUniformModel(toRef(props, "modelValue"), toRef(props, "modelValueInit"), computed(() => props.field), props.useQueryFn, props.noParams ? void 0 : toRef(() => props.queryParams), props.initData, props.confimGetter, () => props.async, (value, fields) => emit("update:model-value", value, fields), () => void scopeSubmit?.submit(), () => emit("init-model"), slots.field ? (value) => scopeField?.validateFieldOnUpdate(value) : void 0);
82
+ const scopeModel = useUniformModel(toRef(props, "modelValue"), toRef(props, "modelValueInit"), computed(() => props.field), props.useQueryFn, props.noParams ? void 0 : toRef(() => props.queryParams), props.initData, props.confimGetter, () => props.async, (value, fields) => emit("update:model-value", value, fields), () => void scopeSubmit?.submit(), () => emit("init-model"), slots.field ? (value) => scopeField?.validateFieldOnUpdate(value) : void 0, slots.field ? () => scopeField?.cancelField() : void 0);
83
83
  const scopeField = slots.field ? useUniformField(scopeModel.modelValue, scopeModel.modelValueInit, () => props.field, () => props.title, toRef(() => props.required), toRef(() => props.mandatory), props.validate, props.noChanges) : void 0;
84
84
  const scopeForm = slots.default ? useUniformForm(() => props.field, () => props.title) : void 0;
85
85
  const scope = scopeField ?? scopeForm;
@@ -14,6 +14,7 @@ export declare const useUniformField: <Model>(modelValue: Ref<Model>, modelValue
14
14
  getInvalidatePayload: () => InvalidatePayload | undefined;
15
15
  showMessage: (message: string, onlyChanged?: boolean) => void;
16
16
  getFieldChanged: (field: string) => boolean;
17
+ cancelField: () => void;
17
18
  };
18
19
  export {};
19
20
  //# sourceMappingURL=useUniformField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUniformField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Uniform/use/useUniformField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,UAAU,CAAA;AAEhE,OAAO,EAAC,KAAK,GAAG,EAA0B,MAAM,KAAK,CAAA;AAQrD,KAAK,cAAc,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAA;AAEjE,eAAO,MAAM,eAAe,GAAI,KAAK,EACnC,YAAY,GAAG,CAAC,KAAK,CAAC,EACtB,gBAAgB,GAAG,CAAC,KAAK,CAAC,EAC1B,aAAa,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACvD,aAAa,MAAM,MAAM,GAAG,SAAS,EACrC,UAAU,GAAG,CAAC,OAAO,CAAC,EACtB,WAAW,GAAG,CAAC,OAAO,CAAC,EACvB,cAAc,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,EACzE,WAAW,OAAO;yBAQU,iBAAiB,CAAC,OAAO,CAAC;;;;;;sCA2Db,KAAK,KAAG,IAAI;;2BA6BvB,iBAAiB,KAAG,IAAI;gCAYrB,iBAAiB,GAAG,SAAS;2BAK3B,MAAM,gBAAgB,OAAO;6BAIhC,MAAM,KAAG,OAAO;CAmBjD,CAAA"}
1
+ {"version":3,"file":"useUniformField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Uniform/use/useUniformField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,UAAU,CAAA;AAEhE,OAAO,EAAC,KAAK,GAAG,EAA0B,MAAM,KAAK,CAAA;AAQrD,KAAK,cAAc,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAA;AAEjE,eAAO,MAAM,eAAe,GAAI,KAAK,EACnC,YAAY,GAAG,CAAC,KAAK,CAAC,EACtB,gBAAgB,GAAG,CAAC,KAAK,CAAC,EAC1B,aAAa,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACvD,aAAa,MAAM,MAAM,GAAG,SAAS,EACrC,UAAU,GAAG,CAAC,OAAO,CAAC,EACtB,WAAW,GAAG,CAAC,OAAO,CAAC,EACvB,cAAc,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,EACzE,WAAW,OAAO;yBAQU,iBAAiB,CAAC,OAAO,CAAC;;;;;;sCA2Db,KAAK,KAAG,IAAI;;2BA6BvB,iBAAiB,KAAG,IAAI;gCAYrB,iBAAiB,GAAG,SAAS;2BAK3B,MAAM,gBAAgB,OAAO;6BAUhC,MAAM,KAAG,OAAO;uBANxB,IAAI;CA0B7B,CAAA"}
@@ -80,6 +80,9 @@ var useUniformField = (modelValue, modelValueInit, fieldGetter, titleGetter, req
80
80
  const showMessageField = (message, onlyChanged) => {
81
81
  if (!onlyChanged || hasChanges?.value) showMessage(message);
82
82
  };
83
+ const cancelField = () => {
84
+ for (const instance of Array.isArray(fieldRef.value) ? fieldRef.value : [fieldRef.value]) if (instance && "cancel" in instance && typeof instance.cancel === "function") instance.cancel();
85
+ };
83
86
  const getFieldChanged = (field) => {
84
87
  if (fieldGetter() === field) return hasChanges?.value ?? false;
85
88
  return false;
@@ -96,7 +99,8 @@ var useUniformField = (modelValue, modelValueInit, fieldGetter, titleGetter, req
96
99
  invalidate,
97
100
  getInvalidatePayload,
98
101
  showMessage: showMessageField,
99
- getFieldChanged
102
+ getFieldChanged,
103
+ cancelField
100
104
  };
101
105
  };
102
106
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { Ref } from 'vue';
2
- export declare const useUniformModel: <ParentModel, Field extends keyof NonNullable<ParentModel>, InnerModel, QueryParams, ResultModel>(parentModel: Ref<ParentModel>, parentModelInit: Ref<ParentModel>, field: Ref<Field | undefined>, useQueryFn: UseQueryDefault<InnerModel, QueryParams> | undefined, queryParams: Ref<QueryParams | undefined> | undefined, initFn: ((value: InnerModel) => ResultModel) | undefined, confimGetter: ((payload: ResultModel, data: ParentModel) => ConfirmProps | Promise<ConfirmProps | undefined> | undefined) | undefined, asyncGetter: () => boolean, emitModelValue: (value: ResultModel, fields: (string | number)[]) => void, submit: () => void, emitInitModel: () => void, validateOnUpdate: ((newValue: ResultModel) => void) | undefined) => {
2
+ export declare const useUniformModel: <ParentModel, Field extends keyof NonNullable<ParentModel>, InnerModel, QueryParams, ResultModel>(parentModel: Ref<ParentModel>, parentModelInit: Ref<ParentModel>, field: Ref<Field | undefined>, useQueryFn: UseQueryDefault<InnerModel, QueryParams> | undefined, queryParams: Ref<QueryParams | undefined> | undefined, initFn: ((value: InnerModel) => ResultModel) | undefined, confimGetter: ((payload: ResultModel, data: ParentModel) => ConfirmProps | Promise<ConfirmProps | undefined> | undefined) | undefined, asyncGetter: () => boolean, emitModelValue: (value: ResultModel, fields: (string | number)[]) => void, submit: () => void, emitInitModel: () => void, validateOnUpdate: ((newValue: ResultModel) => void) | undefined, onConfirmCancel: (() => void) | undefined) => {
3
3
  modelValue: Ref<ResultModel, ResultModel>;
4
4
  modelValueInit: Ref<ParentModel, ParentModel> | ([ResultModel] extends [Ref<any, any>] ? import('@vue/shared').IfAny<ResultModel, Ref<ResultModel, ResultModel>, ResultModel> : Ref<import('vue').UnwrapRef<ResultModel>, ResultModel | import('vue').UnwrapRef<ResultModel>>) | import('vue').ComputedRef<NonNullable<ParentModel>[keyof ParentModel] | undefined>;
5
5
  modelValueList: import('vue').ComputedRef<Record<string, ResultModel extends unknown[] ? ResultModel[number] : never>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useUniformModel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Uniform/use/useUniformModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAyD,MAAM,KAAK,CAAA;AAmDpF,eAAO,MAAM,eAAe,GAAI,WAAW,EAAE,KAAK,SAAS,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAC7H,aAAa,GAAG,CAAC,WAAW,CAAC,EAC7B,iBAAiB,GAAG,CAAC,WAAW,CAAC,EACjC,OAAO,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,EAC7B,YAAY,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,SAAS,EAChE,aAAa,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,SAAS,EACrD,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,WAAW,CAAC,GAAG,SAAS,EACxD,cAAc,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,EACrI,aAAa,MAAM,OAAO,EAC1B,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,EACzE,QAAQ,MAAM,IAAI,EAClB,eAAe,MAAM,IAAI,EACzB,kBAAkB,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;wBA2EpC,UAAU;wBAsBV,UAAU,GAAG,SAAS,WAAW,OAAO,CAAC,WAAW,CAAC;uBA6CtD,WAAW,SAAS,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,KAAG,IAAI;yBAMhE,WAAW,SAAS,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,KAAG,IAAI;iCAQ1D,WAAW,GAAG,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;sCAIlC,WAAW,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;CAsClF,CAAA"}
1
+ {"version":3,"file":"useUniformModel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Uniform/use/useUniformModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAyD,MAAM,KAAK,CAAA;AAmDpF,eAAO,MAAM,eAAe,GAAI,WAAW,EAAE,KAAK,SAAS,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAC7H,aAAa,GAAG,CAAC,WAAW,CAAC,EAC7B,iBAAiB,GAAG,CAAC,WAAW,CAAC,EACjC,OAAO,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,EAC7B,YAAY,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,SAAS,EAChE,aAAa,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,SAAS,EACrD,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,WAAW,CAAC,GAAG,SAAS,EACxD,cAAc,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,EACrI,aAAa,MAAM,OAAO,EAC1B,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,EACzE,QAAQ,MAAM,IAAI,EAClB,eAAe,MAAM,IAAI,EACzB,kBAAkB,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,EAC/D,iBAAiB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;;;;wBA2Ed,UAAU;wBAsBV,UAAU,GAAG,SAAS,WAAW,OAAO,CAAC,WAAW,CAAC;uBAgDtD,WAAW,SAAS,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,KAAG,IAAI;yBAMhE,WAAW,SAAS,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,KAAG,IAAI;iCAQ1D,WAAW,GAAG,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;sCAIlC,WAAW,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;CAsClF,CAAA"}
@@ -29,7 +29,7 @@ var keepChanges = (next, current, init) => {
29
29
  }
30
30
  return current;
31
31
  };
32
- var useUniformModel = (parentModel, parentModelInit, field, useQueryFn, queryParams, initFn, confimGetter, asyncGetter, emitModelValue, submit, emitInitModel, validateOnUpdate) => {
32
+ var useUniformModel = (parentModel, parentModelInit, field, useQueryFn, queryParams, initFn, confimGetter, asyncGetter, emitModelValue, submit, emitInitModel, validateOnUpdate, onConfirmCancel) => {
33
33
  const query = useQueryFn ? useQueryFn(queryParams, { enabled: computed(() => !parentModel.value) }) : void 0;
34
34
  const getParentValue = () => field.value !== void 0 ? parentModel.value?.[field.value] : parentModel.value;
35
35
  const innerModel = query ? computed(() => getParentValue() ?? query.data.value) : computed(getParentValue);
@@ -111,10 +111,13 @@ var useUniformModel = (parentModel, parentModelInit, field, useQueryFn, queryPar
111
111
  let confirmProps = confimGetter?.(value, parentModel.value);
112
112
  if (confirmProps instanceof Promise) confirmProps = await confirmProps;
113
113
  if (!confirmProps) return emitValue(value);
114
- return new Promise((resolve, reject) => {
114
+ return new Promise((resolve) => {
115
115
  closeModal = Modal.addConfirm({
116
116
  ...confirmProps,
117
- onCancel: reject,
117
+ onCancel: () => {
118
+ onConfirmCancel?.();
119
+ resolve();
120
+ },
118
121
  onAccept: () => resolve(emitValue(value))
119
122
  }, () => closeModal = null);
120
123
  });
@@ -28,7 +28,10 @@ export declare class ApiClientInstance implements ApiClient {
28
28
  credentials?: RequestCredentials;
29
29
  baseUrl?: BaseUrl;
30
30
  noRecheck?: boolean;
31
+ /** Cookie holding when to refresh the session, in epoch seconds. Defaults to `exp` */
32
+ expirationCookie?: string;
31
33
  });
34
+ private get expirationCookie();
32
35
  setOnFailure(value: (response: Response) => void): void;
33
36
  logout(): void;
34
37
  private retry;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/utils/ApiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/utils/ApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAC,KAAK,GAAG,EAAM,MAAM,KAAK,CAAA;AAMjC,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAA;AAElE,eAAO,MAAM,YAAY,GAAI,QAAQ,aAAa,CAAC,QAAQ,CAAC,GAAG,aAAa,KAAG,MAE9E,CAAA;AAYD,MAAM,WAAW,MAAM;CAAG;AAE1B,KAAK,MAAM,GAAG,MAAM,SAAS;IAAC,MAAM,EAAE,MAAM,KAAK,CAAA;CAAC,GAAG,KAAK,GAAG,IAAK,MAAO,GAAG,CAAA;AAC5E,KAAK,OAAO,GAAG,IAAK,MAAO,EAAE,GAAG,UAAW,MAAO,EAAE,GAAG,WAAY,MAAO,EAAE,CAAA;AAE5E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IAEf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAErG,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE7K,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9K,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACzG;AAED,qBAAa,iBAAkB,YAAW,SAAS;IAKrC,OAAO,CAAC,MAAM;IAJ1B,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAO;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,SAAgB,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEvB,MAAM,EAAE;QAC1B,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;QACjC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;QACxC,WAAW,CAAC,EAAE,kBAAkB,CAAA;QAChC,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,sFAAsF;QACtF,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B;IAYD,OAAO,KAAK,gBAAgB,GAE3B;IAED,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IAIhD,MAAM;YAMQ,KAAK;YAcL,OAAO;IAqDrB,SAAS;IAYT,OAAO,CAAC,KAAK;IAmGb,IAAW,OAAO,iBAEjB;IAED,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;IAIjD,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAI5I,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAI7I,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;IAIpD,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;CAqBzC"}
@@ -26,11 +26,14 @@ var ApiClientInstance = class {
26
26
  return this.auth;
27
27
  };
28
28
  }
29
+ get expirationCookie() {
30
+ return this.config.expirationCookie ?? "exp";
31
+ }
29
32
  setOnFailure(value) {
30
33
  this.config.onFailure = value;
31
34
  }
32
35
  logout() {
33
- removeExpirationDate();
36
+ removeExpirationDate(this.expirationCookie);
34
37
  this.auth.value = false;
35
38
  }
36
39
  async retry(request) {
@@ -45,7 +48,7 @@ var ApiClientInstance = class {
45
48
  }
46
49
  async refresh() {
47
50
  if (!this.refreshPromise) {
48
- const refreshTimeoutPromise = getLastRefreshPromise();
51
+ const refreshTimeoutPromise = getLastRefreshPromise(this.expirationCookie);
49
52
  if (refreshTimeoutPromise) this.refreshPromise = refreshTimeoutPromise.then(() => {
50
53
  this.refreshPromise = null;
51
54
  this.auth.value = true;
@@ -62,7 +65,7 @@ var ApiClientInstance = class {
62
65
  }
63
66
  });
64
67
  else {
65
- setRefreshTimestamp();
68
+ setRefreshTimestamp(this.expirationCookie);
66
69
  const promise = this.config.tokenRefresh ? this.config.tokenRefresh() : this.fetch("GET", this.config.refreshUrl, { updateToken: true });
67
70
  this.refreshPromise = promise.then(() => {
68
71
  this.refreshPromise = null;
@@ -71,7 +74,7 @@ var ApiClientInstance = class {
71
74
  this.refreshPromise = null;
72
75
  this.auth.value = false;
73
76
  return Promise.reject(error);
74
- }).finally(removeRefreshTimestamp);
77
+ }).finally(() => removeRefreshTimestamp(this.expirationCookie));
75
78
  }
76
79
  }
77
80
  return this.refreshPromise;
@@ -79,9 +82,9 @@ var ApiClientInstance = class {
79
82
  checkAuth() {
80
83
  let result;
81
84
  if (this.config.tokenGetter) result = !!this.config.tokenGetter?.();
82
- else result = checkExpirationDate();
85
+ else result = checkExpirationDate(this.expirationCookie);
83
86
  if (result !== false) this.auth.value = result !== null;
84
- if (result === null) removeExpirationDate();
87
+ if (result === null) removeExpirationDate(this.expirationCookie);
85
88
  return result;
86
89
  }
87
90
  fetch(method, url, config, baseUrl) {
@@ -151,7 +154,7 @@ var ApiClientInstance = class {
151
154
  }));
152
155
  else reject(error);
153
156
  }).finally(() => {
154
- if (config?.updateToken) setExpirationDate();
157
+ if (config?.updateToken) setExpirationDate(this.expirationCookie);
155
158
  });
156
159
  });
157
160
  }
@@ -130,7 +130,7 @@ A form in a modal usually has its buttons in the modal's `actions` slot, outside
130
130
 
131
131
  ## Auto-save
132
132
 
133
- `async` saves every change right away, one field at a time. The changed field shows a spinner while it is saved, and the rest of the form stays editable. `confimGetter` asks before a change is applied — the change is dropped on cancel.
133
+ `async` saves every change right away, one field at a time. The changed field shows a spinner while it is saved, and the rest of the form stays editable. `confimGetter` asks before a change is applied — on cancel the change is dropped and the field shows the saved value again.
134
134
 
135
135
  Only the changed fields are validated and sent. An invalid one shows its error at once and keeps its value without being saved, and changes to other fields are still saved. The value is sent once it is fixed. A change made while a save is in progress is sent when that save ends. When `apiMethod` returns nothing, the sent values become the initial ones for their fields. Fields that weren't sent keep their unsaved changes. `fullPayload` sends the whole model instead and waits until every field is valid.
136
136
 
@@ -364,7 +364,7 @@ import WUniform from 'eco-vue-js/dist/components/Uniform/WUniform.vue'
364
364
  | `initHasValue` | `boolean \| null` | — | Overrides the `hasValue` state reported to the parent, e.g. while the fields are not mounted. |
365
365
  | `initHasError` | `boolean` | — | Overrides the error state reported to the parent, e.g. while the fields are not mounted. |
366
366
  | `noChanges` | `boolean` | — | Never reports unsaved changes. |
367
- | `confimGetter` | `((payload: ResultModel, data: Model) => ConfirmProps \| Promise<ConfirmProps \| undefined> \| undefined)` | — | Returns the props of a confirm modal to show before a change is applied. The change is dropped on cancel; returning nothing applies it at once. |
367
+ | `confimGetter` | `((payload: ResultModel, data: Model) => ConfirmProps \| Promise<ConfirmProps \| undefined> \| undefined)` | — | Returns the props of a confirm modal to show before a change is applied. The change is dropped on cancel, along with the field's unsaved draft; returning nothing applies it at once. |
368
368
  | `useQueryFn` | `UseQueryDefault<InnerModel, QueryParams> \| UseQueryDefault<InnerModel, undefined>` | — | Query that loads the model when `modelValue` is not given. The form shows skeletons until it loads. |
369
369
  | `queryParams` | `QueryParams` | — | Params of `useQueryFn`. |
370
370
  | `noParams` | `true` | — | `useQueryFn` takes no params. |
package/docs/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # eco-vue-js
2
2
 
3
- > Vue 3 UI kit with Tailwind v4 — components, utilities, icons and recipes. These are the docs of version 0.26.5, the one installed next to them. Start with Getting started and Conventions; each component page lists its props, events and slots with examples.
3
+ > Vue 3 UI kit with Tailwind v4 — components, utilities, icons and recipes. These are the docs of version 0.26.7, the one installed next to them. Start with Getting started and Conventions; each component page lists its props, events and slots with examples.
4
4
 
5
5
  Release notes, for what changed between versions: https://github.com/rsmple/eco-vue-js/releases. The docs site, with live demos: https://rsmple.github.io/eco-vue-js/
6
6
 
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/rsmple/eco-vue-js.git"
6
6
  },
7
- "version": "0.26.5",
7
+ "version": "0.26.7",
8
8
  "homepage": "https://rsmple.github.io/eco-vue-js/",
9
9
  "dependencies": {
10
10
  "@stylistic/eslint-plugin": "5.10.0",