@evolver-fi/evolver-basics-admin-components 0.0.21 → 1.0.0

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 (151) hide show
  1. package/dist/ArrowBack-Bifnzxvs.js +6430 -0
  2. package/dist/ArrowBack-Bifnzxvs.js.map +1 -0
  3. package/dist/{BreadCrumbs-BzG2oi8Z.js → BreadCrumbs-DMuPCevY.js} +2 -2
  4. package/dist/BreadCrumbs-DMuPCevY.js.map +1 -0
  5. package/dist/EnumSelectFilter-BdGla5Yf.js +36 -0
  6. package/dist/EnumSelectFilter-BdGla5Yf.js.map +1 -0
  7. package/dist/ExpandMore-DUn2zrFA.js +1644 -0
  8. package/dist/ExpandMore-DUn2zrFA.js.map +1 -0
  9. package/dist/FilterLink-DIeFjfZX.js +49 -0
  10. package/dist/FilterLink-DIeFjfZX.js.map +1 -0
  11. package/dist/JwtTokensRoute-C74zNV7A.js +2374 -0
  12. package/dist/JwtTokensRoute-C74zNV7A.js.map +1 -0
  13. package/dist/ScheduledTasksRoute-BAetDHqN.js +611 -0
  14. package/dist/ScheduledTasksRoute-BAetDHqN.js.map +1 -0
  15. package/dist/SingleLogMessageRoute-Dl2NFfqG.js +419 -0
  16. package/dist/SingleLogMessageRoute-Dl2NFfqG.js.map +1 -0
  17. package/dist/SingleMessageRoute-fC94BR1C.js +306 -0
  18. package/dist/SingleMessageRoute-fC94BR1C.js.map +1 -0
  19. package/dist/Table-DWiRP1za.js +120 -0
  20. package/dist/Table-DWiRP1za.js.map +1 -0
  21. package/dist/TextFilter-BHWY2B7i.js +67 -0
  22. package/dist/TextFilter-BHWY2B7i.js.map +1 -0
  23. package/dist/{TriggerablesRoute-opCAjNCv.js → TriggerablesRoute-DiEEX1cR.js} +572 -576
  24. package/dist/TriggerablesRoute-DiEEX1cR.js.map +1 -0
  25. package/dist/api-BD_4zyJw.js +38 -0
  26. package/dist/api-BD_4zyJw.js.map +1 -0
  27. package/dist/breadcrumbs/index.js +1 -1
  28. package/dist/client/index.js +380 -0
  29. package/dist/client/index.js.map +1 -0
  30. package/dist/configuration-values/index.js +13 -0
  31. package/dist/configuration-values/index.js.map +1 -0
  32. package/dist/control-values/index.js +10 -0
  33. package/dist/control-values/index.js.map +1 -0
  34. package/dist/createSvgIcon-dA_Vj2W0.js +3914 -0
  35. package/dist/{createSvgIcon-Cf1cru4R.js.map → createSvgIcon-dA_Vj2W0.js.map} +1 -1
  36. package/dist/exhaustiveValues-Dx50G3yz.js +5 -0
  37. package/dist/exhaustiveValues-Dx50G3yz.js.map +1 -0
  38. package/dist/filter/index.js +5 -6
  39. package/dist/formData-BH8saYep.js +65 -0
  40. package/dist/formData-BH8saYep.js.map +1 -0
  41. package/dist/{jsx-runtime-B6kdoens.js → jsx-runtime-D858t2LC.js} +201 -219
  42. package/dist/{jsx-runtime-B6kdoens.js.map → jsx-runtime-D858t2LC.js.map} +1 -1
  43. package/dist/jwt-tokens/index.js +6 -4
  44. package/dist/loader-CrveWlGb.js +375 -0
  45. package/dist/loader-CrveWlGb.js.map +1 -0
  46. package/dist/loader-D-oC32OJ.js +3612 -0
  47. package/dist/loader-D-oC32OJ.js.map +1 -0
  48. package/dist/loader-rVy8Z9xH.js +130 -0
  49. package/dist/loader-rVy8Z9xH.js.map +1 -0
  50. package/dist/main/index.js +84 -48
  51. package/dist/main/index.js.map +1 -1
  52. package/dist/message-log/index.js +7 -5
  53. package/dist/message-sending/index.js +4 -4
  54. package/dist/message-targets/index.js +15 -0
  55. package/dist/message-targets/index.js.map +1 -0
  56. package/dist/pagination-Dy4ansKN.js +21 -0
  57. package/dist/pagination-Dy4ansKN.js.map +1 -0
  58. package/dist/scheduled-tasks/index.js +11 -9
  59. package/dist/schemas-CBHIJ_eF.js +3059 -0
  60. package/dist/schemas-CBHIJ_eF.js.map +1 -0
  61. package/dist/table/index.js +1 -1
  62. package/dist/triggerables/index.js +5 -3
  63. package/dist/triggerables/index.js.map +1 -1
  64. package/dist/types/breadcrumbs.d.ts +0 -1
  65. package/dist/types/client.d.ts +1 -0
  66. package/dist/types/configuration-values.d.ts +1 -0
  67. package/dist/types/control-values.d.ts +1 -0
  68. package/dist/types/filter.d.ts +0 -1
  69. package/dist/types/jwt-tokens.d.ts +0 -1
  70. package/dist/types/main.d.ts +0 -1
  71. package/dist/types/message-log.d.ts +0 -1
  72. package/dist/types/message-sending.d.ts +0 -1
  73. package/dist/types/message-targets.d.ts +1 -0
  74. package/dist/types/scheduled-tasks.d.ts +0 -1
  75. package/dist/types/table.d.ts +0 -1
  76. package/dist/types/triggerables.d.ts +0 -1
  77. package/package.json +51 -27
  78. package/dist/BreadCrumbs-BzG2oi8Z.js.map +0 -1
  79. package/dist/ConfirmButton-jayUa8_J.js +0 -16
  80. package/dist/ConfirmButton-jayUa8_J.js.map +0 -1
  81. package/dist/EnumSelectFilter-DiJhYa2m.js +0 -40
  82. package/dist/EnumSelectFilter-DiJhYa2m.js.map +0 -1
  83. package/dist/ExpandMore-D6gf2UVG.js +0 -14
  84. package/dist/ExpandMore-D6gf2UVG.js.map +0 -1
  85. package/dist/FilterLink-CHw7-m82.js +0 -43
  86. package/dist/FilterLink-CHw7-m82.js.map +0 -1
  87. package/dist/JwtTokensRoute-B3SgLM0q.js +0 -2335
  88. package/dist/JwtTokensRoute-B3SgLM0q.js.map +0 -1
  89. package/dist/ScheduledTasksRoute-CNhOAAKd.js +0 -1152
  90. package/dist/ScheduledTasksRoute-CNhOAAKd.js.map +0 -1
  91. package/dist/SingleLogMessageRoute-BT4ghiqv.js +0 -305
  92. package/dist/SingleLogMessageRoute-BT4ghiqv.js.map +0 -1
  93. package/dist/SingleMessageRoute-DaaWvgfS.js +0 -293
  94. package/dist/SingleMessageRoute-DaaWvgfS.js.map +0 -1
  95. package/dist/Table-DgRqEB1x.js +0 -154
  96. package/dist/Table-DgRqEB1x.js.map +0 -1
  97. package/dist/TableMetadataDisplay-C7RP2ZrM.js +0 -122
  98. package/dist/TableMetadataDisplay-C7RP2ZrM.js.map +0 -1
  99. package/dist/TextFilter-BKUfkFQe.js +0 -70
  100. package/dist/TextFilter-BKUfkFQe.js.map +0 -1
  101. package/dist/TriggerablesRoute-opCAjNCv.js.map +0 -1
  102. package/dist/createSvgIcon-Cf1cru4R.js +0 -3945
  103. package/dist/evolverClient-B_TZXnpV.js +0 -1602
  104. package/dist/evolverClient-B_TZXnpV.js.map +0 -1
  105. package/dist/parser-Bj3mcA83.js +0 -6096
  106. package/dist/parser-Bj3mcA83.js.map +0 -1
  107. package/dist/types/admin-components/src/common/format.d.ts +0 -1
  108. package/dist/types/admin-components/src/common/types.d.ts +0 -27
  109. package/dist/types/admin-components/src/common/validation.d.ts +0 -5
  110. package/dist/types/admin-components/src/components/breadcrumbs/BreadCrumbs.d.ts +0 -10
  111. package/dist/types/admin-components/src/components/breadcrumbs/index.d.ts +0 -1
  112. package/dist/types/admin-components/src/components/filter/EnumSelectFilter.d.ts +0 -11
  113. package/dist/types/admin-components/src/components/filter/FilterHelperTexts.d.ts +0 -4
  114. package/dist/types/admin-components/src/components/filter/FilterLink.d.ts +0 -2
  115. package/dist/types/admin-components/src/components/filter/TextFilter.d.ts +0 -2
  116. package/dist/types/admin-components/src/components/filter/index.d.ts +0 -5
  117. package/dist/types/admin-components/src/components/filter/types.d.ts +0 -20
  118. package/dist/types/admin-components/src/components/metadata/TableMetadataDisplay.d.ts +0 -2
  119. package/dist/types/admin-components/src/components/metadata/utils.d.ts +0 -1
  120. package/dist/types/admin-components/src/components/table/Pagination.d.ts +0 -7
  121. package/dist/types/admin-components/src/components/table/Table.d.ts +0 -3
  122. package/dist/types/admin-components/src/components/table/index.d.ts +0 -3
  123. package/dist/types/admin-components/src/components/table/types.d.ts +0 -48
  124. package/dist/types/admin-components/src/index.d.ts +0 -8
  125. package/dist/types/admin-components/src/routes/jwt-tokens/JwtTokensRoute.d.ts +0 -2
  126. package/dist/types/admin-components/src/routes/jwt-tokens/index.d.ts +0 -2
  127. package/dist/types/admin-components/src/routes/jwt-tokens/loader.d.ts +0 -11
  128. package/dist/types/admin-components/src/routes/message-log/MessageLogRoute.d.ts +0 -2
  129. package/dist/types/admin-components/src/routes/message-log/SingleLogMessageRoute.d.ts +0 -2
  130. package/dist/types/admin-components/src/routes/message-log/index.d.ts +0 -3
  131. package/dist/types/admin-components/src/routes/message-log/loader.d.ts +0 -7
  132. package/dist/types/admin-components/src/routes/message-log/messageLogColumns.d.ts +0 -3
  133. package/dist/types/admin-components/src/routes/message-log/types.d.ts +0 -37
  134. package/dist/types/admin-components/src/routes/message-sending/MessageSendingRoute.d.ts +0 -2
  135. package/dist/types/admin-components/src/routes/message-sending/SingleMessageRoute.d.ts +0 -2
  136. package/dist/types/admin-components/src/routes/message-sending/index.d.ts +0 -3
  137. package/dist/types/admin-components/src/routes/message-sending/loader.d.ts +0 -6
  138. package/dist/types/admin-components/src/routes/message-sending/messageSendingColumns.d.ts +0 -3
  139. package/dist/types/admin-components/src/routes/message-sending/types.d.ts +0 -41
  140. package/dist/types/admin-components/src/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +0 -2
  141. package/dist/types/admin-components/src/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +0 -2
  142. package/dist/types/admin-components/src/routes/scheduled-tasks/action.d.ts +0 -20
  143. package/dist/types/admin-components/src/routes/scheduled-tasks/index.d.ts +0 -4
  144. package/dist/types/admin-components/src/routes/scheduled-tasks/loader.d.ts +0 -9
  145. package/dist/types/admin-components/src/routes/triggerables/TriggerablesRoute.d.ts +0 -2
  146. package/dist/types/admin-components/src/routes/triggerables/action.d.ts +0 -10
  147. package/dist/types/admin-components/src/routes/triggerables/index.d.ts +0 -3
  148. package/dist/types/admin-components/src/routes/triggerables/loader.d.ts +0 -9
  149. package/dist/types/admin-ui/src/front-page/FrontPage.d.ts +0 -2
  150. package/dist/validation-DStiilqx.js +0 -22
  151. package/dist/validation-DStiilqx.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ const s = () => (e) => e;
2
+ export {
3
+ s as e
4
+ };
5
+ //# sourceMappingURL=exhaustiveValues-Dx50G3yz.js.map
@@ -0,0 +1 @@
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,11 +1,10 @@
1
- import { E as t, c as l } from "../EnumSelectFilter-DiJhYa2m.js";
2
- import { F as a, T as i } from "../TextFilter-BKUfkFQe.js";
3
- import { F as s } from "../FilterLink-CHw7-m82.js";
1
+ import { E as t } from "../EnumSelectFilter-BdGla5Yf.js";
2
+ import { F as o, T as F } from "../TextFilter-BHWY2B7i.js";
3
+ import { F as s } from "../FilterLink-DIeFjfZX.js";
4
4
  export {
5
5
  t as EnumSelectFilter,
6
- a as FilterHelperTexts,
6
+ o as FilterHelperTexts,
7
7
  s as FilterLink,
8
- i as TextFilter,
9
- l as createEnumSelectFilter
8
+ F as TextFilter
10
9
  };
11
10
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,65 @@
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
@@ -0,0 +1 @@
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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"}