proje-react-panel 1.0.14 → 1.0.16

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 (168) hide show
  1. package/.cursor/rules.md +122 -0
  2. package/.cursor/settings.json +57 -0
  3. package/.eslintrc.js +5 -0
  4. package/.eslintrc.json +26 -0
  5. package/.prettierrc +10 -0
  6. package/.vscode/launch.json +27 -0
  7. package/.vscode/settings.json +8 -0
  8. package/PTD.md +234 -0
  9. package/README.md +62 -28
  10. package/dist/api/CrudApi.d.ts +12 -0
  11. package/dist/components/Panel.d.ts +2 -2
  12. package/dist/components/components/Checkbox.d.ts +6 -0
  13. package/dist/components/components/Counter.d.ts +9 -0
  14. package/dist/components/components/FormField.d.ts +13 -0
  15. package/dist/components/components/ImageUploader.d.ts +15 -0
  16. package/dist/components/components/InnerForm.d.ts +12 -0
  17. package/dist/components/components/LoadingScreen.d.ts +2 -0
  18. package/dist/components/components/index.d.ts +8 -0
  19. package/dist/components/components/list/Datagrid.d.ts +13 -0
  20. package/dist/components/components/list/EmptyList.d.ts +2 -0
  21. package/dist/components/components/list/FilterPopup.d.ts +11 -0
  22. package/dist/components/components/list/ListPage.d.ts +22 -0
  23. package/dist/components/components/list/Pagination.d.ts +11 -0
  24. package/dist/components/components/list/index.d.ts +0 -0
  25. package/dist/components/layout/Layout.d.ts +2 -1
  26. package/dist/components/layout/SideBar.d.ts +4 -3
  27. package/dist/components/layout/index.d.ts +2 -0
  28. package/dist/components/list/Datagrid.d.ts +12 -0
  29. package/dist/components/list/EmptyList.d.ts +2 -0
  30. package/dist/components/list/FilterPopup.d.ts +10 -0
  31. package/dist/components/list/Pagination.d.ts +11 -0
  32. package/dist/components/list/index.d.ts +0 -0
  33. package/dist/{src/screens → components/pages}/ControllerDetails.d.ts +1 -1
  34. package/dist/components/pages/FormPage.d.ts +12 -0
  35. package/dist/components/pages/ListPage.d.ts +18 -0
  36. package/dist/components/pages/Login.d.ts +13 -0
  37. package/dist/decorators/form/Form.d.ts +6 -0
  38. package/dist/decorators/form/FormOptions.d.ts +7 -0
  39. package/dist/decorators/form/Input.d.ts +17 -0
  40. package/dist/decorators/form/getFormFields.d.ts +3 -0
  41. package/dist/decorators/list/Cell.d.ts +21 -0
  42. package/dist/decorators/list/GetCellFields.d.ts +2 -0
  43. package/dist/decorators/list/ImageCell.d.ts +6 -0
  44. package/dist/decorators/list/List.d.ts +28 -0
  45. package/dist/decorators/list/ListData.d.ts +6 -0
  46. package/dist/decorators/list/getListFields.d.ts +2 -0
  47. package/dist/index.cjs.js +1 -1
  48. package/dist/index.d.ts +20 -10
  49. package/dist/index.esm.js +1 -1
  50. package/dist/initPanel.d.ts +2 -2
  51. package/dist/store/store.d.ts +1 -5
  52. package/dist/types/AnyClass.d.ts +1 -0
  53. package/dist/types/ScreenCreatorData.d.ts +5 -3
  54. package/dist/types/initPanelOptions.d.ts +0 -6
  55. package/dist/utils/format.d.ts +1 -0
  56. package/dist/utils/getFields.d.ts +2 -1
  57. package/package.json +13 -6
  58. package/src/api/CrudApi.ts +30 -11
  59. package/src/assets/icons/svg/create.svg +9 -0
  60. package/src/assets/icons/svg/filter.svg +3 -0
  61. package/src/assets/icons/svg/pencil.svg +8 -0
  62. package/src/assets/icons/svg/search.svg +8 -0
  63. package/src/assets/icons/svg/trash.svg +8 -0
  64. package/src/components/Panel.tsx +11 -11
  65. package/src/components/components/Checkbox.tsx +9 -0
  66. package/src/components/components/Counter.tsx +51 -0
  67. package/src/components/components/FormField.tsx +94 -0
  68. package/src/components/components/ImageUploader.tsx +301 -0
  69. package/src/components/components/InnerForm.tsx +74 -0
  70. package/src/components/components/LoadingScreen.tsx +12 -0
  71. package/src/components/components/index.ts +8 -0
  72. package/src/components/components/list/Datagrid.tsx +121 -0
  73. package/src/components/components/list/EmptyList.tsx +26 -0
  74. package/src/components/components/list/FilterPopup.tsx +202 -0
  75. package/src/components/components/list/ListPage.tsx +178 -0
  76. package/src/components/components/list/Pagination.tsx +110 -0
  77. package/src/components/components/list/index.ts +1 -0
  78. package/src/components/layout/Layout.tsx +8 -1
  79. package/src/components/layout/SideBar.tsx +103 -31
  80. package/src/components/layout/index.ts +2 -0
  81. package/src/components/pages/ControllerDetails.tsx +37 -0
  82. package/src/components/pages/FormPage.tsx +34 -0
  83. package/src/components/pages/Login.tsx +79 -0
  84. package/src/decorators/form/Form.ts +18 -0
  85. package/src/decorators/form/FormOptions.ts +8 -0
  86. package/src/decorators/form/Input.ts +53 -0
  87. package/src/decorators/form/getFormFields.ts +13 -0
  88. package/src/decorators/list/Cell.ts +32 -0
  89. package/src/decorators/list/GetCellFields.ts +13 -0
  90. package/src/decorators/list/ImageCell.ts +13 -0
  91. package/src/decorators/list/List.ts +31 -0
  92. package/src/decorators/list/ListData.ts +7 -0
  93. package/src/decorators/list/getListFields.ts +10 -0
  94. package/src/index.ts +28 -10
  95. package/src/initPanel.ts +4 -12
  96. package/src/store/store.ts +23 -28
  97. package/src/styles/counter.scss +42 -0
  98. package/src/styles/filter-popup.scss +134 -0
  99. package/src/styles/image-uploader.scss +94 -0
  100. package/src/styles/index.scss +26 -7
  101. package/src/styles/layout.scss +1 -6
  102. package/src/styles/list.scss +175 -7
  103. package/src/styles/loading-screen.scss +42 -0
  104. package/src/styles/pagination.scss +66 -0
  105. package/src/styles/sidebar.scss +64 -0
  106. package/src/styles/utils/scrollbar.scss +19 -0
  107. package/src/types/AnyClass.ts +1 -0
  108. package/src/types/ScreenCreatorData.ts +5 -3
  109. package/src/types/initPanelOptions.ts +1 -7
  110. package/src/types/svg.d.ts +5 -0
  111. package/src/utils/format.ts +7 -0
  112. package/src/utils/getFields.ts +11 -9
  113. package/dist/api/crudApi.d.ts +0 -17
  114. package/dist/components/Form.d.ts +0 -6
  115. package/dist/components/FormField.d.ts +0 -13
  116. package/dist/components/list/List.d.ts +0 -10
  117. package/dist/components/screens/ControllerCreate.d.ts +0 -5
  118. package/dist/components/screens/ControllerDetails.d.ts +0 -5
  119. package/dist/components/screens/ControllerEdit.d.ts +0 -5
  120. package/dist/components/screens/ControllerList.d.ts +0 -5
  121. package/dist/components/screens/Login.d.ts +0 -2
  122. package/dist/decorators/Cell.d.ts +0 -9
  123. package/dist/decorators/Input.d.ts +0 -13
  124. package/dist/hooks/useScreens.d.ts +0 -2
  125. package/dist/initPanelOptions.d.ts +0 -8
  126. package/dist/screens/ControllerCreate.d.ts +0 -5
  127. package/dist/screens/ControllerDetails.d.ts +0 -5
  128. package/dist/screens/ControllerEdit.d.ts +0 -5
  129. package/dist/screens/ControllerList.d.ts +0 -5
  130. package/dist/screens/Form.d.ts +0 -6
  131. package/dist/src/api/crudApi.d.ts +0 -6
  132. package/dist/src/components/Panel.d.ts +0 -9
  133. package/dist/src/components/layout/Layout.d.ts +0 -11
  134. package/dist/src/components/layout/SideBar.d.ts +0 -10
  135. package/dist/src/components/list/List.d.ts +0 -10
  136. package/dist/src/decorators/Cell.d.ts +0 -10
  137. package/dist/src/decorators/Crud.d.ts +0 -6
  138. package/dist/src/index.d.ts +0 -8
  139. package/dist/src/screens/ControllerCreate.d.ts +0 -5
  140. package/dist/src/screens/ControllerEdit.d.ts +0 -5
  141. package/dist/src/screens/ControllerList.d.ts +0 -5
  142. package/dist/src/screens/Form.d.ts +0 -6
  143. package/dist/src/store/store.d.ts +0 -19
  144. package/dist/src/types/Screen.d.ts +0 -4
  145. package/dist/src/types/ScreenCreatorData.d.ts +0 -8
  146. package/dist/src/utils/createScreens.d.ts +0 -1
  147. package/dist/src/utils/getFields.d.ts +0 -2
  148. package/dist/src/utils/getScreens.d.ts +0 -2
  149. package/dist/utils/crudScreens.d.ts +0 -2
  150. package/dist/utils/getScreens.d.ts +0 -2
  151. package/src/api/AuthApi.ts +0 -14
  152. package/src/components/Form.tsx +0 -70
  153. package/src/components/FormField.tsx +0 -60
  154. package/src/components/list/List.tsx +0 -81
  155. package/src/components/screens/ControllerCreate.tsx +0 -7
  156. package/src/components/screens/ControllerDetails.tsx +0 -40
  157. package/src/components/screens/ControllerEdit.tsx +0 -35
  158. package/src/components/screens/ControllerList.tsx +0 -45
  159. package/src/components/screens/Login.tsx +0 -68
  160. package/src/decorators/Cell.ts +0 -34
  161. package/src/decorators/Input.ts +0 -50
  162. package/src/hooks/useScreens.tsx +0 -36
  163. /package/dist/components/{ErrorBoundary.d.ts → components/ErrorBoundary.d.ts} +0 -0
  164. /package/dist/components/{ErrorComponent.d.ts → components/ErrorComponent.d.ts} +0 -0
  165. /package/dist/components/{Label.d.ts → components/Label.d.ts} +0 -0
  166. /package/src/components/{ErrorBoundary.tsx → components/ErrorBoundary.tsx} +0 -0
  167. /package/src/components/{ErrorComponent.tsx → components/ErrorComponent.tsx} +0 -0
  168. /package/src/components/{Label.tsx → components/Label.tsx} +0 -0
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("react"),e=require("react-hook-form"),r=require("zustand/middleware"),n=require("zustand/traditional"),o=require("zustand/vanilla/shallow"),a=require("react-router");function i({htmlFor:e,label:r,fieldName:n}){return t.createElement("label",{htmlFor:e},r??n.charAt(0).toUpperCase()+n.slice(1))}function s({input:e,register:r,isEditForm:n,error:o}){const a=e.name||"";return t.createElement("div",{className:"form-field"},t.createElement(i,{htmlFor:a,label:e.label,fieldName:a}),(()=>{switch(e.type){case"textarea":return t.createElement("textarea",{...r(a),placeholder:e.placeholder,id:a,disabled:n&&!1===e.editable});case"select":return t.createElement("select",{...r(a),id:a,disabled:n&&!1===e.editable},t.createElement("option",{value:""},"Select ",a),e.selectOptions?.map((e=>t.createElement("option",{key:e,value:e},e))));default:return t.createElement("input",{type:e.inputType,...r(a),placeholder:e.placeholder,id:a,disabled:n&&!1===e.editable})}})(),o&&t.createElement("span",{className:"error-message"},o.message))}const c=(t,e,r)=>fetch(`${t.baseUrl}/auth/login`,{method:"POST",body:JSON.stringify({username:e,password:r}),headers:{"Content-Type":"application/json"}}).then((t=>{if(t.ok)return t.json();throw t})),u=n.createWithEqualityFn()(r.persist((t=>({screens:null,user:null,fetchSettings:null,screenPaths:{},token:null})),{name:"app-store-1",storage:r.createJSONStorage((()=>localStorage)),partialize:t=>({user:t.user,token:t.token})}),o.shallow);function l(t){u.setState({screens:t})}const p=(t,e)=>fetch(`${t.baseUrl}/${e}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`}}).then((t=>{if(t.ok)return t.json();throw t})),f=(t,e,r)=>fetch(`${t?.baseUrl??""}/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}).then((t=>t.json())),d=(t,e,r)=>fetch(`${t?.baseUrl??""}/${e}/${r}`,{method:"GET",headers:{"Content-Type":"application/json"}}).then((t=>t.json())),h=(t,e,r)=>fetch(`${t?.baseUrl??""}/${e}/${r.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}).then((t=>t.json()));function y({data:r,screen:n}){const{screens:o,fetchSettings:i}=u((t=>({screens:t.screens??{},fetchSettings:t.fetchSettings}))),c=!!r,{register:l,handleSubmit:p,reset:d,formState:{errors:y}}=e.useForm({resolver:o[n.controller].resolver,defaultValues:{...r,__formEdit:c}}),v=a.useNavigate(),m=o[n.controller].inputs;return t.useEffect((()=>{d({...r,__formEdit:c})}),[c,r,d]),t.createElement("div",{className:"form-wrapper"},t.createElement("form",{onSubmit:p((t=>{i&&(delete t.__formEdit,c?h(i,n.controller,t).then((()=>{v("/"+n.controller,{replace:!0})})):f(i,n.controller,t).then((()=>{v("/"+n.controller,{replace:!0})})))}))},m.map((e=>t.createElement(s,{key:e.name||"",input:e,register:l,isEditForm:c,error:y[e.name||""]}))),t.createElement("button",{type:"submit",className:"submit-button"},"Submit")))}function v({screen:e}){return t.createElement(y,{screen:e})}function m({error:e}){return t.createElement("div",{className:"error-container"},t.createElement("div",{className:"error-icon"},t.createElement("i",{className:"fa fa-exclamation-circle"})),t.createElement("div",{className:"error-content"},t.createElement("h3",null,"Error Occurred"),t.createElement("p",null,(t=>{if(t instanceof Response)switch(t.status){case 400:return"Bad Request: The request was invalid or malformed.";case 401:return"Unauthorized: Please log in to access this resource.";case 404:return"Not Found: The requested resource could not be found.";case 403:return"Forbidden: You don't have permission to access this resource.";case 500:return"Internal Server Error: Something went wrong on our end.";default:return`Error ${t.status}: ${t.statusText||"Something went wrong."}`}return t?.message||"Something went wrong. Please try again later."})(e))))}function g({screen:e}){const{fetchSettings:r}=u((t=>({fetchSettings:t.fetchSettings}))),{id:n}=a.useParams(),[o,i]=t.useState(null),[s,c]=t.useState(null);return t.useEffect((()=>{r&&e.controller&&n&&d(r,e.controller,n).then((t=>{i(t)})).catch((t=>{c(t),console.error(t)}))}),[r,n,e]),s?t.createElement(m,{error:s}):t.createElement("p",{dangerouslySetInnerHTML:{__html:JSON.stringify(o,null," <br/>")}})}function S({screen:e}){const{fetchSettings:r}=u((t=>({fetchSettings:t.fetchSettings}))),{id:n}=a.useParams(),[o,i]=t.useState(null),[s,c]=t.useState(null);return t.useEffect((()=>{r&&e.controller&&n&&d(r,e.controller,n).then((t=>{i(t)})).catch((t=>{c(t),console.error(t)}))}),[r,n,e]),s?t.createElement(m,{error:s}):t.createElement(y,{data:o,screen:e})}function _({data:e,cells:r}){return e&&0!==e.length?t.createElement("div",{className:"list-wrapper"},t.createElement("div",{className:"header"},"List"),t.createElement("table",{className:"list-table"},t.createElement("thead",null,t.createElement("tr",null,r.map((e=>t.createElement("th",{key:e.name},e.title??e.name))),t.createElement("th",null))),t.createElement("tbody",null,e.map(((e,n)=>t.createElement("tr",{key:n},r.map((r=>{const n=e[r.name];let o=n??"-";if("date"===r.type){if(n){const t=new Date(n);o=`${t.getDate().toString().padStart(2,"0")}/${(t.getMonth()+1).toString().padStart(2,"0")}/${t.getFullYear()} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}}else o=n?n.toString():r?.placeHolder??"-";let a=o;return t.createElement("td",{key:r.name},a)})),t.createElement("td",null,t.createElement(a.Link,{to:"edit/"+(e?.id??"-")},"Edit"),t.createElement(a.Link,{to:"details/"+(e?.id??"-")},"Details")))))))):t.createElement("div",null,"No items available")}function E({screen:e}){const{screens:r,fetchSettings:n,token:o}=u((t=>({screens:t.screens??{},fetchSettings:t.fetchSettings,token:t.token}))),[i,s]=t.useState(0),[c,l]=t.useState(null),[f,d]=t.useState(null);return t.useEffect((()=>{e.controller&&n&&o&&p({...n,token:o},e.controller).then((t=>{l(t)})).catch((t=>{d(t),console.error(t)}))}),[i,e.controller,n]),f?t.createElement(m,{error:f}):t.createElement("div",null,t.createElement(a.Link,{to:"create"},"Create"),t.createElement(_,{screen:e,cells:r[e.key].cells,data:c}))}var O,w="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},b={};!function(){return O||(O=1,function(t){!function(){var e="object"==typeof globalThis?globalThis:"object"==typeof w?w:"object"==typeof self?self:"object"==typeof this?this:function(){try{return Function("return this;")()}catch(t){}}()||function(){try{return(0,eval)("(function() { return this; })()")}catch(t){}}(),r=n(t);function n(t,e){return function(r,n){Object.defineProperty(t,r,{configurable:!0,writable:!0,value:n}),e&&e(r,n)}}void 0!==e.Reflect&&(r=n(e.Reflect,r)),function(t,e){var r=Object.prototype.hasOwnProperty,n="function"==typeof Symbol,o=n&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",a=n&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",i="function"==typeof Object.create,s={__proto__:[]}instanceof Array,c=!i&&!s,u={create:i?function(){return pt(Object.create(null))}:s?function(){return pt({__proto__:null})}:function(){return pt({})},has:c?function(t,e){return r.call(t,e)}:function(t,e){return e in t},get:c?function(t,e){return r.call(t,e)?t[e]:void 0}:function(t,e){return t[e]}},l=Object.getPrototypeOf(Function),p="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:ct(),f="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:ut(),d="function"==typeof WeakMap?WeakMap:lt(),h=n?Symbol.for("@reflect-metadata:registry"):void 0,y=ot(),v=at(y);function m(t,e,r,n){if(D(r)){if(!G(t))throw new TypeError;if(!H(e))throw new TypeError;return A(t,e)}if(!G(t))throw new TypeError;if(!$(e))throw new TypeError;if(!$(n)&&!D(n)&&!F(n))throw new TypeError;return F(n)&&(n=void 0),x(t,e,r=q(r),n)}function g(t,e){function r(r,n){if(!$(r))throw new TypeError;if(!D(n)&&!J(n))throw new TypeError;L(t,e,r,n)}return r}function S(t,e,r,n){if(!$(r))throw new TypeError;return D(n)||(n=q(n)),L(t,e,r,n)}function _(t,e,r){if(!$(e))throw new TypeError;return D(r)||(r=q(r)),N(t,e,r)}function E(t,e,r){if(!$(e))throw new TypeError;return D(r)||(r=q(r)),C(t,e,r)}function O(t,e,r){if(!$(e))throw new TypeError;return D(r)||(r=q(r)),k(t,e,r)}function w(t,e,r){if(!$(e))throw new TypeError;return D(r)||(r=q(r)),P(t,e,r)}function b(t,e){if(!$(t))throw new TypeError;return D(e)||(e=q(e)),I(t,e)}function T(t,e){if(!$(t))throw new TypeError;return D(e)||(e=q(e)),j(t,e)}function M(t,e,r){if(!$(e))throw new TypeError;if(D(r)||(r=q(r)),!$(e))throw new TypeError;D(r)||(r=q(r));var n=st(e,r,!1);return!D(n)&&n.OrdinaryDeleteMetadata(t,e,r)}function A(t,e){for(var r=t.length-1;r>=0;--r){var n=(0,t[r])(e);if(!D(n)&&!F(n)){if(!H(n))throw new TypeError;e=n}}return e}function x(t,e,r,n){for(var o=t.length-1;o>=0;--o){var a=(0,t[o])(e,r,n);if(!D(a)&&!F(a)){if(!$(a))throw new TypeError;n=a}}return n}function N(t,e,r){if(C(t,e,r))return!0;var n=rt(e);return!F(n)&&N(t,n,r)}function C(t,e,r){var n=st(e,r,!1);return!D(n)&&B(n.OrdinaryHasOwnMetadata(t,e,r))}function k(t,e,r){if(C(t,e,r))return P(t,e,r);var n=rt(e);return F(n)?void 0:k(t,n,r)}function P(t,e,r){var n=st(e,r,!1);if(!D(n))return n.OrdinaryGetOwnMetadata(t,e,r)}function L(t,e,r,n){st(r,n,!0).OrdinaryDefineOwnMetadata(t,e,r,n)}function I(t,e){var r=j(t,e),n=rt(t);if(null===n)return r;var o=I(n,e);if(o.length<=0)return r;if(r.length<=0)return o;for(var a=new f,i=[],s=0,c=r;s<c.length;s++){var u=c[s];a.has(u)||(a.add(u),i.push(u))}for(var l=0,p=o;l<p.length;l++){u=p[l];a.has(u)||(a.add(u),i.push(u))}return i}function j(t,e){var r=st(t,e,!1);return r?r.OrdinaryOwnMetadataKeys(t,e):[]}function V(t){if(null===t)return 1;switch(typeof t){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===t?1:6;default:return 6}}function D(t){return void 0===t}function F(t){return null===t}function R(t){return"symbol"==typeof t}function $(t){return"object"==typeof t?null!==t:"function"==typeof t}function U(t,e){switch(V(t)){case 0:case 1:case 2:case 3:case 4:case 5:return t}var r="string",n=Q(t,o);if(void 0!==n){var a=n.call(t,r);if($(a))throw new TypeError;return a}return z(t)}function z(t,e){var r,n,o=t.toString;if(W(o)&&!$(n=o.call(t)))return n;if(W(r=t.valueOf)&&!$(n=r.call(t)))return n;throw new TypeError}function B(t){return!!t}function K(t){return""+t}function q(t){var e=U(t);return R(e)?e:K(e)}function G(t){return Array.isArray?Array.isArray(t):t instanceof Object?t instanceof Array:"[object Array]"===Object.prototype.toString.call(t)}function W(t){return"function"==typeof t}function H(t){return"function"==typeof t}function J(t){switch(V(t)){case 3:case 4:return!0;default:return!1}}function Y(t,e){return t===e||t!=t&&e!=e}function Q(t,e){var r=t[e];if(null!=r){if(!W(r))throw new TypeError;return r}}function X(t){var e=Q(t,a);if(!W(e))throw new TypeError;var r=e.call(t);if(!$(r))throw new TypeError;return r}function Z(t){return t.value}function tt(t){var e=t.next();return!e.done&&e}function et(t){var e=t.return;e&&e.call(t)}function rt(t){var e=Object.getPrototypeOf(t);if("function"!=typeof t||t===l)return e;if(e!==l)return e;var r=t.prototype,n=r&&Object.getPrototypeOf(r);if(null==n||n===Object.prototype)return e;var o=n.constructor;return"function"!=typeof o||o===t?e:o}function nt(){var t,r,n,o;D(h)||void 0===e.Reflect||h in e.Reflect||"function"!=typeof e.Reflect.defineMetadata||(t=it(e.Reflect));var a=new d,i={registerProvider:s,getProvider:u,setProvider:y};return i;function s(e){if(!Object.isExtensible(i))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case t===e:break;case D(r):r=e;break;case r===e:break;case D(n):n=e;break;case n===e:break;default:void 0===o&&(o=new f),o.add(e)}}function c(e,a){if(!D(r)){if(r.isProviderFor(e,a))return r;if(!D(n)){if(n.isProviderFor(e,a))return r;if(!D(o))for(var i=X(o);;){var s=tt(i);if(!s)return;var c=Z(s);if(c.isProviderFor(e,a))return et(i),c}}}if(!D(t)&&t.isProviderFor(e,a))return t}function u(t,e){var r,n=a.get(t);return D(n)||(r=n.get(e)),D(r)?(D(r=c(t,e))||(D(n)&&(n=new p,a.set(t,n)),n.set(e,r)),r):r}function l(t){if(D(t))throw new TypeError;return r===t||n===t||!D(o)&&o.has(t)}function y(t,e,r){if(!l(r))throw new Error("Metadata provider not registered.");var n=u(t,e);if(n!==r){if(!D(n))return!1;var o=a.get(t);D(o)&&(o=new p,a.set(t,o)),o.set(e,r)}return!0}}function ot(){var t;return!D(h)&&$(e.Reflect)&&Object.isExtensible(e.Reflect)&&(t=e.Reflect[h]),D(t)&&(t=nt()),!D(h)&&$(e.Reflect)&&Object.isExtensible(e.Reflect)&&Object.defineProperty(e.Reflect,h,{enumerable:!1,configurable:!1,writable:!1,value:t}),t}function at(t){var e=new d,r={isProviderFor:function(t,r){var n=e.get(t);return!D(n)&&n.has(r)},OrdinaryDefineOwnMetadata:i,OrdinaryHasOwnMetadata:o,OrdinaryGetOwnMetadata:a,OrdinaryOwnMetadataKeys:s,OrdinaryDeleteMetadata:c};return y.registerProvider(r),r;function n(n,o,a){var i=e.get(n),s=!1;if(D(i)){if(!a)return;i=new p,e.set(n,i),s=!0}var c=i.get(o);if(D(c)){if(!a)return;if(c=new p,i.set(o,c),!t.setProvider(n,o,r))throw i.delete(o),s&&e.delete(n),new Error("Wrong provider for target.")}return c}function o(t,e,r){var o=n(e,r,!1);return!D(o)&&B(o.has(t))}function a(t,e,r){var o=n(e,r,!1);if(!D(o))return o.get(t)}function i(t,e,r,o){n(r,o,!0).set(t,e)}function s(t,e){var r=[],o=n(t,e,!1);if(D(o))return r;for(var a=X(o.keys()),i=0;;){var s=tt(a);if(!s)return r.length=i,r;var c=Z(s);try{r[i]=c}catch(t){try{et(a)}finally{throw t}}i++}}function c(t,r,o){var a=n(r,o,!1);if(D(a))return!1;if(!a.delete(t))return!1;if(0===a.size){var i=e.get(r);D(i)||(i.delete(o),0===i.size&&e.delete(i))}return!0}}function it(t){var e=t.defineMetadata,r=t.hasOwnMetadata,n=t.getOwnMetadata,o=t.getOwnMetadataKeys,a=t.deleteMetadata,i=new d;return{isProviderFor:function(t,e){var r=i.get(t);return!(D(r)||!r.has(e))||!!o(t,e).length&&(D(r)&&(r=new f,i.set(t,r)),r.add(e),!0)},OrdinaryDefineOwnMetadata:e,OrdinaryHasOwnMetadata:r,OrdinaryGetOwnMetadata:n,OrdinaryOwnMetadataKeys:o,OrdinaryDeleteMetadata:a}}function st(t,e,r){var n=y.getProvider(t,e);if(!D(n))return n;if(r){if(y.setProvider(t,e,v))return v;throw new Error("Illegal state.")}}function ct(){var t={},e=[],r=function(){function t(t,e,r){this._index=0,this._keys=t,this._values=e,this._selector=r}return t.prototype["@@iterator"]=function(){return this},t.prototype[a]=function(){return this},t.prototype.next=function(){var t=this._index;if(t>=0&&t<this._keys.length){var r=this._selector(this._keys[t],this._values[t]);return t+1>=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},t.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},t.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},t}(),n=function(){function e(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this._find(t,!1)>=0},e.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},e.prototype.set=function(t,e){var r=this._find(t,!0);return this._values[r]=e,this},e.prototype.delete=function(e){var r=this._find(e,!1);if(r>=0){for(var n=this._keys.length,o=r+1;o<n;o++)this._keys[o-1]=this._keys[o],this._values[o-1]=this._values[o];return this._keys.length--,this._values.length--,Y(e,this._cacheKey)&&(this._cacheKey=t,this._cacheIndex=-2),!0}return!1},e.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=t,this._cacheIndex=-2},e.prototype.keys=function(){return new r(this._keys,this._values,o)},e.prototype.values=function(){return new r(this._keys,this._values,i)},e.prototype.entries=function(){return new r(this._keys,this._values,s)},e.prototype["@@iterator"]=function(){return this.entries()},e.prototype[a]=function(){return this.entries()},e.prototype._find=function(t,e){if(!Y(this._cacheKey,t)){this._cacheIndex=-1;for(var r=0;r<this._keys.length;r++)if(Y(this._keys[r],t)){this._cacheIndex=r;break}}return this._cacheIndex<0&&e&&(this._cacheIndex=this._keys.length,this._keys.push(t),this._values.push(void 0)),this._cacheIndex},e}();return n;function o(t,e){return t}function i(t,e){return e}function s(t,e){return[t,e]}}function ut(){return function(){function t(){this._map=new p}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this._map.has(t)},t.prototype.add=function(t){return this._map.set(t,t),this},t.prototype.delete=function(t){return this._map.delete(t)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.keys()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[a]=function(){return this.keys()},t}()}function lt(){var t=16,e=u.create(),n=o();return function(){function t(){this._key=o()}return t.prototype.has=function(t){var e=a(t,!1);return void 0!==e&&u.has(e,this._key)},t.prototype.get=function(t){var e=a(t,!1);return void 0!==e?u.get(e,this._key):void 0},t.prototype.set=function(t,e){return a(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=a(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=o()},t}();function o(){var t;do{t="@@WeakMap@@"+c()}while(u.has(e,t));return e[t]=!0,t}function a(t,e){if(!r.call(t,n)){if(!e)return;Object.defineProperty(t,n,{value:u.create()})}return t[n]}function i(t,e){for(var r=0;r<e;++r)t[r]=255*Math.random()|0;return t}function s(t){if("function"==typeof Uint8Array){var e=new Uint8Array(t);return"undefined"!=typeof crypto?crypto.getRandomValues(e):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(e):i(e,t),e}return i(new Array(t),t)}function c(){var e=s(t);e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var r="",n=0;n<t;++n){var o=e[n];4!==n&&6!==n&&8!==n||(r+="-"),o<16&&(r+="0"),r+=o.toString(16).toLowerCase()}return r}}function pt(t){return t.__=void 0,delete t.__,t}t("decorate",m),t("metadata",g),t("defineMetadata",S),t("hasMetadata",_),t("hasOwnMetadata",E),t("getMetadata",O),t("getOwnMetadata",w),t("getMetadataKeys",b),t("getOwnMetadataKeys",T),t("deleteMetadata",M)}(r,e),void 0===e.Reflect&&(e.Reflect=t)}()}(t||(t={}))),b;var t}();const T="Crud";const M=Symbol("cell");function A(t){const e=t.prototype;return(Reflect.getMetadata(M,e)||[]).map((t=>{const r=Reflect.getMetadata(`${M.toString()}:${t}:options`,e)||{};return{...r,name:r?.name??t}}))}const x=Symbol("input");function N(t){const e=t.prototype;return(Reflect.getMetadata(x,e)||[]).map((t=>{const r=Reflect.getMetadata(`${x.toString()}:${t}:options`,e)||{},n=r?.inputType??(o=t,["password"].some((t=>o.toLowerCase().includes(t)))?"password":"text");var o;return{...r,editable:r.editable??!0,sensitive:r.sensitive,name:r?.name??t,label:r?.label??t,placeholder:r?.placeholder??t,inputType:n,selectOptions:r?.selectOptions??[],cancelPasswordValidationOnEdit:r?.cancelPasswordValidationOnEdit??"password"===n}}))}function C({menu:e,getIcons:r}){const n=u((t=>t.screens??{})),[o,i]=t.useState(!0);return t.createElement("div",{className:"sidebar "+(o?"open":"closed")},t.createElement("button",{className:"toggle-button",onClick:()=>i(!o)},o?"<":">"),t.createElement("nav",{className:"nav-links"},e?.(n).map(((e,n)=>t.createElement(a.Link,{key:n,to:e.path,className:"nav-link"},t.createElement("span",{className:"nav-links-icon"},r?.(e.iconType)),o?t.createElement("span",null,e.name):null)))))}class k extends t.Component{state={hasError:!1,error:null,errorInfo:null};static getDerivedStateFromError(t){return{hasError:!0,error:t,errorInfo:null}}componentDidCatch(t,e){this.setState({error:t,errorInfo:e})}render(){return this.state.hasError?t.createElement("div",{className:"error-boundary"},t.createElement("div",{className:"error-boundary__content"},t.createElement("div",{className:"error-boundary__icon"},t.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},t.createElement("circle",{cx:"12",cy:"12",r:"10"}),t.createElement("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),t.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"16"}))),t.createElement("h1",null,"Oops! Something went wrong"),t.createElement("p",{className:"error-boundary__message"},this.state.error?.message||"An unexpected error occurred"),t.createElement("button",{className:"error-boundary__button",onClick:()=>window.location.reload()},"Refresh Page"),"development"===process.env.NODE_ENV&&t.createElement("details",{className:"error-boundary__details"},t.createElement("summary",null,"Error Details"),t.createElement("pre",null,this.state.error?.toString()),t.createElement("pre",null,this.state.errorInfo?.componentStack)))):this.props.children}}var P=function(t){this.groups=[],this.each=!1,this.context=void 0,this.type=t.type,this.name=t.name,this.target=t.target,this.propertyName=t.propertyName,this.constraints=null==t?void 0:t.constraints,this.constraintCls=t.constraintCls,this.validationTypeOptions=t.validationTypeOptions,t.validationOptions&&(this.message=t.validationOptions.message,this.groups=t.validationOptions.groups,this.always=t.validationOptions.always,this.each=t.validationOptions.each,this.context=t.validationOptions.context)},L=function(){function t(){}return t.prototype.transform=function(t){var e=[];return Object.keys(t.properties).forEach((function(r){t.properties[r].forEach((function(n){var o={message:n.message,groups:n.groups,always:n.always,each:n.each},a={type:n.type,name:n.name,target:t.name,propertyName:r,constraints:n.constraints,validationTypeOptions:n.options,validationOptions:o};e.push(new P(a))}))})),e},t}();function I(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0}function j(t){return null!==t&&"object"==typeof t&&"function"==typeof t.then}var V=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},D=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,a=r.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},F=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,a=e.length;o<a;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},R=function(){function t(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(t.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),t.prototype.addValidationSchema=function(t){var e=this;(new L).transform(t).forEach((function(t){return e.addValidationMetadata(t)}))},t.prototype.addValidationMetadata=function(t){var e=this.validationMetadatas.get(t.target);e?e.push(t):this.validationMetadatas.set(t.target,[t])},t.prototype.addConstraintMetadata=function(t){var e=this.constraintMetadatas.get(t.target);e?e.push(t):this.constraintMetadatas.set(t.target,[t])},t.prototype.groupByPropertyName=function(t){var e={};return t.forEach((function(t){e[t.propertyName]||(e[t.propertyName]=[]),e[t.propertyName].push(t)})),e},t.prototype.getTargetValidationMetadatas=function(t,e,r,n,o){var a,i,s=function(t){return void 0!==t.always?t.always:(!t.groups||!t.groups.length)&&r},c=function(t){return!(!n||o&&o.length||!t.groups||!t.groups.length)},u=(this.validationMetadatas.get(t)||[]).filter((function(r){return(r.target===t||r.target===e)&&(!!s(r)||!c(r)&&(!(o&&o.length>0)||r.groups&&!!r.groups.find((function(t){return-1!==o.indexOf(t)}))))})),l=[];try{for(var p=V(this.validationMetadatas.entries()),f=p.next();!f.done;f=p.next()){var d=D(f.value,2),h=d[0],y=d[1];t.prototype instanceof h&&l.push.apply(l,F([],D(y),!1))}}catch(t){a={error:t}}finally{try{f&&!f.done&&(i=p.return)&&i.call(p)}finally{if(a)throw a.error}}var v=l.filter((function(e){return"string"!=typeof e.target&&(e.target!==t&&((!(e.target instanceof Function)||t.prototype instanceof e.target)&&(!!s(e)||!c(e)&&(!(o&&o.length>0)||e.groups&&!!e.groups.find((function(t){return-1!==o.indexOf(t)}))))))})).filter((function(t){return!u.find((function(e){return e.propertyName===t.propertyName&&e.type===t.type}))}));return u.concat(v)},t.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},t}();function $(){var t=I();return t.classValidatorMetadataStorage||(t.classValidatorMetadataStorage=new R),t.classValidatorMetadataStorage}var U=function(){function t(){}return t.prototype.toString=function(t,e,r,n){var o=this;void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===r&&(r=""),void 0===n&&(n=!1);var a=t?"":"",i=t?"":"",s=function(t){return" - property ".concat(a).concat(r).concat(t).concat(i," has failed the following constraints: ").concat(a).concat((n?Object.values:Object.keys)(null!==(e=o.constraints)&&void 0!==e?e:{}).join(", ")).concat(i," \n");var e};if(e){var c=Number.isInteger(+this.property)?"[".concat(this.property,"]"):"".concat(r?".":"").concat(this.property);return this.constraints?s(c):this.children?this.children.map((function(e){return e.toString(t,!0,"".concat(r).concat(c),n)})).join(""):""}return"An instance of ".concat(a).concat(this.target?this.target.constructor.name:"an object").concat(i," has failed the validation:\n")+(this.constraints?s(this.property):"")+(this.children?this.children.map((function(e){return e.toString(t,!0,o.property,n)})).join(""):"")},t}(),z=function(){function t(){}return t.isValid=function(t){var e=this;return"isValid"!==t&&"getMessage"!==t&&-1!==Object.keys(this).map((function(t){return e[t]})).indexOf(t)},t.CUSTOM_VALIDATION="customValidation",t.NESTED_VALIDATION="nestedValidation",t.PROMISE_VALIDATION="promiseValidation",t.CONDITIONAL_VALIDATION="conditionalValidation",t.WHITELIST="whitelistValidation",t.IS_DEFINED="isDefined",t}();var B=function(){function t(){}return t.replaceMessageSpecialTokens=function(t,e){var r;return t instanceof Function?r=t(e):"string"==typeof t&&(r=t),r&&Array.isArray(e.constraints)&&e.constraints.forEach((function(t,e){r=r.replace(new RegExp("\\$constraint".concat(e+1),"g"),function(t){return Array.isArray(t)?t.join(", "):("symbol"==typeof t&&(t=t.description),"".concat(t))}(t))})),r&&void 0!==e.value&&null!==e.value&&["string","boolean","number"].includes(typeof e.value)&&(r=r.replace(/\$value/g,e.value)),r&&(r=r.replace(/\$property/g,e.property)),r&&(r=r.replace(/\$target/g,e.targetName)),r},t}(),K=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,a=r.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},q=function(){function t(t,e){this.validator=t,this.validatorOptions=e,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=$()}return t.prototype.execute=function(t,e,r){var n,o,a=this;this.metadataStorage.hasValidationMetaData||!0!==(null===(n=this.validatorOptions)||void 0===n?void 0:n.enableDebugMessages)||console.warn("No validation metadata found. No validation will be performed. There are multiple possible reasons:\n - There may be multiple class-validator versions installed. You will need to flatten your dependencies to fix the issue.\n - This validation runs before any file with validation decorator was parsed by NodeJS.");var i=this.validatorOptions?this.validatorOptions.groups:void 0,s=this.validatorOptions&&this.validatorOptions.strictGroups||!1,c=this.validatorOptions&&this.validatorOptions.always||!1,u=void 0===(null===(o=this.validatorOptions)||void 0===o?void 0:o.forbidUnknownValues)||!1!==this.validatorOptions.forbidUnknownValues,l=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,c,s,i),p=this.metadataStorage.groupByPropertyName(l);if(this.validatorOptions&&u&&!l.length){var f=new U;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(f.target=t),f.value=void 0,f.property=void 0,f.children=[],f.constraints={unknownValue:"an unknown value was passed to the validate function"},void r.push(f)}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,p,r),Object.keys(p).forEach((function(e){var n=t[e],o=p[e].filter((function(t){return t.type===z.IS_DEFINED})),i=p[e].filter((function(t){return t.type!==z.IS_DEFINED&&t.type!==z.WHITELIST}));n instanceof Promise&&i.find((function(t){return t.type===z.PROMISE_VALIDATION}))?a.awaitingPromises.push(n.then((function(n){a.performValidations(t,n,e,o,i,r)}))):a.performValidations(t,n,e,o,i,r)}))},t.prototype.whitelist=function(t,e,r){var n=this,o=[];Object.keys(t).forEach((function(t){e[t]&&0!==e[t].length||o.push(t)})),o.length>0&&(this.validatorOptions&&this.validatorOptions.forbidNonWhitelisted?o.forEach((function(e){var o,a=n.generateValidationError(t,t[e],e);a.constraints=((o={})[z.WHITELIST]="property ".concat(e," should not exist"),o),a.children=void 0,r.push(a)})):o.forEach((function(e){return delete t[e]})))},t.prototype.stripEmptyErrors=function(t){var e=this;return t.filter((function(t){if(t.children&&(t.children=e.stripEmptyErrors(t.children)),0===Object.keys(t.constraints).length){if(0===t.children.length)return!1;delete t.constraints}return!0}))},t.prototype.performValidations=function(t,e,r,n,o,a){var i=o.filter((function(t){return t.type===z.CUSTOM_VALIDATION})),s=o.filter((function(t){return t.type===z.NESTED_VALIDATION})),c=o.filter((function(t){return t.type===z.CONDITIONAL_VALIDATION})),u=this.generateValidationError(t,e,r);a.push(u),this.conditionalValidations(t,e,c)&&(this.customValidations(t,e,n,u),this.mapContexts(t,e,n,u),void 0===e&&this.validatorOptions&&!0===this.validatorOptions.skipUndefinedProperties||null===e&&this.validatorOptions&&!0===this.validatorOptions.skipNullProperties||null==e&&this.validatorOptions&&!0===this.validatorOptions.skipMissingProperties||(this.customValidations(t,e,i,u),this.nestedValidations(e,s,u),this.mapContexts(t,e,o,u),this.mapContexts(t,e,i,u)))},t.prototype.generateValidationError=function(t,e,r){var n=new U;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(n.target=t),this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.value&&!0!==this.validatorOptions.validationError.value||(n.value=e),n.property=r,n.children=[],n.constraints={},n},t.prototype.conditionalValidations=function(t,e,r){return r.map((function(r){return r.constraints[0](t,e)})).reduce((function(t,e){return t&&e}),!0)},t.prototype.customValidations=function(t,e,r,n){var o=this;r.forEach((function(r){o.metadataStorage.getTargetValidatorConstraints(r.constraintCls).forEach((function(a){if(!(a.async&&o.ignoreAsyncValidations||o.validatorOptions&&o.validatorOptions.stopAtFirstError&&Object.keys(n.constraints||{}).length>0)){var i={targetName:t.constructor?t.constructor.name:void 0,property:r.propertyName,object:t,value:e,constraints:r.constraints};if(r.each&&(Array.isArray(e)||e instanceof Set||e instanceof Map)){var s,c=((s=e)instanceof Map?Array.from(s.values()):Array.isArray(s)?s:Array.from(s)).map((function(t){return a.instance.validate(t,i)}));if(c.some((function(t){return j(t)}))){var u=c.map((function(t){return j(t)?t:Promise.resolve(t)})),l=Promise.all(u).then((function(i){if(!i.every((function(t){return t}))){var s=K(o.createValidationError(t,e,r,a),2),c=s[0],u=s[1];n.constraints[c]=u,r.context&&(n.contexts||(n.contexts={}),n.contexts[c]=Object.assign(n.contexts[c]||{},r.context))}}));o.awaitingPromises.push(l)}else{if(!c.every((function(t){return t}))){var p=K(o.createValidationError(t,e,r,a),2);y=p[0],v=p[1];n.constraints[y]=v}}}else{var f=a.instance.validate(e,i);if(j(f)){var d=f.then((function(i){if(!i){var s=K(o.createValidationError(t,e,r,a),2),c=s[0],u=s[1];n.constraints[c]=u,r.context&&(n.contexts||(n.contexts={}),n.contexts[c]=Object.assign(n.contexts[c]||{},r.context))}}));o.awaitingPromises.push(d)}else if(!f){var h=K(o.createValidationError(t,e,r,a),2),y=h[0],v=h[1];n.constraints[y]=v}}}}))}))},t.prototype.nestedValidations=function(t,e,r){var n=this;void 0!==t&&e.forEach((function(o){if((o.type===z.NESTED_VALIDATION||o.type===z.PROMISE_VALIDATION)&&!(n.validatorOptions&&n.validatorOptions.stopAtFirstError&&Object.keys(r.constraints||{}).length>0))if(Array.isArray(t)||t instanceof Set||t instanceof Map)(t instanceof Set?Array.from(t):t).forEach((function(o,a){n.performValidations(t,o,a.toString(),[],e,r.children)}));else if(t instanceof Object){var a="string"==typeof o.target?o.target:o.target.name;n.execute(t,a,r.children)}else{var i=K(n.createValidationError(o.target,t,o),2),s=i[0],c=i[1];r.constraints[s]=c}}))},t.prototype.mapContexts=function(t,e,r,n){var o=this;return r.forEach((function(t){if(t.context){var e=void 0;if(t.type===z.CUSTOM_VALIDATION)e=o.metadataStorage.getTargetValidatorConstraints(t.constraintCls)[0];var r=o.getConstraintType(t,e);n.constraints[r]&&(n.contexts||(n.contexts={}),n.contexts[r]=Object.assign(n.contexts[r]||{},t.context))}}))},t.prototype.createValidationError=function(t,e,r,n){var o=t.constructor?t.constructor.name:void 0,a=this.getConstraintType(r,n),i={targetName:o,property:r.propertyName,object:t,value:e,constraints:r.constraints},s=r.message||"";return r.message||this.validatorOptions&&(!this.validatorOptions||this.validatorOptions.dismissDefaultMessages)||n&&n.instance.defaultMessage instanceof Function&&(s=n.instance.defaultMessage(i)),[a,B.replaceMessageSpecialTokens(s,i)]},t.prototype.getConstraintType=function(t,e){return e&&e.name?e.name:t.type},t}(),G=function(t,e,r,n){return new(r||(r=Promise))((function(o,a){function i(t){try{c(n.next(t))}catch(t){a(t)}}function s(t){try{c(n.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,s)}c((n=n.apply(t,e||[])).next())}))},W=function(t,e){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=e.call(t,i)}catch(t){s=[6,t],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},H=function(){function t(){}return t.prototype.validate=function(t,e,r){return this.coreValidate(t,e,r)},t.prototype.validateOrReject=function(t,e,r){return G(this,void 0,void 0,(function(){var n;return W(this,(function(o){switch(o.label){case 0:return[4,this.coreValidate(t,e,r)];case 1:return(n=o.sent()).length?[2,Promise.reject(n)]:[2]}}))}))},t.prototype.validateSync=function(t,e,r){var n="string"==typeof t?e:t,o="string"==typeof t?t:void 0,a=new q(this,"string"==typeof t?r:e);a.ignoreAsyncValidations=!0;var i=[];return a.execute(n,o,i),a.stripEmptyErrors(i)},t.prototype.coreValidate=function(t,e,r){var n="string"==typeof t?e:t,o="string"==typeof t?t:void 0,a=new q(this,"string"==typeof t?r:e),i=[];return a.execute(n,o,i),Promise.all(a.awaitingPromises).then((function(){return a.stripEmptyErrors(i)}))},t}(),J=new(function(){function t(){this.instances=[]}return t.prototype.get=function(t){var e=this.instances.find((function(e){return e.type===t}));return e||(e={type:t,object:new t},this.instances.push(e)),e.object},t}());function Y(t){return J.get(t)}function Q(t,e,r){return"string"==typeof t?Y(H).validate(t,e,r):Y(H).validate(t,e)}function X(t,e,r){return"string"==typeof t?Y(H).validateSync(t,e,r):Y(H).validateSync(t,e)}const Z=(t,r,n)=>{if(t&&"reportValidity"in t){const o=e.get(n,r);t.setCustomValidity(o&&o.message||""),t.reportValidity()}},tt=(t,e)=>{for(const r in e.fields){const n=e.fields[r];n&&n.ref&&"reportValidity"in n.ref?Z(n.ref,r,t):n&&n.refs&&n.refs.forEach((e=>Z(e,r,t)))}},et=(t,r)=>{r.shouldUseNativeValidation&&tt(t,r);const n={};for(const o in t){const a=e.get(r.fields,o),i=Object.assign(t[o]||{},{ref:a&&a.ref});if(rt(r.names||Object.keys(t),o)){const t=Object.assign({},e.get(n,o));e.set(t,"root",i),e.set(n,o,t)}else e.set(n,o,i)}return n},rt=(t,e)=>{const r=nt(e);return t.some((t=>nt(t).match(`^${r}\\.\\d+`)))};function nt(t){return t.replace(/\]|\[/g,"")}var ot;!function(t){t[t.PLAIN_TO_CLASS=0]="PLAIN_TO_CLASS",t[t.CLASS_TO_PLAIN=1]="CLASS_TO_PLAIN",t[t.CLASS_TO_CLASS=2]="CLASS_TO_CLASS"}(ot||(ot={}));var at=new(function(){function t(){this._typeMetadatas=new Map,this._transformMetadatas=new Map,this._exposeMetadatas=new Map,this._excludeMetadatas=new Map,this._ancestorsMap=new Map}return t.prototype.addTypeMetadata=function(t){this._typeMetadatas.has(t.target)||this._typeMetadatas.set(t.target,new Map),this._typeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.addTransformMetadata=function(t){this._transformMetadatas.has(t.target)||this._transformMetadatas.set(t.target,new Map),this._transformMetadatas.get(t.target).has(t.propertyName)||this._transformMetadatas.get(t.target).set(t.propertyName,[]),this._transformMetadatas.get(t.target).get(t.propertyName).push(t)},t.prototype.addExposeMetadata=function(t){this._exposeMetadatas.has(t.target)||this._exposeMetadatas.set(t.target,new Map),this._exposeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.addExcludeMetadata=function(t){this._excludeMetadatas.has(t.target)||this._excludeMetadatas.set(t.target,new Map),this._excludeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.findTransformMetadatas=function(t,e,r){return this.findMetadatas(this._transformMetadatas,t,e).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?r===ot.CLASS_TO_CLASS||r===ot.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||r===ot.CLASS_TO_PLAIN))}))},t.prototype.findExcludeMetadata=function(t,e){return this.findMetadata(this._excludeMetadatas,t,e)},t.prototype.findExposeMetadata=function(t,e){return this.findMetadata(this._exposeMetadatas,t,e)},t.prototype.findExposeMetadataByCustomName=function(t,e){return this.getExposedMetadatas(t).find((function(t){return t.options&&t.options.name===e}))},t.prototype.findTypeMetadata=function(t,e){return this.findMetadata(this._typeMetadatas,t,e)},t.prototype.getStrategy=function(t){var e=this._excludeMetadatas.get(t),r=e&&e.get(void 0),n=this._exposeMetadatas.get(t),o=n&&n.get(void 0);return r&&o||!r&&!o?"none":r?"excludeAll":"exposeAll"},t.prototype.getExposedMetadatas=function(t){return this.getMetadata(this._exposeMetadatas,t)},t.prototype.getExcludedMetadatas=function(t){return this.getMetadata(this._excludeMetadatas,t)},t.prototype.getExposedProperties=function(t,e){return this.getExposedMetadatas(t).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?e===ot.CLASS_TO_CLASS||e===ot.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||e===ot.CLASS_TO_PLAIN))})).map((function(t){return t.propertyName}))},t.prototype.getExcludedProperties=function(t,e){return this.getExcludedMetadatas(t).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?e===ot.CLASS_TO_CLASS||e===ot.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||e===ot.CLASS_TO_PLAIN))})).map((function(t){return t.propertyName}))},t.prototype.clear=function(){this._typeMetadatas.clear(),this._exposeMetadatas.clear(),this._excludeMetadatas.clear(),this._ancestorsMap.clear()},t.prototype.getMetadata=function(t,e){var r,n=t.get(e);n&&(r=Array.from(n.values()).filter((function(t){return void 0!==t.propertyName})));for(var o=[],a=0,i=this.getAncestors(e);a<i.length;a++){var s=i[a],c=t.get(s);if(c){var u=Array.from(c.values()).filter((function(t){return void 0!==t.propertyName}));o.push.apply(o,u)}}return o.concat(r||[])},t.prototype.findMetadata=function(t,e,r){var n=t.get(e);if(n){var o=n.get(r);if(o)return o}for(var a=0,i=this.getAncestors(e);a<i.length;a++){var s=i[a],c=t.get(s);if(c){var u=c.get(r);if(u)return u}}},t.prototype.findMetadatas=function(t,e,r){var n,o=t.get(e);o&&(n=o.get(r));for(var a=[],i=0,s=this.getAncestors(e);i<s.length;i++){var c=s[i],u=t.get(c);u&&u.has(r)&&a.push.apply(a,u.get(r))}return a.slice().reverse().concat((n||[]).slice().reverse())},t.prototype.getAncestors=function(t){if(!t)return[];if(!this._ancestorsMap.has(t)){for(var e=[],r=Object.getPrototypeOf(t.prototype.constructor);void 0!==r.prototype;r=Object.getPrototypeOf(r.prototype.constructor))e.push(r);this._ancestorsMap.set(t,e)}return this._ancestorsMap.get(t)},t}());var it=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,a=e.length;o<a;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))};var st=function(){function t(t,e){this.transformationType=t,this.options=e,this.recursionStack=new Set}return t.prototype.transform=function(t,e,r,n,o,a){var i,s=this;if(void 0===a&&(a=0),Array.isArray(e)||e instanceof Set){var c=n&&this.transformationType===ot.PLAIN_TO_CLASS?function(t){var e=new t;return e instanceof Set||"push"in e?e:[]}(n):[];return e.forEach((function(e,n){var o=t?t[n]:void 0;if(s.options.enableCircularCheck&&s.isCircular(e))s.transformationType===ot.CLASS_TO_CLASS&&(c instanceof Set?c.add(e):c.push(e));else{var i=void 0;if("function"!=typeof r&&r&&r.options&&r.options.discriminator&&r.options.discriminator.property&&r.options.discriminator.subTypes){if(s.transformationType===ot.PLAIN_TO_CLASS){i=r.options.discriminator.subTypes.find((function(t){return t.name===e[r.options.discriminator.property]}));var u={newObject:c,object:e,property:void 0},l=r.typeFunction(u);i=void 0===i?l:i.value,r.options.keepDiscriminatorProperty||delete e[r.options.discriminator.property]}s.transformationType===ot.CLASS_TO_CLASS&&(i=e.constructor),s.transformationType===ot.CLASS_TO_PLAIN&&(e[r.options.discriminator.property]=r.options.discriminator.subTypes.find((function(t){return t.value===e.constructor})).name)}else i=r;var p=s.transform(o,e,i,void 0,e instanceof Map,a+1);c instanceof Set?c.add(p):c.push(p)}})),c}if(r!==String||o){if(r!==Number||o){if(r!==Boolean||o){if((r===Date||e instanceof Date)&&!o)return e instanceof Date?new Date(e.valueOf()):null==e?e:new Date(e);if(("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0).Buffer&&(r===Buffer||e instanceof Buffer)&&!o)return null==e?e:Buffer.from(e);if(null===(i=e)||"object"!=typeof i||"function"!=typeof i.then||o){if(o||null===e||"object"!=typeof e||"function"!=typeof e.then){if("object"==typeof e&&null!==e){r||e.constructor===Object||(Array.isArray(e)||e.constructor!==Array)&&(r=e.constructor),!r&&t&&(r=t.constructor),this.options.enableCircularCheck&&this.recursionStack.add(e);var u=this.getKeys(r,e,o),l=t||{};t||this.transformationType!==ot.PLAIN_TO_CLASS&&this.transformationType!==ot.CLASS_TO_CLASS||(l=o?new Map:r?new r:{});for(var p=function(n){if("__proto__"===n||"constructor"===n)return"continue";var i=n,s=n,c=n;if(!f.options.ignoreDecorators&&r)if(f.transformationType===ot.PLAIN_TO_CLASS)(u=at.findExposeMetadataByCustomName(r,n))&&(c=u.propertyName,s=u.propertyName);else if(f.transformationType===ot.CLASS_TO_PLAIN||f.transformationType===ot.CLASS_TO_CLASS){var u;(u=at.findExposeMetadata(r,n))&&u.options&&u.options.name&&(s=u.options.name)}var p=void 0;p=f.transformationType===ot.PLAIN_TO_CLASS?e[i]:e instanceof Map?e.get(i):e[i]instanceof Function?e[i]():e[i];var d=void 0,h=p instanceof Map;if(r&&o)d=r;else if(r){var y=at.findTypeMetadata(r,c);if(y){var v={newObject:l,object:e,property:c},m=y.typeFunction?y.typeFunction(v):y.reflectedType;y.options&&y.options.discriminator&&y.options.discriminator.property&&y.options.discriminator.subTypes?e[i]instanceof Array?d=y:(f.transformationType===ot.PLAIN_TO_CLASS&&(d=void 0===(d=y.options.discriminator.subTypes.find((function(t){if(p&&p instanceof Object&&y.options.discriminator.property in p)return t.name===p[y.options.discriminator.property]})))?m:d.value,y.options.keepDiscriminatorProperty||p&&p instanceof Object&&y.options.discriminator.property in p&&delete p[y.options.discriminator.property]),f.transformationType===ot.CLASS_TO_CLASS&&(d=p.constructor),f.transformationType===ot.CLASS_TO_PLAIN&&p&&(p[y.options.discriminator.property]=y.options.discriminator.subTypes.find((function(t){return t.value===p.constructor})).name)):d=m,h=h||y.reflectedType===Map}else if(f.options.targetMaps)f.options.targetMaps.filter((function(t){return t.target===r&&!!t.properties[c]})).forEach((function(t){return d=t.properties[c]}));else if(f.options.enableImplicitConversion&&f.transformationType===ot.PLAIN_TO_CLASS){var g=Reflect.getMetadata("design:type",r.prototype,c);g&&(d=g)}}var S=Array.isArray(e[i])?f.getReflectedType(r,c):void 0,_=t?t[i]:void 0;if(l.constructor.prototype){var E=Object.getOwnPropertyDescriptor(l.constructor.prototype,s);if((f.transformationType===ot.PLAIN_TO_CLASS||f.transformationType===ot.CLASS_TO_CLASS)&&(E&&!E.set||l[s]instanceof Function))return"continue"}if(f.options.enableCircularCheck&&f.isCircular(p)){if(f.transformationType===ot.CLASS_TO_CLASS){w=p;(void 0!==(w=f.applyCustomTransformations(w,r,n,e,f.transformationType))||f.options.exposeUnsetFields)&&(l instanceof Map?l.set(s,w):l[s]=w)}}else{var O=f.transformationType===ot.PLAIN_TO_CLASS?s:n,w=void 0;f.transformationType===ot.CLASS_TO_PLAIN?(w=e[O],w=f.applyCustomTransformations(w,r,O,e,f.transformationType),w=e[O]===w?p:w,w=f.transform(_,w,d,S,h,a+1)):void 0===p&&f.options.exposeDefaultValues?w=l[s]:(w=f.transform(_,p,d,S,h,a+1),w=f.applyCustomTransformations(w,r,O,e,f.transformationType)),(void 0!==w||f.options.exposeUnsetFields)&&(l instanceof Map?l.set(s,w):l[s]=w)}},f=this,d=0,h=u;d<h.length;d++){p(h[d])}return this.options.enableCircularCheck&&this.recursionStack.delete(e),l}return e}return e}return new Promise((function(t,n){e.then((function(e){return t(s.transform(void 0,e,r,void 0,void 0,a+1))}),n)}))}return null==e?e:Boolean(e)}return null==e?e:Number(e)}return null==e?e:String(e)},t.prototype.applyCustomTransformations=function(t,e,r,n,o){var a=this,i=at.findTransformMetadatas(e,r,this.transformationType);return void 0!==this.options.version&&(i=i.filter((function(t){return!t.options||a.checkVersion(t.options.since,t.options.until)}))),(i=this.options.groups&&this.options.groups.length?i.filter((function(t){return!t.options||a.checkGroups(t.options.groups)})):i.filter((function(t){return!t.options||!t.options.groups||!t.options.groups.length}))).forEach((function(e){t=e.transformFn({value:t,key:r,obj:n,type:o,options:a.options})})),t},t.prototype.isCircular=function(t){return this.recursionStack.has(t)},t.prototype.getReflectedType=function(t,e){if(t){var r=at.findTypeMetadata(t,e);return r?r.reflectedType:void 0}},t.prototype.getKeys=function(t,e,r){var n=this,o=at.getStrategy(t);"none"===o&&(o=this.options.strategy||"exposeAll");var a=[];if(("exposeAll"===o||r)&&(a=e instanceof Map?Array.from(e.keys()):Object.keys(e)),r)return a;if(this.options.ignoreDecorators&&this.options.excludeExtraneousValues&&t){var i=at.getExposedProperties(t,this.transformationType),s=at.getExcludedProperties(t,this.transformationType);a=it(it([],i,!0),s,!0)}if(!this.options.ignoreDecorators&&t){i=at.getExposedProperties(t,this.transformationType);this.transformationType===ot.PLAIN_TO_CLASS&&(i=i.map((function(e){var r=at.findExposeMetadata(t,e);return r&&r.options&&r.options.name?r.options.name:e}))),a=this.options.excludeExtraneousValues?i:a.concat(i);var c=at.getExcludedProperties(t,this.transformationType);c.length>0&&(a=a.filter((function(t){return!c.includes(t)}))),void 0!==this.options.version&&(a=a.filter((function(e){var r=at.findExposeMetadata(t,e);return!r||!r.options||n.checkVersion(r.options.since,r.options.until)}))),a=this.options.groups&&this.options.groups.length?a.filter((function(e){var r=at.findExposeMetadata(t,e);return!r||!r.options||n.checkGroups(r.options.groups)})):a.filter((function(e){var r=at.findExposeMetadata(t,e);return!(r&&r.options&&r.options.groups&&r.options.groups.length)}))}return this.options.excludePrefixes&&this.options.excludePrefixes.length&&(a=a.filter((function(t){return n.options.excludePrefixes.every((function(e){return t.substr(0,e.length)!==e}))}))),a=a.filter((function(t,e,r){return r.indexOf(t)===e}))},t.prototype.checkVersion=function(t,e){var r=!0;return r&&t&&(r=this.options.version>=t),r&&e&&(r=this.options.version<e),r},t.prototype.checkGroups=function(t){return!t||this.options.groups.some((function(e){return t.includes(e)}))},t}(),ct={enableCircularCheck:!1,enableImplicitConversion:!1,excludeExtraneousValues:!1,excludePrefixes:void 0,exposeDefaultValues:!1,exposeUnsetFields:!0,groups:void 0,ignoreDecorators:!1,strategy:void 0,targetMaps:void 0,version:void 0},ut=function(){return ut=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},ut.apply(this,arguments)},lt=new(function(){function t(){}return t.prototype.instanceToPlain=function(t,e){return new st(ot.CLASS_TO_PLAIN,ut(ut({},ct),e)).transform(void 0,t,void 0,void 0,void 0,void 0)},t.prototype.classToPlainFromExist=function(t,e,r){return new st(ot.CLASS_TO_PLAIN,ut(ut({},ct),r)).transform(e,t,void 0,void 0,void 0,void 0)},t.prototype.plainToInstance=function(t,e,r){return new st(ot.PLAIN_TO_CLASS,ut(ut({},ct),r)).transform(void 0,e,t,void 0,void 0,void 0)},t.prototype.plainToClassFromExist=function(t,e,r){return new st(ot.PLAIN_TO_CLASS,ut(ut({},ct),r)).transform(t,e,void 0,void 0,void 0,void 0)},t.prototype.instanceToInstance=function(t,e){return new st(ot.CLASS_TO_CLASS,ut(ut({},ct),e)).transform(void 0,t,void 0,void 0,void 0,void 0)},t.prototype.classToClassFromExist=function(t,e,r){return new st(ot.CLASS_TO_CLASS,ut(ut({},ct),r)).transform(e,t,void 0,void 0,void 0,void 0)},t.prototype.serialize=function(t,e){return JSON.stringify(this.instanceToPlain(t,e))},t.prototype.deserialize=function(t,e,r){var n=JSON.parse(e);return this.plainToInstance(t,n,r)},t.prototype.deserializeArray=function(t,e,r){var n=JSON.parse(e);return this.plainToInstance(t,n,r)},t}());function pt(t,e,r,n){return void 0===r&&(r={}),void 0===n&&(n=""),t.reduce((function(t,r){var o=n?n+"."+r.property:r.property;if(r.constraints){var a=Object.keys(r.constraints)[0];t[o]={type:a,message:r.constraints[a]};var i=t[o];e&&i&&Object.assign(i,{types:r.constraints})}return r.children&&r.children.length&&pt(r.children,e,t,o),t}),r)}function ft(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),function(n,o,a){try{var i=e.validator,s=(c=t,u=n,l=e.transformer,lt.plainToInstance(c,u,l));return Promise.resolve(("sync"===r.mode?X:Q)(s,i)).then((function(t){return t.length?{values:{},errors:et(pt(t,!a.shouldUseNativeValidation&&"all"===a.criteriaMode),a)}:(a.shouldUseNativeValidation&&tt({},a),{values:r.raw?Object.assign({},n):s,errors:{}})}))}catch(t){return Promise.reject(t)}var c,u,l}}function dt(t,e){const r=$().getTargetValidationMetadatas(e,"",!1,!1),n=function(t){return Reflect.getMetadata(T,t)}(e);return{resolver:ft(e),fields:Array.from(new Set(r.map((t=>t.propertyName)))),inputs:N(e),cells:A(e),crud:n,path:"/"+(n?.controller??t)}}exports.Cell=function(t){return(e,r)=>{const n=Reflect.getMetadata(M,e)||[];if(Reflect.defineMetadata(M,[...n,r.toString()],e),t){const n=`${M.toString()}:${r.toString()}:options`;Reflect.defineMetadata(n,t,e)}}},exports.Crud=function(t){return e=>{t&&Reflect.defineMetadata(T,t,e)}},exports.Input=function(t){return(e,r)=>{const n=Reflect.getMetadata(x,e)||[];if(Reflect.defineMetadata(x,[...n,r.toString()],e),t){const n=`${x.toString()}:${r.toString()}:options`;Reflect.defineMetadata(n,t,e)}}},exports.Layout=function({children:e,menu:r,getIcons:n}){const{user:o,screenPaths:i}=u((t=>({user:t.user,screenPaths:t.screenPaths}))),s=a.useNavigate();return o||s(i.login),t.createElement("div",{className:"layout"},t.createElement(C,{menu:r,getIcons:n}),t.createElement("main",{className:"content"},e))},exports.Login=function(){const{register:r,handleSubmit:n,formState:{errors:o}}=e.useForm(),{fetchSettings:i}=u((t=>({fetchSettings:t.fetchSettings}))),l=a.useNavigate();return t.createElement("div",{className:"login-container"},t.createElement("div",{className:"login-panel"},t.createElement("div",{className:"login-header"},t.createElement("h1",null,"Welcome Back"),t.createElement("p",null,"Please sign in to continue")),t.createElement("form",{onSubmit:n((async t=>{c(i,t.username,t.password).then((t=>{const{access_token:e,admin:r}=t;u.setState({user:r,token:e}),l("/")}))})),className:"login-form"},t.createElement(s,{input:{name:"username",label:"Username",inputType:"text",placeholder:"Enter your username"},register:r,isEditForm:!1,error:o.username}),t.createElement(s,{input:{name:"password",label:"Password",inputType:"password",placeholder:"Enter your password"},register:r,isEditForm:!1,error:o.password}),t.createElement("div",{className:"form-actions"},t.createElement("button",{type:"submit",className:"submit-button"},"Sign In")))))},exports.Panel=function({children:e,init:r}){return t.useEffect((()=>{!function({crud:t,fetch:e,screenPaths:r}){const n={};Object.entries(t).forEach((([t,e])=>{n[t]=dt(t,e)})),l(n),u.setState({fetchSettings:{baseUrl:e.baseURL},screenPaths:r})}(r())}),[r]),t.createElement(k,null,e)},exports.createScreens=l,exports.useScreens=function(){const e=u((t=>t.screens??{}));return t.useMemo((()=>t.createElement(t.Fragment,null,Object.entries(e).map((([e,r])=>{const n=r.crud?.controller??e;let o=`${r.path}`;const i={key:e,controller:n};return t.createElement(t.Fragment,{key:"index"},t.createElement(a.Route,{path:o+"/create",element:t.createElement(v,{screen:i})}),t.createElement(a.Route,{path:o+"/details/:id",element:t.createElement(g,{screen:i})}),t.createElement(a.Route,{path:o+"/edit/:id",element:t.createElement(S,{screen:i})}),t.createElement(a.Route,{path:o,element:t.createElement(E,{screen:i})}))})),t.createElement(a.Route,{path:"*",element:t.createElement("div",null,"404 - Not Found")}))),[e])};
1
+ "use strict";var e=require("react"),t=require("react-router"),n=require("react-select"),r=require("react-hook-form"),a=require("zustand/middleware"),o=require("zustand/traditional"),i=require("zustand/vanilla/shallow");function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var c=s(e);const l=()=>e.createElement("div",{className:"empty-list"},e.createElement("div",{className:"empty-list-content"},e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},e.createElement("path",{d:"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"}),e.createElement("polyline",{points:"13 2 13 9 20 9"})),e.createElement("h3",null,"No Data Found"),e.createElement("p",null,"There are no items to display at the moment.")));var u,p;function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(null,arguments)}var d,h,m=function(e){return c.createElement("svg",f({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},e),u||(u=c.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),p||(p=c.createElement("path",{d:"m21 19-5.154-5.154a7 7 0 1 0-2 2L19 21zM5 10c0-2.757 2.243-5 5-5s5 2.243 5 5-2.243 5-5 5-5-2.243-5-5"})))};function v(){return v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},v.apply(null,arguments)}var y,g,E=function(e){return c.createElement("svg",v({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},e),d||(d=c.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),h||(h=c.createElement("path",{d:"m13 6 5 5-9.507 9.507a1.765 1.765 0 0 1-.012-2.485l-.002-.003c-.69.676-1.8.673-2.485-.013a1.763 1.763 0 0 1-.036-2.455l-.008-.008c-.694.65-1.78.64-2.456-.036zm7.586-.414-2.172-2.172a2 2 0 0 0-2.828 0L14 5l5 5 1.586-1.586c.78-.78.78-2.047 0-2.828M3 18v3h3a3 3 0 0 0-3-3"})))};function b(){return b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b.apply(null,arguments)}var w=function(e){return c.createElement("svg",b({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},e),y||(y=c.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),g||(g=c.createElement("path",{d:"M6.187 8h11.625l-.695 11.125A2 2 0 0 1 15.12 21H8.88a2 2 0 0 1-1.997-1.875zM19 5v2H5V5h3V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1zm-9 0h4V4h-4z"})))};function O({data:n,listData:r,onRemoveItem:a}){const o=r.cells,i=r.list?.utilCells;return e.createElement("div",{className:"datagrid"},n&&0!==n.length?e.createElement("table",{className:"datagrid-table"},e.createElement("thead",null,e.createElement("tr",null,o.map((t=>e.createElement("th",{key:t.name},t.title??t.name))),i?.details&&e.createElement("th",null,"Details"),i?.edit&&e.createElement("th",null,"Edit"),i?.delete&&e.createElement("th",null,"Delete"))),e.createElement("tbody",null,n.map(((n,r)=>e.createElement("tr",{key:r},o.map((t=>{const r=n[t.name];let a=r??"-";switch(t.type){case"date":if(r){const e=new Date(r);a=`${e.getDate().toString().padStart(2,"0")}/${(e.getMonth()+1).toString().padStart(2,"0")}/${e.getFullYear()} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`}break;case"image":{const n=t;a=e.createElement("img",{width:100,height:100,src:n.baseUrl+r,style:{objectFit:"contain"}});break}default:a=r?r.toString():t?.placeHolder??"-"}return e.createElement("td",{key:t.name},a)})),i?.details&&e.createElement("td",null,e.createElement(t.Link,{to:`${i.details.path}/${n.id}`,className:"util-cell-link"},e.createElement(m,{className:"icon icon-search"}),e.createElement("span",{className:"util-cell-label"},i.details.label))),i?.edit&&e.createElement("td",null,e.createElement(t.Link,{to:`${i.edit.path}/${n.id}`,className:"util-cell-link"},e.createElement(E,{className:"icon icon-pencil"}),e.createElement("span",{className:"util-cell-label"},i.edit.label))),i?.delete&&e.createElement("td",null,e.createElement("a",{onClick:()=>{a?.(n)},className:"util-cell-link"},e.createElement(w,{className:"icon icon-trash"}),e.createElement("span",{className:"util-cell-label"},i.delete.label)))))))):e.createElement(l,null))}function S({error:t}){return e.createElement("div",{className:"error-container"},e.createElement("div",{className:"error-icon"},e.createElement("i",{className:"fa fa-exclamation-circle"})),e.createElement("div",{className:"error-content"},e.createElement("h3",null,"Error Occurred"),e.createElement("p",null,(e=>{if(e instanceof Response)switch(e.status){case 400:return"Bad Request: The request was invalid or malformed.";case 401:return"Unauthorized: Please log in to access this resource.";case 404:return"Not Found: The requested resource could not be found.";case 403:return"Forbidden: You don't have permission to access this resource.";case 500:return"Internal Server Error: Something went wrong on our end.";default:return`Error ${e.status}: ${e.statusText||"Something went wrong."}`}return e?.message||"Something went wrong. Please try again later."})(t))))}function _(){return e.createElement("div",{className:"loading-screen"},e.createElement("div",{className:"loading-container"},e.createElement("div",{className:"loading-spinner"}),e.createElement("div",{className:"loading-text"},"Loading...")))}var M,x="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},N={};!function(){return M||(M=1,function(e){!function(){var t="object"==typeof globalThis?globalThis:"object"==typeof x?x:"object"==typeof self?self:"object"==typeof this?this:function(){try{return Function("return this;")()}catch(e){}}()||function(){try{return(0,eval)("(function() { return this; })()")}catch(e){}}(),n=r(e);function r(e,t){return function(n,r){Object.defineProperty(e,n,{configurable:!0,writable:!0,value:r}),t&&t(n,r)}}void 0!==t.Reflect&&(n=r(t.Reflect,n)),function(e,t){var n=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,a=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",o=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",i="function"==typeof Object.create,s={__proto__:[]}instanceof Array,c=!i&&!s,l={create:i?function(){return pe(Object.create(null))}:s?function(){return pe({__proto__:null})}:function(){return pe({})},has:c?function(e,t){return n.call(e,t)}:function(e,t){return t in e},get:c?function(e,t){return n.call(e,t)?e[t]:void 0}:function(e,t){return e[t]}},u=Object.getPrototypeOf(Function),p="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:ce(),f="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:le(),d="function"==typeof WeakMap?WeakMap:ue(),h=r?Symbol.for("@reflect-metadata:registry"):void 0,m=ae(),v=oe(m);function y(e,t,n,r){if(F(n)){if(!K(e))throw new TypeError;if(!G(t))throw new TypeError;return N(e,t)}if(!K(e))throw new TypeError;if(!z(t))throw new TypeError;if(!z(r)&&!F(r)&&!D(r))throw new TypeError;return D(r)&&(r=void 0),T(e,t,n=q(n),r)}function g(e,t){function n(n,r){if(!z(n))throw new TypeError;if(!F(r)&&!J(r))throw new TypeError;P(e,t,n,r)}return n}function E(e,t,n,r){if(!z(n))throw new TypeError;return F(r)||(r=q(r)),P(e,t,n,r)}function b(e,t,n){if(!z(t))throw new TypeError;return F(n)||(n=q(n)),A(e,t,n)}function w(e,t,n){if(!z(t))throw new TypeError;return F(n)||(n=q(n)),C(e,t,n)}function O(e,t,n){if(!z(t))throw new TypeError;return F(n)||(n=q(n)),k(e,t,n)}function S(e,t,n){if(!z(t))throw new TypeError;return F(n)||(n=q(n)),L(e,t,n)}function _(e,t){if(!z(e))throw new TypeError;return F(t)||(t=q(t)),I(e,t)}function M(e,t){if(!z(e))throw new TypeError;return F(t)||(t=q(t)),j(e,t)}function x(e,t,n){if(!z(t))throw new TypeError;if(F(n)||(n=q(n)),!z(t))throw new TypeError;F(n)||(n=q(n));var r=se(t,n,!1);return!F(r)&&r.OrdinaryDeleteMetadata(e,t,n)}function N(e,t){for(var n=e.length-1;n>=0;--n){var r=(0,e[n])(t);if(!F(r)&&!D(r)){if(!G(r))throw new TypeError;t=r}}return t}function T(e,t,n,r){for(var a=e.length-1;a>=0;--a){var o=(0,e[a])(t,n,r);if(!F(o)&&!D(o)){if(!z(o))throw new TypeError;r=o}}return r}function A(e,t,n){if(C(e,t,n))return!0;var r=ne(t);return!D(r)&&A(e,r,n)}function C(e,t,n){var r=se(t,n,!1);return!F(r)&&H(r.OrdinaryHasOwnMetadata(e,t,n))}function k(e,t,n){if(C(e,t,n))return L(e,t,n);var r=ne(t);return D(r)?void 0:k(e,r,n)}function L(e,t,n){var r=se(t,n,!1);if(!F(r))return r.OrdinaryGetOwnMetadata(e,t,n)}function P(e,t,n,r){se(n,r,!0).OrdinaryDefineOwnMetadata(e,t,n,r)}function I(e,t){var n=j(e,t),r=ne(e);if(null===r)return n;var a=I(r,t);if(a.length<=0)return n;if(n.length<=0)return a;for(var o=new f,i=[],s=0,c=n;s<c.length;s++){var l=c[s];o.has(l)||(o.add(l),i.push(l))}for(var u=0,p=a;u<p.length;u++){l=p[u];o.has(l)||(o.add(l),i.push(l))}return i}function j(e,t){var n=se(e,t,!1);return n?n.OrdinaryOwnMetadataKeys(e,t):[]}function V(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function F(e){return void 0===e}function D(e){return null===e}function R(e){return"symbol"==typeof e}function z(e){return"object"==typeof e?null!==e:"function"==typeof e}function B(e,t){switch(V(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var n="string",r=Q(e,a);if(void 0!==r){var o=r.call(e,n);if(z(o))throw new TypeError;return o}return $(e)}function $(e,t){var n,r,a=e.toString;if(W(a)&&!z(r=a.call(e)))return r;if(W(n=e.valueOf)&&!z(r=n.call(e)))return r;throw new TypeError}function H(e){return!!e}function U(e){return""+e}function q(e){var t=B(e);return R(t)?t:U(t)}function K(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function W(e){return"function"==typeof e}function G(e){return"function"==typeof e}function J(e){switch(V(e)){case 3:case 4:return!0;default:return!1}}function Y(e,t){return e===t||e!=e&&t!=t}function Q(e,t){var n=e[t];if(null!=n){if(!W(n))throw new TypeError;return n}}function X(e){var t=Q(e,o);if(!W(t))throw new TypeError;var n=t.call(e);if(!z(n))throw new TypeError;return n}function Z(e){return e.value}function ee(e){var t=e.next();return!t.done&&t}function te(e){var t=e.return;t&&t.call(e)}function ne(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===u)return t;if(t!==u)return t;var n=e.prototype,r=n&&Object.getPrototypeOf(n);if(null==r||r===Object.prototype)return t;var a=r.constructor;return"function"!=typeof a||a===e?t:a}function re(){var e,n,r,a;F(h)||void 0===t.Reflect||h in t.Reflect||"function"!=typeof t.Reflect.defineMetadata||(e=ie(t.Reflect));var o=new d,i={registerProvider:s,getProvider:l,setProvider:m};return i;function s(t){if(!Object.isExtensible(i))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case e===t:break;case F(n):n=t;break;case n===t:break;case F(r):r=t;break;case r===t:break;default:void 0===a&&(a=new f),a.add(t)}}function c(t,o){if(!F(n)){if(n.isProviderFor(t,o))return n;if(!F(r)){if(r.isProviderFor(t,o))return n;if(!F(a))for(var i=X(a);;){var s=ee(i);if(!s)return;var c=Z(s);if(c.isProviderFor(t,o))return te(i),c}}}if(!F(e)&&e.isProviderFor(t,o))return e}function l(e,t){var n,r=o.get(e);return F(r)||(n=r.get(t)),F(n)?(F(n=c(e,t))||(F(r)&&(r=new p,o.set(e,r)),r.set(t,n)),n):n}function u(e){if(F(e))throw new TypeError;return n===e||r===e||!F(a)&&a.has(e)}function m(e,t,n){if(!u(n))throw new Error("Metadata provider not registered.");var r=l(e,t);if(r!==n){if(!F(r))return!1;var a=o.get(e);F(a)&&(a=new p,o.set(e,a)),a.set(t,n)}return!0}}function ae(){var e;return!F(h)&&z(t.Reflect)&&Object.isExtensible(t.Reflect)&&(e=t.Reflect[h]),F(e)&&(e=re()),!F(h)&&z(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,h,{enumerable:!1,configurable:!1,writable:!1,value:e}),e}function oe(e){var t=new d,n={isProviderFor:function(e,n){var r=t.get(e);return!F(r)&&r.has(n)},OrdinaryDefineOwnMetadata:i,OrdinaryHasOwnMetadata:a,OrdinaryGetOwnMetadata:o,OrdinaryOwnMetadataKeys:s,OrdinaryDeleteMetadata:c};return m.registerProvider(n),n;function r(r,a,o){var i=t.get(r),s=!1;if(F(i)){if(!o)return;i=new p,t.set(r,i),s=!0}var c=i.get(a);if(F(c)){if(!o)return;if(c=new p,i.set(a,c),!e.setProvider(r,a,n))throw i.delete(a),s&&t.delete(r),new Error("Wrong provider for target.")}return c}function a(e,t,n){var a=r(t,n,!1);return!F(a)&&H(a.has(e))}function o(e,t,n){var a=r(t,n,!1);if(!F(a))return a.get(e)}function i(e,t,n,a){r(n,a,!0).set(e,t)}function s(e,t){var n=[],a=r(e,t,!1);if(F(a))return n;for(var o=X(a.keys()),i=0;;){var s=ee(o);if(!s)return n.length=i,n;var c=Z(s);try{n[i]=c}catch(e){try{te(o)}finally{throw e}}i++}}function c(e,n,a){var o=r(n,a,!1);if(F(o))return!1;if(!o.delete(e))return!1;if(0===o.size){var i=t.get(n);F(i)||(i.delete(a),0===i.size&&t.delete(i))}return!0}}function ie(e){var t=e.defineMetadata,n=e.hasOwnMetadata,r=e.getOwnMetadata,a=e.getOwnMetadataKeys,o=e.deleteMetadata,i=new d;return{isProviderFor:function(e,t){var n=i.get(e);return!(F(n)||!n.has(t))||!!a(e,t).length&&(F(n)&&(n=new f,i.set(e,n)),n.add(t),!0)},OrdinaryDefineOwnMetadata:t,OrdinaryHasOwnMetadata:n,OrdinaryGetOwnMetadata:r,OrdinaryOwnMetadataKeys:a,OrdinaryDeleteMetadata:o}}function se(e,t,n){var r=m.getProvider(e,t);if(!F(r))return r;if(n){if(m.setProvider(e,t,v))return v;throw new Error("Illegal state.")}}function ce(){var e={},t=[],n=function(){function e(e,t,n){this._index=0,this._keys=e,this._values=t,this._selector=n}return e.prototype["@@iterator"]=function(){return this},e.prototype[o]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var n=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}(),r=function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var n=this._find(e,!0);return this._values[n]=t,this},t.prototype.delete=function(t){var n=this._find(t,!1);if(n>=0){for(var r=this._keys.length,a=n+1;a<r;a++)this._keys[a-1]=this._keys[a],this._values[a-1]=this._values[a];return this._keys.length--,this._values.length--,Y(t,this._cacheKey)&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},t.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},t.prototype.keys=function(){return new n(this._keys,this._values,a)},t.prototype.values=function(){return new n(this._keys,this._values,i)},t.prototype.entries=function(){return new n(this._keys,this._values,s)},t.prototype["@@iterator"]=function(){return this.entries()},t.prototype[o]=function(){return this.entries()},t.prototype._find=function(e,t){if(!Y(this._cacheKey,e)){this._cacheIndex=-1;for(var n=0;n<this._keys.length;n++)if(Y(this._keys[n],e)){this._cacheIndex=n;break}}return this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},t}();return r;function a(e,t){return e}function i(e,t){return t}function s(e,t){return[e,t]}}function le(){return function(){function e(){this._map=new p}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.keys()},e.prototype.entries=function(){return this._map.entries()},e.prototype["@@iterator"]=function(){return this.keys()},e.prototype[o]=function(){return this.keys()},e}()}function ue(){var e=16,t=l.create(),r=a();return function(){function e(){this._key=a()}return e.prototype.has=function(e){var t=o(e,!1);return void 0!==t&&l.has(t,this._key)},e.prototype.get=function(e){var t=o(e,!1);return void 0!==t?l.get(t,this._key):void 0},e.prototype.set=function(e,t){return o(e,!0)[this._key]=t,this},e.prototype.delete=function(e){var t=o(e,!1);return void 0!==t&&delete t[this._key]},e.prototype.clear=function(){this._key=a()},e}();function a(){var e;do{e="@@WeakMap@@"+c()}while(l.has(t,e));return t[e]=!0,e}function o(e,t){if(!n.call(e,r)){if(!t)return;Object.defineProperty(e,r,{value:l.create()})}return e[r]}function i(e,t){for(var n=0;n<t;++n)e[n]=255*Math.random()|0;return e}function s(e){if("function"==typeof Uint8Array){var t=new Uint8Array(e);return"undefined"!=typeof crypto?crypto.getRandomValues(t):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(t):i(t,e),t}return i(new Array(e),e)}function c(){var t=s(e);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var n="",r=0;r<e;++r){var a=t[r];4!==r&&6!==r&&8!==r||(n+="-"),a<16&&(n+="0"),n+=a.toString(16).toLowerCase()}return n}}function pe(e){return e.__=void 0,delete e.__,e}e("decorate",y),e("metadata",g),e("defineMetadata",E),e("hasMetadata",b),e("hasOwnMetadata",w),e("getMetadata",O),e("getOwnMetadata",S),e("getMetadataKeys",_),e("getOwnMetadataKeys",M),e("deleteMetadata",x)}(n,t),void 0===t.Reflect&&(t.Reflect=e)}()}(e||(e={}))),N;var e}();const T="List";function A(e){return Reflect.getMetadata(T,e)}const C=Symbol("cell");function k(e){return(t,n)=>{const r=Reflect.getMetadata(C,t)||[];if(Reflect.defineMetadata(C,[...r,n.toString()],t),e){const r=`${C.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,e,t)}}}function L(e){const t=e.prototype;return(Reflect.getMetadata(C,t)||[]).map((e=>{const n=Reflect.getMetadata(`${C.toString()}:${e}:options`,t)||{};return{...n,name:n?.name??e}}))}function P({pagination:t,onPageChange:n}){const{total:r,page:a,limit:o}=t,i=Math.floor(r/o);if(i<=1)return null;return e.createElement("div",{className:"pagination"},e.createElement("button",{onClick:()=>n(a-1),className:"pagination-item "+(1===a?"disabled":""),disabled:1===a,"aria-disabled":1===a},"Previous"),(()=>{const t=[];for(let r=1;r<=Math.min(2,i);r++)t.push(e.createElement("button",{key:r,onClick:()=>n(r),className:"pagination-item "+(a===r?"active":""),disabled:a===r},r));a-2>3&&t.push(e.createElement("span",{key:"ellipsis1",className:"pagination-ellipsis"},"..."));for(let r=Math.max(3,a-2);r<=Math.min(i-2,a+2);r++)r>2&&r<i-1&&t.push(e.createElement("button",{key:r,onClick:()=>n(r),className:"pagination-item "+(a===r?"active":""),disabled:a===r},r));a+2<i-2&&t.push(e.createElement("span",{key:"ellipsis2",className:"pagination-ellipsis"},"..."));for(let r=Math.max(i-1,3);r<=i;r++)r>2&&t.push(e.createElement("button",{key:r,onClick:()=>n(r),className:"pagination-item "+(a===r?"active":""),disabled:a===r},r));return t})(),e.createElement("button",{onClick:()=>n(a+1),className:"pagination-item "+(a===i?"disabled":""),disabled:a===i,"aria-disabled":a===i},"Next"))}var I,j,V;function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},F.apply(null,arguments)}var D,R=function(e){return c.createElement("svg",F({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},e),I||(I=c.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),j||(j=c.createElement("path",{d:"M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5v2H5v14h14v-5z"})),V||(V=c.createElement("path",{d:"M21 7h-4V3h-2v4h-4v2h4v4h2V9h4"})))};function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},z.apply(null,arguments)}var B=function(e){return c.createElement("svg",z({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},e),D||(D=c.createElement("path",{d:"M22 3H2l8 9.46V19l4 2v-8.54z"})))};function $({field:t,value:r,onChange:a}){if("static-select"===t.filter?.type){const o=t.filter;return e.createElement(n,{id:t.name,menuPortalTarget:document.body,styles:{control:(e,t)=>({...e,backgroundColor:"#1f2937",borderColor:t.isFocused?"#6366f1":"#374151",boxShadow:t.isFocused?"0 0 0 1px #6366f1":"none","&:hover":{borderColor:"#6366f1"},borderRadius:"6px",padding:"2px",color:"white"}),option:(e,t)=>({...e,backgroundColor:t.isSelected?"#6366f1":t.isFocused?"#374151":"#1f2937",color:"white","&:active":{backgroundColor:"#6366f1"},"&:hover":{backgroundColor:"#374151"},cursor:"pointer"}),input:e=>({...e,color:"white"}),placeholder:e=>({...e,color:"#9ca3af"}),singleValue:e=>({...e,color:"white"}),menuPortal:e=>({...e,zIndex:9999}),menu:e=>({...e,backgroundColor:"#1f2937",border:"1px solid #374151",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}),menuList:e=>({...e,padding:"4px"}),dropdownIndicator:e=>({...e,color:"#9ca3af","&:hover":{color:"#6366f1"}}),clearIndicator:e=>({...e,color:"#9ca3af","&:hover":{color:"#6366f1"}})},value:r?{value:r,label:o.options.find((e=>e.value===r))?.label||r}:null,onChange:e=>a(e?.value||""),options:o.options.map((e=>({value:e.value,label:e.label}))),placeholder:`Filter by ${t.title||t.name}`,isClearable:!0})}return e.createElement("input",{type:"number"===t.type?"number":"text",id:t.name,value:r||"",onChange:e=>a(e.target.value),placeholder:`Filter by ${t.title||t.name}`})}function H({isOpen:t,onClose:n,onApplyFilters:r,listData:a,activeFilters:o}){const[i,s]=e.useState(o??{}),c=e.useRef(null),l=e.useMemo((()=>a.cells.filter((e=>!!e.filter))),[a.cells]);if(e.useEffect((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&n()};return t&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}}),[t,n]),!t)return null;return e.createElement("div",{className:"filter-popup-overlay"},e.createElement("div",{ref:c,className:"filter-popup"},e.createElement("div",{className:"filter-popup-header"},e.createElement("h3",null,"Filter"),e.createElement("button",{onClick:n,className:"close-button"},"×")),e.createElement("div",{className:"filter-popup-content"},l.map((t=>e.createElement("div",{key:t.name,className:"filter-field"},e.createElement("label",{htmlFor:t.name},t.title||t.name),e.createElement($,{field:t,value:i[t.name||""],onChange:e=>((e,t)=>{s((n=>({...n,[e]:t})))})(t.name||"",e)}))))),e.createElement("div",{className:"filter-popup-footer"},e.createElement("button",{onClick:n,className:"cancel-button"},"Cancel"),e.createElement("button",{onClick:()=>{r(i),n()},className:"apply-button"},"Apply Filters"))))}const U=({listData:n,filtered:r,onFilterClick:a,customHeader:o})=>{const i=e.useMemo((()=>n.cells.filter((e=>!!e.filter))),[n.cells]),s=n.list?.headers;return e.createElement("div",{className:"list-header"},e.createElement("div",{className:"header-title"},s?.title||"List"),o&&e.createElement("div",{className:"header-custom"},o),e.createElement("div",{className:"header-actions"},!!i.length&&e.createElement("button",{onClick:a,className:"filter-button"},e.createElement(B,{className:"icon icon-filter "+(r?"active":"")}),"Filter"),s?.create&&e.createElement(t.Link,{to:s.create.path,className:"create-button"},e.createElement(R,{className:"icon icon-create"}),s.create.label)))};function q({htmlFor:t,label:n,fieldName:r}){return e.createElement("label",{htmlFor:t},n??r.charAt(0).toUpperCase()+r.slice(1))}const K=Object.freeze({BEFORE:"before",HOVER:"hover",AFTER:"after"});function W(t){return e.createElement("div",null,e.createElement("img",{...t,style:{width:100}}),e.createElement("p",null,t.name," ",e.createElement("span",{style:{whiteSpace:"none"}},"(",(e=>{if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB","TB"][t]})(t.size),")")))}function G(){const{register:t,formState:{errors:n},watch:a,setValue:o,clearErrors:i,setError:s}=r.useFormContext(),c=a("uploader");return e.useEffect((()=>{t("uploader",{required:!0})}),[t]),e.createElement("div",null,e.createElement("span",{className:"form-error",style:{bottom:2,top:"unset"}},"required"===n.uploader?.type&&"At least 1 image is required!","custom"===n.uploader?.type&&n.uploader.message?.toString()),e.createElement(J,{reset:c,onError:e=>{e?s("uploader",{type:"custom",message:e}):(o("uploader",{files:[]}),i("uploader"))},onClear:()=>{o("uploader",{files:[]}),i("uploader")},onFilesChange:e=>{o("uploader",{files:e})}}))}function J(t){const[n,r]=e.useState(K.BEFORE),[a,o]=e.useState(t.value||[]),[i,s]=e.useState([]),[c,l]=e.useState(0);console.log("files",i);const u=e.useRef(null),p=e.useRef(null);e.useEffect((()=>{const e=u.current;if(!e)return;const n=e=>{e.preventDefault(),e.stopPropagation(),f()},a=e=>{e.preventDefault(),e.stopPropagation(),d()},o=e=>{e.preventDefault(),e.stopPropagation()},c=e=>{e.preventDefault(),e.stopPropagation(),l(0);const n=e.dataTransfer?.files;if(!n)return;s([]),r(K.AFTER);const a=[];for(let e=0;e<n.length;e++){const r=new FileReader;r.onload=r=>{if(!r.target)return;h([...i,{file:n[e],image:r.target.result}])&&(a.push(n[e]),p.current&&(p.current.files=n),s([])),t.onFilesChange&&t.onFilesChange(a)},r.readAsDataURL(n[e])}p.current&&(p.current.files=n)};return e.addEventListener("dragenter",n,!1),e.addEventListener("dragleave",a,!1),e.addEventListener("dragover",o,!1),e.addEventListener("drop",c,!1),()=>{e.removeEventListener("dragenter",n),e.removeEventListener("dragleave",a),e.removeEventListener("dragover",o),e.removeEventListener("drop",c)}}),[i]);const f=()=>{l((e=>e+1)),r(K.HOVER)},d=()=>{l((e=>e-1==0?(r(K.BEFORE),0):e-1))},h=e=>{const n=(e=>{if(!e)return null;if(e.length>=10)return"you can't send more than 10 images";for(let t=0;t<e.length;t++){const n=e[t].file,r=n.name.split(".");if(!["png","jpg","jpeg"].includes(r[r.length-1]))return'Extension of the file can only be "png", "jpg" or "jpeg" ';if(n&&n.size>1048576)return`Size of "${n.name}" can't be bigger than 1mb`}return null})(e);return n||s(e),t.onError?.(n),n};return e.createElement("div",{ref:u,className:"multi-image form-element dropzone "+n},e.createElement("input",{ref:p,type:"file",style:{display:"none"},className:"target",name:"file"}),e.createElement("div",{className:"container"},e.createElement("button",{className:"trash",onClick:()=>{s([]),p.current&&(p.current.value=""),t.onClear?.()},type:"button"},"Delete All"),(()=>{const t=[];if(i){console.log("----\x3e",i);for(let n=0;n<i.length;n++){let r="image";t.push(e.createElement("div",{key:n,className:"image-container"},e.createElement("div",{className:r},e.createElement(W,{name:i[n].file.name,src:i[n].image,size:i[n].file.size}))))}}return t})(),e.createElement("div",null,e.createElement("button",{type:"button",onClick:()=>{const e=document.getElementById("file__");e&&e.click()},className:"plus"},e.createElement("span",null,"+ Add Image",e.createElement("p",null,"Drag image here or Select Image")))),e.createElement("input",{hidden:!0,id:"file__",multiple:!0,type:"file",onChange:e=>{const t=e.target.files;if(t){s([]),r(K.AFTER);for(let e=0;e<t.length;e++){const n=new FileReader;n.onload=n=>{n.target&&h([...i,{file:t[e],image:n.target.result}])},n.readAsDataURL(t[e])}p.current&&(p.current.files=t)}}})))}function Y({id:t,...n}){return e.createElement("input",{type:"checkbox",id:t,className:"checkbox",...n})}function Q({input:t,register:n}){const a=r.useFormContext(),o=a.getValues(t.name);return e.createElement("div",null,o?.map(((r,o)=>e.createElement("div",{key:o},t.nestedFields?.map((r=>e.createElement(X,{key:r.name?.toString()??"",baseName:t.name+"["+o+"]",input:r,register:n,error:t.name?{message:a.formState.errors[t.name]?.message}:void 0})))))))}function X({input:t,register:n,error:r,baseName:a}){const o=(a?a.toString()+".":"")+t.name||"";return e.createElement("div",{className:"form-field"},e.createElement(q,{htmlFor:o,label:t.label,fieldName:o}),(()=>{switch(t.type){case"textarea":return e.createElement("textarea",{...n(o),placeholder:t.placeholder,id:o});case"select":return e.createElement("select",{...n(o),id:o},e.createElement("option",{value:""},"Select ",o),t.options?.map((t=>e.createElement("option",{key:t.value,value:t.value},t.label))));case"input":return e.createElement("input",{type:t.inputType,...n(o),placeholder:t.placeholder,id:o});case"file-upload":return e.createElement(G,null);case"checkbox":return e.createElement(Y,{...n(o),id:o});case"hidden":return e.createElement("input",{type:"hidden",...n(o),id:o});case"nested":return e.createElement(Q,{input:t,register:n})}})(),r&&e.createElement("span",{className:"error-message"},r.message))}function Z({formOptions:n,onSubmit:a,getDetailsData:o,redirectBackOnSuccess:i}){const s=t.useParams(),c=r.useForm({resolver:n.resolver}),l=t.useNavigate(),u=n.inputs;return e.useEffect((()=>{o&&o(s).then((e=>{c.reset({...e})}))}),[s,c.reset]),e.createElement("div",{className:"form-wrapper"},e.createElement(r.FormProvider,{...c},e.createElement("form",{onSubmit:c.handleSubmit((async e=>{await a(e),i&&l(-1)}),((e,t)=>{console.log("error creating creation",e,t)}))},e.createElement("div",null,u?.map((t=>e.createElement(X,{key:t.name||"",input:t,register:c.register,error:t.name?{message:c.formState.errors[t.name]?.message}:void 0}))),e.createElement("button",{type:"submit",className:"submit-button"},"Submit")))))}class ee extends e.Component{state={hasError:!1,error:null,errorInfo:null};static getDerivedStateFromError(e){return{hasError:!0,error:e,errorInfo:null}}componentDidCatch(e,t){this.setState({error:e,errorInfo:t})}render(){return this.state.hasError?e.createElement("div",{className:"error-boundary"},e.createElement("div",{className:"error-boundary__content"},e.createElement("div",{className:"error-boundary__icon"},e.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},e.createElement("circle",{cx:"12",cy:"12",r:"10"}),e.createElement("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),e.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"16"}))),e.createElement("h1",null,"Oops! Something went wrong"),e.createElement("p",{className:"error-boundary__message"},this.state.error?.message||"An unexpected error occurred"),e.createElement("button",{className:"error-boundary__button",onClick:()=>window.location.reload()},"Refresh Page"),"development"===process.env.NODE_ENV&&e.createElement("details",{className:"error-boundary__details"},e.createElement("summary",null,"Error Details"),e.createElement("pre",null,this.state.error?.toString()),e.createElement("pre",null,this.state.errorInfo?.componentStack)))):this.props.children}}const te=Symbol("input");function ne(e){const t=e.prototype;return(Reflect.getMetadata(te,t)||[]).map((e=>{const n=Reflect.getMetadata(`${te.toString()}:${e}:options`,t)||{},r=n?.inputType??(a=e,["password"].some((e=>a.toLowerCase().includes(e)))?"password":"text");var a;return{...n,editable:n.editable??!0,sensitive:n.sensitive,name:n?.name??e,label:n?.label??e,placeholder:n?.placeholder??e,inputType:r,type:n?.type??"input",selectOptions:n?.selectOptions??[],cancelPasswordValidationOnEdit:n?.cancelPasswordValidationOnEdit??"password"===r}}))}function re(e){return Reflect.getMetadata("FormMetadata",e)}const ae=(e,t,n)=>{if(e&&"reportValidity"in e){const a=r.get(n,t);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},oe=(e,t)=>{for(const n in t.fields){const r=t.fields[n];r&&r.ref&&"reportValidity"in r.ref?ae(r.ref,n,e):r&&r.refs&&r.refs.forEach((t=>ae(t,n,e)))}},ie=(e,t)=>{t.shouldUseNativeValidation&&oe(e,t);const n={};for(const a in e){const o=r.get(t.fields,a),i=Object.assign(e[a]||{},{ref:o&&o.ref});if(se(t.names||Object.keys(e),a)){const e=Object.assign({},r.get(n,a));r.set(e,"root",i),r.set(n,a,e)}else r.set(n,a,i)}return n},se=(e,t)=>{const n=ce(t);return e.some((e=>ce(e).match(`^${n}\\.\\d+`)))};function ce(e){return e.replace(/\]|\[/g,"")}var le;!function(e){e[e.PLAIN_TO_CLASS=0]="PLAIN_TO_CLASS",e[e.CLASS_TO_PLAIN=1]="CLASS_TO_PLAIN",e[e.CLASS_TO_CLASS=2]="CLASS_TO_CLASS"}(le||(le={}));var ue=function(){function e(){this._typeMetadatas=new Map,this._transformMetadatas=new Map,this._exposeMetadatas=new Map,this._excludeMetadatas=new Map,this._ancestorsMap=new Map}return e.prototype.addTypeMetadata=function(e){this._typeMetadatas.has(e.target)||this._typeMetadatas.set(e.target,new Map),this._typeMetadatas.get(e.target).set(e.propertyName,e)},e.prototype.addTransformMetadata=function(e){this._transformMetadatas.has(e.target)||this._transformMetadatas.set(e.target,new Map),this._transformMetadatas.get(e.target).has(e.propertyName)||this._transformMetadatas.get(e.target).set(e.propertyName,[]),this._transformMetadatas.get(e.target).get(e.propertyName).push(e)},e.prototype.addExposeMetadata=function(e){this._exposeMetadatas.has(e.target)||this._exposeMetadatas.set(e.target,new Map),this._exposeMetadatas.get(e.target).set(e.propertyName,e)},e.prototype.addExcludeMetadata=function(e){this._excludeMetadatas.has(e.target)||this._excludeMetadatas.set(e.target,new Map),this._excludeMetadatas.get(e.target).set(e.propertyName,e)},e.prototype.findTransformMetadatas=function(e,t,n){return this.findMetadatas(this._transformMetadatas,e,t).filter((function(e){return!e.options||(!0===e.options.toClassOnly&&!0===e.options.toPlainOnly||(!0===e.options.toClassOnly?n===le.CLASS_TO_CLASS||n===le.PLAIN_TO_CLASS:!0!==e.options.toPlainOnly||n===le.CLASS_TO_PLAIN))}))},e.prototype.findExcludeMetadata=function(e,t){return this.findMetadata(this._excludeMetadatas,e,t)},e.prototype.findExposeMetadata=function(e,t){return this.findMetadata(this._exposeMetadatas,e,t)},e.prototype.findExposeMetadataByCustomName=function(e,t){return this.getExposedMetadatas(e).find((function(e){return e.options&&e.options.name===t}))},e.prototype.findTypeMetadata=function(e,t){return this.findMetadata(this._typeMetadatas,e,t)},e.prototype.getStrategy=function(e){var t=this._excludeMetadatas.get(e),n=t&&t.get(void 0),r=this._exposeMetadatas.get(e),a=r&&r.get(void 0);return n&&a||!n&&!a?"none":n?"excludeAll":"exposeAll"},e.prototype.getExposedMetadatas=function(e){return this.getMetadata(this._exposeMetadatas,e)},e.prototype.getExcludedMetadatas=function(e){return this.getMetadata(this._excludeMetadatas,e)},e.prototype.getExposedProperties=function(e,t){return this.getExposedMetadatas(e).filter((function(e){return!e.options||(!0===e.options.toClassOnly&&!0===e.options.toPlainOnly||(!0===e.options.toClassOnly?t===le.CLASS_TO_CLASS||t===le.PLAIN_TO_CLASS:!0!==e.options.toPlainOnly||t===le.CLASS_TO_PLAIN))})).map((function(e){return e.propertyName}))},e.prototype.getExcludedProperties=function(e,t){return this.getExcludedMetadatas(e).filter((function(e){return!e.options||(!0===e.options.toClassOnly&&!0===e.options.toPlainOnly||(!0===e.options.toClassOnly?t===le.CLASS_TO_CLASS||t===le.PLAIN_TO_CLASS:!0!==e.options.toPlainOnly||t===le.CLASS_TO_PLAIN))})).map((function(e){return e.propertyName}))},e.prototype.clear=function(){this._typeMetadatas.clear(),this._exposeMetadatas.clear(),this._excludeMetadatas.clear(),this._ancestorsMap.clear()},e.prototype.getMetadata=function(e,t){var n,r=e.get(t);r&&(n=Array.from(r.values()).filter((function(e){return void 0!==e.propertyName})));for(var a=[],o=0,i=this.getAncestors(t);o<i.length;o++){var s=i[o],c=e.get(s);if(c){var l=Array.from(c.values()).filter((function(e){return void 0!==e.propertyName}));a.push.apply(a,l)}}return a.concat(n||[])},e.prototype.findMetadata=function(e,t,n){var r=e.get(t);if(r){var a=r.get(n);if(a)return a}for(var o=0,i=this.getAncestors(t);o<i.length;o++){var s=i[o],c=e.get(s);if(c){var l=c.get(n);if(l)return l}}},e.prototype.findMetadatas=function(e,t,n){var r,a=e.get(t);a&&(r=a.get(n));for(var o=[],i=0,s=this.getAncestors(t);i<s.length;i++){var c=s[i],l=e.get(c);l&&l.has(n)&&o.push.apply(o,l.get(n))}return o.slice().reverse().concat((r||[]).slice().reverse())},e.prototype.getAncestors=function(e){if(!e)return[];if(!this._ancestorsMap.has(e)){for(var t=[],n=Object.getPrototypeOf(e.prototype.constructor);void 0!==n.prototype;n=Object.getPrototypeOf(n.prototype.constructor))t.push(n);this._ancestorsMap.set(e,t)}return this._ancestorsMap.get(e)},e}(),pe=new ue;var fe=function(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))};var de=function(){function e(e,t){this.transformationType=e,this.options=t,this.recursionStack=new Set}return e.prototype.transform=function(e,t,n,r,a,o){var i,s=this;if(void 0===o&&(o=0),Array.isArray(t)||t instanceof Set){var c=r&&this.transformationType===le.PLAIN_TO_CLASS?function(e){var t=new e;return t instanceof Set||"push"in t?t:[]}(r):[];return t.forEach((function(t,r){var a=e?e[r]:void 0;if(s.options.enableCircularCheck&&s.isCircular(t))s.transformationType===le.CLASS_TO_CLASS&&(c instanceof Set?c.add(t):c.push(t));else{var i=void 0;if("function"!=typeof n&&n&&n.options&&n.options.discriminator&&n.options.discriminator.property&&n.options.discriminator.subTypes){if(s.transformationType===le.PLAIN_TO_CLASS){i=n.options.discriminator.subTypes.find((function(e){return e.name===t[n.options.discriminator.property]}));var l={newObject:c,object:t,property:void 0},u=n.typeFunction(l);i=void 0===i?u:i.value,n.options.keepDiscriminatorProperty||delete t[n.options.discriminator.property]}s.transformationType===le.CLASS_TO_CLASS&&(i=t.constructor),s.transformationType===le.CLASS_TO_PLAIN&&(t[n.options.discriminator.property]=n.options.discriminator.subTypes.find((function(e){return e.value===t.constructor})).name)}else i=n;var p=s.transform(a,t,i,void 0,t instanceof Map,o+1);c instanceof Set?c.add(p):c.push(p)}})),c}if(n!==String||a){if(n!==Number||a){if(n!==Boolean||a){if((n===Date||t instanceof Date)&&!a)return t instanceof Date?new Date(t.valueOf()):null==t?t:new Date(t);if(("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0).Buffer&&(n===Buffer||t instanceof Buffer)&&!a)return null==t?t:Buffer.from(t);if(null===(i=t)||"object"!=typeof i||"function"!=typeof i.then||a){if(a||null===t||"object"!=typeof t||"function"!=typeof t.then){if("object"==typeof t&&null!==t){n||t.constructor===Object||(Array.isArray(t)||t.constructor!==Array)&&(n=t.constructor),!n&&e&&(n=e.constructor),this.options.enableCircularCheck&&this.recursionStack.add(t);var l=this.getKeys(n,t,a),u=e||{};e||this.transformationType!==le.PLAIN_TO_CLASS&&this.transformationType!==le.CLASS_TO_CLASS||(u=a?new Map:n?new n:{});for(var p=function(r){if("__proto__"===r||"constructor"===r)return"continue";var i=r,s=r,c=r;if(!f.options.ignoreDecorators&&n)if(f.transformationType===le.PLAIN_TO_CLASS)(l=pe.findExposeMetadataByCustomName(n,r))&&(c=l.propertyName,s=l.propertyName);else if(f.transformationType===le.CLASS_TO_PLAIN||f.transformationType===le.CLASS_TO_CLASS){var l;(l=pe.findExposeMetadata(n,r))&&l.options&&l.options.name&&(s=l.options.name)}var p=void 0;p=f.transformationType===le.PLAIN_TO_CLASS?t[i]:t instanceof Map?t.get(i):t[i]instanceof Function?t[i]():t[i];var d=void 0,h=p instanceof Map;if(n&&a)d=n;else if(n){var m=pe.findTypeMetadata(n,c);if(m){var v={newObject:u,object:t,property:c},y=m.typeFunction?m.typeFunction(v):m.reflectedType;m.options&&m.options.discriminator&&m.options.discriminator.property&&m.options.discriminator.subTypes?t[i]instanceof Array?d=m:(f.transformationType===le.PLAIN_TO_CLASS&&(d=void 0===(d=m.options.discriminator.subTypes.find((function(e){if(p&&p instanceof Object&&m.options.discriminator.property in p)return e.name===p[m.options.discriminator.property]})))?y:d.value,m.options.keepDiscriminatorProperty||p&&p instanceof Object&&m.options.discriminator.property in p&&delete p[m.options.discriminator.property]),f.transformationType===le.CLASS_TO_CLASS&&(d=p.constructor),f.transformationType===le.CLASS_TO_PLAIN&&p&&(p[m.options.discriminator.property]=m.options.discriminator.subTypes.find((function(e){return e.value===p.constructor})).name)):d=y,h=h||m.reflectedType===Map}else if(f.options.targetMaps)f.options.targetMaps.filter((function(e){return e.target===n&&!!e.properties[c]})).forEach((function(e){return d=e.properties[c]}));else if(f.options.enableImplicitConversion&&f.transformationType===le.PLAIN_TO_CLASS){var g=Reflect.getMetadata("design:type",n.prototype,c);g&&(d=g)}}var E=Array.isArray(t[i])?f.getReflectedType(n,c):void 0,b=e?e[i]:void 0;if(u.constructor.prototype){var w=Object.getOwnPropertyDescriptor(u.constructor.prototype,s);if((f.transformationType===le.PLAIN_TO_CLASS||f.transformationType===le.CLASS_TO_CLASS)&&(w&&!w.set||u[s]instanceof Function))return"continue"}if(f.options.enableCircularCheck&&f.isCircular(p)){if(f.transformationType===le.CLASS_TO_CLASS){S=p;(void 0!==(S=f.applyCustomTransformations(S,n,r,t,f.transformationType))||f.options.exposeUnsetFields)&&(u instanceof Map?u.set(s,S):u[s]=S)}}else{var O=f.transformationType===le.PLAIN_TO_CLASS?s:r,S=void 0;f.transformationType===le.CLASS_TO_PLAIN?(S=t[O],S=f.applyCustomTransformations(S,n,O,t,f.transformationType),S=t[O]===S?p:S,S=f.transform(b,S,d,E,h,o+1)):void 0===p&&f.options.exposeDefaultValues?S=u[s]:(S=f.transform(b,p,d,E,h,o+1),S=f.applyCustomTransformations(S,n,O,t,f.transformationType)),(void 0!==S||f.options.exposeUnsetFields)&&(u instanceof Map?u.set(s,S):u[s]=S)}},f=this,d=0,h=l;d<h.length;d++){p(h[d])}return this.options.enableCircularCheck&&this.recursionStack.delete(t),u}return t}return t}return new Promise((function(e,r){t.then((function(t){return e(s.transform(void 0,t,n,void 0,void 0,o+1))}),r)}))}return null==t?t:Boolean(t)}return null==t?t:Number(t)}return null==t?t:String(t)},e.prototype.applyCustomTransformations=function(e,t,n,r,a){var o=this,i=pe.findTransformMetadatas(t,n,this.transformationType);return void 0!==this.options.version&&(i=i.filter((function(e){return!e.options||o.checkVersion(e.options.since,e.options.until)}))),(i=this.options.groups&&this.options.groups.length?i.filter((function(e){return!e.options||o.checkGroups(e.options.groups)})):i.filter((function(e){return!e.options||!e.options.groups||!e.options.groups.length}))).forEach((function(t){e=t.transformFn({value:e,key:n,obj:r,type:a,options:o.options})})),e},e.prototype.isCircular=function(e){return this.recursionStack.has(e)},e.prototype.getReflectedType=function(e,t){if(e){var n=pe.findTypeMetadata(e,t);return n?n.reflectedType:void 0}},e.prototype.getKeys=function(e,t,n){var r=this,a=pe.getStrategy(e);"none"===a&&(a=this.options.strategy||"exposeAll");var o=[];if(("exposeAll"===a||n)&&(o=t instanceof Map?Array.from(t.keys()):Object.keys(t)),n)return o;if(this.options.ignoreDecorators&&this.options.excludeExtraneousValues&&e){var i=pe.getExposedProperties(e,this.transformationType),s=pe.getExcludedProperties(e,this.transformationType);o=fe(fe([],i,!0),s,!0)}if(!this.options.ignoreDecorators&&e){i=pe.getExposedProperties(e,this.transformationType);this.transformationType===le.PLAIN_TO_CLASS&&(i=i.map((function(t){var n=pe.findExposeMetadata(e,t);return n&&n.options&&n.options.name?n.options.name:t}))),o=this.options.excludeExtraneousValues?i:o.concat(i);var c=pe.getExcludedProperties(e,this.transformationType);c.length>0&&(o=o.filter((function(e){return!c.includes(e)}))),void 0!==this.options.version&&(o=o.filter((function(t){var n=pe.findExposeMetadata(e,t);return!n||!n.options||r.checkVersion(n.options.since,n.options.until)}))),o=this.options.groups&&this.options.groups.length?o.filter((function(t){var n=pe.findExposeMetadata(e,t);return!n||!n.options||r.checkGroups(n.options.groups)})):o.filter((function(t){var n=pe.findExposeMetadata(e,t);return!(n&&n.options&&n.options.groups&&n.options.groups.length)}))}return this.options.excludePrefixes&&this.options.excludePrefixes.length&&(o=o.filter((function(e){return r.options.excludePrefixes.every((function(t){return e.substr(0,t.length)!==t}))}))),o=o.filter((function(e,t,n){return n.indexOf(e)===t}))},e.prototype.checkVersion=function(e,t){var n=!0;return n&&e&&(n=this.options.version>=e),n&&t&&(n=this.options.version<t),n},e.prototype.checkGroups=function(e){return!e||this.options.groups.some((function(t){return e.includes(t)}))},e}(),he={enableCircularCheck:!1,enableImplicitConversion:!1,excludeExtraneousValues:!1,excludePrefixes:void 0,exposeDefaultValues:!1,exposeUnsetFields:!0,groups:void 0,ignoreDecorators:!1,strategy:void 0,targetMaps:void 0,version:void 0},me=function(){return me=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},me.apply(this,arguments)},ve=new(function(){function e(){}return e.prototype.instanceToPlain=function(e,t){return new de(le.CLASS_TO_PLAIN,me(me({},he),t)).transform(void 0,e,void 0,void 0,void 0,void 0)},e.prototype.classToPlainFromExist=function(e,t,n){return new de(le.CLASS_TO_PLAIN,me(me({},he),n)).transform(t,e,void 0,void 0,void 0,void 0)},e.prototype.plainToInstance=function(e,t,n){return new de(le.PLAIN_TO_CLASS,me(me({},he),n)).transform(void 0,t,e,void 0,void 0,void 0)},e.prototype.plainToClassFromExist=function(e,t,n){return new de(le.PLAIN_TO_CLASS,me(me({},he),n)).transform(e,t,void 0,void 0,void 0,void 0)},e.prototype.instanceToInstance=function(e,t){return new de(le.CLASS_TO_CLASS,me(me({},he),t)).transform(void 0,e,void 0,void 0,void 0,void 0)},e.prototype.classToClassFromExist=function(e,t,n){return new de(le.CLASS_TO_CLASS,me(me({},he),n)).transform(t,e,void 0,void 0,void 0,void 0)},e.prototype.serialize=function(e,t){return JSON.stringify(this.instanceToPlain(e,t))},e.prototype.deserialize=function(e,t,n){var r=JSON.parse(t);return this.plainToInstance(e,r,n)},e.prototype.deserializeArray=function(e,t,n){var r=JSON.parse(t);return this.plainToInstance(e,r,n)},e}());var ye=function(e){this.groups=[],this.each=!1,this.context=void 0,this.type=e.type,this.name=e.name,this.target=e.target,this.propertyName=e.propertyName,this.constraints=null==e?void 0:e.constraints,this.constraintCls=e.constraintCls,this.validationTypeOptions=e.validationTypeOptions,e.validationOptions&&(this.message=e.validationOptions.message,this.groups=e.validationOptions.groups,this.always=e.validationOptions.always,this.each=e.validationOptions.each,this.context=e.validationOptions.context)},ge=function(){function e(){}return e.prototype.transform=function(e){var t=[];return Object.keys(e.properties).forEach((function(n){e.properties[n].forEach((function(r){var a={message:r.message,groups:r.groups,always:r.always,each:r.each},o={type:r.type,name:r.name,target:e.name,propertyName:n,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:a};t.push(new ye(o))}))})),t},e}();function Ee(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0}function be(e){return null!==e&&"object"==typeof e&&"function"==typeof e.then}var we=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Oe=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},Se=function(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))},_e=function(){function e(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(e.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),e.prototype.addValidationSchema=function(e){var t=this;(new ge).transform(e).forEach((function(e){return t.addValidationMetadata(e)}))},e.prototype.addValidationMetadata=function(e){var t=this.validationMetadatas.get(e.target);t?t.push(e):this.validationMetadatas.set(e.target,[e])},e.prototype.addConstraintMetadata=function(e){var t=this.constraintMetadatas.get(e.target);t?t.push(e):this.constraintMetadatas.set(e.target,[e])},e.prototype.groupByPropertyName=function(e){var t={};return e.forEach((function(e){t[e.propertyName]||(t[e.propertyName]=[]),t[e.propertyName].push(e)})),t},e.prototype.getTargetValidationMetadatas=function(e,t,n,r,a){var o,i,s=function(e){return void 0!==e.always?e.always:(!e.groups||!e.groups.length)&&n},c=function(e){return!(!r||a&&a.length||!e.groups||!e.groups.length)},l=(this.validationMetadatas.get(e)||[]).filter((function(n){return(n.target===e||n.target===t)&&(!!s(n)||!c(n)&&(!(a&&a.length>0)||n.groups&&!!n.groups.find((function(e){return-1!==a.indexOf(e)}))))})),u=[];try{for(var p=we(this.validationMetadatas.entries()),f=p.next();!f.done;f=p.next()){var d=Oe(f.value,2),h=d[0],m=d[1];e.prototype instanceof h&&u.push.apply(u,Se([],Oe(m),!1))}}catch(e){o={error:e}}finally{try{f&&!f.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}var v=u.filter((function(t){return"string"!=typeof t.target&&(t.target!==e&&((!(t.target instanceof Function)||e.prototype instanceof t.target)&&(!!s(t)||!c(t)&&(!(a&&a.length>0)||t.groups&&!!t.groups.find((function(e){return-1!==a.indexOf(e)}))))))})).filter((function(e){return!l.find((function(t){return t.propertyName===e.propertyName&&t.type===e.type}))}));return l.concat(v)},e.prototype.getTargetValidatorConstraints=function(e){return this.constraintMetadatas.get(e)||[]},e}();var Me=function(){function e(){}return e.prototype.toString=function(e,t,n,r){var a=this;void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===n&&(n=""),void 0===r&&(r=!1);var o=e?"":"",i=e?"":"",s=function(e){return" - property ".concat(o).concat(n).concat(e).concat(i," has failed the following constraints: ").concat(o).concat((r?Object.values:Object.keys)(null!==(t=a.constraints)&&void 0!==t?t:{}).join(", ")).concat(i," \n");var t};if(t){var c=Number.isInteger(+this.property)?"[".concat(this.property,"]"):"".concat(n?".":"").concat(this.property);return this.constraints?s(c):this.children?this.children.map((function(t){return t.toString(e,!0,"".concat(n).concat(c),r)})).join(""):""}return"An instance of ".concat(o).concat(this.target?this.target.constructor.name:"an object").concat(i," has failed the validation:\n")+(this.constraints?s(this.property):"")+(this.children?this.children.map((function(t){return t.toString(e,!0,a.property,r)})).join(""):"")},e}(),xe=function(){function e(){}return e.isValid=function(e){var t=this;return"isValid"!==e&&"getMessage"!==e&&-1!==Object.keys(this).map((function(e){return t[e]})).indexOf(e)},e.CUSTOM_VALIDATION="customValidation",e.NESTED_VALIDATION="nestedValidation",e.PROMISE_VALIDATION="promiseValidation",e.CONDITIONAL_VALIDATION="conditionalValidation",e.WHITELIST="whitelistValidation",e.IS_DEFINED="isDefined",e}();var Ne=function(){function e(){}return e.replaceMessageSpecialTokens=function(e,t){var n;return e instanceof Function?n=e(t):"string"==typeof e&&(n=e),n&&Array.isArray(t.constraints)&&t.constraints.forEach((function(e,t){n=n.replace(new RegExp("\\$constraint".concat(t+1),"g"),function(e){return Array.isArray(e)?e.join(", "):("symbol"==typeof e&&(e=e.description),"".concat(e))}(e))})),n&&void 0!==t.value&&null!==t.value&&["string","boolean","number"].includes(typeof t.value)&&(n=n.replace(/\$value/g,t.value)),n&&(n=n.replace(/\$property/g,t.property)),n&&(n=n.replace(/\$target/g,t.targetName)),n},e}(),Te=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},Ae=function(){function e(e,t){this.validator=e,this.validatorOptions=t,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=function(){var e=Ee();return e.classValidatorMetadataStorage||(e.classValidatorMetadataStorage=new _e),e.classValidatorMetadataStorage}()}return e.prototype.execute=function(e,t,n){var r,a,o=this;this.metadataStorage.hasValidationMetaData||!0!==(null===(r=this.validatorOptions)||void 0===r?void 0:r.enableDebugMessages)||console.warn("No validation metadata found. No validation will be performed. There are multiple possible reasons:\n - There may be multiple class-validator versions installed. You will need to flatten your dependencies to fix the issue.\n - This validation runs before any file with validation decorator was parsed by NodeJS.");var i=this.validatorOptions?this.validatorOptions.groups:void 0,s=this.validatorOptions&&this.validatorOptions.strictGroups||!1,c=this.validatorOptions&&this.validatorOptions.always||!1,l=void 0===(null===(a=this.validatorOptions)||void 0===a?void 0:a.forbidUnknownValues)||!1!==this.validatorOptions.forbidUnknownValues,u=this.metadataStorage.getTargetValidationMetadatas(e.constructor,t,c,s,i),p=this.metadataStorage.groupByPropertyName(u);if(this.validatorOptions&&l&&!u.length){var f=new Me;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(f.target=e),f.value=void 0,f.property=void 0,f.children=[],f.constraints={unknownValue:"an unknown value was passed to the validate function"},void n.push(f)}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(e,p,n),Object.keys(p).forEach((function(t){var r=e[t],a=p[t].filter((function(e){return e.type===xe.IS_DEFINED})),i=p[t].filter((function(e){return e.type!==xe.IS_DEFINED&&e.type!==xe.WHITELIST}));r instanceof Promise&&i.find((function(e){return e.type===xe.PROMISE_VALIDATION}))?o.awaitingPromises.push(r.then((function(r){o.performValidations(e,r,t,a,i,n)}))):o.performValidations(e,r,t,a,i,n)}))},e.prototype.whitelist=function(e,t,n){var r=this,a=[];Object.keys(e).forEach((function(e){t[e]&&0!==t[e].length||a.push(e)})),a.length>0&&(this.validatorOptions&&this.validatorOptions.forbidNonWhitelisted?a.forEach((function(t){var a,o=r.generateValidationError(e,e[t],t);o.constraints=((a={})[xe.WHITELIST]="property ".concat(t," should not exist"),a),o.children=void 0,n.push(o)})):a.forEach((function(t){return delete e[t]})))},e.prototype.stripEmptyErrors=function(e){var t=this;return e.filter((function(e){if(e.children&&(e.children=t.stripEmptyErrors(e.children)),0===Object.keys(e.constraints).length){if(0===e.children.length)return!1;delete e.constraints}return!0}))},e.prototype.performValidations=function(e,t,n,r,a,o){var i=a.filter((function(e){return e.type===xe.CUSTOM_VALIDATION})),s=a.filter((function(e){return e.type===xe.NESTED_VALIDATION})),c=a.filter((function(e){return e.type===xe.CONDITIONAL_VALIDATION})),l=this.generateValidationError(e,t,n);o.push(l),this.conditionalValidations(e,t,c)&&(this.customValidations(e,t,r,l),this.mapContexts(e,t,r,l),void 0===t&&this.validatorOptions&&!0===this.validatorOptions.skipUndefinedProperties||null===t&&this.validatorOptions&&!0===this.validatorOptions.skipNullProperties||null==t&&this.validatorOptions&&!0===this.validatorOptions.skipMissingProperties||(this.customValidations(e,t,i,l),this.nestedValidations(t,s,l),this.mapContexts(e,t,a,l),this.mapContexts(e,t,i,l)))},e.prototype.generateValidationError=function(e,t,n){var r=new Me;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(r.target=e),this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.value&&!0!==this.validatorOptions.validationError.value||(r.value=t),r.property=n,r.children=[],r.constraints={},r},e.prototype.conditionalValidations=function(e,t,n){return n.map((function(n){return n.constraints[0](e,t)})).reduce((function(e,t){return e&&t}),!0)},e.prototype.customValidations=function(e,t,n,r){var a=this;n.forEach((function(n){a.metadataStorage.getTargetValidatorConstraints(n.constraintCls).forEach((function(o){if(!(o.async&&a.ignoreAsyncValidations||a.validatorOptions&&a.validatorOptions.stopAtFirstError&&Object.keys(r.constraints||{}).length>0)){var i={targetName:e.constructor?e.constructor.name:void 0,property:n.propertyName,object:e,value:t,constraints:n.constraints};if(n.each&&(Array.isArray(t)||t instanceof Set||t instanceof Map)){var s,c=((s=t)instanceof Map?Array.from(s.values()):Array.isArray(s)?s:Array.from(s)).map((function(e){return o.instance.validate(e,i)}));if(c.some((function(e){return be(e)}))){var l=c.map((function(e){return be(e)?e:Promise.resolve(e)})),u=Promise.all(l).then((function(i){if(!i.every((function(e){return e}))){var s=Te(a.createValidationError(e,t,n,o),2),c=s[0],l=s[1];r.constraints[c]=l,n.context&&(r.contexts||(r.contexts={}),r.contexts[c]=Object.assign(r.contexts[c]||{},n.context))}}));a.awaitingPromises.push(u)}else{if(!c.every((function(e){return e}))){var p=Te(a.createValidationError(e,t,n,o),2);m=p[0],v=p[1];r.constraints[m]=v}}}else{var f=o.instance.validate(t,i);if(be(f)){var d=f.then((function(i){if(!i){var s=Te(a.createValidationError(e,t,n,o),2),c=s[0],l=s[1];r.constraints[c]=l,n.context&&(r.contexts||(r.contexts={}),r.contexts[c]=Object.assign(r.contexts[c]||{},n.context))}}));a.awaitingPromises.push(d)}else if(!f){var h=Te(a.createValidationError(e,t,n,o),2),m=h[0],v=h[1];r.constraints[m]=v}}}}))}))},e.prototype.nestedValidations=function(e,t,n){var r=this;void 0!==e&&t.forEach((function(a){if((a.type===xe.NESTED_VALIDATION||a.type===xe.PROMISE_VALIDATION)&&!(r.validatorOptions&&r.validatorOptions.stopAtFirstError&&Object.keys(n.constraints||{}).length>0))if(Array.isArray(e)||e instanceof Set||e instanceof Map)(e instanceof Set?Array.from(e):e).forEach((function(a,o){r.performValidations(e,a,o.toString(),[],t,n.children)}));else if(e instanceof Object){var o="string"==typeof a.target?a.target:a.target.name;r.execute(e,o,n.children)}else{var i=Te(r.createValidationError(a.target,e,a),2),s=i[0],c=i[1];n.constraints[s]=c}}))},e.prototype.mapContexts=function(e,t,n,r){var a=this;return n.forEach((function(e){if(e.context){var t=void 0;if(e.type===xe.CUSTOM_VALIDATION)t=a.metadataStorage.getTargetValidatorConstraints(e.constraintCls)[0];var n=a.getConstraintType(e,t);r.constraints[n]&&(r.contexts||(r.contexts={}),r.contexts[n]=Object.assign(r.contexts[n]||{},e.context))}}))},e.prototype.createValidationError=function(e,t,n,r){var a=e.constructor?e.constructor.name:void 0,o=this.getConstraintType(n,r),i={targetName:a,property:n.propertyName,object:e,value:t,constraints:n.constraints},s=n.message||"";return n.message||this.validatorOptions&&(!this.validatorOptions||this.validatorOptions.dismissDefaultMessages)||r&&r.instance.defaultMessage instanceof Function&&(s=r.instance.defaultMessage(i)),[o,Ne.replaceMessageSpecialTokens(s,i)]},e.prototype.getConstraintType=function(e,t){return t&&t.name?t.name:e.type},e}(),Ce=function(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}c((r=r.apply(e,t||[])).next())}))},ke=function(e,t){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},Le=function(){function e(){}return e.prototype.validate=function(e,t,n){return this.coreValidate(e,t,n)},e.prototype.validateOrReject=function(e,t,n){return Ce(this,void 0,void 0,(function(){var r;return ke(this,(function(a){switch(a.label){case 0:return[4,this.coreValidate(e,t,n)];case 1:return(r=a.sent()).length?[2,Promise.reject(r)]:[2]}}))}))},e.prototype.validateSync=function(e,t,n){var r="string"==typeof e?t:e,a="string"==typeof e?e:void 0,o=new Ae(this,"string"==typeof e?n:t);o.ignoreAsyncValidations=!0;var i=[];return o.execute(r,a,i),o.stripEmptyErrors(i)},e.prototype.coreValidate=function(e,t,n){var r="string"==typeof e?t:e,a="string"==typeof e?e:void 0,o=new Ae(this,"string"==typeof e?n:t),i=[];return o.execute(r,a,i),Promise.all(o.awaitingPromises).then((function(){return o.stripEmptyErrors(i)}))},e}(),Pe=new(function(){function e(){this.instances=[]}return e.prototype.get=function(e){var t=this.instances.find((function(t){return t.type===e}));return t||(t={type:e,object:new e},this.instances.push(t)),t.object},e}());function Ie(e){return Pe.get(e)}function je(e,t,n){return"string"==typeof e?Ie(Le).validate(e,t,n):Ie(Le).validate(e,t)}function Ve(e,t,n){return"string"==typeof e?Ie(Le).validateSync(e,t,n):Ie(Le).validateSync(e,t)}function Fe(e,t,n,r){return void 0===n&&(n={}),void 0===r&&(r=""),e.reduce((function(e,n){var a=r?r+"."+n.property:n.property;if(n.constraints){var o=Object.keys(n.constraints)[0];e[a]={type:o,message:n.constraints[o]};var i=e[a];t&&i&&Object.assign(i,{types:n.constraints})}return n.children&&n.children.length&&Fe(n.children,t,e,a),e}),n)}function De(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),function(r,a,o){try{var i=t.validator,s=(c=e,l=r,u=t.transformer,ve.plainToInstance(c,l,u));return Promise.resolve(("sync"===n.mode?Ve:je)(s,i)).then((function(e){return e.length?{values:{},errors:ie(Fe(e,!o.shouldUseNativeValidation&&"all"===o.criteriaMode),o)}:(o.shouldUseNativeValidation&&oe({},o),{values:n.raw?Object.assign({},r):s,errors:{}})}))}catch(e){return Promise.reject(e)}var c,l,u}}function Re(e){return{resolver:De(e),form:re(e),inputs:ne(e)}}const ze=o.createWithEqualityFn()(a.persist((e=>({screens:null,user:null,screenPaths:{}})),{name:"app-store-1",storage:a.createJSONStorage((()=>localStorage)),partialize:e=>({user:e.user})}),i.shallow);function Be({menu:n,getIcons:r,onLogout:a}){const{screens:o,screenPaths:i}=ze((e=>({screens:e.screens??{},screenPaths:e.screenPaths??{}}))),[s,c]=e.useState(!0),l=t.useLocation(),u=t.useNavigate(),p=e=>{if("/"===e)return l.pathname===e;const t=e.replace(/^\/+|\/+$/g,""),n=l.pathname.replace(/^\/+|\/+$/g,"");return n===t||n.startsWith(`${t}/`)};return e.createElement("div",{className:"sidebar "+(s?"open":"closed")},e.createElement("button",{className:"toggle-button",onClick:()=>c(!s),"aria-label":s?"Collapse sidebar":"Expand sidebar","aria-expanded":s},s?"<":">"),e.createElement("nav",{className:"nav-links"},n?.(o).map(((n,a)=>e.createElement(t.Link,{key:a,to:n.path,className:"nav-link "+(p(n.path)?"active":""),"aria-current":p(n.path)?"page":void 0},e.createElement("span",{className:"nav-links-icon"},r?.(n.iconType)),s?e.createElement("span",null,n.name):null)))),a&&e.createElement("div",{className:"sidebar-footer"},e.createElement("button",{className:"logout-button",onClick:()=>{a&&(a(),u(i.login))},"aria-label":"Logout"},e.createElement("span",{className:"nav-links-icon"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M6 12H2V4H6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M10 8L14 4M14 4L10 0M14 4H6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))),s?e.createElement("span",null,"Logout"):null)))}exports.Cell=k,exports.Counter=function({image:t,text:n,targetNumber:r,duration:a=2e3}){const[o,i]=e.useState(0);return e.useEffect((()=>{let e,t;const n=o=>{e||(e=o);const s=o-e,c=Math.min(s/a,1);i(Math.floor(c*r)),c<1&&(t=requestAnimationFrame(n))};return t=requestAnimationFrame(n),()=>{t&&cancelAnimationFrame(t)}}),[r,a]),e.createElement("div",{className:"counter-container"},e.createElement("div",{className:"counter-image"},t),e.createElement("div",{className:"counter-text"},n),e.createElement("div",{className:"counter-value"},o))},exports.Crud=function(e){return t=>{e&&Reflect.defineMetadata("Crud",e,t)}},exports.FormPage=function({model:t,getDetailsData:n,onSubmit:r,redirect:a,redirectBackOnSuccess:o=!0,...i}){const s=e.useMemo((()=>Re(t)),[t]);return e.createElement(Z,{getDetailsData:n,onSubmit:r,formOptions:s,redirectBackOnSuccess:o})},exports.ImageCell=function(e){return k({...e,type:"image"})},exports.Input=function(e){return(t,n)=>{const r=Reflect.getMetadata(te,t)||[];if(Reflect.defineMetadata(te,[...r,n.toString()],t),e){const r=`${te.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,e,t)}}},exports.Layout=function({children:n,menu:r,getIcons:a,logout:o}){const{user:i,screenPaths:s}=ze((e=>({user:e.user,screenPaths:e.screenPaths})));ze();const c=t.useNavigate();return i||c(s.login),e.createElement("div",{className:"layout"},e.createElement(Be,{onLogout:()=>{o&&o()},menu:r,getIcons:a}),e.createElement("main",{className:"content"},n))},exports.List=function(e){return t=>{e&&Reflect.defineMetadata(T,e,t)}},exports.ListPage=function({model:n,getData:r,onRemoveItem:a,customHeader:o}){const[i,s]=e.useState(!0),[c,l]=e.useState({total:0,page:0,limit:0}),[u,p]=e.useState(null),[f,d]=e.useState(null),[h,m]=e.useState(!1),[v,y]=e.useState(),g=e.useMemo((()=>{return{list:A(e=n),cells:L(e)};var e}),[n]),E=t.useParams(),b=t.useNavigate(),w=e.useCallback((async(e,t)=>{s(!0);try{const n=await r({page:e,filters:t??v??{}});p(n.data),l({total:n.total,page:n.page,limit:n.limit})}catch(e){d(e),console.error(e)}finally{s(!1)}}),[r,v]);return e.useEffect((()=>{const e=new URLSearchParams(location.search),t={};e.forEach(((e,n)=>{t[n]=e})),y(t)}),[location.search]),e.useEffect((()=>{v&&w(parseInt(E.page)||1,v)}),[w,E.page,v]),i?e.createElement(_,null):f?e.createElement(S,{error:f}):e.createElement("div",{className:"list"},e.createElement(U,{listData:g,filtered:!(!v||!Object.keys(v).length),onFilterClick:()=>m(!0),customHeader:o}),e.createElement(O,{listData:g,data:u,onRemoveItem:async e=>{a&&alert({title:"Are you sure you want to delete this item?",message:"This action cannot be undone.",onConfirm:async()=>{await a(e),p(u.filter((t=>t.id!==e.id))),await w(c.page)}})}}),e.createElement("div",{className:"list-footer"},e.createElement(P,{pagination:c,onPageChange:w})),e.createElement(H,{isOpen:h,activeFilters:v,onClose:()=>m(!1),onApplyFilters:e=>{y(e);const t=new URLSearchParams;Object.entries(e).forEach((([e,n])=>{null!=n&&""!==n&&t.append(e,String(n))}));const n=t.toString(),r=`${location.pathname}${n?`?${n}`:""}`;b(r),w(1,e)},listData:g}))},exports.Login=function({onLogin:n}){const{register:a,handleSubmit:o,formState:{errors:i}}=r.useForm(),s=t.useNavigate();return e.createElement("div",{className:"login-container"},e.createElement("div",{className:"login-panel"},e.createElement("div",{className:"login-header"},e.createElement("h1",null,"Welcome Back"),e.createElement("p",null,"Please sign in to continue")),e.createElement("form",{onSubmit:o((async e=>{n.login(e.username,e.password).then((e=>{const{user:t,token:n}=e;localStorage.setItem("token",n),ze.setState({user:t}),s("/")}))})),className:"login-form"},e.createElement(X,{input:{name:"username",label:"Username",placeholder:"Enter your username",type:"input"},register:a,error:i.username}),e.createElement(X,{input:{name:"password",label:"Password",inputType:"password",placeholder:"Enter your password",type:"input"},register:a,error:i.password}),e.createElement("div",{className:"form-actions"},e.createElement("button",{type:"submit",className:"submit-button"},"Sign In")))))},exports.Panel=function({children:t,init:n}){return e.useEffect((()=>{!function({screenPaths:e}){ze.setState({screenPaths:e})}(n())}),[n]),e.createElement(ee,null,t)},exports.getFormFields=Re,exports.getInputFields=ne;
package/dist/index.d.ts CHANGED
@@ -1,10 +1,20 @@
1
- export { Login } from "./components/screens/Login";
2
- export { type InitPanelOptions } from "./types/initPanelOptions";
3
- export { type ScreenCreatorData } from "./types/ScreenCreatorData";
4
- export { createScreens } from "./utils/createScreens";
5
- export { useScreens } from "./hooks/useScreens";
6
- export { Crud } from "./decorators/Crud";
7
- export { Cell } from "./decorators/Cell";
8
- export { Input } from "./decorators/Input";
9
- export { Layout } from "./components/layout/Layout";
10
- export { Panel } from "./components/Panel";
1
+ export type { OnSubmitFN, GetDetailsDataFN } from './components/pages/FormPage';
2
+ export type { InitPanelOptions } from './types/initPanelOptions';
3
+ export type { ScreenCreatorData } from './types/ScreenCreatorData';
4
+ export type { OnLogin } from './components/pages/Login';
5
+ export type { AnyClass } from './types/AnyClass';
6
+ export type { GetDataForList, PaginatedResponse, GetDataParams, } from './components/components/list/ListPage';
7
+ export { ListPage } from './components/components/list/ListPage';
8
+ export { FormPage } from './components/pages/FormPage';
9
+ export type { FormPageProps } from './components/pages/FormPage';
10
+ export { Login } from './components/pages/Login';
11
+ export { Layout } from './components/layout/Layout';
12
+ export { Panel } from './components/Panel';
13
+ export { Counter } from './components/components/Counter';
14
+ export { List } from './decorators/list/List';
15
+ export { ImageCell } from './decorators/list/ImageCell';
16
+ export { Crud } from './decorators/Crud';
17
+ export { Cell } from './decorators/list/Cell';
18
+ export { Input } from './decorators/form/Input';
19
+ export { getFormFields } from './decorators/form/getFormFields';
20
+ export { getInputFields } from './decorators/form/Input';