firstly 0.1.3 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/esm/auth/Entities.js +2 -2
  3. package/esm/auth/server/AuthController.server.js +32 -12
  4. package/esm/auth/static/assets/Page-BRNWcY5Z.js +1 -0
  5. package/esm/auth/static/assets/Page-CFcEsGK8.d.ts +2 -0
  6. package/esm/auth/static/assets/Page-CFcEsGK8.js +7 -0
  7. package/esm/auth/static/assets/Page-tLVs5slF.js +1 -0
  8. package/esm/auth/static/assets/index-D38rqu4x.d.ts +201 -0
  9. package/esm/auth/static/assets/index-D38rqu4x.js +2 -0
  10. package/esm/auth/static/index.html +1 -1
  11. package/esm/bin/cmd.js +3 -3
  12. package/esm/carbone/CarboneController.d.ts +35 -0
  13. package/esm/carbone/CarboneController.js +155 -0
  14. package/esm/carbone/Roles_Carbon.d.ts +8 -0
  15. package/esm/carbone/Roles_Carbon.js +8 -0
  16. package/esm/carbone/carboneEntities.d.ts +21 -0
  17. package/esm/carbone/carboneEntities.js +83 -0
  18. package/esm/carbone/index.d.ts +29 -0
  19. package/esm/carbone/index.js +68 -0
  20. package/esm/carbone/server/CarboneServer.d.ts +19 -0
  21. package/esm/carbone/server/CarboneServer.js +38 -0
  22. package/esm/carbone/server/index.d.ts +7 -0
  23. package/esm/carbone/server/index.js +23 -0
  24. package/esm/changeLog/changeLogEntities.js +1 -1
  25. package/esm/cron/Cron.js +1 -1
  26. package/esm/feedback/FeedbackController.d.ts +6 -2
  27. package/esm/feedback/FeedbackController.js +145 -143
  28. package/esm/feedback/server/index.d.ts +2 -2
  29. package/esm/feedback/server/index.js +3 -3
  30. package/esm/feedback/types.d.ts +5 -0
  31. package/esm/feedback/ui/DialogIssue.svelte +5 -5
  32. package/esm/feedback/ui/DialogIssues.svelte +5 -5
  33. package/esm/feedback/ui/DialogMilestones.svelte +1 -1
  34. package/esm/internals/BaseEnum.d.ts +1 -0
  35. package/esm/internals/FF_Fields.d.ts +6 -4
  36. package/esm/internals/FF_Fields.js +27 -64
  37. package/esm/internals/cellsBuildor.d.ts +2 -1
  38. package/esm/internals/index.d.ts +7 -8
  39. package/esm/internals/storeItem.d.ts +1 -0
  40. package/esm/mail/Mail.js +1 -1
  41. package/esm/mail/server/index.d.ts +8 -2
  42. package/esm/mail/server/index.js +35 -7
  43. package/esm/server/index.d.ts +1 -1
  44. package/esm/svelte/FF_Cell.svelte +3 -5
  45. package/esm/svelte/FF_Cell.svelte.d.ts +13 -4
  46. package/esm/svelte/FF_Cell_Caption.svelte.d.ts +10 -3
  47. package/esm/svelte/FF_Cell_Display.svelte.d.ts +10 -3
  48. package/esm/svelte/FF_Cell_Edit.svelte.d.ts +11 -4
  49. package/esm/svelte/FF_Cell_Error.svelte.d.ts +10 -3
  50. package/esm/svelte/FF_Cell_Hint.svelte.d.ts +10 -3
  51. package/esm/svelte/FF_Form.svelte +4 -5
  52. package/esm/svelte/FF_Form.svelte.d.ts +10 -3
  53. package/esm/svelte/FF_Grid.svelte +2 -2
  54. package/esm/svelte/FF_Grid.svelte.d.ts +10 -3
  55. package/esm/svelte/FF_Layout.svelte +3 -3
  56. package/esm/svelte/FF_Layout.svelte.d.ts +10 -3
  57. package/esm/svelte/dialog/DialogManagement.svelte +2 -5
  58. package/esm/svelte/dialog/DialogPrimitive.svelte +1 -2
  59. package/esm/svelte/dialog/dialog.js +2 -2
  60. package/esm/svelte/ff_Config.svelte.js +2 -2
  61. package/esm/svelte/index.d.ts +2 -7
  62. package/esm/svelte/index.js +2 -7
  63. package/esm/ui/Button.svelte +40 -23
  64. package/esm/ui/Button.svelte.d.ts +10 -34
  65. package/esm/ui/Clipboardable.svelte +13 -17
  66. package/esm/ui/Clipboardable.svelte.d.ts +9 -33
  67. package/esm/ui/Field.svelte +38 -8
  68. package/esm/ui/FieldGroup.svelte.d.ts +1 -1
  69. package/esm/ui/Grid.svelte +11 -82
  70. package/esm/ui/Grid.svelte.d.ts +0 -1
  71. package/esm/ui/Grid2.svelte +25 -86
  72. package/esm/ui/Grid2.svelte.d.ts +1 -2
  73. package/esm/ui/GridPaginate.svelte +1 -1
  74. package/esm/ui/GridPaginate2.svelte +2 -2
  75. package/esm/ui/Icon.svelte +2 -18
  76. package/esm/ui/Icon.svelte.d.ts +0 -2
  77. package/esm/ui/LibIcon.js +2 -2
  78. package/esm/ui/Loading.svelte +1 -1
  79. package/esm/ui/Tooltip.svelte +3 -2
  80. package/esm/ui/dialog/DialogManagement.svelte +14 -5
  81. package/esm/ui/dialog/DialogPrimitive.svelte +4 -4
  82. package/esm/ui/dialog/FormEditAction.svelte +4 -4
  83. package/esm/ui/dialog/dialog.d.ts +5 -2
  84. package/esm/ui/dialog/dialog.js +2 -2
  85. package/esm/ui/index.d.ts +1 -0
  86. package/esm/ui/index.js +1 -0
  87. package/esm/ui/internals/FieldContainer.svelte +25 -14
  88. package/esm/ui/internals/FieldContainer.svelte.d.ts +9 -30
  89. package/esm/ui/internals/Input.svelte.d.ts +1 -1
  90. package/esm/ui/internals/Textarea.svelte +2 -5
  91. package/esm/ui/internals/select/MultiSelectMelt.svelte +6 -4
  92. package/esm/ui/internals/select/Select2.svelte +88 -0
  93. package/esm/ui/internals/select/Select2.svelte.d.ts +12 -0
  94. package/esm/ui/internals/select/SelectMelt.svelte +5 -5
  95. package/esm/ui/internals/select/SelectRadio.svelte +1 -1
  96. package/esm/ui/link/Link.svelte +1 -1
  97. package/esm/ui/link/LinkPlus.svelte +9 -5
  98. package/esm/ui/link/LinkPlus.svelte.d.ts +5 -19
  99. package/esm/virtual/Customer.js +2 -3
  100. package/esm/virtual/UIEntity.js +10 -6
  101. package/package.json +16 -9
  102. package/esm/auth/static/assets/Page-9Ytj29NS.js +0 -1
  103. package/esm/auth/static/assets/Page-C1pM-UDt.d.ts +0 -2
  104. package/esm/auth/static/assets/Page-C1pM-UDt.js +0 -20
  105. package/esm/auth/static/assets/Page-CPz6KCw_.js +0 -1
  106. package/esm/auth/static/assets/index-AoBb9Ds5.d.ts +0 -232
  107. package/esm/auth/static/assets/index-AoBb9Ds5.js +0 -2
  108. package/esm/svelte/FF_Display.svelte +0 -51
  109. package/esm/svelte/FF_Display.svelte.d.ts +0 -22
  110. package/esm/svelte/FF_Edit.svelte +0 -104
  111. package/esm/svelte/FF_Edit.svelte.d.ts +0 -25
  112. package/esm/svelte/FF_Error.svelte +0 -23
  113. package/esm/svelte/FF_Error.svelte.d.ts +0 -22
  114. package/esm/svelte/FF_Field.svelte +0 -62
  115. package/esm/svelte/FF_Field.svelte.d.ts +0 -22
  116. package/esm/svelte/FF_Hint.svelte +0 -21
  117. package/esm/svelte/FF_Hint.svelte.d.ts +0 -22
  118. package/esm/svelte/FF_Label.svelte +0 -23
  119. package/esm/svelte/FF_Label.svelte.d.ts +0 -22
  120. /package/esm/auth/static/assets/{Page-CPz6KCw_.d.ts → Page-BRNWcY5Z.d.ts} +0 -0
  121. /package/esm/auth/static/assets/{Page-9Ytj29NS.d.ts → Page-tLVs5slF.d.ts} +0 -0
@@ -0,0 +1,201 @@
1
+ declare function se(e: any, t?: boolean, n?: boolean): {
2
+ f: number;
3
+ v: any;
4
+ reactions: null;
5
+ equals: typeof Yt;
6
+ rv: number;
7
+ wv: number;
8
+ };
9
+ declare const ei: "@attach";
10
+ declare function Br(e: any, t?: () => void): {
11
+ set: (s: any) => void;
12
+ update: (s: any) => void;
13
+ subscribe: (s: any, a?: () => void) => () => void;
14
+ };
15
+ declare function Ur(e: any): undefined;
16
+ declare function Vr(e: any, t: any): {
17
+ subscribe: (s: any, a?: () => void) => () => void;
18
+ };
19
+ declare function pi(e: any, t: any, n: any): {
20
+ subscribe: (s: any, a?: () => void) => () => void;
21
+ };
22
+ declare function zt(e: any, t: boolean | undefined, n: any): void;
23
+ declare function ri(e: any): any;
24
+ declare function En(e: any, t: any, n: any, r: any): (S: any, O: any, ...args: any[]) => any;
25
+ declare function ti(e: any): any;
26
+ declare function wi(e: any): void;
27
+ declare function ni(e: any, t: any): any;
28
+ declare const Jr: unique symbol;
29
+ declare function li(e: any, t: any): void;
30
+ declare const Qr: "http://www.w3.org/1999/xhtml";
31
+ declare function fi(): void;
32
+ declare function qr(e?: boolean): void;
33
+ declare function Pr(): DocumentFragment;
34
+ declare function Ke(e: any, t: any): any;
35
+ declare function Rt(e: any, t: any, [n, r]?: [number, number]): void;
36
+ declare function Pe(e: any, t: any): void;
37
+ declare function Zt(e: any): {};
38
+ declare function gi(): {}[];
39
+ declare function hi(e: any, t: any, n: any): any;
40
+ declare function mi(e: any, t: any): any;
41
+ declare function gr(e: any): void;
42
+ declare function bi(e: any, t: any): any;
43
+ declare function L(e: any, t: any, n?: boolean): any;
44
+ declare let y: null;
45
+ declare function ht(e: any, t: any): () => any;
46
+ declare function Ot(e: any, t: any): any;
47
+ declare function Ar(e: any, t: any, n: any, r: any, u: any): void;
48
+ declare function Ct(e: any, t?: number, n?: boolean): any;
49
+ declare function he(e: any): {
50
+ ctx: any;
51
+ deps: null;
52
+ effects: null;
53
+ equals: typeof Yt;
54
+ f: number;
55
+ fn: any;
56
+ reactions: null;
57
+ rv: number;
58
+ v: null;
59
+ wv: number;
60
+ parent: any;
61
+ };
62
+ declare function Lt(e: any, t: any): void;
63
+ declare function Rr(e: any, t: any, n: any, r: any, u: any, i?: null): void;
64
+ declare function ui(e: any): {
65
+ ctx: any;
66
+ deps: null;
67
+ effects: null;
68
+ equals: typeof Yt;
69
+ f: number;
70
+ fn: any;
71
+ reactions: null;
72
+ rv: number;
73
+ v: null;
74
+ wv: number;
75
+ parent: any;
76
+ };
77
+ declare function $(e: any, t: any): {
78
+ f: number;
79
+ v: any;
80
+ reactions: null;
81
+ equals: typeof Yt;
82
+ rv: number;
83
+ wv: number;
84
+ };
85
+ declare function di(e?: string): Text;
86
+ declare function ke(e: any, t: any): void;
87
+ declare function Sr(e: any): DocumentFragment;
88
+ declare function Ve(e: any, t?: number): {
89
+ ctx: any;
90
+ deps: null;
91
+ nodes_start: null;
92
+ nodes_end: null;
93
+ f: number;
94
+ first: null;
95
+ fn: any;
96
+ last: null;
97
+ next: null;
98
+ parent: any;
99
+ prev: null;
100
+ teardown: null;
101
+ transitions: null;
102
+ wv: number;
103
+ };
104
+ declare function ln(e: any): {
105
+ ctx: any;
106
+ deps: null;
107
+ nodes_start: null;
108
+ nodes_end: null;
109
+ f: number;
110
+ first: null;
111
+ fn: any;
112
+ last: null;
113
+ next: null;
114
+ parent: any;
115
+ prev: null;
116
+ teardown: null;
117
+ transitions: null;
118
+ wv: number;
119
+ };
120
+ declare function Z(e: any, t?: boolean): void;
121
+ declare function Ne(e: any): any;
122
+ declare function ae(e: any, t?: boolean): {
123
+ ctx: any;
124
+ deps: null;
125
+ nodes_start: null;
126
+ nodes_end: null;
127
+ f: number;
128
+ first: null;
129
+ fn: any;
130
+ last: null;
131
+ next: null;
132
+ parent: any;
133
+ prev: null;
134
+ teardown: null;
135
+ transitions: null;
136
+ wv: number;
137
+ };
138
+ declare var nt: (arg: any) => arg is any[];
139
+ declare function ii(e: any, t: any): boolean;
140
+ declare function fe(e: any): {
141
+ ctx: any;
142
+ deps: null;
143
+ effects: null;
144
+ equals: typeof Yt;
145
+ f: number;
146
+ fn: any;
147
+ reactions: null;
148
+ rv: number;
149
+ v: null;
150
+ wv: number;
151
+ parent: any;
152
+ };
153
+ declare function T(e: any): any;
154
+ declare function si(e: any): any;
155
+ declare function Tr(e: any, t: any, n: any, r?: {}): (i: any) => any;
156
+ declare function _i(e: any): void;
157
+ declare function ci(e: any, t: any): void;
158
+ declare function oi(e: any): any;
159
+ declare function fr(e: any, t: any): void;
160
+ declare var Ut: (o: any) => any;
161
+ declare function It(e: any, t?: any[], n?: typeof fe): {
162
+ ctx: any;
163
+ deps: null;
164
+ nodes_start: null;
165
+ nodes_end: null;
166
+ f: number;
167
+ first: null;
168
+ fn: any;
169
+ last: null;
170
+ next: null;
171
+ parent: any;
172
+ prev: null;
173
+ teardown: null;
174
+ transitions: null;
175
+ wv: number;
176
+ };
177
+ declare function ee(e: any): any;
178
+ declare function ai(e: any): boolean;
179
+ declare var Sn: <T>(o: T) => { [P in keyof T]: TypedPropertyDescriptor<T[P]>; } & {
180
+ [x: string]: PropertyDescriptor;
181
+ };
182
+ declare function Te(): boolean;
183
+ declare function vi(e: any, t: any, n: any, r?: any): void;
184
+ declare function dt(e: any): {
185
+ ctx: any;
186
+ deps: null;
187
+ nodes_start: null;
188
+ nodes_end: null;
189
+ f: number;
190
+ first: null;
191
+ fn: any;
192
+ last: null;
193
+ next: null;
194
+ parent: any;
195
+ prev: null;
196
+ teardown: null;
197
+ transitions: null;
198
+ wv: number;
199
+ };
200
+ declare function Yt(e: any): boolean;
201
+ export { se as $, ei as A, Br as B, Ur as C, Vr as D, pi as E, zt as F, ri as G, En as H, ti as I, wi as J, ni as K, Jr as L, li as M, Qr as N, fi as O, qr as P, Pr as Q, Ke as R, Rt as S, Pe as T, Zt as U, gi as V, hi as W, mi as X, gr as Y, bi as Z, L as _, y as a, ht as a0, Ot as a1, Ar as a2, Ct as a3, he as a4, Lt as a5, Rr as a6, ui as a7, $ as a8, di as a9, ke as b, Sr as c, Ve as d, ln as e, Z as f, Ne as g, ae as h, nt as i, ii as j, fe as k, T as l, si as m, Tr as n, _i as o, ci as p, oi as q, fr as r, Ut as s, It as t, ee as u, ai as v, Sn as w, Te as x, vi as y, dt as z };
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Page-CFcEsGK8.js","assets/Page-BHW08QWz.css"])))=>i.map(i=>d[i]);
2
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))r(u);new MutationObserver(u=>{for(const i of u)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(u){const i={};return u.integrity&&(i.integrity=u.integrity),u.referrerPolicy&&(i.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?i.credentials="include":u.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(u){if(u.ep)return;u.ep=!0;const i=n(u);fetch(u.href,i)}})();const xt=!1;var nt=Array.isArray,An=Array.prototype.indexOf,rt=Array.from,Bt=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,Sn=Object.getOwnPropertyDescriptors,Pn=Object.prototype,On=Array.prototype,Ut=Object.getPrototypeOf,Tt=Object.isExtensible;const G=()=>{};function Cn(e){return typeof(e==null?void 0:e.then)=="function"}function In(e){return e()}function ge(e){for(var t=0;t<e.length;t++)e[t]()}const q=2,jt=4,Me=8,it=16,H=32,oe=64,ut=128,R=256,Ie=512,D=1024,B=2048,X=4096,j=8192,lt=16384,Ht=32768,ft=65536,Dn=1<<17,Nn=1<<19,$t=1<<20,Ze=1<<21,W=Symbol("$state"),Ln=Symbol("legacy props"),Jr=Symbol("");function Yt(e){return e===this.v}function Kt(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function st(e){return!Kt(e,this.v)}function Rn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function kn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Mn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Fn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function qn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Vn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Bn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Un(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let ce=!1,jn=!1;function Hn(){ce=!0}const at=1,ot=2,Gt=4,$n=8,Yn=16,Kn=1,Gn=2,Wt=4,Wn=8,zn=16,Zn=1,Xn=2,P=Symbol(),Qr="http://www.w3.org/1999/xhtml",ei="@attach";function ct(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}let w=null;function De(e){w=e}function ti(e){return vt().get(e)}function ni(e,t){return vt().set(e,t),t}function ri(e){return vt().has(e)}function zt(e,t=!1,n){var r=w={p:w,c:null,d:!1,e:null,m:!1,s:e,x:null,l:null};ce&&!t&&(w.l={s:null,u:null,r1:[],r2:z(!1)}),_t(()=>{r.d=!0})}function Zt(e){const t=w;if(t!==null){const o=t.e;if(o!==null){var n=y,r=x;t.e=null;try{for(var u=0;u<o.length;u++){var i=o[u];U(i.effect),M(i.reaction),ln(i.fn)}}finally{U(n),M(r)}}w=t.p,t.m=!0}return{}}function Te(){return!ce||w!==null&&w.l===null}function vt(e){return w===null&&ct(),w.c??(w.c=new Map(Jn(w)||void 0))}function Jn(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}function ie(e){if(typeof e!="object"||e===null||W in e)return e;const t=Ut(e);if(t!==Pn&&t!==On)return e;var n=new Map,r=nt(e),u=$(0),i=x,o=s=>{var a=x;M(i);var l=s();return M(a),l};return r&&n.set("length",$(e.length)),new Proxy(e,{defineProperty(s,a,l){return(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Vn(),o(()=>{var v=n.get(a);v===void 0?(v=$(l.value),n.set(a,v)):L(v,l.value,!0)}),!0},deleteProperty(s,a){var l=n.get(a);if(l===void 0){if(a in s){const f=o(()=>$(P));n.set(a,f),Ye(u)}}else{if(r&&typeof a=="string"){var v=n.get("length"),c=Number(a);Number.isInteger(c)&&c<v.v&&L(v,c)}L(l,P),Ye(u)}return!0},get(s,a,l){var _;if(a===W)return e;var v=n.get(a),c=a in s;if(v===void 0&&(!c||(_=ue(s,a))!=null&&_.writable)&&(v=o(()=>{var d=ie(c?s[a]:P),h=$(d);return h}),n.set(a,v)),v!==void 0){var f=T(v);return f===P?void 0:f}return Reflect.get(s,a,l)},getOwnPropertyDescriptor(s,a){var l=Reflect.getOwnPropertyDescriptor(s,a);if(l&&"value"in l){var v=n.get(a);v&&(l.value=T(v))}else if(l===void 0){var c=n.get(a),f=c==null?void 0:c.v;if(c!==void 0&&f!==P)return{enumerable:!0,configurable:!0,value:f,writable:!0}}return l},has(s,a){var f;if(a===W)return!0;var l=n.get(a),v=l!==void 0&&l.v!==P||Reflect.has(s,a);if(l!==void 0||y!==null&&(!v||(f=ue(s,a))!=null&&f.writable)){l===void 0&&(l=o(()=>{var _=v?ie(s[a]):P,d=$(_);return d}),n.set(a,l));var c=T(l);if(c===P)return!1}return v},set(s,a,l,v){var A;var c=n.get(a),f=a in s;if(r&&a==="length")for(var _=l;_<c.v;_+=1){var d=n.get(_+"");d!==void 0?L(d,P):_ in s&&(d=o(()=>$(P)),n.set(_+"",d))}if(c===void 0)(!f||(A=ue(s,a))!=null&&A.writable)&&(c=o(()=>{var p=$(void 0);return L(p,ie(l)),p}),n.set(a,c));else{f=c.v!==P;var h=o(()=>ie(l));L(c,h)}var m=Reflect.getOwnPropertyDescriptor(s,a);if(m!=null&&m.set&&m.set.call(v,l),!f){if(r&&typeof a=="string"){var g=n.get("length"),E=Number(a);Number.isInteger(E)&&E>=g.v&&L(g,E+1)}Ye(u)}return!0},ownKeys(s){T(u);var a=Reflect.ownKeys(s).filter(c=>{var f=n.get(c);return f===void 0||f.v!==P});for(var[l,v]of n)v.v!==P&&!(l in s)&&a.push(l);return a},setPrototypeOf(){Bn()}})}function Ye(e,t=1){L(e,e.v+t)}function At(e){try{if(e!==null&&typeof e=="object"&&W in e)return e[W]}catch{}return e}function ii(e,t){return Object.is(At(e),At(t))}function fe(e){var t=q|B,n=x!==null&&(x.f&q)!==0?x:null;return y===null||n!==null&&(n.f&R)!==0?t|=R:y.f|=$t,{ctx:w,deps:null,effects:null,equals:Yt,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:n??y}}function ui(e){const t=fe(e);return dn(t),t}function he(e){const t=fe(e);return t.equals=st,t}function Xt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Z(t[n])}}function Qn(e){for(var t=e.parent;t!==null;){if((t.f&q)===0)return t;t=t.parent}return null}function Jt(e){var t,n=y;U(Qn(e));try{Xt(e),t=gn(e)}finally{U(n)}return t}function Qt(e){var t=Jt(e);if(e.equals(t)||(e.v=t,e.wv=hn()),!_e){var n=(K||(e.f&R)!==0)&&e.deps!==null?X:D;F(e,n)}}const be=new Map;function z(e,t){var n={f:0,v:e,reactions:null,equals:Yt,rv:0,wv:0};return n}function $(e,t){const n=z(e);return dn(n),n}function se(e,t=!1,n=!0){var u;const r=z(e);return t||(r.equals=st),ce&&n&&w!==null&&w.l!==null&&((u=w.l).s??(u.s=[])).push(r),r}function L(e,t,n=!1){x!==null&&!V&&Te()&&(x.f&(q|it))!==0&&!(I!=null&&I.includes(e))&&Un();let r=n?ie(t):t;return le(e,r)}function le(e,t){if(!e.equals(t)){var n=e.v;_e?be.set(e,t):be.set(e,n),e.v=t,(e.f&q)!==0&&((e.f&B)!==0&&Jt(e),F(e,(e.f&R)===0?D:X)),e.wv=hn(),en(e,B),Te()&&y!==null&&(y.f&D)!==0&&(y.f&(H|oe))===0&&(k===null?cr([e]):k.push(e))}return t}function St(e,t=1){var n=T(e),r=t===1?n++:n--;return L(e,n),r}function en(e,t){var n=e.reactions;if(n!==null)for(var r=Te(),u=n.length,i=0;i<u;i++){var o=n[i],s=o.f;(s&B)===0&&(!r&&o===y||(F(o,t),(s&(D|R))!==0&&((s&q)!==0?en(o,X):je(o))))}}let er=!1;var Pt,tn,nn,rn;function tr(){if(Pt===void 0){Pt=window,tn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;nn=ue(t,"firstChild").get,rn=ue(t,"nextSibling").get,Tt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Tt(n)&&(n.__t=void 0)}}function Fe(e=""){return document.createTextNode(e)}function Ne(e){return nn.call(e)}function qe(e){return rn.call(e)}function Ot(e,t){return Ne(e)}function Ke(e,t){{var n=Ne(e);return n instanceof Comment&&n.data===""?qe(n):n}}function Ct(e,t=1,n=!1){let r=e;for(;t--;)r=qe(r);return r}function nr(e){e.textContent=""}function un(e){y===null&&x===null&&Mn(),x!==null&&(x.f&R)!==0&&y===null&&kn(),_e&&Rn()}function rr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function ve(e,t,n,r=!0){var u=y,i={ctx:w,deps:null,nodes_start:null,nodes_end:null,f:e|B,first:null,fn:t,last:null,next:null,parent:u,prev:null,teardown:null,transitions:null,wv:0};if(n)try{Ue(i),i.f|=Ht}catch(a){throw Z(i),a}else t!==null&&je(i);var o=n&&i.deps===null&&i.first===null&&i.nodes_start===null&&i.teardown===null&&(i.f&($t|ut))===0;if(!o&&r&&(u!==null&&rr(i,u),x!==null&&(x.f&q)!==0)){var s=x;(s.effects??(s.effects=[])).push(i)}return i}function _t(e){const t=ve(Me,null,!1);return F(t,D),t.teardown=e,t}function Xe(e){un();var t=y!==null&&(y.f&H)!==0&&w!==null&&!w.m;if(t){var n=w;(n.e??(n.e=[])).push({fn:e,effect:y,reaction:x})}else{var r=ln(e);return r}}function ir(e){return un(),dt(e)}function ur(e){const t=ve(oe,e,!0);return(n={})=>new Promise(r=>{n.outro?J(t,()=>{Z(t),r(void 0)}):(Z(t),r(void 0))})}function ln(e){return ve(jt,e,!1)}function li(e,t){var n=w,r={effect:null,ran:!1};n.l.r1.push(r),r.effect=dt(()=>{e(),!r.ran&&(r.ran=!0,L(n.l.r2,!0),ee(t))})}function fi(){var e=w;dt(()=>{if(T(e.l.r2)){for(var t of e.l.r1){var n=t.effect;(n.f&D)!==0&&F(n,X),Ae(n)&&Ue(n),t.ran=!1}e.l.r2.v=!1}})}function dt(e){return ve(Me,e,!0)}function It(e,t=[],n=fe){const r=t.map(n);return Ve(()=>e(...r.map(T)))}function Ve(e,t=0){return ve(Me|it|t,e,!0)}function ae(e,t=!0){return ve(Me|H,e,!0,t)}function fn(e){var t=e.teardown;if(t!==null){const n=_e,r=x;Dt(!0),M(null);try{t.call(null)}finally{Dt(n),M(r)}}}function sn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){var r=n.next;(n.f&oe)!==0?n.parent=null:Z(n,t),n=r}}function lr(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&H)===0&&Z(t),t=n}}function Z(e,t=!0){var n=!1;(t||(e.f&Nn)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(fr(e.nodes_start,e.nodes_end),n=!0),sn(e,t&&!n),Re(e,0),F(e,lt);var r=e.transitions;if(r!==null)for(const i of r)i.stop();fn(e);var u=e.parent;u!==null&&u.first!==null&&an(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function fr(e,t){for(;e!==null;){var n=e===t?null:qe(e);e.remove(),e=n}}function an(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function J(e,t){var n=[];pt(e,n,!0),on(n,()=>{Z(e),t&&t()})}function on(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var u of e)u.out(r)}else t()}function pt(e,t,n){if((e.f&j)===0){if(e.f^=j,e.transitions!==null)for(const o of e.transitions)(o.is_global||n)&&t.push(o);for(var r=e.first;r!==null;){var u=r.next,i=(r.f&ft)!==0||(r.f&H)!==0;pt(r,t,i?n:!1),r=u}}}function we(e){cn(e,!0)}function cn(e,t){if((e.f&j)!==0){e.f^=j,(e.f&D)!==0&&(F(e,B),je(e));for(var n=e.first;n!==null;){var r=n.next,u=(n.f&ft)!==0||(n.f&H)!==0;cn(n,u?t:!1),n=r}if(e.transitions!==null)for(const i of e.transitions)(i.is_global||t)&&i.in()}}let ye=[],Je=[];function vn(){var e=ye;ye=[],ge(e)}function sr(){var e=Je;Je=[],ge(e)}function Be(e){ye.length===0&&queueMicrotask(vn),ye.push(e)}function ar(){ye.length>0&&vn(),Je.length>0&&sr()}function or(e){var t=y;if((t.f&Ht)===0){if((t.f&ut)===0)throw e;t.fn(e)}else _n(e,t)}function _n(e,t){for(;t!==null;){if((t.f&ut)!==0)try{t.fn(e);return}catch{}t=t.parent}throw e}let Ee=!1,xe=null,Q=!1,_e=!1;function Dt(e){_e=e}let me=[];let x=null,V=!1;function M(e){x=e}let y=null;function U(e){y=e}let I=null;function dn(e){x!==null&&x.f&Ze&&(I===null?I=[e]:I.push(e))}let C=null,N=0,k=null;function cr(e){k=e}let pn=1,Le=0,K=!1;function hn(){return++pn}function Ae(e){var c;var t=e.f;if((t&B)!==0)return!0;if((t&X)!==0){var n=e.deps,r=(t&R)!==0;if(n!==null){var u,i,o=(t&Ie)!==0,s=r&&y!==null&&!K,a=n.length;if(o||s){var l=e,v=l.parent;for(u=0;u<a;u++)i=n[u],(o||!((c=i==null?void 0:i.reactions)!=null&&c.includes(l)))&&(i.reactions??(i.reactions=[])).push(l);o&&(l.f^=Ie),s&&v!==null&&(v.f&R)===0&&(l.f^=R)}for(u=0;u<a;u++)if(i=n[u],Ae(i)&&Qt(i),i.wv>e.wv)return!0}(!r||y!==null&&!K)&&F(e,D)}return!1}function mn(e,t,n=!0){var r=e.reactions;if(r!==null)for(var u=0;u<r.length;u++){var i=r[u];I!=null&&I.includes(e)||((i.f&q)!==0?mn(i,t,!1):t===i&&(n?F(i,B):(i.f&D)!==0&&F(i,X),je(i)))}}function gn(e){var _;var t=C,n=N,r=k,u=x,i=K,o=I,s=w,a=V,l=e.f;C=null,N=0,k=null,K=(l&R)!==0&&(V||!Q||x===null),x=(l&(H|oe))===0?e:null,I=null,De(e.ctx),V=!1,Le++,e.f|=Ze;try{var v=(0,e.fn)(),c=e.deps;if(C!==null){var f;if(Re(e,N),c!==null&&N>0)for(c.length=N+C.length,f=0;f<C.length;f++)c[N+f]=C[f];else e.deps=c=C;if(!K)for(f=N;f<c.length;f++)((_=c[f]).reactions??(_.reactions=[])).push(e)}else c!==null&&N<c.length&&(Re(e,N),c.length=N);if(Te()&&k!==null&&!V&&c!==null&&(e.f&(q|X|B))===0)for(f=0;f<k.length;f++)mn(k[f],e);return u!==null&&u!==e&&(Le++,k!==null&&(r===null?r=k:r.push(...k))),v}catch(d){or(d)}finally{C=t,N=n,k=r,x=u,K=i,I=o,De(s),V=a,e.f^=Ze}}function vr(e,t){let n=t.reactions;if(n!==null){var r=An.call(n,e);if(r!==-1){var u=n.length-1;u===0?n=t.reactions=null:(n[r]=n[u],n.pop())}}n===null&&(t.f&q)!==0&&(C===null||!C.includes(t))&&(F(t,X),(t.f&(R|Ie))===0&&(t.f^=Ie),Xt(t),Re(t,0))}function Re(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)vr(e,n[r])}function Ue(e){var t=e.f;if((t&lt)===0){F(e,D);var n=y,r=Q;y=e,Q=!0;try{(t&it)!==0?lr(e):sn(e),fn(e);var u=gn(e);e.teardown=typeof u=="function"?u:null,e.wv=pn;var i;xt&&jn&&(e.f&B)!==0&&e.deps}finally{Q=r,y=n}}}function _r(){try{Fn()}catch(e){if(xe!==null)_n(e,xe);else throw e}}function bn(){var e=Q;try{var t=0;for(Q=!0;me.length>0;){t++>1e3&&_r();var n=me,r=n.length;me=[];for(var u=0;u<r;u++){var i=pr(n[u]);dr(i)}be.clear()}}finally{Ee=!1,Q=e,xe=null}}function dr(e){var t=e.length;if(t!==0)for(var n=0;n<t;n++){var r=e[n];(r.f&(lt|j))===0&&Ae(r)&&(Ue(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null?an(r):r.fn=null))}}function je(e){Ee||(Ee=!0,queueMicrotask(bn));for(var t=xe=e;t.parent!==null;){t=t.parent;var n=t.f;if((n&(oe|H))!==0){if((n&D)===0)return;t.f^=D}}me.push(t)}function pr(e){for(var t=[],n=e;n!==null;){var r=n.f,u=(r&(H|oe))!==0,i=u&&(r&D)!==0;if(!i&&(r&j)===0){(r&jt)!==0?t.push(n):u?n.f^=D:Ae(n)&&Ue(n);var o=n.first;if(o!==null){n=o;continue}}var s=n.parent;for(n=n.next;n===null&&s!==null;)n=s.next,s=s.parent}return t}function hr(e){for(var t;;){if(ar(),me.length===0)return Ee=!1,xe=null,t;Ee=!0,bn()}}function T(e){var t=e.f,n=(t&q)!==0;if(x!==null&&!V){if(!(I!=null&&I.includes(e))){var r=x.deps;e.rv<Le&&(e.rv=Le,C===null&&r!==null&&r[N]===e?N++:C===null?C=[e]:(!K||!C.includes(e))&&C.push(e))}}else if(n&&e.deps===null&&e.effects===null){var u=e,i=u.parent;i!==null&&(i.f&R)===0&&(u.f^=R)}return n&&(u=e,Ae(u)&&Qt(u)),_e&&be.has(e)?be.get(e):e.v}function ee(e){var t=V;try{return V=!0,e()}finally{V=t}}const mr=-7169;function F(e,t){e.f=e.f&mr|t}function gr(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(W in e)Qe(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&W in n&&Qe(n)}}}function Qe(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{Qe(e[r],t)}catch{}const n=Ut(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Sn(n);for(let u in r){const i=r[u].get;if(i)try{i.call(e)}catch{}}}}}function si(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const br=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function ai(e){return br.includes(e)}const wr={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function oi(e){return e=e.toLowerCase(),wr[e]??e}const yr=["touchstart","touchmove"];function Er(e){return yr.includes(e)}function ci(e,t){if(t){const n=document.body;e.autofocus=!0,Be(()=>{document.activeElement===n&&e.focus()})}}let Nt=!1;function xr(){Nt||(Nt=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function wn(e){var t=x,n=y;M(null),U(null);try{return e()}finally{M(t),U(n)}}function vi(e,t,n,r=n){e.addEventListener(t,()=>wn(n));const u=e.__on_r;u?e.__on_r=()=>{u(),r(!0)}:e.__on_r=()=>r(!0),xr()}const yn=new Set,et=new Set;function Tr(e,t,n,r={}){function u(i){if(r.capture||pe.call(t,i),!i.cancelBubble)return wn(()=>n==null?void 0:n.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Be(()=>{t.addEventListener(e,u,r)}):t.addEventListener(e,u,r),u}function Ar(e,t,n,r,u){var i={capture:r,passive:u},o=Tr(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&_t(()=>{t.removeEventListener(e,o,i)})}function _i(e){for(var t=0;t<e.length;t++)yn.add(e[t]);for(var n of et)n(e)}function pe(e){var E;var t=this,n=t.ownerDocument,r=e.type,u=((E=e.composedPath)==null?void 0:E.call(e))||[],i=u[0]||e.target,o=0,s=e.__root;if(s){var a=u.indexOf(s);if(a!==-1&&(t===document||t===window)){e.__root=t;return}var l=u.indexOf(t);if(l===-1)return;a<=l&&(o=a)}if(i=u[o]||e.target,i!==t){Bt(e,"currentTarget",{configurable:!0,get(){return i||n}});var v=x,c=y;M(null),U(null);try{for(var f,_=[];i!==null;){var d=i.assignedSlot||i.parentNode||i.host||null;try{var h=i["__"+r];if(h!=null&&(!i.disabled||e.target===i))if(nt(h)){var[m,...g]=h;m.apply(i,[e,...g])}else h.call(i,e)}catch(A){f?_.push(A):f=A}if(e.cancelBubble||d===t||d===null)break;i=d}if(f){for(let A of _)queueMicrotask(()=>{throw A});throw f}}finally{e.__root=t,delete e.currentTarget,M(v),U(c)}}}function Sr(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("<!>","<!---->"),t.content}function ke(e,t){var n=y;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function ht(e,t){var n=(t&Zn)!==0,r=(t&Xn)!==0,u,i=!e.startsWith("<!>");return()=>{u===void 0&&(u=Sr(i?e:"<!>"+e),n||(u=Ne(u)));var o=r||tn?document.importNode(u,!0):u.cloneNode(!0);if(n){var s=Ne(o),a=o.lastChild;ke(s,a)}else ke(o,o);return o}}function di(e=""){{var t=Fe(e+"");return ke(t,t),t}}function Pr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Fe();return e.append(t,n),ke(t,n),e}function Pe(e,t){e!==null&&e.before(t)}function Lt(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n+"")}function Or(e,t){return Cr(e,t)}const ne=new Map;function Cr(e,{target:t,anchor:n,props:r={},events:u,context:i,intro:o=!0}){tr();var s=new Set,a=c=>{for(var f=0;f<c.length;f++){var _=c[f];if(!s.has(_)){s.add(_);var d=Er(_);t.addEventListener(_,pe,{passive:d});var h=ne.get(_);h===void 0?(document.addEventListener(_,pe,{passive:d}),ne.set(_,1)):ne.set(_,h+1)}}};a(rt(yn)),et.add(a);var l=void 0,v=ur(()=>{var c=n??t.appendChild(Fe());return ae(()=>{if(i){zt({});var f=w;f.c=i}u&&(r.$$events=u),l=e(c,r)||{},i&&Zt()}),()=>{var d;for(var f of s){t.removeEventListener(f,pe);var _=ne.get(f);--_===0?(document.removeEventListener(f,pe),ne.delete(f)):ne.set(f,_)}et.delete(a),c!==n&&((d=c.parentNode)==null||d.removeChild(c))}});return Ir.set(l,v),l}let Ir=new WeakMap;const Ge=0,Oe=1,We=2;function Dr(e,t,n,r,u){var i=e,o=Te(),s=w,a=P,l,v,c,f=o?z(void 0):se(void 0,!1,!1),_=o?z(void 0):se(void 0,!1,!1),d=!1;function h(g,E){d=!0,E&&(U(m),M(m),De(s));try{g===Oe&&r&&(v?we(v):v=ae(()=>r(i,f))),g!==Ge&&l&&J(l,()=>l=null),g!==Oe&&v&&J(v,()=>v=null),g!==We&&c&&J(c,()=>c=null)}finally{E&&(De(null),M(null),U(null),hr())}}var m=Ve(()=>{if(a!==(a=t())){if(Cn(a)){var g=a;d=!1,g.then(E=>{g===a&&(le(f,E),h(Oe,!0))},E=>{if(g===a)throw le(_,E),h(We,!0),_.v}),Be(()=>{d||h(Ge,!0)})}else le(f,a),h(Oe,!1);return()=>a=P}})}function Rt(e,t,[n,r]=[0,0]){var u=e,i=null,o=null,s=P,a=n>0?ft:0,l=!1;const v=(f,_=!0)=>{l=!0,c(_,f)},c=(f,_)=>{s!==(s=f)&&(s?(i?we(i):_&&(i=ae(()=>_(u))),o&&J(o,()=>{o=null})):(o?we(o):_&&(o=ae(()=>_(u,[n+1,r]))),i&&J(i,()=>{i=null})))};Ve(()=>{l=!1,t(v),l||c(null,null)},a)}function Nr(e,t){return t}function Lr(e,t,n,r){for(var u=[],i=t.length,o=0;o<i;o++)pt(t[o].e,u,!0);var s=i>0&&u.length===0&&n!==null;if(s){var a=n.parentNode;nr(a),a.append(n),r.clear(),Y(e,t[0].prev,t[i-1].next)}on(u,()=>{for(var l=0;l<i;l++){var v=t[l];s||(r.delete(v.k),Y(e,v.prev,v.next)),Z(v.e,!s)}})}function Rr(e,t,n,r,u,i=null){var o=e,s={flags:t,items:new Map,first:null},a=(t&Gt)!==0;if(a){var l=e;o=l.appendChild(Fe())}var v=null,c=!1,f=he(()=>{var _=n();return nt(_)?_:_==null?[]:rt(_)});Ve(()=>{var _=T(f),d=_.length;c&&d===0||(c=d===0,kr(_,s,o,u,t,r,n),i!==null&&(d===0?v?we(v):v=ae(()=>i(o)):v!==null&&J(v,()=>{v=null})),T(f))})}function kr(e,t,n,r,u,i,o){var gt,bt,wt,yt;var s=(u&$n)!==0,a=(u&(at|ot))!==0,l=e.length,v=t.items,c=t.first,f=c,_,d=null,h,m=[],g=[],E,A,p,b;if(s)for(b=0;b<l;b+=1)E=e[b],A=i(E,b),p=v.get(A),p!==void 0&&((gt=p.a)==null||gt.measure(),(h??(h=new Set)).add(p));for(b=0;b<l;b+=1){if(E=e[b],A=i(E,b),p=v.get(A),p===void 0){var Se=f?f.e.nodes_start:n;d=Fr(Se,t,d,d===null?t.first:d.next,E,A,b,r,u,o),v.set(A,d),m=[],g=[],f=d.next;continue}if(a&&Mr(p,E,b,u),(p.e.f&j)!==0&&(we(p.e),s&&((bt=p.a)==null||bt.unfix(),(h??(h=new Set)).delete(p))),p!==f){if(_!==void 0&&_.has(p)){if(m.length<g.length){var S=g[0],O;d=S.prev;var te=m[0],He=m[m.length-1];for(O=0;O<m.length;O+=1)kt(m[O],S,n);for(O=0;O<g.length;O+=1)_.delete(g[O]);Y(t,te.prev,He.next),Y(t,d,te),Y(t,He,S),f=S,d=He,b-=1,m=[],g=[]}else _.delete(p),kt(p,f,n),Y(t,p.prev,p.next),Y(t,p,d===null?t.first:d.next),Y(t,d,p),d=p;continue}for(m=[],g=[];f!==null&&f.k!==A;)(f.e.f&j)===0&&(_??(_=new Set)).add(f),g.push(f),f=f.next;if(f===null)continue;p=f}m.push(p),d=p,f=p.next}if(f!==null||_!==void 0){for(var de=_===void 0?[]:rt(_);f!==null;)(f.e.f&j)===0&&de.push(f),f=f.next;var $e=de.length;if($e>0){var Tn=(u&Gt)!==0&&l===0?n:null;if(s){for(b=0;b<$e;b+=1)(wt=de[b].a)==null||wt.measure();for(b=0;b<$e;b+=1)(yt=de[b].a)==null||yt.fix()}Lr(t,de,Tn,v)}}s&&Be(()=>{var Et;if(h!==void 0)for(p of h)(Et=p.a)==null||Et.apply()}),y.first=t.first&&t.first.e,y.last=d&&d.e}function Mr(e,t,n,r){(r&at)!==0&&le(e.v,t),(r&ot)!==0?le(e.i,n):e.i=n}function Fr(e,t,n,r,u,i,o,s,a,l){var v=(a&at)!==0,c=(a&Yn)===0,f=v?c?se(u,!1,!1):z(u):u,_=(a&ot)===0?o:z(o),d={i:_,v:f,k:i,a:null,e:null,prev:n,next:r};try{return d.e=ae(()=>s(e,f,_,l),er),d.e.prev=n&&n.e,d.e.next=r&&r.e,n===null?t.first=d:(n.next=d,n.e.next=d.e),r!==null&&(r.prev=d,r.e.prev=d.e),d}finally{}}function kt(e,t,n){for(var r=e.next?e.next.e.nodes_start:n,u=t?t.e.nodes_start:n,i=e.e.nodes_start;i!==r;){var o=qe(i);u.before(i),i=o}}function Y(e,t,n){t===null?e.first=n:(t.next=n,t.e.next=n&&n.e),n!==null&&(n.prev=t,n.e.prev=t&&t.e)}function qr(e=!1){const t=w,n=t.l.u;if(!n)return;let r=()=>gr(t.s);if(e){let u=0,i={};const o=fe(()=>{let s=!1;const a=t.s;for(const l in a)a[l]!==i[l]&&(i[l]=a[l],s=!0);return s&&u++,u});r=()=>T(o)}n.b.length&&ir(()=>{Mt(t,r),ge(n.b)}),Xe(()=>{const u=ee(()=>n.m.map(In));return()=>{for(const i of u)typeof i=="function"&&i()}}),n.a.length&&Xe(()=>{Mt(t,r),ge(n.a)})}function Mt(e,t){if(e.l.s)for(const n of e.l.s)T(n);t()}function mt(e,t,n){if(e==null)return t(void 0),n&&n(void 0),G;const r=ee(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const re=[];function Vr(e,t){return{subscribe:Br(e,t).subscribe}}function Br(e,t=G){let n=null;const r=new Set;function u(s){if(Kt(e,s)&&(e=s,n)){const a=!re.length;for(const l of r)l[1](),re.push(l,e);if(a){for(let l=0;l<re.length;l+=2)re[l][0](re[l+1]);re.length=0}}}function i(s){u(s(e))}function o(s,a=G){const l=[s,a];return r.add(l),r.size===1&&(n=t(u,i)||G),s(e),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:u,update:i,subscribe:o}}function pi(e,t,n){const r=!Array.isArray(e),u=r?[e]:e;if(!u.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const i=t.length<2;return Vr(n,(o,s)=>{let a=!1;const l=[];let v=0,c=G;const f=()=>{if(v)return;c();const d=t(r?l[0]:l,o,s);i?o(d):c=typeof d=="function"?d:G},_=u.map((d,h)=>mt(d,m=>{l[h]=m,v&=~(1<<h),a&&f()},()=>{v|=1<<h}));return a=!0,f(),function(){ge(_),c(),a=!1}})}function Ur(e){let t;return mt(e,n=>t=n)(),t}let Ce=!1,tt=Symbol();function hi(e,t,n){const r=n[t]??(n[t]={store:null,source:se(void 0),unsubscribe:G});if(r.store!==e&&!(tt in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=G;else{var u=!0;r.unsubscribe=mt(e,i=>{u?r.source.v=i:L(r.source,i)}),u=!1}return e&&tt in n?Ur(e):T(r.source)}function mi(e,t){return e.set(t),t}function gi(){const e={};function t(){_t(()=>{for(var n in e)e[n].unsubscribe();Bt(e,tt,{enumerable:!1,value:!0})})}return[e,t]}function jr(e){var t=Ce;try{return Ce=!1,[e(),Ce]}finally{Ce=t}}const Hr={get(e,t){if(!e.exclude.includes(t))return T(e.version),t in e.special?e.special[t]():e.props[t]},set(e,t,n){return t in e.special||(e.special[t]=En({get[t](){return e.props[t]}},t,Wt)),e.special[t](n),St(e.version),!0},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},deleteProperty(e,t){return e.exclude.includes(t)||(e.exclude.push(t),St(e.version)),!0},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function bi(e,t){return new Proxy({props:e,exclude:t,special:{},version:z(0)},Hr)}function Ft(e){var t;return((t=e.ctx)==null?void 0:t.d)??!1}function En(e,t,n,r){var Se;var u=(n&Kn)!==0,i=!ce||(n&Gn)!==0,o=(n&Wn)!==0,s=(n&zn)!==0,a=!1,l;o?[l,a]=jr(()=>e[t]):l=e[t];var v=W in e||Ln in e,c=o&&(((Se=ue(e,t))==null?void 0:Se.set)??(v&&t in e&&(S=>e[t]=S)))||void 0,f=r,_=!0,d=!1,h=()=>(d=!0,_&&(_=!1,s?f=ee(r):f=r),f);l===void 0&&r!==void 0&&(c&&i&&qn(),l=h(),c&&c(l));var m;if(i)m=()=>{var S=e[t];return S===void 0?h():(_=!0,d=!1,S)};else{var g=(u?fe:he)(()=>e[t]);g.f|=Dn,m=()=>{var S=T(g);return S!==void 0&&(f=void 0),S===void 0?f:S}}if((n&Wt)===0&&i)return m;if(c){var E=e.$$legacy;return function(S,O){return arguments.length>0?((!i||!O||E||a)&&c(O?m():S),S):m()}}var A=!1,p=se(l),b=fe(()=>{var S=m(),O=T(p);return A?(A=!1,O):p.v=S});return o&&T(b),u||(b.equals=st),function(S,O){if(arguments.length>0){const te=O?T(b):i&&o?ie(S):S;if(!b.equals(te)){if(A=!0,L(p,te),d&&f!==void 0&&(f=te),Ft(b))return S;ee(()=>T(b))}return S}return Ft(b)?b.v:T(b)}}function xn(e){w===null&&ct(),ce&&w.l!==null?$r(w).m.push(e):Xe(()=>{const t=ee(e);if(typeof t=="function")return t})}function wi(e){w===null&&ct(),xn(()=>()=>ee(e))}function $r(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}const Yr="modulepreload",Kr=function(e){return"/api/static/"+e},qt={},ze=function(t,n,r){let u=Promise.resolve();if(n&&n.length>0){let o=function(l){return Promise.all(l.map(v=>Promise.resolve(v).then(c=>({status:"fulfilled",value:c}),c=>({status:"rejected",reason:c}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),a=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));u=o(n.map(l=>{if(l=Kr(l),l in qt)return;qt[l]=!0;const v=l.endsWith(".css"),c=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${c}`))return;const f=document.createElement("link");if(f.rel=v?"stylesheet":Yr,v||(f.as="script"),f.crossOrigin="",f.href=l,a&&f.setAttribute("nonce",a),document.head.appendChild(f),v)return new Promise((_,d)=>{f.addEventListener("load",_),f.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return u.then(o=>{for(const s of o||[])s.status==="rejected"&&i(s.reason);return t().catch(i)})},Gr="5";var Vt;typeof window<"u"&&((Vt=window.__svelte??(window.__svelte={})).v??(Vt.v=new Set)).add(Gr);Hn();var Wr=ht('<button class="svelte-1vqrvep"> </button>'),zr=ht(' <div class="debug svelte-1vqrvep"></div>',1),Zr=ht("<main><!></main> <!>",1);function Xr(e,t){zt(t,!1);let n=En(t,"firstlyData",8);const r={auth:ze(()=>import("./Page-CFcEsGK8.js"),__vite__mapDeps([0,1])),admin:ze(()=>import("./Page-tLVs5slF.js"),[]),storage:ze(()=>import("./Page-BRNWcY5Z.js"),[])};let u=se();function i(_){L(u,r[_])}const o=()=>Object.keys(r);xn(()=>{i(n().module)}),qr();var s=Zr(),a=Ke(s),l=Ot(a);{var v=_=>{var d=Pr(),h=Ke(d);Dr(h,()=>T(u),null,(m,g)=>{var E=he(()=>{var{default:p}=T(g);return{ModuleComponent:p}}),A=he(()=>T(E).ModuleComponent);T(A)(m,{get firstlyData(){return n()}})}),Pe(_,d)};Rt(l,_=>{T(u)&&_(v)})}var c=Ct(a,2);{var f=_=>{var d=zr(),h=Ke(d),m=Ct(h);Rr(m,5,o,Nr,(g,E)=>{var A=Wr(),p=Ot(A);It(()=>Lt(p,`Load ${T(E)??""}`)),Ar("click",A,()=>i(T(E))),Pe(g,A)}),It(g=>Lt(h,`${g??""} `),[()=>console.info(n())],he),Pe(_,d)};Rt(c,_=>{n().debug&&_(f)})}Pe(e,s),Zt()}Or(Xr,{target:document.getElementById("app"),props:{firstlyData}});export{se as $,ei as A,Br as B,Ur as C,Vr as D,pi as E,zt as F,ri as G,En as H,ti as I,wi as J,ni as K,Jr as L,li as M,Qr as N,fi as O,qr as P,Pr as Q,Ke as R,Rt as S,Pe as T,Zt as U,gi as V,hi as W,mi as X,gr as Y,bi as Z,L as _,y as a,ht as a0,Ot as a1,Ar as a2,Ct as a3,he as a4,Lt as a5,Rr as a6,ui as a7,$ as a8,di as a9,ke as b,Sr as c,Ve as d,ln as e,Z as f,Ne as g,ae as h,nt as i,ii as j,fe as k,T as l,si as m,Tr as n,_i as o,ci as p,oi as q,fr as r,Ut as s,It as t,ee as u,ai as v,Sn as w,Te as x,vi as y,dt as z};
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <!--PLACE_HERE_HEAD-->
7
- <script type="module" crossorigin src="/api/static/assets/index-AoBb9Ds5.js"></script>
7
+ <script type="module" crossorigin src="/api/static/assets/index-D38rqu4x.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/api/static/assets/index-DKWpA6v7.css">
9
9
  </head>
10
10
  <body>
package/esm/bin/cmd.js CHANGED
@@ -58,8 +58,8 @@ pkg.dependencies = mergeAndSort(pkg.dependencies, {});
58
58
  pkg.scripts = {
59
59
  ...pkg.scripts,
60
60
  '//// ---- BEST PRACTICES ---- ////': '',
61
- lint: 'kitql-lint',
62
- format: 'kitql-lint -f',
61
+ lint: 'kitql-lint -d',
62
+ format: 'kitql-lint -f -d',
63
63
  };
64
64
  if (res.includes('all') || res.includes('dependencies')) {
65
65
  write('./package.json', [JSON.stringify(pkg, null, 2)]);
@@ -647,7 +647,7 @@ import { BaseEnum, LibIcon_Add, LibIcon_Delete, type BaseEnumOptions } from '../
647
647
  allowApiCrud: Allow.authenticated,
648
648
  })
649
649
  export class Task {
650
- @Fields.cuid()
650
+ @Fields.id()
651
651
  id!: string
652
652
 
653
653
  @Fields.createdAt()
@@ -0,0 +1,35 @@
1
+ import type { CarboneServer } from './server/CarboneServer';
2
+ export declare class CarboneController {
3
+ static server: CarboneServer;
4
+ static uploadTemplate(config: {
5
+ name: string;
6
+ base64: string;
7
+ nameForCarbone?: string;
8
+ deleteOlderTemplatesWithSameName?: boolean;
9
+ }): Promise<void>;
10
+ static downloadTemplate(config: {
11
+ templateName?: string;
12
+ templateId?: string;
13
+ templateExtension?: string;
14
+ filename?: string;
15
+ }): Promise<{
16
+ data: string;
17
+ contentType: string;
18
+ filename: string;
19
+ }>;
20
+ static deleteTemplate(config: {
21
+ templateId: string;
22
+ }): Promise<void>;
23
+ static render(config: {
24
+ templateName?: string;
25
+ templateId?: string;
26
+ templateBase64?: string;
27
+ data: Record<string, any>;
28
+ convertTo?: 'pdf' | string;
29
+ filename?: string;
30
+ }): Promise<{
31
+ data: string;
32
+ contentType: string;
33
+ filename: string;
34
+ }>;
35
+ }
@@ -0,0 +1,155 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BackendMethod, repo } from 'remult';
8
+ import { dateCompact, strTrimMid } from '@kitql/helpers';
9
+ import { CarboneLog, CarboneTemplate, CarbonLogAction } from './carboneEntities';
10
+ import { Roles_Carbon } from './Roles_Carbon';
11
+ export class CarboneController {
12
+ static server;
13
+ static async uploadTemplate(config) {
14
+ const { name, base64, nameForCarbone, deleteOlderTemplatesWithSameName } = config;
15
+ // 30 max 1 13
16
+ const nameToUse = strTrimMid(nameForCarbone ?? name, { len: 16, midStr: '-' }) + '_' + dateCompact();
17
+ const res = await CarboneController.server.fetch({
18
+ api: `/template`,
19
+ body: JSON.stringify({ name, template: base64 }),
20
+ headers: {
21
+ 'carbone-template-name': nameToUse,
22
+ },
23
+ });
24
+ const j = await res.json();
25
+ const templateId = j.data.templateId;
26
+ const newTemplate = await repo(CarboneTemplate).upsert({
27
+ where: { id: templateId, name, extension: j.data.templateExtension },
28
+ });
29
+ await repo(CarboneLog).insert({
30
+ templateId,
31
+ action: CarbonLogAction.template_upload,
32
+ });
33
+ // Delete all other templates with the same name
34
+ if (deleteOlderTemplatesWithSameName) {
35
+ const older = await repo(CarboneTemplate).find({
36
+ where: { name: newTemplate.name, id: { $ne: newTemplate.id } },
37
+ });
38
+ for (const t of older) {
39
+ await CarboneController.deleteTemplate({ templateId: t.id });
40
+ }
41
+ }
42
+ }
43
+ static async downloadTemplate(config) {
44
+ const { templateName, filename } = config;
45
+ let { templateId, templateExtension } = config;
46
+ if (templateName) {
47
+ const t = await repo(CarboneTemplate).findFirst({ name: templateName });
48
+ if (!t) {
49
+ throw new Error('Template not found');
50
+ }
51
+ templateId = t.id;
52
+ templateExtension = t.extension;
53
+ }
54
+ const response = await CarboneController.server.fetch({
55
+ api: `/template/${templateId}`,
56
+ method: 'GET',
57
+ });
58
+ await repo(CarboneLog).insert({
59
+ templateId,
60
+ action: CarbonLogAction.template_download,
61
+ });
62
+ const contentType = response.headers.get('content-type');
63
+ const arrayBuffer = await response.arrayBuffer();
64
+ const base64 = Buffer.from(arrayBuffer).toString('base64');
65
+ const filenameToUse = filename ?? templateName ?? `template_${templateId}`;
66
+ return {
67
+ data: base64,
68
+ contentType: contentType || 'application/octet-stream',
69
+ filename: `${filenameToUse}.${templateExtension}`,
70
+ };
71
+ }
72
+ static async deleteTemplate(config) {
73
+ const { templateId } = config;
74
+ const response = await CarboneController.server.fetch({
75
+ api: `/template/${templateId}`,
76
+ method: 'DELETE',
77
+ });
78
+ await repo(CarboneLog).insert({
79
+ templateId,
80
+ action: CarbonLogAction.template_delete,
81
+ });
82
+ await repo(CarboneTemplate).delete({ id: templateId });
83
+ }
84
+ static async render(config) {
85
+ const { templateName, templateBase64, data, filename } = config;
86
+ let { templateId, convertTo } = config;
87
+ let mode = '';
88
+ if (templateBase64) {
89
+ mode = 'templateBase64';
90
+ }
91
+ else if (templateName) {
92
+ mode = 'templateName';
93
+ const t = await repo(CarboneTemplate).findFirst({ name: templateName });
94
+ if (!t) {
95
+ throw new Error('Template not found');
96
+ }
97
+ templateId = t.id;
98
+ if (!convertTo) {
99
+ convertTo = t.extension;
100
+ }
101
+ }
102
+ else {
103
+ mode = 'templateId';
104
+ }
105
+ if (CarboneController.server.test) {
106
+ convertTo = 'pdf';
107
+ }
108
+ const response = templateBase64
109
+ ? await CarboneController.server.fetch({
110
+ api: `/render/template?download=true`,
111
+ body: JSON.stringify({ data, template: templateBase64, convertTo: convertTo ?? 'pdf' }),
112
+ })
113
+ : await CarboneController.server.fetch({
114
+ api: `/render/${templateId}?download=true`,
115
+ body: JSON.stringify({ data, convertTo: convertTo ?? 'pdf' }),
116
+ });
117
+ await repo(CarboneLog).insert({
118
+ templateId: mode === 'templateBase64' ? 'templateBase64' : templateId,
119
+ action: CarbonLogAction.render,
120
+ });
121
+ const contentType = response.headers.get('content-type');
122
+ const arrayBuffer = await response.arrayBuffer();
123
+ const base64 = Buffer.from(arrayBuffer).toString('base64');
124
+ const filenameToUse = filename ?? `template_${templateId}`;
125
+ return {
126
+ data: base64,
127
+ contentType: contentType || 'application/octet-stream',
128
+ filename: `${filenameToUse}.${convertTo}`,
129
+ };
130
+ }
131
+ }
132
+ __decorate([
133
+ BackendMethod({
134
+ allowed: [Roles_Carbon.Carbon_Admin, Roles_Carbon.Carbon_UploadTemplate],
135
+ apiPrefix: 'carbone',
136
+ })
137
+ ], CarboneController, "uploadTemplate", null);
138
+ __decorate([
139
+ BackendMethod({
140
+ allowed: [Roles_Carbon.Carbon_Admin, Roles_Carbon.Carbon_DownloadTemplate],
141
+ apiPrefix: 'carbone',
142
+ })
143
+ ], CarboneController, "downloadTemplate", null);
144
+ __decorate([
145
+ BackendMethod({
146
+ allowed: [Roles_Carbon.Carbon_Admin, Roles_Carbon.Carbon_DeleteTemplate],
147
+ apiPrefix: 'carbone',
148
+ })
149
+ ], CarboneController, "deleteTemplate", null);
150
+ __decorate([
151
+ BackendMethod({
152
+ allowed: [Roles_Carbon.Carbon_Admin, Roles_Carbon.Carbon_Render],
153
+ apiPrefix: 'carbone',
154
+ })
155
+ ], CarboneController, "render", null);
@@ -0,0 +1,8 @@
1
+ export declare const Roles_Carbon: {
2
+ readonly Carbon_Admin: "Carbon.Admin";
3
+ readonly Carbon_ViewTemplate: "Carbon.ViewTemplate";
4
+ readonly Carbon_UploadTemplate: "Carbon.UploadTemplate";
5
+ readonly Carbon_DownloadTemplate: "Carbon.DownloadTemplate";
6
+ readonly Carbon_DeleteTemplate: "Carbon.DeleteTemplate";
7
+ readonly Carbon_Render: "Carbon.Render";
8
+ };
@@ -0,0 +1,8 @@
1
+ export const Roles_Carbon = {
2
+ Carbon_Admin: 'Carbon.Admin',
3
+ Carbon_ViewTemplate: 'Carbon.ViewTemplate',
4
+ Carbon_UploadTemplate: 'Carbon.UploadTemplate',
5
+ Carbon_DownloadTemplate: 'Carbon.DownloadTemplate',
6
+ Carbon_DeleteTemplate: 'Carbon.DeleteTemplate',
7
+ Carbon_Render: 'Carbon.Render',
8
+ };
@@ -0,0 +1,21 @@
1
+ export declare class CarbonLogAction {
2
+ id: string;
3
+ static template_upload: CarbonLogAction;
4
+ static template_download: CarbonLogAction;
5
+ static template_delete: CarbonLogAction;
6
+ static render: CarbonLogAction;
7
+ constructor(id: string);
8
+ }
9
+ export declare class CarboneTemplate {
10
+ id: string;
11
+ updatedAt: Date;
12
+ name: string;
13
+ extension: string;
14
+ }
15
+ export declare class CarboneLog {
16
+ id: string;
17
+ updatedAt: Date;
18
+ userId: string;
19
+ action: CarbonLogAction;
20
+ templateId: string;
21
+ }
@@ -0,0 +1,83 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var CarbonLogAction_1;
8
+ import { Entity, Field, Fields, remult, ValueListFieldType } from 'remult';
9
+ import { Roles_Carbon } from './Roles_Carbon';
10
+ let CarbonLogAction = class CarbonLogAction {
11
+ static { CarbonLogAction_1 = this; }
12
+ id;
13
+ static template_upload = new CarbonLogAction_1('TEMPLATE_UPLOAD');
14
+ static template_download = new CarbonLogAction_1('TEMPLATE_DOWNLOAD');
15
+ static template_delete = new CarbonLogAction_1('TEMPLATE_DELETE');
16
+ static render = new CarbonLogAction_1('RENDER');
17
+ constructor(id) {
18
+ this.id = id;
19
+ }
20
+ };
21
+ CarbonLogAction = CarbonLogAction_1 = __decorate([
22
+ ValueListFieldType()
23
+ ], CarbonLogAction);
24
+ export { CarbonLogAction };
25
+ let CarboneTemplate = class CarboneTemplate {
26
+ id;
27
+ updatedAt = new Date();
28
+ name;
29
+ extension = '';
30
+ };
31
+ __decorate([
32
+ Fields.string({ required: true })
33
+ ], CarboneTemplate.prototype, "id", void 0);
34
+ __decorate([
35
+ Fields.updatedAt()
36
+ ], CarboneTemplate.prototype, "updatedAt", void 0);
37
+ __decorate([
38
+ Fields.string({ required: true })
39
+ ], CarboneTemplate.prototype, "name", void 0);
40
+ __decorate([
41
+ Fields.string({ required: true })
42
+ ], CarboneTemplate.prototype, "extension", void 0);
43
+ CarboneTemplate = __decorate([
44
+ Entity('carboneTemplates', {
45
+ allowApiCrud: Roles_Carbon.Carbon_Admin,
46
+ allowApiRead: Roles_Carbon.Carbon_ViewTemplate,
47
+ defaultOrderBy: { updatedAt: 'desc' },
48
+ })
49
+ ], CarboneTemplate);
50
+ export { CarboneTemplate };
51
+ let CarboneLog = class CarboneLog {
52
+ id;
53
+ updatedAt = new Date();
54
+ userId = '';
55
+ action = CarbonLogAction.template_upload;
56
+ templateId = '';
57
+ };
58
+ __decorate([
59
+ Fields.id()
60
+ ], CarboneLog.prototype, "id", void 0);
61
+ __decorate([
62
+ Fields.updatedAt()
63
+ ], CarboneLog.prototype, "updatedAt", void 0);
64
+ __decorate([
65
+ Fields.string({
66
+ saving: (item) => {
67
+ item.userId = remult.user?.id ?? '';
68
+ },
69
+ })
70
+ ], CarboneLog.prototype, "userId", void 0);
71
+ __decorate([
72
+ Field(() => CarbonLogAction)
73
+ ], CarboneLog.prototype, "action", void 0);
74
+ __decorate([
75
+ Fields.string({ required: true })
76
+ ], CarboneLog.prototype, "templateId", void 0);
77
+ CarboneLog = __decorate([
78
+ Entity('carboneLogs', {
79
+ allowApiCrud: Roles_Carbon.Carbon_Admin,
80
+ defaultOrderBy: { updatedAt: 'desc' },
81
+ })
82
+ ], CarboneLog);
83
+ export { CarboneLog };
@@ -0,0 +1,29 @@
1
+ import { Log } from '@kitql/helpers';
2
+ import { CarboneLog, CarboneTemplate } from './carboneEntities';
3
+ export { Roles_Carbon as Roles_Mail } from './Roles_Carbon';
4
+ export declare const key = "carbone";
5
+ export declare const log: Log;
6
+ export declare const carbonEntities: {
7
+ CarboneTemplate: typeof CarboneTemplate;
8
+ CarboneLog: typeof CarboneLog;
9
+ };
10
+ /**
11
+ * Converts a File object to base64 string (without data URL prefix)
12
+ * @param file - The File object to convert
13
+ * @returns Promise<string> - Base64 string without data URL prefix
14
+ */
15
+ export declare const fileToBase64: (file: File) => Promise<string>;
16
+ /**
17
+ * Downloads a file from base64 data
18
+ * @param base64Data - The base64 encoded file data
19
+ * @param filename - The filename for the download
20
+ * @param contentType - The MIME type of the file
21
+ */
22
+ export declare const downloadFile: (base64Data: string, filename: string, contentType: string) => void;
23
+ /**
24
+ * File processing utilities for Carbone templates
25
+ */
26
+ export declare const carboneFileUtils: {
27
+ fileToBase64: (file: File) => Promise<string>;
28
+ downloadFile: (base64Data: string, filename: string, contentType: string) => void;
29
+ };