@evolver-fi/evolver-basics-admin-components 1.0.0 → 8.2.2-alpha.3

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 (198) hide show
  1. package/dist/EnumSelectFilter-DDWIjz5i.js +35 -0
  2. package/dist/EnumSelectFilter-DDWIjz5i.js.map +1 -0
  3. package/dist/FilterLink-OxQDWR5G.js +29 -0
  4. package/dist/FilterLink-OxQDWR5G.js.map +1 -0
  5. package/dist/Table-IciQttr3.js +79 -0
  6. package/dist/Table-IciQttr3.js.map +1 -0
  7. package/dist/TableMetadataDisplay-BM61EulC.js +49 -0
  8. package/dist/TableMetadataDisplay-BM61EulC.js.map +1 -0
  9. package/dist/TextFilter-CLOKjiSd.js +54 -0
  10. package/dist/TextFilter-CLOKjiSd.js.map +1 -0
  11. package/dist/api-CMiZYkfc.js +32 -0
  12. package/dist/api-CMiZYkfc.js.map +1 -0
  13. package/dist/breadcrumbs/index.js +2 -5
  14. package/dist/breadcrumbs-BAwnKRxL.js +32 -0
  15. package/dist/breadcrumbs-BAwnKRxL.js.map +1 -0
  16. package/dist/breadcrumbs.css +1 -0
  17. package/dist/client/index.js +330 -369
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/configuration-values/index.js +2 -13
  20. package/dist/configuration-values-CjOfmPRq.js +3464 -0
  21. package/dist/configuration-values-CjOfmPRq.js.map +1 -0
  22. package/dist/control-values/index.js +2 -10
  23. package/dist/control-values-CzQOB4WJ.js +144 -0
  24. package/dist/control-values-CzQOB4WJ.js.map +1 -0
  25. package/dist/exhaustiveValues-BYWkg9M1.js +6 -0
  26. package/dist/exhaustiveValues-BYWkg9M1.js.map +1 -0
  27. package/dist/filter/index.js +4 -10
  28. package/dist/formData-BO275hRZ.js +43 -0
  29. package/dist/formData-BO275hRZ.js.map +1 -0
  30. package/dist/jwt-tokens/index.js +2 -9
  31. package/dist/jwt-tokens-DnKsHei4.js +71 -0
  32. package/dist/jwt-tokens-DnKsHei4.js.map +1 -0
  33. package/dist/main/index.js +17 -87
  34. package/dist/message-log/index.js +2 -12
  35. package/dist/message-log-BdrJtbsP.js +337 -0
  36. package/dist/message-log-BdrJtbsP.js.map +1 -0
  37. package/dist/message-sending/index.js +2 -10
  38. package/dist/message-sending-dvTw2fFm.js +181 -0
  39. package/dist/message-sending-dvTw2fFm.js.map +1 -0
  40. package/dist/message-targets/index.js +2 -15
  41. package/dist/message-targets-8EppIJde.js +406 -0
  42. package/dist/message-targets-8EppIJde.js.map +1 -0
  43. package/dist/pagination-C4QUYRMf.js +20 -0
  44. package/dist/pagination-C4QUYRMf.js.map +1 -0
  45. package/dist/scheduled-tasks/index.js +2 -16
  46. package/dist/scheduled-tasks-BtBnBrE7.js +647 -0
  47. package/dist/scheduled-tasks-BtBnBrE7.js.map +1 -0
  48. package/dist/schemas-D-8_LuND.js +2986 -0
  49. package/dist/schemas-D-8_LuND.js.map +1 -0
  50. package/dist/table/index.js +2 -6
  51. package/dist/triggerables/index.js +3 -11
  52. package/dist/triggerables-DgrIeQMi.js +51 -0
  53. package/dist/triggerables-DgrIeQMi.js.map +1 -0
  54. package/dist/types/breadcrumbs.d.ts +1 -0
  55. package/dist/types/client/index.d.ts +5 -0
  56. package/dist/types/client.d.ts +1 -0
  57. package/dist/types/common/exhaustiveValues.d.ts +5 -0
  58. package/dist/types/common/formData.d.ts +20 -0
  59. package/dist/types/common/format.d.ts +1 -0
  60. package/dist/types/common/pagination.d.ts +8 -0
  61. package/dist/types/common/types.d.ts +27 -0
  62. package/dist/types/common/validation.d.ts +5 -0
  63. package/dist/types/components/breadcrumbs/BreadCrumbs.d.ts +10 -0
  64. package/dist/types/components/breadcrumbs/index.d.ts +1 -0
  65. package/dist/types/components/filter/EnumSelectFilter.d.ts +7 -0
  66. package/dist/types/components/filter/FilterHelperTexts.d.ts +4 -0
  67. package/dist/types/components/filter/FilterLink.d.ts +2 -0
  68. package/dist/types/components/filter/TextFilter.d.ts +2 -0
  69. package/dist/types/components/filter/createEnumSelectFilter.d.ts +5 -0
  70. package/dist/types/components/filter/index.d.ts +5 -0
  71. package/dist/types/components/filter/types.d.ts +20 -0
  72. package/dist/types/components/metadata/TableMetadataDisplay.d.ts +2 -0
  73. package/dist/types/components/metadata/utils.d.ts +1 -0
  74. package/dist/types/components/table/Pagination.d.ts +7 -0
  75. package/dist/types/components/table/Table.d.ts +3 -0
  76. package/dist/types/components/table/index.d.ts +3 -0
  77. package/dist/types/components/table/types.d.ts +48 -0
  78. package/dist/types/configuration-values.d.ts +1 -0
  79. package/dist/types/control-values.d.ts +1 -0
  80. package/dist/types/filter.d.ts +1 -0
  81. package/dist/types/index.d.ts +11 -0
  82. package/dist/types/jwt-tokens.d.ts +1 -0
  83. package/dist/types/main.d.ts +1 -0
  84. package/dist/types/message-log.d.ts +1 -0
  85. package/dist/types/message-sending.d.ts +1 -0
  86. package/dist/types/message-targets.d.ts +1 -0
  87. package/dist/types/routes/configuration-values/ConfigurationValueFormRoute.d.ts +2 -0
  88. package/dist/types/routes/configuration-values/ConfigurationValuesRoute.d.ts +2 -0
  89. package/dist/types/routes/configuration-values/action.d.ts +8 -0
  90. package/dist/types/routes/configuration-values/api.d.ts +53 -0
  91. package/dist/types/routes/configuration-values/configurationValueColumns.d.ts +4 -0
  92. package/dist/types/routes/configuration-values/index.d.ts +5 -0
  93. package/dist/types/routes/configuration-values/loader.d.ts +52 -0
  94. package/dist/types/routes/control-values/ControlValuesRoute.d.ts +2 -0
  95. package/dist/types/routes/control-values/SingleControlValueRoute.d.ts +2 -0
  96. package/dist/types/routes/control-values/api.d.ts +43 -0
  97. package/dist/types/routes/control-values/controlValueColumns.d.ts +4 -0
  98. package/dist/types/routes/control-values/index.d.ts +4 -0
  99. package/dist/types/routes/control-values/loader.d.ts +43 -0
  100. package/dist/types/routes/jwt-tokens/JwtTokensRoute.d.ts +6 -0
  101. package/dist/types/routes/jwt-tokens/api.d.ts +41 -0
  102. package/dist/types/routes/jwt-tokens/index.d.ts +3 -0
  103. package/dist/types/routes/jwt-tokens/loader.d.ts +35 -0
  104. package/dist/types/routes/message-log/LogBodyLink.d.ts +6 -0
  105. package/dist/types/routes/message-log/MessageLogRoute.d.ts +2 -0
  106. package/dist/types/routes/message-log/SingleLogMessageRoute.d.ts +6 -0
  107. package/dist/types/routes/message-log/api.d.ts +88 -0
  108. package/dist/types/routes/message-log/index.d.ts +4 -0
  109. package/dist/types/routes/message-log/loader.d.ts +53 -0
  110. package/dist/types/routes/message-log/messageLogColumns.d.ts +3 -0
  111. package/dist/types/routes/message-log/types.d.ts +37 -0
  112. package/dist/types/routes/message-sending/MessageSendingRoute.d.ts +2 -0
  113. package/dist/types/routes/message-sending/SingleMessageRoute.d.ts +2 -0
  114. package/dist/types/routes/message-sending/api.d.ts +92 -0
  115. package/dist/types/routes/message-sending/index.d.ts +4 -0
  116. package/dist/types/routes/message-sending/loader.d.ts +34 -0
  117. package/dist/types/routes/message-sending/messageSendingColumns.d.ts +3 -0
  118. package/dist/types/routes/message-sending/types.d.ts +43 -0
  119. package/dist/types/routes/message-targets/MessageTargetFormRoute.d.ts +2 -0
  120. package/dist/types/routes/message-targets/MessageTargetsRoute.d.ts +2 -0
  121. package/dist/types/routes/message-targets/action.d.ts +8 -0
  122. package/dist/types/routes/message-targets/api.d.ts +12 -0
  123. package/dist/types/routes/message-targets/index.d.ts +5 -0
  124. package/dist/types/routes/message-targets/loader.d.ts +15 -0
  125. package/dist/types/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +2 -0
  126. package/dist/types/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +2 -0
  127. package/dist/types/routes/scheduled-tasks/action.d.ts +21 -0
  128. package/dist/types/routes/scheduled-tasks/api.d.ts +75 -0
  129. package/dist/types/routes/scheduled-tasks/index.d.ts +5 -0
  130. package/dist/types/routes/scheduled-tasks/loader.d.ts +57 -0
  131. package/dist/types/routes/scheduled-tasks/parseScheduledTask.d.ts +15 -0
  132. package/dist/types/routes/triggerables/TriggerablesRoute.d.ts +2 -0
  133. package/dist/types/routes/triggerables/action.d.ts +6 -0
  134. package/dist/types/routes/triggerables/api.d.ts +33 -0
  135. package/dist/types/routes/triggerables/index.d.ts +4 -0
  136. package/dist/types/routes/triggerables/loader.d.ts +3 -0
  137. package/dist/types/scheduled-tasks.d.ts +1 -0
  138. package/dist/types/table.d.ts +1 -0
  139. package/dist/types/triggerables.d.ts +1 -0
  140. package/dist/types/types/openapiTypes.d.ts +3321 -0
  141. package/package.json +12 -5
  142. package/dist/ArrowBack-Bifnzxvs.js +0 -6430
  143. package/dist/ArrowBack-Bifnzxvs.js.map +0 -1
  144. package/dist/BreadCrumbs-DMuPCevY.js +0 -19
  145. package/dist/BreadCrumbs-DMuPCevY.js.map +0 -1
  146. package/dist/BreadCrumbs.css +0 -1
  147. package/dist/EnumSelectFilter-BdGla5Yf.js +0 -36
  148. package/dist/EnumSelectFilter-BdGla5Yf.js.map +0 -1
  149. package/dist/ExpandMore-DUn2zrFA.js +0 -1644
  150. package/dist/ExpandMore-DUn2zrFA.js.map +0 -1
  151. package/dist/FilterLink-DIeFjfZX.js +0 -49
  152. package/dist/FilterLink-DIeFjfZX.js.map +0 -1
  153. package/dist/JwtTokensRoute-C74zNV7A.js +0 -2374
  154. package/dist/JwtTokensRoute-C74zNV7A.js.map +0 -1
  155. package/dist/ScheduledTasksRoute-BAetDHqN.js +0 -611
  156. package/dist/ScheduledTasksRoute-BAetDHqN.js.map +0 -1
  157. package/dist/SingleLogMessageRoute-Dl2NFfqG.js +0 -419
  158. package/dist/SingleLogMessageRoute-Dl2NFfqG.js.map +0 -1
  159. package/dist/SingleMessageRoute-fC94BR1C.js +0 -306
  160. package/dist/SingleMessageRoute-fC94BR1C.js.map +0 -1
  161. package/dist/Table-DWiRP1za.js +0 -120
  162. package/dist/Table-DWiRP1za.js.map +0 -1
  163. package/dist/TextFilter-BHWY2B7i.js +0 -67
  164. package/dist/TextFilter-BHWY2B7i.js.map +0 -1
  165. package/dist/TriggerablesRoute-DiEEX1cR.js +0 -3552
  166. package/dist/TriggerablesRoute-DiEEX1cR.js.map +0 -1
  167. package/dist/api-BD_4zyJw.js +0 -38
  168. package/dist/api-BD_4zyJw.js.map +0 -1
  169. package/dist/breadcrumbs/index.js.map +0 -1
  170. package/dist/configuration-values/index.js.map +0 -1
  171. package/dist/control-values/index.js.map +0 -1
  172. package/dist/createSvgIcon-dA_Vj2W0.js +0 -3914
  173. package/dist/createSvgIcon-dA_Vj2W0.js.map +0 -1
  174. package/dist/exhaustiveValues-Dx50G3yz.js +0 -5
  175. package/dist/exhaustiveValues-Dx50G3yz.js.map +0 -1
  176. package/dist/filter/index.js.map +0 -1
  177. package/dist/formData-BH8saYep.js +0 -65
  178. package/dist/formData-BH8saYep.js.map +0 -1
  179. package/dist/jsx-runtime-D858t2LC.js +0 -617
  180. package/dist/jsx-runtime-D858t2LC.js.map +0 -1
  181. package/dist/jwt-tokens/index.js.map +0 -1
  182. package/dist/loader-CrveWlGb.js +0 -375
  183. package/dist/loader-CrveWlGb.js.map +0 -1
  184. package/dist/loader-D-oC32OJ.js +0 -3612
  185. package/dist/loader-D-oC32OJ.js.map +0 -1
  186. package/dist/loader-rVy8Z9xH.js +0 -130
  187. package/dist/loader-rVy8Z9xH.js.map +0 -1
  188. package/dist/main/index.js.map +0 -1
  189. package/dist/message-log/index.js.map +0 -1
  190. package/dist/message-sending/index.js.map +0 -1
  191. package/dist/message-targets/index.js.map +0 -1
  192. package/dist/pagination-Dy4ansKN.js +0 -21
  193. package/dist/pagination-Dy4ansKN.js.map +0 -1
  194. package/dist/scheduled-tasks/index.js.map +0 -1
  195. package/dist/schemas-CBHIJ_eF.js +0 -3059
  196. package/dist/schemas-CBHIJ_eF.js.map +0 -1
  197. package/dist/table/index.js.map +0 -1
  198. package/dist/triggerables/index.js.map +0 -1
@@ -1,5 +0,0 @@
1
- const s = () => (e) => e;
2
- export {
3
- s as e
4
- };
5
- //# sourceMappingURL=exhaustiveValues-Dx50G3yz.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exhaustiveValues-Dx50G3yz.js","sources":["../src/common/exhaustiveValues.ts"],"sourcesContent":["type MissingValues<T extends string, Values extends readonly T[]> =\n Exclude<T, Values[number]> extends never\n ? unknown\n : { readonly missingValues: Exclude<T, Values[number]> };\n\nexport const exhaustiveStringValues =\n <T extends string>() =>\n <const Values extends readonly [T, ...T[]]>(values: Values & MissingValues<T, Values>): Values =>\n values;\n"],"names":["exhaustiveStringValues","values"],"mappings":"AAKO,MAAMA,IACX,MACA,CAA4CC,MAC1CA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,65 +0,0 @@
1
- import { s as o, N as i, c as f } from "./schemas-CBHIJ_eF.js";
2
- const n = (e) => ({
3
- ok: !0,
4
- value: e
5
- }), m = (e) => ({
6
- ok: !1,
7
- message: e
8
- }), F = (e) => o().trim().min(1, { message: `${e} is required` }), b = o().optional().default(""), c = (e) => o().trim().regex(/^-?\d+$/, { message: `${e} must be an integer` }).transform((r) => Number.parseInt(r, 10)), $ = (e) => o().trim().refine((r) => r === "" || /^-?\d+$/.test(r), {
9
- message: `${e} must be an integer`
10
- }).transform((r) => r === "" ? void 0 : Number.parseInt(r, 10)), h = (e, r) => f(
11
- (s) => typeof s == "string" && r.some((t) => t === s),
12
- { message: `${e} must be one of the listed options` }
13
- ), y = (e) => o().transform((r, s) => {
14
- if (!r.trim())
15
- return {};
16
- try {
17
- const t = JSON.parse(r);
18
- return !t || typeof t != "object" || Array.isArray(t) ? (s.addIssue({
19
- code: "custom",
20
- message: `${e} must be a JSON object`
21
- }), i) : Object.fromEntries(
22
- Object.entries(t).map(([a, g]) => [a, String(g)])
23
- );
24
- } catch {
25
- return s.addIssue({
26
- code: "custom",
27
- message: `${e} must be valid JSON`
28
- }), i;
29
- }
30
- }), d = (e, r) => {
31
- const s = e.get(r);
32
- return typeof s == "string" ? s : "";
33
- }, p = (e) => Object.fromEntries(
34
- Array.from(e.entries()).flatMap(
35
- ([r, s]) => typeof s == "string" ? [[r, s]] : []
36
- )
37
- ), l = (e, r, s) => {
38
- const t = r.safeParse(p(e));
39
- return t.success ? n(t.data) : m(t.error.issues[0]?.message ?? s);
40
- }, u = (e, r) => d(e, r).trim(), I = (e, r, s) => {
41
- const t = u(e, r);
42
- if (!t)
43
- return n(void 0);
44
- const a = c(s).safeParse(t);
45
- return a.success ? n(a.data) : m(`${s} must be an integer`);
46
- }, N = (e, r, s) => {
47
- const t = u(e, r);
48
- if (!t)
49
- return m(`${s} is required`);
50
- const a = c(s).safeParse(t);
51
- return a.success ? n(a.data) : m(`${s} must be an integer`);
52
- };
53
- export {
54
- $ as a,
55
- N as b,
56
- I as c,
57
- h as e,
58
- d as g,
59
- c as i,
60
- b as o,
61
- l as p,
62
- F as r,
63
- y as s
64
- };
65
- //# sourceMappingURL=formData-BH8saYep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formData-BH8saYep.js","sources":["../src/common/formData.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport type FormDataParseResult<T> =\n | {\n ok: true;\n value: T;\n }\n | {\n ok: false;\n message: string;\n };\n\nexport const formDataParseSuccess = <T>(value: T): FormDataParseResult<T> => ({\n ok: true,\n value,\n});\n\nexport const formDataParseError = <T>(message: string): FormDataParseResult<T> => ({\n ok: false,\n message,\n});\n\nexport const requiredStringFormSchema = (label: string) =>\n z\n .string()\n .trim()\n .min(1, { message: `${label} is required` });\n\nexport const optionalStringFormSchema = z.string().optional().default(\"\");\n\nexport const integerFormSchema = (label: string) =>\n z\n .string()\n .trim()\n .regex(/^-?\\d+$/, { message: `${label} must be an integer` })\n .transform((value) => Number.parseInt(value, 10));\n\nexport const optionalIntegerFormSchema = (label: string) =>\n z\n .string()\n .trim()\n .refine((value) => value === \"\" || /^-?\\d+$/.test(value), {\n message: `${label} must be an integer`,\n })\n .transform((value) => (value === \"\" ? undefined : Number.parseInt(value, 10)));\n\nexport const enumFormSchema = <T extends string>(\n label: string,\n values: readonly T[],\n): z.ZodType<T> =>\n z.custom<T>(\n (candidate): candidate is T =>\n typeof candidate === \"string\" && values.some((enumValue) => enumValue === candidate),\n { message: `${label} must be one of the listed options` },\n );\n\nexport const stringRecordJsonFormSchema = (label: string) =>\n z.string().transform((value, context): Record<string, string> => {\n if (!value.trim()) {\n return {};\n }\n\n try {\n const parsed: unknown = JSON.parse(value);\n\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n context.addIssue({\n code: \"custom\",\n message: `${label} must be a JSON object`,\n });\n return z.NEVER;\n }\n\n return Object.fromEntries(\n Object.entries(parsed).map(([key, propertyValue]) => [key, String(propertyValue)]),\n );\n } catch {\n context.addIssue({\n code: \"custom\",\n message: `${label} must be valid JSON`,\n });\n return z.NEVER;\n }\n });\n\nexport const getStringFormValue = (formData: FormData, name: string): string => {\n const value = formData.get(name);\n return typeof value === \"string\" ? value : \"\";\n};\n\nconst getFormDataStringRecord = (formData: FormData): Record<string, string> =>\n Object.fromEntries(\n Array.from(formData.entries()).flatMap(([key, value]) =>\n typeof value === \"string\" ? [[key, value]] : [],\n ),\n );\n\nexport const parseFormDataWithSchema = <T>(\n formData: FormData,\n schema: z.ZodType<T>,\n defaultMessage: string,\n): FormDataParseResult<T> => {\n const result = schema.safeParse(getFormDataStringRecord(formData));\n\n return result.success\n ? formDataParseSuccess(result.data)\n : formDataParseError(result.error.issues[0]?.message ?? defaultMessage);\n};\n\nconst getTrimmedStringFormValue = (formData: FormData, name: string): string =>\n getStringFormValue(formData, name).trim();\n\nexport const getOptionalIntFormValue = (\n formData: FormData,\n name: string,\n label: string,\n): FormDataParseResult<number | undefined> => {\n const value = getTrimmedStringFormValue(formData, name);\n\n if (!value) {\n return formDataParseSuccess(undefined);\n }\n\n const result = integerFormSchema(label).safeParse(value);\n\n if (!result.success) {\n return formDataParseError(`${label} must be an integer`);\n }\n\n return formDataParseSuccess(result.data);\n};\n\nexport const getRequiredIntFormValue = (\n formData: FormData,\n name: string,\n label: string,\n): FormDataParseResult<number> => {\n const value = getTrimmedStringFormValue(formData, name);\n\n if (!value) {\n return formDataParseError(`${label} is required`);\n }\n\n const result = integerFormSchema(label).safeParse(value);\n\n if (!result.success) {\n return formDataParseError(`${label} must be an integer`);\n }\n\n return formDataParseSuccess(result.data);\n};\n"],"names":["formDataParseSuccess","value","formDataParseError","message","requiredStringFormSchema","label","z.string","optionalStringFormSchema","integerFormSchema","optionalIntegerFormSchema","enumFormSchema","values","z.custom","candidate","enumValue","stringRecordJsonFormSchema","context","parsed","z.NEVER","key","propertyValue","getStringFormValue","formData","name","getFormDataStringRecord","parseFormDataWithSchema","schema","defaultMessage","result","getTrimmedStringFormValue","getOptionalIntFormValue","getRequiredIntFormValue"],"mappings":"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"}