@opencrvs/toolkit 1.9.6-rc.62c2ee3 → 1.9.6-rc.666242e

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.
@@ -361,6 +361,7 @@ __export(events_exports, {
361
361
  mergeDrafts: () => mergeDrafts,
362
362
  never: () => never,
363
363
  not: () => not,
364
+ now: () => now,
364
365
  omitHiddenAnnotationFields: () => omitHiddenAnnotationFields,
365
366
  omitHiddenFields: () => omitHiddenFields,
366
367
  omitHiddenPaginatedFields: () => omitHiddenPaginatedFields,
@@ -385,7 +386,7 @@ var TENNIS_CLUB_MEMBERSHIP = "tennis-club-membership";
385
386
  var BIRTH_EVENT = "birth";
386
387
 
387
388
  // ../commons/src/events/ActionConfig.ts
388
- var import_zod19 = require("zod");
389
+ var import_zod20 = require("zod");
389
390
 
390
391
  // ../commons/src/events/TranslationConfig.ts
391
392
  var import_zod = require("zod");
@@ -508,7 +509,7 @@ function isMetaAction(actionType) {
508
509
  }
509
510
 
510
511
  // ../commons/src/events/FieldConfig.ts
511
- var import_zod15 = require("zod");
512
+ var import_zod16 = require("zod");
512
513
 
513
514
  // ../commons/src/events/Conditional.ts
514
515
  var import_zod3 = require("zod");
@@ -1905,9 +1906,18 @@ var SearchScopeAccessLevels = {
1905
1906
  ALL: "all"
1906
1907
  };
1907
1908
 
1909
+ // ../commons/src/events/serializers/date/serializer.ts
1910
+ var import_zod15 = require("zod");
1911
+ var SerializedNowDateTime = import_zod15.z.object({
1912
+ $$now: import_zod15.z.literal(true)
1913
+ });
1914
+ function todayDateTimeValueSerializer() {
1915
+ return { $$now: true };
1916
+ }
1917
+
1908
1918
  // ../commons/src/events/FieldConfig.ts
1909
- (0, import_zod_openapi6.extendZodWithOpenApi)(import_zod15.z);
1910
- var FieldId = import_zod15.z.string().refine(
1919
+ (0, import_zod_openapi6.extendZodWithOpenApi)(import_zod16.z);
1920
+ var FieldId = import_zod16.z.string().refine(
1911
1921
  /*
1912
1922
  * Disallow underscores '_' in field ids.
1913
1923
  * Why? Theres two reasons:
@@ -1920,160 +1930,160 @@ var FieldId = import_zod15.z.string().refine(
1920
1930
  message: `id: '${val}' must not contain underscores '_'`
1921
1931
  })
1922
1932
  ).describe("Unique identifier for the field");
1923
- var FieldReference = import_zod15.z.object({
1933
+ var FieldReference = import_zod16.z.object({
1924
1934
  $$field: FieldId,
1925
- $$subfield: import_zod15.z.array(import_zod15.z.string()).optional().describe(
1935
+ $$subfield: import_zod16.z.array(import_zod16.z.string()).optional().describe(
1926
1936
  'If the FieldValue is an object, subfield can be used to refer to e.g. `["foo", "bar"]` in `{ foo: { bar: 3 } }`'
1927
1937
  )
1928
1938
  }).describe("Reference to a field by its ID");
1929
- var ValidationConfig = import_zod15.z.object({
1939
+ var ValidationConfig = import_zod16.z.object({
1930
1940
  validator: Conditional,
1931
1941
  message: TranslationConfig
1932
1942
  });
1933
- var requiredSchema = import_zod15.z.union([
1934
- import_zod15.z.boolean(),
1935
- import_zod15.z.object({
1943
+ var requiredSchema = import_zod16.z.union([
1944
+ import_zod16.z.boolean(),
1945
+ import_zod16.z.object({
1936
1946
  message: TranslationConfig.describe("Custom required validation message")
1937
1947
  })
1938
1948
  ]).default(false).optional();
1939
- var BaseField = import_zod15.z.object({
1949
+ var BaseField = import_zod16.z.object({
1940
1950
  id: FieldId.describe("Unique identifier of the field."),
1941
1951
  label: TranslationConfig.describe("Human-readable label of the field."),
1942
- parent: FieldReference.or(import_zod15.z.array(FieldReference)).optional().describe(
1952
+ parent: FieldReference.or(import_zod16.z.array(FieldReference)).optional().describe(
1943
1953
  "Reference to the parent field or fields. When a parent field changes, this field is reset."
1944
1954
  ),
1945
1955
  required: requiredSchema.describe(
1946
1956
  "Indicates whether the field is mandatory."
1947
1957
  ),
1948
- conditionals: import_zod15.z.array(FieldConditional).default([]).optional().describe(
1958
+ conditionals: import_zod16.z.array(FieldConditional).default([]).optional().describe(
1949
1959
  "Conditions determining when the field is shown or enabled. By default, the field is always shown and enabled."
1950
1960
  ),
1951
- secured: import_zod15.z.boolean().default(false).optional().describe(
1961
+ secured: import_zod16.z.boolean().default(false).optional().describe(
1952
1962
  "Indicates whether the field is secured. Secured fields are not indexed for search and are only visible when explicitly assigned."
1953
1963
  ),
1954
1964
  placeholder: TranslationConfig.optional(),
1955
- validation: import_zod15.z.array(ValidationConfig).default([]).optional().describe("Additional validation rules applied to the field."),
1965
+ validation: import_zod16.z.array(ValidationConfig).default([]).optional().describe("Additional validation rules applied to the field."),
1956
1966
  helperText: TranslationConfig.optional(),
1957
- hideLabel: import_zod15.z.boolean().default(false).optional(),
1958
- uncorrectable: import_zod15.z.boolean().default(false).optional().describe(
1967
+ hideLabel: import_zod16.z.boolean().default(false).optional(),
1968
+ uncorrectable: import_zod16.z.boolean().default(false).optional().describe(
1959
1969
  "Indicates whether the field can be modified during record correction."
1960
1970
  ),
1961
- value: FieldReference.or(import_zod15.z.array(FieldReference)).optional().describe(
1971
+ value: FieldReference.or(import_zod16.z.array(FieldReference)).optional().describe(
1962
1972
  "Reference to the source field or fields. When a value is defined, it is copied from the parent field when changed. If multiple references are provided, the first truthy value is used."
1963
1973
  ),
1964
- analytics: import_zod15.z.boolean().default(false).optional().describe(
1974
+ analytics: import_zod16.z.boolean().default(false).optional().describe(
1965
1975
  "Indicates whether the field is included in analytics. When enabled, its value becomes available in the analytics dashboard."
1966
1976
  )
1967
1977
  }).describe("Common properties shared across all field types.");
1968
1978
  var Divider = BaseField.extend({
1969
- type: import_zod15.z.literal(FieldType.DIVIDER)
1979
+ type: import_zod16.z.literal(FieldType.DIVIDER)
1970
1980
  });
1971
1981
  var TextField = BaseField.extend({
1972
- type: import_zod15.z.literal(FieldType.TEXT),
1973
- defaultValue: import_zod15.z.union([NonEmptyTextValue, SerializedUserField]).optional(),
1974
- configuration: import_zod15.z.object({
1975
- maxLength: import_zod15.z.number().optional().describe("Maximum length of the text"),
1976
- type: import_zod15.z.enum(["text", "password"]).optional(),
1982
+ type: import_zod16.z.literal(FieldType.TEXT),
1983
+ defaultValue: import_zod16.z.union([NonEmptyTextValue, SerializedUserField]).optional(),
1984
+ configuration: import_zod16.z.object({
1985
+ maxLength: import_zod16.z.number().optional().describe("Maximum length of the text"),
1986
+ type: import_zod16.z.enum(["text", "password"]).optional(),
1977
1987
  prefix: TranslationConfig.optional(),
1978
1988
  postfix: TranslationConfig.optional()
1979
1989
  }).default({ type: "text" }).optional()
1980
1990
  }).describe("Text input");
1981
1991
  var NumberField = BaseField.extend({
1982
- type: import_zod15.z.literal(FieldType.NUMBER),
1992
+ type: import_zod16.z.literal(FieldType.NUMBER),
1983
1993
  defaultValue: NumberFieldValue.optional(),
1984
- configuration: import_zod15.z.object({
1985
- min: import_zod15.z.number().optional().describe("Minimum value"),
1986
- max: import_zod15.z.number().optional().describe("Maximum value"),
1994
+ configuration: import_zod16.z.object({
1995
+ min: import_zod16.z.number().optional().describe("Minimum value"),
1996
+ max: import_zod16.z.number().optional().describe("Maximum value"),
1987
1997
  prefix: TranslationConfig.optional(),
1988
1998
  postfix: TranslationConfig.optional()
1989
1999
  }).optional()
1990
2000
  }).describe("Number input");
1991
2001
  var TextAreaField = BaseField.extend({
1992
- type: import_zod15.z.literal(FieldType.TEXTAREA),
2002
+ type: import_zod16.z.literal(FieldType.TEXTAREA),
1993
2003
  defaultValue: NonEmptyTextValue.optional(),
1994
- configuration: import_zod15.z.object({
1995
- maxLength: import_zod15.z.number().optional().describe("Maximum length of the text"),
1996
- rows: import_zod15.z.number().optional().describe("Number of visible text lines"),
1997
- cols: import_zod15.z.number().optional().describe("Number of visible columns"),
2004
+ configuration: import_zod16.z.object({
2005
+ maxLength: import_zod16.z.number().optional().describe("Maximum length of the text"),
2006
+ rows: import_zod16.z.number().optional().describe("Number of visible text lines"),
2007
+ cols: import_zod16.z.number().optional().describe("Number of visible columns"),
1998
2008
  prefix: TranslationConfig.optional(),
1999
2009
  postfix: TranslationConfig.optional()
2000
2010
  }).default({ rows: 4 }).optional()
2001
2011
  }).describe("Multiline text input");
2002
- var ImageMimeType = import_zod15.z.enum([
2012
+ var ImageMimeType = import_zod16.z.enum([
2003
2013
  "image/png",
2004
2014
  "image/jpg",
2005
2015
  "image/jpeg",
2006
2016
  "image/svg+xml"
2007
2017
  ]);
2008
- var DocumentMimeType = import_zod15.z.enum([
2018
+ var DocumentMimeType = import_zod16.z.enum([
2009
2019
  "application/pdf",
2010
2020
  "application/msword",
2011
2021
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
2012
2022
  "application/vnd.oasis.opendocument.text"
2013
2023
  ]);
2014
- var MimeType = import_zod15.z.enum([
2024
+ var MimeType = import_zod16.z.enum([
2015
2025
  ...ImageMimeType.options,
2016
2026
  ...DocumentMimeType.options
2017
2027
  ]);
2018
2028
  var DEFAULT_MAX_FILE_SIZE_BYTES = 5 * 1024 * 1024;
2019
2029
  var SignatureField = BaseField.extend({
2020
- type: import_zod15.z.literal(FieldType.SIGNATURE),
2030
+ type: import_zod16.z.literal(FieldType.SIGNATURE),
2021
2031
  signaturePromptLabel: TranslationConfig.describe(
2022
2032
  "Title of the signature modal"
2023
2033
  ),
2024
2034
  defaultValue: SignatureFieldValue.optional(),
2025
- configuration: import_zod15.z.object({
2026
- maxFileSize: import_zod15.z.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
2035
+ configuration: import_zod16.z.object({
2036
+ maxFileSize: import_zod16.z.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
2027
2037
  acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature")
2028
2038
  }).default({
2029
2039
  maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
2030
2040
  })
2031
2041
  }).describe("Signature input field");
2032
2042
  var EmailField = BaseField.extend({
2033
- type: import_zod15.z.literal(FieldType.EMAIL),
2034
- configuration: import_zod15.z.object({
2035
- maxLength: import_zod15.z.number().optional().describe("Maximum length of the text")
2043
+ type: import_zod16.z.literal(FieldType.EMAIL),
2044
+ configuration: import_zod16.z.object({
2045
+ maxLength: import_zod16.z.number().optional().describe("Maximum length of the text")
2036
2046
  }).default({ maxLength: 10 }).optional(),
2037
2047
  defaultValue: NonEmptyTextValue.optional()
2038
2048
  });
2039
2049
  var DateField = BaseField.extend({
2040
- type: import_zod15.z.literal(FieldType.DATE),
2041
- defaultValue: DateValue.optional(),
2042
- configuration: import_zod15.z.object({
2050
+ type: import_zod16.z.literal(FieldType.DATE),
2051
+ defaultValue: SerializedNowDateTime.or(DateValue).optional().openapi({ effectType: "input", type: "string" }).describe("Default date value(yyyy-MM-dd)"),
2052
+ configuration: import_zod16.z.object({
2043
2053
  notice: TranslationConfig.describe(
2044
2054
  "Text to display above the date input"
2045
2055
  ).optional()
2046
2056
  }).optional()
2047
2057
  }).describe("A single date input (yyyy-MM-dd)");
2048
2058
  var AgeField = BaseField.extend({
2049
- type: import_zod15.z.literal(FieldType.AGE),
2059
+ type: import_zod16.z.literal(FieldType.AGE),
2050
2060
  defaultValue: NumberFieldValue.optional(),
2051
- configuration: import_zod15.z.object({
2061
+ configuration: import_zod16.z.object({
2052
2062
  asOfDate: FieldReference,
2053
2063
  prefix: TranslationConfig.optional(),
2054
2064
  postfix: TranslationConfig.optional()
2055
2065
  })
2056
2066
  }).describe("An age input field which uses the current date as the asOfDate");
2057
2067
  var TimeField = BaseField.extend({
2058
- type: import_zod15.z.literal(FieldType.TIME),
2059
- defaultValue: TimeValue.optional(),
2060
- configuration: import_zod15.z.object({
2061
- use12HourFormat: import_zod15.z.boolean().optional().describe("Whether to use 12-hour format"),
2068
+ type: import_zod16.z.literal(FieldType.TIME),
2069
+ defaultValue: SerializedNowDateTime.or(TimeValue).optional().openapi({ effectType: "input", type: "object" }).describe("Default time value (HH-mm)"),
2070
+ configuration: import_zod16.z.object({
2071
+ use12HourFormat: import_zod16.z.boolean().optional().describe("Whether to use 12-hour format"),
2062
2072
  notice: TranslationConfig.describe(
2063
2073
  "Text to display above the time input"
2064
2074
  ).optional()
2065
2075
  }).optional()
2066
2076
  }).describe("A single date input (HH-mm)");
2067
2077
  var DateRangeField = BaseField.extend({
2068
- type: import_zod15.z.literal(FieldType.DATE_RANGE),
2078
+ type: import_zod16.z.literal(FieldType.DATE_RANGE),
2069
2079
  defaultValue: DateRangeFieldValue.optional(),
2070
- configuration: import_zod15.z.object({
2080
+ configuration: import_zod16.z.object({
2071
2081
  notice: TranslationConfig.describe(
2072
2082
  "Text to display above the date input"
2073
2083
  ).optional()
2074
2084
  }).optional()
2075
2085
  }).describe("A date range input ({ start: yyyy-MM-dd, end: yyyy-MM-dd })");
2076
- var HtmlFontVariant = import_zod15.z.enum([
2086
+ var HtmlFontVariant = import_zod16.z.enum([
2077
2087
  "reg12",
2078
2088
  "reg14",
2079
2089
  "reg16",
@@ -2083,34 +2093,34 @@ var HtmlFontVariant = import_zod15.z.enum([
2083
2093
  "h2",
2084
2094
  "h1"
2085
2095
  ]);
2086
- var ParagraphConfiguration = import_zod15.z.object({
2087
- styles: import_zod15.z.object({
2096
+ var ParagraphConfiguration = import_zod16.z.object({
2097
+ styles: import_zod16.z.object({
2088
2098
  fontVariant: HtmlFontVariant.optional().describe(
2089
2099
  "Font variant to use for the paragraph text"
2090
2100
  ),
2091
- hint: import_zod15.z.boolean().optional().describe("When true, paragraph is styled as a hint with grey color")
2101
+ hint: import_zod16.z.boolean().optional().describe("When true, paragraph is styled as a hint with grey color")
2092
2102
  }).optional()
2093
2103
  }).default({});
2094
2104
  var Paragraph = BaseField.extend({
2095
- type: import_zod15.z.literal(FieldType.PARAGRAPH),
2105
+ type: import_zod16.z.literal(FieldType.PARAGRAPH),
2096
2106
  defaultValue: NonEmptyTextValue.optional(),
2097
2107
  configuration: ParagraphConfiguration
2098
2108
  }).describe("A read-only HTML <p> paragraph");
2099
2109
  var PageHeader = BaseField.extend({
2100
- type: import_zod15.z.literal(FieldType.PAGE_HEADER),
2110
+ type: import_zod16.z.literal(FieldType.PAGE_HEADER),
2101
2111
  defaultValue: NonEmptyTextValue.optional()
2102
2112
  }).describe("A read-only header component for form pages");
2103
2113
  var File = BaseField.extend({
2104
- type: import_zod15.z.literal(FieldType.FILE),
2114
+ type: import_zod16.z.literal(FieldType.FILE),
2105
2115
  defaultValue: FileFieldValue.optional(),
2106
- configuration: import_zod15.z.object({
2107
- maxFileSize: import_zod15.z.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
2116
+ configuration: import_zod16.z.object({
2117
+ maxFileSize: import_zod16.z.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
2108
2118
  acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature"),
2109
- maxImageSize: import_zod15.z.object({
2110
- targetSize: import_zod15.z.object({ width: import_zod15.z.number(), height: import_zod15.z.number() })
2119
+ maxImageSize: import_zod16.z.object({
2120
+ targetSize: import_zod16.z.object({ width: import_zod16.z.number(), height: import_zod16.z.number() })
2111
2121
  }).optional(),
2112
- style: import_zod15.z.object({
2113
- width: import_zod15.z.enum(["full", "auto"]).optional().describe(
2122
+ style: import_zod16.z.object({
2123
+ width: import_zod16.z.enum(["full", "auto"]).optional().describe(
2114
2124
  "Whether the file upload button should take the full width of the container or not"
2115
2125
  )
2116
2126
  }).optional(),
@@ -2119,46 +2129,46 @@ var File = BaseField.extend({
2119
2129
  maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
2120
2130
  })
2121
2131
  }).describe("File upload");
2122
- var SelectOption = import_zod15.z.object({
2123
- value: import_zod15.z.string().describe("The value of the option"),
2124
- label: import_zod15.z.union([import_zod15.z.string(), TranslationConfig]).describe("The label of the option")
2132
+ var SelectOption = import_zod16.z.object({
2133
+ value: import_zod16.z.string().describe("The value of the option"),
2134
+ label: import_zod16.z.union([import_zod16.z.string(), TranslationConfig]).describe("The label of the option")
2125
2135
  });
2126
2136
  var NumberWithUnitField = BaseField.extend({
2127
- type: import_zod15.z.literal(FieldType.NUMBER_WITH_UNIT),
2137
+ type: import_zod16.z.literal(FieldType.NUMBER_WITH_UNIT),
2128
2138
  defaultValue: NumberWithUnitFieldValue.optional(),
2129
- options: import_zod15.z.array(SelectOption).describe("A list of options for the unit select"),
2130
- configuration: import_zod15.z.object({
2131
- min: import_zod15.z.number().optional().describe("Minimum value of the number field"),
2132
- max: import_zod15.z.number().optional().describe("Maximum value of the number field"),
2139
+ options: import_zod16.z.array(SelectOption).describe("A list of options for the unit select"),
2140
+ configuration: import_zod16.z.object({
2141
+ min: import_zod16.z.number().optional().describe("Minimum value of the number field"),
2142
+ max: import_zod16.z.number().optional().describe("Maximum value of the number field"),
2133
2143
  numberFieldPlaceholder: TranslationConfig.optional().describe(
2134
2144
  "Placeholder for the number field"
2135
2145
  )
2136
2146
  }).optional()
2137
2147
  }).describe("Number with unit input");
2138
2148
  var RadioGroup = BaseField.extend({
2139
- type: import_zod15.z.literal(FieldType.RADIO_GROUP),
2149
+ type: import_zod16.z.literal(FieldType.RADIO_GROUP),
2140
2150
  defaultValue: TextValue.optional(),
2141
- options: import_zod15.z.array(SelectOption).describe("A list of options"),
2142
- configuration: import_zod15.z.object({
2143
- styles: import_zod15.z.object({
2144
- size: import_zod15.z.enum(["NORMAL", "LARGE"]).optional()
2151
+ options: import_zod16.z.array(SelectOption).describe("A list of options"),
2152
+ configuration: import_zod16.z.object({
2153
+ styles: import_zod16.z.object({
2154
+ size: import_zod16.z.enum(["NORMAL", "LARGE"]).optional()
2145
2155
  }).optional()
2146
2156
  }).optional()
2147
2157
  }).describe("Grouped radio options");
2148
2158
  var BulletList = BaseField.extend({
2149
- type: import_zod15.z.literal(FieldType.BULLET_LIST),
2159
+ type: import_zod16.z.literal(FieldType.BULLET_LIST),
2150
2160
  defaultValue: TextValue.optional(),
2151
- items: import_zod15.z.array(TranslationConfig).describe("A list of items"),
2152
- configuration: import_zod15.z.object({
2153
- styles: import_zod15.z.object({
2161
+ items: import_zod16.z.array(TranslationConfig).describe("A list of items"),
2162
+ configuration: import_zod16.z.object({
2163
+ styles: import_zod16.z.object({
2154
2164
  fontVariant: HtmlFontVariant.optional()
2155
2165
  }).optional()
2156
2166
  }).default({})
2157
2167
  }).describe("A list of bullet points");
2158
2168
  var Select = BaseField.extend({
2159
- type: import_zod15.z.literal(FieldType.SELECT),
2169
+ type: import_zod16.z.literal(FieldType.SELECT),
2160
2170
  defaultValue: TextValue.optional(),
2161
- options: import_zod15.z.array(SelectOption).describe("A list of options"),
2171
+ options: import_zod16.z.array(SelectOption).describe("A list of options"),
2162
2172
  noOptionsMessage: TranslationConfig.optional().describe(
2163
2173
  `
2164
2174
  A translation configuration object used to display a message when no options are available.
@@ -2170,34 +2180,34 @@ var Select = BaseField.extend({
2170
2180
  `
2171
2181
  )
2172
2182
  }).describe("Select input");
2173
- var SelectDateRangeOption = import_zod15.z.object({
2183
+ var SelectDateRangeOption = import_zod16.z.object({
2174
2184
  value: SelectDateRangeValue.describe("The value of the option"),
2175
2185
  label: TranslationConfig.describe("The label of the option")
2176
2186
  });
2177
2187
  var SelectDateRangeField = BaseField.extend({
2178
- type: import_zod15.z.literal(FieldType.SELECT_DATE_RANGE),
2188
+ type: import_zod16.z.literal(FieldType.SELECT_DATE_RANGE),
2179
2189
  defaultValue: SelectDateRangeValue.optional(),
2180
- options: import_zod15.z.array(SelectDateRangeOption).describe("A list of options")
2190
+ options: import_zod16.z.array(SelectDateRangeOption).describe("A list of options")
2181
2191
  }).describe("Select input with date range options");
2182
- var NameConfig = import_zod15.z.object({
2183
- firstname: import_zod15.z.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
2184
- middlename: import_zod15.z.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
2185
- surname: import_zod15.z.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional()
2192
+ var NameConfig = import_zod16.z.object({
2193
+ firstname: import_zod16.z.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
2194
+ middlename: import_zod16.z.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
2195
+ surname: import_zod16.z.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional()
2186
2196
  });
2187
2197
  var NameField = BaseField.extend({
2188
- type: import_zod15.z.literal(FieldType.NAME),
2189
- defaultValue: import_zod15.z.object({
2198
+ type: import_zod16.z.literal(FieldType.NAME),
2199
+ defaultValue: import_zod16.z.object({
2190
2200
  firstname: SerializedUserField.or(NonEmptyTextValue).optional(),
2191
2201
  middlename: SerializedUserField.or(NonEmptyTextValue).optional(),
2192
2202
  surname: SerializedUserField.or(NonEmptyTextValue).optional()
2193
2203
  }).optional(),
2194
- configuration: import_zod15.z.object({
2204
+ configuration: import_zod16.z.object({
2195
2205
  name: NameConfig.default({
2196
2206
  firstname: { required: true },
2197
2207
  surname: { required: true }
2198
2208
  }).optional(),
2199
- order: import_zod15.z.array(import_zod15.z.enum(["firstname", "middlename", "surname"])).optional(),
2200
- maxLength: import_zod15.z.number().optional().describe("Maximum length of the text"),
2209
+ order: import_zod16.z.array(import_zod16.z.enum(["firstname", "middlename", "surname"])).optional(),
2210
+ maxLength: import_zod16.z.number().optional().describe("Maximum length of the text"),
2201
2211
  prefix: TranslationConfig.optional(),
2202
2212
  postfix: TranslationConfig.optional()
2203
2213
  }).default({
@@ -2209,51 +2219,51 @@ var NameField = BaseField.extend({
2209
2219
  }).describe("Name input field");
2210
2220
  var PhoneField = BaseField.extend({
2211
2221
  defaultValue: NonEmptyTextValue.optional(),
2212
- type: import_zod15.z.literal(FieldType.PHONE)
2222
+ type: import_zod16.z.literal(FieldType.PHONE)
2213
2223
  }).describe("Phone input field");
2214
2224
  var IdField = BaseField.extend({
2215
2225
  defaultValue: NonEmptyTextValue.optional(),
2216
- type: import_zod15.z.literal(FieldType.ID)
2226
+ type: import_zod16.z.literal(FieldType.ID)
2217
2227
  }).describe("ID input field");
2218
2228
  var Checkbox = BaseField.extend({
2219
- type: import_zod15.z.literal(FieldType.CHECKBOX),
2229
+ type: import_zod16.z.literal(FieldType.CHECKBOX),
2220
2230
  defaultValue: CheckboxFieldValue.default(false)
2221
2231
  }).describe("Boolean checkbox field");
2222
2232
  var Country = BaseField.extend({
2223
- type: import_zod15.z.literal(FieldType.COUNTRY),
2233
+ type: import_zod16.z.literal(FieldType.COUNTRY),
2224
2234
  defaultValue: NonEmptyTextValue.optional()
2225
2235
  }).describe("Country select field");
2226
- var AdministrativeAreas = import_zod15.z.enum([
2236
+ var AdministrativeAreas = import_zod16.z.enum([
2227
2237
  "ADMIN_STRUCTURE",
2228
2238
  "HEALTH_FACILITY",
2229
2239
  "CRVS_OFFICE"
2230
2240
  ]);
2231
- var AdministrativeAreaConfiguration = import_zod15.z.object({
2232
- partOf: import_zod15.z.object({
2233
- $declaration: import_zod15.z.string()
2241
+ var AdministrativeAreaConfiguration = import_zod16.z.object({
2242
+ partOf: import_zod16.z.object({
2243
+ $declaration: import_zod16.z.string()
2234
2244
  }).optional().describe("Parent location"),
2235
2245
  type: AdministrativeAreas
2236
2246
  }).describe("Administrative area options");
2237
2247
  var AdministrativeArea = BaseField.extend({
2238
- type: import_zod15.z.literal(FieldType.ADMINISTRATIVE_AREA),
2248
+ type: import_zod16.z.literal(FieldType.ADMINISTRATIVE_AREA),
2239
2249
  defaultValue: NonEmptyTextValue.optional(),
2240
2250
  configuration: AdministrativeAreaConfiguration
2241
2251
  }).describe("Administrative area input field e.g. facility, office");
2242
2252
  var LocationInput = BaseField.extend({
2243
- type: import_zod15.z.literal(FieldType.LOCATION),
2253
+ type: import_zod16.z.literal(FieldType.LOCATION),
2244
2254
  defaultValue: NonEmptyTextValue.optional(),
2245
- configuration: import_zod15.z.object({
2246
- searchableResource: import_zod15.z.array(import_zod15.z.enum(["locations", "facilities", "offices"]))
2255
+ configuration: import_zod16.z.object({
2256
+ searchableResource: import_zod16.z.array(import_zod16.z.enum(["locations", "facilities", "offices"]))
2247
2257
  })
2248
2258
  }).describe("Input field for a location");
2249
2259
  var FileUploadWithOptions = BaseField.extend({
2250
- type: import_zod15.z.literal(FieldType.FILE_WITH_OPTIONS),
2251
- options: import_zod15.z.array(SelectOption).describe("A list of options"),
2260
+ type: import_zod16.z.literal(FieldType.FILE_WITH_OPTIONS),
2261
+ options: import_zod16.z.array(SelectOption).describe("A list of options"),
2252
2262
  defaultValue: FileFieldWithOptionValue.optional(),
2253
- configuration: import_zod15.z.object({
2254
- maxFileSize: import_zod15.z.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
2255
- maxImageSize: import_zod15.z.object({
2256
- targetSize: import_zod15.z.object({ width: import_zod15.z.number(), height: import_zod15.z.number() })
2263
+ configuration: import_zod16.z.object({
2264
+ maxFileSize: import_zod16.z.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
2265
+ maxImageSize: import_zod16.z.object({
2266
+ targetSize: import_zod16.z.object({ width: import_zod16.z.number(), height: import_zod16.z.number() })
2257
2267
  }).optional(),
2258
2268
  acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature")
2259
2269
  }).default({
@@ -2261,93 +2271,93 @@ var FileUploadWithOptions = BaseField.extend({
2261
2271
  })
2262
2272
  });
2263
2273
  var Facility = BaseField.extend({
2264
- type: import_zod15.z.literal(FieldType.FACILITY),
2274
+ type: import_zod16.z.literal(FieldType.FACILITY),
2265
2275
  defaultValue: NonEmptyTextValue.optional()
2266
2276
  }).describe("Input field for a facility");
2267
2277
  var Office = BaseField.extend({
2268
- type: import_zod15.z.literal(FieldType.OFFICE),
2278
+ type: import_zod16.z.literal(FieldType.OFFICE),
2269
2279
  defaultValue: NonEmptyTextValue.optional()
2270
2280
  }).describe("Input field for an office");
2271
2281
  var DefaultAddressFieldValue = DomesticAddressFieldValue.extend({
2272
- administrativeArea: import_zod15.z.union([UUID, SerializedUserField]).optional()
2282
+ administrativeArea: import_zod16.z.union([UUID, SerializedUserField]).optional()
2273
2283
  });
2274
2284
  var Address = BaseField.extend({
2275
- type: import_zod15.z.literal(FieldType.ADDRESS),
2276
- configuration: import_zod15.z.object({
2277
- lineSeparator: import_zod15.z.string().optional(),
2278
- fields: import_zod15.z.array(import_zod15.z.enum(["country", "administrativeArea"])).optional(),
2279
- administrativeLevels: import_zod15.z.array(import_zod15.z.string()).optional(),
2280
- streetAddressForm: import_zod15.z.array(
2281
- import_zod15.z.object({
2282
- id: import_zod15.z.string(),
2285
+ type: import_zod16.z.literal(FieldType.ADDRESS),
2286
+ configuration: import_zod16.z.object({
2287
+ lineSeparator: import_zod16.z.string().optional(),
2288
+ fields: import_zod16.z.array(import_zod16.z.enum(["country", "administrativeArea"])).optional(),
2289
+ administrativeLevels: import_zod16.z.array(import_zod16.z.string()).optional(),
2290
+ streetAddressForm: import_zod16.z.array(
2291
+ import_zod16.z.object({
2292
+ id: import_zod16.z.string(),
2283
2293
  required: requiredSchema,
2284
2294
  label: TranslationConfig,
2285
- type: import_zod15.z.literal(FieldType.TEXT),
2286
- conditionals: import_zod15.z.array(FieldConditional).default([]).optional(),
2295
+ type: import_zod16.z.literal(FieldType.TEXT),
2296
+ conditionals: import_zod16.z.array(FieldConditional).default([]).optional(),
2287
2297
  parent: FieldReference.optional()
2288
2298
  })
2289
2299
  ).optional()
2290
2300
  }).optional(),
2291
2301
  defaultValue: DefaultAddressFieldValue.optional()
2292
2302
  }).describe("Address input field \u2013 a combination of location and text fields");
2293
- var StaticDataEntry = import_zod15.z.object({
2294
- id: import_zod15.z.string().describe("ID for the data entry."),
2303
+ var StaticDataEntry = import_zod16.z.object({
2304
+ id: import_zod16.z.string().describe("ID for the data entry."),
2295
2305
  label: TranslationConfig,
2296
- value: TranslationConfig.or(import_zod15.z.string()).or(FieldReference)
2306
+ value: TranslationConfig.or(import_zod16.z.string()).or(FieldReference)
2297
2307
  }).describe("Static data entry");
2298
- var DataEntry = import_zod15.z.union([StaticDataEntry, import_zod15.z.object({ fieldId: import_zod15.z.string() })]).describe(
2308
+ var DataEntry = import_zod16.z.union([StaticDataEntry, import_zod16.z.object({ fieldId: import_zod16.z.string() })]).describe(
2299
2309
  "Data entry can be either a static data entry, or a reference to another field in the current form or the declaration."
2300
2310
  );
2301
2311
  var DataField = BaseField.extend({
2302
- type: import_zod15.z.literal(FieldType.DATA),
2303
- configuration: import_zod15.z.object({
2312
+ type: import_zod16.z.literal(FieldType.DATA),
2313
+ configuration: import_zod16.z.object({
2304
2314
  subtitle: TranslationConfig.optional(),
2305
- data: import_zod15.z.array(DataEntry)
2315
+ data: import_zod16.z.array(DataEntry)
2306
2316
  })
2307
2317
  }).describe("Data field for displaying read-only data");
2308
2318
  var ButtonField = BaseField.extend({
2309
- type: import_zod15.z.literal(FieldType.BUTTON),
2319
+ type: import_zod16.z.literal(FieldType.BUTTON),
2310
2320
  defaultValue: ButtonFieldValue.optional(),
2311
- configuration: import_zod15.z.object({
2312
- icon: import_zod15.z.string().optional().describe(
2321
+ configuration: import_zod16.z.object({
2322
+ icon: import_zod16.z.string().optional().describe(
2313
2323
  "Icon for the button. You can find icons from OpenCRVS UI-Kit."
2314
2324
  ),
2315
- loading: import_zod15.z.boolean().optional().describe("Whether the button is in a loading state and shows a spinner"),
2325
+ loading: import_zod16.z.boolean().optional().describe("Whether the button is in a loading state and shows a spinner"),
2316
2326
  text: TranslationConfig.describe("Text to display on the button")
2317
2327
  })
2318
2328
  }).describe("Generic button without any built-in functionality");
2319
2329
  var AlphaPrintButton = BaseField.extend({
2320
- type: import_zod15.z.literal(FieldType.ALPHA_PRINT_BUTTON),
2321
- configuration: import_zod15.z.object({
2322
- template: import_zod15.z.string().describe("Template ID from countryconfig templates to use for printing"),
2330
+ type: import_zod16.z.literal(FieldType.ALPHA_PRINT_BUTTON),
2331
+ configuration: import_zod16.z.object({
2332
+ template: import_zod16.z.string().describe("Template ID from countryconfig templates to use for printing"),
2323
2333
  buttonLabel: TranslationConfig.optional().describe(
2324
2334
  "Label for the print button"
2325
2335
  )
2326
2336
  })
2327
2337
  }).describe("Print button field for printing certificates");
2328
2338
  var HttpField = BaseField.extend({
2329
- type: import_zod15.z.literal(FieldType.HTTP),
2339
+ type: import_zod16.z.literal(FieldType.HTTP),
2330
2340
  defaultValue: HttpFieldValue.optional(),
2331
- configuration: import_zod15.z.object({
2341
+ configuration: import_zod16.z.object({
2332
2342
  trigger: FieldReference,
2333
- url: import_zod15.z.string().describe("URL to send the HTTP request to"),
2334
- method: import_zod15.z.enum(["GET", "POST", "PUT", "DELETE"]),
2335
- headers: import_zod15.z.record(import_zod15.z.string()).optional(),
2336
- body: import_zod15.z.record(import_zod15.z.any()).optional(),
2337
- errorValue: import_zod15.z.any().optional().describe("Value to set if the request fails"),
2338
- params: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.union([import_zod15.z.string(), FieldReference])).optional(),
2339
- timeout: import_zod15.z.number().default(15e3).describe("Request timeout in milliseconds")
2343
+ url: import_zod16.z.string().describe("URL to send the HTTP request to"),
2344
+ method: import_zod16.z.enum(["GET", "POST", "PUT", "DELETE"]),
2345
+ headers: import_zod16.z.record(import_zod16.z.string()).optional(),
2346
+ body: import_zod16.z.record(import_zod16.z.any()).optional(),
2347
+ errorValue: import_zod16.z.any().optional().describe("Value to set if the request fails"),
2348
+ params: import_zod16.z.record(import_zod16.z.string(), import_zod16.z.union([import_zod16.z.string(), FieldReference])).optional(),
2349
+ timeout: import_zod16.z.number().default(15e3).describe("Request timeout in milliseconds")
2340
2350
  })
2341
2351
  }).describe("HTTP request function triggered by a button click or other event");
2342
2352
  var SearchField = HttpField.extend({
2343
- type: import_zod15.z.literal(FieldType.SEARCH),
2353
+ type: import_zod16.z.literal(FieldType.SEARCH),
2344
2354
  configuration: SearchQuery.pick({
2345
2355
  query: true,
2346
2356
  limit: true,
2347
2357
  offset: true
2348
2358
  }).extend({
2349
2359
  validation: ValidationConfig,
2350
- indicators: import_zod15.z.object({
2360
+ indicators: import_zod16.z.object({
2351
2361
  loading: TranslationConfig.optional().describe(
2352
2362
  "Text to display while the search is in progress"
2353
2363
  ),
@@ -2362,7 +2372,7 @@ var SearchField = HttpField.extend({
2362
2372
  ),
2363
2373
  confirmButton: TranslationConfig.optional(),
2364
2374
  clearButton: TranslationConfig.optional(),
2365
- clearModal: import_zod15.z.object({
2375
+ clearModal: import_zod16.z.object({
2366
2376
  title: TranslationConfig.optional(),
2367
2377
  description: TranslationConfig.optional(),
2368
2378
  cancel: TranslationConfig.optional(),
@@ -2373,17 +2383,17 @@ var SearchField = HttpField.extend({
2373
2383
  })
2374
2384
  });
2375
2385
  var LinkButtonField = BaseField.extend({
2376
- type: import_zod15.z.literal(FieldType.LINK_BUTTON),
2377
- configuration: import_zod15.z.object({
2378
- url: import_zod15.z.string().describe("URL to open"),
2386
+ type: import_zod16.z.literal(FieldType.LINK_BUTTON),
2387
+ configuration: import_zod16.z.object({
2388
+ url: import_zod16.z.string().describe("URL to open"),
2379
2389
  text: TranslationConfig.describe("Text to display on the button"),
2380
- icon: import_zod15.z.string().optional().describe("Icon for the button. You can find icons from OpenCRVS UI-Kit.")
2390
+ icon: import_zod16.z.string().optional().describe("Icon for the button. You can find icons from OpenCRVS UI-Kit.")
2381
2391
  })
2382
2392
  }).describe("Button that opens a link");
2383
2393
  var VerificationStatus = BaseField.extend({
2384
- type: import_zod15.z.literal(FieldType.VERIFICATION_STATUS),
2394
+ type: import_zod16.z.literal(FieldType.VERIFICATION_STATUS),
2385
2395
  defaultValue: VerificationStatusValue.optional(),
2386
- configuration: import_zod15.z.object({
2396
+ configuration: import_zod16.z.object({
2387
2397
  status: TranslationConfig.describe("Text to display on the status pill."),
2388
2398
  description: TranslationConfig.describe(
2389
2399
  "Explaining text on the banner in form."
@@ -2391,38 +2401,38 @@ var VerificationStatus = BaseField.extend({
2391
2401
  })
2392
2402
  });
2393
2403
  var QueryParamReaderField = BaseField.extend({
2394
- type: import_zod15.z.literal(FieldType.QUERY_PARAM_READER),
2395
- configuration: import_zod15.z.object({
2396
- pickParams: import_zod15.z.array(import_zod15.z.string()).describe("List of query parameters to read from the URL")
2404
+ type: import_zod16.z.literal(FieldType.QUERY_PARAM_READER),
2405
+ configuration: import_zod16.z.object({
2406
+ pickParams: import_zod16.z.array(import_zod16.z.string()).describe("List of query parameters to read from the URL")
2397
2407
  })
2398
2408
  }).describe(
2399
2409
  "A field that maps URL query params into form values and clears them afterward"
2400
2410
  );
2401
2411
  var QrReaderField = BaseField.extend({
2402
- type: import_zod15.z.literal(FieldType.QR_READER),
2412
+ type: import_zod16.z.literal(FieldType.QR_READER),
2403
2413
  defaultValue: QrReaderFieldValue.optional(),
2404
- configuration: import_zod15.z.object({
2405
- validator: import_zod15.z.custom(
2414
+ configuration: import_zod16.z.object({
2415
+ validator: import_zod16.z.custom(
2406
2416
  (val) => typeof val === "object" && val !== null
2407
2417
  )
2408
2418
  }).optional()
2409
2419
  });
2410
2420
  var IdReaderField = BaseField.extend({
2411
- type: import_zod15.z.literal(FieldType.ID_READER),
2421
+ type: import_zod16.z.literal(FieldType.ID_READER),
2412
2422
  defaultValue: IdReaderFieldValue.optional(),
2413
- methods: import_zod15.z.array(
2414
- import_zod15.z.union([QrReaderField, LinkButtonField]).describe("Methods for reading an ID")
2423
+ methods: import_zod16.z.array(
2424
+ import_zod16.z.union([QrReaderField, LinkButtonField]).describe("Methods for reading an ID")
2415
2425
  )
2416
2426
  });
2417
2427
  var LoaderField = BaseField.extend({
2418
- type: import_zod15.z.literal(FieldType.LOADER),
2419
- configuration: import_zod15.z.object({
2428
+ type: import_zod16.z.literal(FieldType.LOADER),
2429
+ configuration: import_zod16.z.object({
2420
2430
  text: TranslationConfig.describe("Display text above the loading spinner")
2421
2431
  })
2422
2432
  }).describe(
2423
2433
  "A non-interactive field that indicates an in progress operation in form"
2424
2434
  );
2425
- var FieldConfig = import_zod15.z.discriminatedUnion("type", [
2435
+ var FieldConfig = import_zod16.z.discriminatedUnion("type", [
2426
2436
  Address,
2427
2437
  TextField,
2428
2438
  NumberField,
@@ -2467,27 +2477,27 @@ var FieldConfig = import_zod15.z.discriminatedUnion("type", [
2467
2477
  description: "Form field configuration",
2468
2478
  ref: "FieldConfig"
2469
2479
  });
2470
- var AnyFileField = import_zod15.z.discriminatedUnion("type", [
2480
+ var AnyFileField = import_zod16.z.discriminatedUnion("type", [
2471
2481
  SignatureField,
2472
2482
  File,
2473
2483
  FileUploadWithOptions
2474
2484
  ]);
2475
2485
 
2476
2486
  // ../commons/src/events/FormConfig.ts
2477
- var import_zod17 = require("zod");
2487
+ var import_zod18 = require("zod");
2478
2488
 
2479
2489
  // ../commons/src/events/PageConfig.ts
2480
- var import_zod16 = require("zod");
2490
+ var import_zod17 = require("zod");
2481
2491
  var import_zod_openapi7 = require("zod-openapi");
2482
- (0, import_zod_openapi7.extendZodWithOpenApi)(import_zod16.z);
2483
- var PageTypes = import_zod16.z.enum(["FORM", "VERIFICATION"]);
2484
- var PageConfigBase = import_zod16.z.object({
2485
- id: import_zod16.z.string().describe("Unique identifier for the page"),
2492
+ (0, import_zod_openapi7.extendZodWithOpenApi)(import_zod17.z);
2493
+ var PageTypes = import_zod17.z.enum(["FORM", "VERIFICATION"]);
2494
+ var PageConfigBase = import_zod17.z.object({
2495
+ id: import_zod17.z.string().describe("Unique identifier for the page"),
2486
2496
  title: TranslationConfig.describe("Header title of the page"),
2487
- requireCompletionToContinue: import_zod16.z.boolean().default(false).describe(
2497
+ requireCompletionToContinue: import_zod17.z.boolean().default(false).describe(
2488
2498
  "If true, all required fields must be filled before continuing to the next page"
2489
2499
  ),
2490
- fields: import_zod16.z.array(FieldConfig).describe("Fields to be rendered on the page"),
2500
+ fields: import_zod17.z.array(FieldConfig).describe("Fields to be rendered on the page"),
2491
2501
  conditional: Conditional.optional().describe(
2492
2502
  "Page will be shown if condition is met. If conditional is not defined, the page will be always shown."
2493
2503
  )
@@ -2496,13 +2506,13 @@ var PageConfigBase = import_zod16.z.object({
2496
2506
  ref: "FormPageConfig"
2497
2507
  });
2498
2508
  var FormPageConfig = PageConfigBase.extend({
2499
- type: import_zod16.z.literal(PageTypes.enum.FORM).default(PageTypes.enum.FORM)
2509
+ type: import_zod17.z.literal(PageTypes.enum.FORM).default(PageTypes.enum.FORM)
2500
2510
  });
2501
- var VerificationActionConfig = import_zod16.z.object({
2502
- verify: import_zod16.z.object({ label: TranslationConfig }),
2503
- cancel: import_zod16.z.object({
2511
+ var VerificationActionConfig = import_zod17.z.object({
2512
+ verify: import_zod17.z.object({ label: TranslationConfig }),
2513
+ cancel: import_zod17.z.object({
2504
2514
  label: TranslationConfig,
2505
- confirmation: import_zod16.z.object({
2515
+ confirmation: import_zod17.z.object({
2506
2516
  title: TranslationConfig,
2507
2517
  body: TranslationConfig
2508
2518
  })
@@ -2512,33 +2522,33 @@ var VerificationActionConfig = import_zod16.z.object({
2512
2522
  ref: "VerificationActionConfig"
2513
2523
  });
2514
2524
  var VerificationPageConfig = FormPageConfig.extend({
2515
- type: import_zod16.z.literal(PageTypes.enum.VERIFICATION),
2525
+ type: import_zod17.z.literal(PageTypes.enum.VERIFICATION),
2516
2526
  actions: VerificationActionConfig
2517
2527
  });
2518
- var PageConfig = import_zod16.z.discriminatedUnion("type", [
2528
+ var PageConfig = import_zod17.z.discriminatedUnion("type", [
2519
2529
  FormPageConfig,
2520
2530
  VerificationPageConfig
2521
2531
  ]);
2522
2532
 
2523
2533
  // ../commons/src/events/FormConfig.ts
2524
- var DeclarationFormConfig = import_zod17.z.object({
2534
+ var DeclarationFormConfig = import_zod18.z.object({
2525
2535
  label: TranslationConfig.describe("Human readable description of the form"),
2526
- pages: import_zod17.z.array(FormPageConfig)
2536
+ pages: import_zod18.z.array(FormPageConfig)
2527
2537
  }).describe("Configuration of the declaration form.");
2528
- var ActionFormConfig = import_zod17.z.object({
2538
+ var ActionFormConfig = import_zod18.z.object({
2529
2539
  label: TranslationConfig.describe("Human readable description of the form"),
2530
- pages: import_zod17.z.array(PageConfig)
2540
+ pages: import_zod18.z.array(PageConfig)
2531
2541
  }).describe(
2532
2542
  "Configuration of the form used for system actions beyond declaration, supporting a wider range of page types."
2533
2543
  );
2534
- var FormConfig = import_zod17.z.union([DeclarationFormConfig, ActionFormConfig]);
2544
+ var FormConfig = import_zod18.z.union([DeclarationFormConfig, ActionFormConfig]);
2535
2545
 
2536
2546
  // ../commons/src/events/DeduplicationConfig.ts
2537
- var import_zod18 = require("zod");
2547
+ var import_zod19 = require("zod");
2538
2548
  var import_zod_openapi8 = require("zod-openapi");
2539
- (0, import_zod_openapi8.extendZodWithOpenApi)(import_zod18.z);
2540
- var FieldReference2 = import_zod18.z.string();
2541
- var Matcher = import_zod18.z.object({
2549
+ (0, import_zod_openapi8.extendZodWithOpenApi)(import_zod19.z);
2550
+ var FieldReference2 = import_zod19.z.string();
2551
+ var Matcher = import_zod19.z.object({
2542
2552
  /**
2543
2553
  * Reference to the field used in matching.
2544
2554
  *
@@ -2546,68 +2556,68 @@ var Matcher = import_zod18.z.object({
2546
2556
  * be used as the origin date to calculate the distance from.
2547
2557
  */
2548
2558
  fieldId: FieldReference2,
2549
- options: import_zod18.z.object({
2550
- boost: import_zod18.z.number().optional()
2559
+ options: import_zod19.z.object({
2560
+ boost: import_zod19.z.number().optional()
2551
2561
  }).optional().default({
2552
2562
  boost: 1
2553
2563
  })
2554
2564
  });
2555
2565
  var FuzzyMatcher = Matcher.extend({
2556
- type: import_zod18.z.literal("fuzzy"),
2557
- options: import_zod18.z.object({
2566
+ type: import_zod19.z.literal("fuzzy"),
2567
+ options: import_zod19.z.object({
2558
2568
  /**
2559
2569
  * Names of length 3 or less characters = 0 edits allowed
2560
2570
  * Names of length 4 - 6 characters = 1 edit allowed
2561
2571
  * Names of length >7 characters = 2 edits allowed
2562
2572
  */
2563
- fuzziness: import_zod18.z.union([import_zod18.z.string(), import_zod18.z.number()]).optional().default("AUTO:4,7"),
2564
- boost: import_zod18.z.number().optional().default(1)
2573
+ fuzziness: import_zod19.z.union([import_zod19.z.string(), import_zod19.z.number()]).optional().default("AUTO:4,7"),
2574
+ boost: import_zod19.z.number().optional().default(1)
2565
2575
  }).optional().default({
2566
2576
  fuzziness: "AUTO:4,7",
2567
2577
  boost: 1
2568
2578
  })
2569
2579
  });
2570
2580
  var StrictMatcher = Matcher.extend({
2571
- type: import_zod18.z.literal("strict"),
2572
- options: import_zod18.z.object({
2573
- boost: import_zod18.z.number().optional().default(1),
2581
+ type: import_zod19.z.literal("strict"),
2582
+ options: import_zod19.z.object({
2583
+ boost: import_zod19.z.number().optional().default(1),
2574
2584
  /**
2575
2585
  * The constant value to be present in the field for both records
2576
2586
  */
2577
- value: import_zod18.z.string().optional()
2587
+ value: import_zod19.z.string().optional()
2578
2588
  }).optional().default({
2579
2589
  boost: 1
2580
2590
  })
2581
2591
  });
2582
2592
  var DateRangeMatcher = Matcher.extend({
2583
- type: import_zod18.z.literal("dateRange"),
2584
- options: import_zod18.z.object({
2593
+ type: import_zod19.z.literal("dateRange"),
2594
+ options: import_zod19.z.object({
2585
2595
  /**
2586
2596
  * The distance pivot in days. Distance from the origin (the value of
2587
2597
  * fieldId) at which relevance scores receive half of the boost value
2588
2598
  */
2589
- pivot: import_zod18.z.number().optional(),
2590
- days: import_zod18.z.number(),
2591
- boost: import_zod18.z.number().optional().default(1)
2599
+ pivot: import_zod19.z.number().optional(),
2600
+ days: import_zod19.z.number(),
2601
+ boost: import_zod19.z.number().optional().default(1)
2592
2602
  })
2593
2603
  });
2594
- var Not = import_zod18.z.object({
2595
- type: import_zod18.z.literal("not"),
2604
+ var Not = import_zod19.z.object({
2605
+ type: import_zod19.z.literal("not"),
2596
2606
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2597
- clause: import_zod18.z.lazy(() => Clause)
2607
+ clause: import_zod19.z.lazy(() => Clause)
2598
2608
  });
2599
- var And = import_zod18.z.object({
2600
- type: import_zod18.z.literal("and"),
2609
+ var And = import_zod19.z.object({
2610
+ type: import_zod19.z.literal("and"),
2601
2611
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2602
- clauses: import_zod18.z.lazy(() => Clause.array())
2612
+ clauses: import_zod19.z.lazy(() => Clause.array())
2603
2613
  });
2604
- var Or = import_zod18.z.object({
2605
- type: import_zod18.z.literal("or"),
2614
+ var Or = import_zod19.z.object({
2615
+ type: import_zod19.z.literal("or"),
2606
2616
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2607
- clauses: import_zod18.z.lazy(() => Clause.array())
2617
+ clauses: import_zod19.z.lazy(() => Clause.array())
2608
2618
  });
2609
- var Clause = import_zod18.z.lazy(
2610
- () => import_zod18.z.discriminatedUnion("type", [
2619
+ var Clause = import_zod19.z.lazy(
2620
+ () => import_zod19.z.discriminatedUnion("type", [
2611
2621
  Not,
2612
2622
  And,
2613
2623
  Or,
@@ -2618,22 +2628,22 @@ var Clause = import_zod18.z.lazy(
2618
2628
  ).openapi({
2619
2629
  ref: "Clause"
2620
2630
  });
2621
- var DeduplicationConfig = import_zod18.z.object({
2622
- id: import_zod18.z.string(),
2631
+ var DeduplicationConfig = import_zod19.z.object({
2632
+ id: import_zod19.z.string(),
2623
2633
  label: TranslationConfig,
2624
2634
  query: Clause
2625
2635
  });
2626
2636
 
2627
2637
  // ../commons/src/events/ActionConfig.ts
2628
2638
  var import_zod_openapi9 = require("zod-openapi");
2629
- (0, import_zod_openapi9.extendZodWithOpenApi)(import_zod19.z);
2630
- var DeclarationReviewConfig = import_zod19.z.object({
2639
+ (0, import_zod_openapi9.extendZodWithOpenApi)(import_zod20.z);
2640
+ var DeclarationReviewConfig = import_zod20.z.object({
2631
2641
  title: TranslationConfig.describe("Title of the review page"),
2632
- fields: import_zod19.z.array(FieldConfig).describe("Fields displayed on the review page for annotations.")
2642
+ fields: import_zod20.z.array(FieldConfig).describe("Fields displayed on the review page for annotations.")
2633
2643
  }).describe(
2634
2644
  "Configuration of the declaration review page for collecting event-related metadata."
2635
2645
  );
2636
- var ActionConfigBase = import_zod19.z.object({
2646
+ var ActionConfigBase = import_zod20.z.object({
2637
2647
  label: TranslationConfig.describe("Human readable description of the action")
2638
2648
  });
2639
2649
  var DeclarationActionBase = ActionConfigBase.extend({
@@ -2641,66 +2651,66 @@ var DeclarationActionBase = ActionConfigBase.extend({
2641
2651
  deduplication: DeduplicationConfig.optional()
2642
2652
  });
2643
2653
  var ReadActionConfig = ActionConfigBase.merge(
2644
- import_zod19.z.object({
2645
- type: import_zod19.z.literal(ActionType.READ),
2654
+ import_zod20.z.object({
2655
+ type: import_zod20.z.literal(ActionType.READ),
2646
2656
  review: DeclarationReviewConfig.describe(
2647
2657
  "Configuration of the review page for read-only view."
2648
2658
  )
2649
2659
  })
2650
2660
  );
2651
2661
  var DeclareConfig = DeclarationActionBase.merge(
2652
- import_zod19.z.object({
2653
- type: import_zod19.z.literal(ActionType.DECLARE)
2662
+ import_zod20.z.object({
2663
+ type: import_zod20.z.literal(ActionType.DECLARE)
2654
2664
  })
2655
2665
  );
2656
2666
  var ValidateConfig = DeclarationActionBase.merge(
2657
- import_zod19.z.object({
2658
- type: import_zod19.z.literal(ActionType.VALIDATE)
2667
+ import_zod20.z.object({
2668
+ type: import_zod20.z.literal(ActionType.VALIDATE)
2659
2669
  })
2660
2670
  );
2661
2671
  var RegisterConfig = DeclarationActionBase.merge(
2662
- import_zod19.z.object({
2663
- type: import_zod19.z.literal(ActionType.REGISTER)
2672
+ import_zod20.z.object({
2673
+ type: import_zod20.z.literal(ActionType.REGISTER)
2664
2674
  })
2665
2675
  );
2666
2676
  var RejectDeclarationConfig = ActionConfigBase.merge(
2667
- import_zod19.z.object({
2668
- type: import_zod19.z.literal(ActionType.REJECT)
2677
+ import_zod20.z.object({
2678
+ type: import_zod20.z.literal(ActionType.REJECT)
2669
2679
  })
2670
2680
  );
2671
2681
  var ArchiveConfig = ActionConfigBase.merge(
2672
- import_zod19.z.object({
2673
- type: import_zod19.z.literal(ActionType.ARCHIVE)
2682
+ import_zod20.z.object({
2683
+ type: import_zod20.z.literal(ActionType.ARCHIVE)
2674
2684
  })
2675
2685
  );
2676
2686
  var DeleteConfig = ActionConfigBase.merge(
2677
- import_zod19.z.object({
2678
- type: import_zod19.z.literal(ActionType.DELETE)
2687
+ import_zod20.z.object({
2688
+ type: import_zod20.z.literal(ActionType.DELETE)
2679
2689
  })
2680
2690
  );
2681
2691
  var PrintCertificateActionConfig = ActionConfigBase.merge(
2682
- import_zod19.z.object({
2683
- type: import_zod19.z.literal(ActionType.PRINT_CERTIFICATE),
2692
+ import_zod20.z.object({
2693
+ type: import_zod20.z.literal(ActionType.PRINT_CERTIFICATE),
2684
2694
  printForm: ActionFormConfig
2685
2695
  })
2686
2696
  );
2687
2697
  var RequestCorrectionConfig = ActionConfigBase.merge(
2688
- import_zod19.z.object({
2689
- type: import_zod19.z.literal(ActionType.REQUEST_CORRECTION),
2698
+ import_zod20.z.object({
2699
+ type: import_zod20.z.literal(ActionType.REQUEST_CORRECTION),
2690
2700
  correctionForm: ActionFormConfig
2691
2701
  })
2692
2702
  );
2693
2703
  var RejectCorrectionConfig = ActionConfigBase.merge(
2694
- import_zod19.z.object({
2695
- type: import_zod19.z.literal(ActionType.REJECT_CORRECTION)
2704
+ import_zod20.z.object({
2705
+ type: import_zod20.z.literal(ActionType.REJECT_CORRECTION)
2696
2706
  })
2697
2707
  );
2698
2708
  var ApproveCorrectionConfig = ActionConfigBase.merge(
2699
- import_zod19.z.object({
2700
- type: import_zod19.z.literal(ActionType.APPROVE_CORRECTION)
2709
+ import_zod20.z.object({
2710
+ type: import_zod20.z.literal(ActionType.APPROVE_CORRECTION)
2701
2711
  })
2702
2712
  );
2703
- var ActionConfig = import_zod19.z.discriminatedUnion("type", [
2713
+ var ActionConfig = import_zod20.z.discriminatedUnion("type", [
2704
2714
  /*
2705
2715
  * OpenAPI references are defined here so our generated OpenAPI spec knows to reuse the models
2706
2716
  * and treat them as "models" instead of duplicating the data structure in each endpoint.
@@ -2721,87 +2731,87 @@ var ActionConfig = import_zod19.z.discriminatedUnion("type", [
2721
2731
  ]).describe(
2722
2732
  "Configuration of an action available for an event. Data collected depends on the action type and is accessible through the annotation property in ActionDocument."
2723
2733
  ).openapi({ ref: "ActionConfig" });
2724
- var DeclarationActionConfig = import_zod19.z.discriminatedUnion("type", [
2734
+ var DeclarationActionConfig = import_zod20.z.discriminatedUnion("type", [
2725
2735
  DeclareConfig,
2726
2736
  ValidateConfig,
2727
2737
  RegisterConfig
2728
2738
  ]);
2729
2739
 
2730
2740
  // ../commons/src/events/offline/CertificateConfig.ts
2731
- var import_zod20 = require("zod");
2732
- var FontFamily = import_zod20.z.object({
2733
- normal: import_zod20.z.string(),
2734
- bold: import_zod20.z.string(),
2735
- italics: import_zod20.z.string(),
2736
- bolditalics: import_zod20.z.string()
2741
+ var import_zod21 = require("zod");
2742
+ var FontFamily = import_zod21.z.object({
2743
+ normal: import_zod21.z.string(),
2744
+ bold: import_zod21.z.string(),
2745
+ italics: import_zod21.z.string(),
2746
+ bolditalics: import_zod21.z.string()
2737
2747
  });
2738
- var CertificateConfig = import_zod20.z.object({
2739
- id: import_zod20.z.string(),
2740
- event: import_zod20.z.string(),
2741
- isV2Template: import_zod20.z.boolean().optional(),
2748
+ var CertificateConfig = import_zod21.z.object({
2749
+ id: import_zod21.z.string(),
2750
+ event: import_zod21.z.string(),
2751
+ isV2Template: import_zod21.z.boolean().optional(),
2742
2752
  label: TranslationConfig,
2743
- isDefault: import_zod20.z.boolean(),
2744
- fee: import_zod20.z.object({
2745
- onTime: import_zod20.z.number(),
2746
- late: import_zod20.z.number(),
2747
- delayed: import_zod20.z.number()
2753
+ isDefault: import_zod21.z.boolean(),
2754
+ fee: import_zod21.z.object({
2755
+ onTime: import_zod21.z.number(),
2756
+ late: import_zod21.z.number(),
2757
+ delayed: import_zod21.z.number()
2748
2758
  }),
2749
- svgUrl: import_zod20.z.string(),
2750
- fonts: import_zod20.z.record(FontFamily).optional(),
2751
- conditionals: import_zod20.z.array(ShowConditional).optional()
2759
+ svgUrl: import_zod21.z.string(),
2760
+ fonts: import_zod21.z.record(FontFamily).optional(),
2761
+ conditionals: import_zod21.z.array(ShowConditional).optional()
2752
2762
  });
2753
2763
  var CertificateTemplateConfig = CertificateConfig.extend({
2754
- hash: import_zod20.z.string().optional(),
2755
- svg: import_zod20.z.string()
2764
+ hash: import_zod21.z.string().optional(),
2765
+ svg: import_zod21.z.string()
2756
2766
  });
2757
2767
 
2758
2768
  // ../commons/src/events/offline/LanguageConfig.ts
2759
- var import_zod21 = require("zod");
2760
- var LanguageConfig = import_zod21.z.object({
2761
- lang: import_zod21.z.string(),
2769
+ var import_zod22 = require("zod");
2770
+ var LanguageConfig = import_zod22.z.object({
2771
+ lang: import_zod22.z.string(),
2762
2772
  /**
2763
2773
  * client.csv contents
2764
2774
  */
2765
- messages: import_zod21.z.record(import_zod21.z.string())
2775
+ messages: import_zod22.z.record(import_zod22.z.string())
2766
2776
  });
2767
2777
 
2768
2778
  // ../commons/src/events/EventConfig.ts
2769
- var import_zod26 = require("zod");
2779
+ var import_zod27 = require("zod");
2770
2780
 
2771
2781
  // ../commons/src/events/SummaryConfig.ts
2772
- var import_zod22 = require("zod");
2773
- var BaseField2 = import_zod22.z.object({
2782
+ var import_zod23 = require("zod");
2783
+ var BaseField2 = import_zod23.z.object({
2774
2784
  emptyValueMessage: TranslationConfig.optional().describe(
2775
2785
  "Default message displayed when the field value is empty."
2776
2786
  ),
2777
- conditionals: import_zod22.z.array(ShowConditional).default([]).optional()
2787
+ conditionals: import_zod23.z.array(ShowConditional).default([]).optional()
2778
2788
  });
2779
2789
  var ReferenceField = BaseField2.extend({
2780
- fieldId: import_zod22.z.string(),
2790
+ fieldId: import_zod23.z.string(),
2781
2791
  label: TranslationConfig.optional().describe(
2782
2792
  "Overrides the default label from the referenced field when provided."
2783
2793
  )
2784
2794
  }).describe("Field referencing existing event data by field ID.");
2785
2795
  var Field = BaseField2.extend({
2786
- id: import_zod22.z.string().describe("Identifier of the summary field."),
2796
+ id: import_zod23.z.string().describe("Identifier of the summary field."),
2787
2797
  value: TranslationConfig.describe(
2788
2798
  'Field value template supporting variables from configuration and EventMetadata (e.g. "{informant.phoneNo} {informant.email}").'
2789
2799
  ),
2790
2800
  label: TranslationConfig
2791
2801
  }).describe("Custom field defined for the summary view.");
2792
- var SummaryConfig = import_zod22.z.object({
2793
- fields: import_zod22.z.array(import_zod22.z.union([Field, ReferenceField])).describe("Fields displayed in the event summary view.")
2802
+ var SummaryConfig = import_zod23.z.object({
2803
+ fields: import_zod23.z.array(import_zod23.z.union([Field, ReferenceField])).describe("Fields displayed in the event summary view.")
2794
2804
  }).describe("Configuration of the event summary section.");
2795
2805
 
2796
2806
  // ../commons/src/events/AdvancedSearchConfig.ts
2797
- var import_zod23 = require("zod");
2798
- var MatchType = import_zod23.z.enum(["fuzzy", "exact", "range", "within"]);
2799
- var BaseField3 = import_zod23.z.object({
2800
- config: import_zod23.z.object({
2807
+ var import_zod24 = require("zod");
2808
+ var MatchType = import_zod24.z.enum(["fuzzy", "exact", "range", "within"]);
2809
+ var BaseField3 = import_zod24.z.object({
2810
+ config: import_zod24.z.object({
2801
2811
  type: MatchType.describe(
2802
2812
  "Determines the search type of field. How to match value."
2803
2813
  ),
2804
- searchFields: import_zod23.z.array(import_zod23.z.string()).optional().describe(
2814
+ searchFields: import_zod24.z.array(import_zod24.z.string()).optional().describe(
2805
2815
  `
2806
2816
  Defines multiple form fields that should be searched when this field has a value.
2807
2817
  All specified fields will be combined using OR logic.
@@ -2811,7 +2821,7 @@ var BaseField3 = import_zod23.z.object({
2811
2821
  `
2812
2822
  )
2813
2823
  }),
2814
- type: import_zod23.z.nativeEnum(FieldType).optional().describe(
2824
+ type: import_zod24.z.nativeEnum(FieldType).optional().describe(
2815
2825
  `
2816
2826
  Explicitly specify the field type for searchFields.
2817
2827
  This is required when searchFields is defined, to show the correct control in the UI.
@@ -2825,7 +2835,7 @@ var BaseField3 = import_zod23.z.object({
2825
2835
  This is required when searchFields is defined.
2826
2836
  `
2827
2837
  ),
2828
- options: import_zod23.z.array(SelectOption).optional(),
2838
+ options: import_zod24.z.array(SelectOption).optional(),
2829
2839
  searchCriteriaLabelPrefix: TranslationConfig.optional().describe(
2830
2840
  `
2831
2841
  This property determines whether to add a prefix (such as "Child" or "Applicant") before the field label
@@ -2846,7 +2856,7 @@ var BaseField3 = import_zod23.z.object({
2846
2856
  in the country-config > event.advancedSearch configuration. For example: field("child.dob", { searchCriteriaLabelPrefix: TranslationConfig }).
2847
2857
  `
2848
2858
  ),
2849
- conditionals: import_zod23.z.array(FieldConditional).default([]).optional().describe(
2859
+ conditionals: import_zod24.z.array(FieldConditional).default([]).optional().describe(
2850
2860
  `
2851
2861
  In advanced search, we sometimes need to override the default field visibility conditionals.
2852
2862
 
@@ -2860,20 +2870,20 @@ var BaseField3 = import_zod23.z.object({
2860
2870
  are always rendered in the advanced search form.
2861
2871
  `
2862
2872
  ),
2863
- validations: import_zod23.z.array(ValidationConfig).default([]).optional().describe(
2873
+ validations: import_zod24.z.array(ValidationConfig).default([]).optional().describe(
2864
2874
  `Option for overriding the field validations specifically for advanced search form.`
2865
2875
  )
2866
2876
  });
2867
- var SearchQueryParams = import_zod23.z.object({
2868
- eventType: import_zod23.z.string().optional().describe(
2877
+ var SearchQueryParams = import_zod24.z.object({
2878
+ eventType: import_zod24.z.string().optional().describe(
2869
2879
  "Defines type of event so that when redirecting to Advanced Search page, appropriate tab can be selected"
2870
2880
  )
2871
2881
  }).catchall(FieldValue);
2872
2882
  var FieldConfigSchema = BaseField3.extend({
2873
- fieldId: import_zod23.z.string(),
2874
- fieldType: import_zod23.z.literal("field")
2883
+ fieldId: import_zod24.z.string(),
2884
+ fieldType: import_zod24.z.literal("field")
2875
2885
  });
2876
- var EventFieldIdInput = import_zod23.z.enum([
2886
+ var EventFieldIdInput = import_zod24.z.enum([
2877
2887
  "trackingId",
2878
2888
  "status",
2879
2889
  "legalStatuses.REGISTERED.acceptedAt",
@@ -2882,7 +2892,7 @@ var EventFieldIdInput = import_zod23.z.enum([
2882
2892
  "updatedAt"
2883
2893
  ]);
2884
2894
  var METADATA_FIELD_PREFIX = "event.";
2885
- var EventFieldId = import_zod23.z.enum([
2895
+ var EventFieldId = import_zod24.z.enum([
2886
2896
  `${METADATA_FIELD_PREFIX}trackingId`,
2887
2897
  `${METADATA_FIELD_PREFIX}status`,
2888
2898
  `${METADATA_FIELD_PREFIX}legalStatuses.REGISTERED.acceptedAt`,
@@ -2892,29 +2902,29 @@ var EventFieldId = import_zod23.z.enum([
2892
2902
  ]);
2893
2903
  var EventFieldConfigSchema = BaseField3.extend({
2894
2904
  fieldId: EventFieldId,
2895
- fieldType: import_zod23.z.literal("event")
2905
+ fieldType: import_zod24.z.literal("event")
2896
2906
  });
2897
- var AdvancedSearchField = import_zod23.z.discriminatedUnion("fieldType", [FieldConfigSchema, EventFieldConfigSchema]).superRefine((data, ctx) => {
2907
+ var AdvancedSearchField = import_zod24.z.discriminatedUnion("fieldType", [FieldConfigSchema, EventFieldConfigSchema]).superRefine((data, ctx) => {
2898
2908
  if (data.config.searchFields && data.config.searchFields.length > 0) {
2899
2909
  if (!data.label) {
2900
2910
  ctx.addIssue({
2901
- code: import_zod23.z.ZodIssueCode.custom,
2911
+ code: import_zod24.z.ZodIssueCode.custom,
2902
2912
  message: "label is required when config.searchFields is defined.",
2903
2913
  path: ["label"]
2904
2914
  });
2905
2915
  }
2906
2916
  if (!data.type) {
2907
2917
  ctx.addIssue({
2908
- code: import_zod23.z.ZodIssueCode.custom,
2918
+ code: import_zod24.z.ZodIssueCode.custom,
2909
2919
  message: "type is required when config.searchFields is defined.",
2910
2920
  path: ["type"]
2911
2921
  });
2912
2922
  }
2913
2923
  }
2914
2924
  });
2915
- var AdvancedSearchConfig = import_zod23.z.object({
2925
+ var AdvancedSearchConfig = import_zod24.z.object({
2916
2926
  title: TranslationConfig.describe("Advanced search tab title"),
2917
- fields: import_zod23.z.array(AdvancedSearchField).describe("Advanced search fields within the tab.")
2927
+ fields: import_zod24.z.array(AdvancedSearchField).describe("Advanced search fields within the tab.")
2918
2928
  });
2919
2929
 
2920
2930
  // ../commons/src/events/utils.ts
@@ -2923,14 +2933,14 @@ var import_lodash = require("lodash");
2923
2933
  // ../commons/src/conditionals/validate.ts
2924
2934
  var import__ = __toESM(require("ajv/dist/2019"));
2925
2935
  var import_ajv_formats = __toESM(require("ajv-formats"));
2926
- var import_zod25 = require("zod");
2936
+ var import_zod26 = require("zod");
2927
2937
  var import_date_fns = require("date-fns");
2928
2938
 
2929
2939
  // ../commons/src/events/DynamicFieldValue.ts
2930
- var import_zod24 = require("zod");
2940
+ var import_zod25 = require("zod");
2931
2941
  function getDynamicNameValue(field3) {
2932
2942
  const nameConfiguration = field3.configuration?.name;
2933
- return import_zod24.z.object({
2943
+ return import_zod25.z.object({
2934
2944
  firstname: nameConfiguration?.firstname?.required ? NonEmptyTextValue : TextValue,
2935
2945
  surname: nameConfiguration?.surname?.required ? NonEmptyTextValue : TextValue,
2936
2946
  middlename: nameConfiguration?.middlename?.required ? NonEmptyTextValue : TextValue.optional()
@@ -2999,7 +3009,7 @@ function mapFieldTypeToZod(field3, actionType) {
2999
3009
  schema = NumberFieldValue;
3000
3010
  break;
3001
3011
  case FieldType.NUMBER_WITH_UNIT:
3002
- schema = NumberWithUnitFieldUpdateValue;
3012
+ schema = field3.required ? NumberWithUnitFieldValue : NumberWithUnitFieldUpdateValue;
3003
3013
  break;
3004
3014
  case FieldType.CHECKBOX:
3005
3015
  schema = CheckboxFieldValue;
@@ -3230,9 +3240,9 @@ var ajv = new import__.default({
3230
3240
  strict: false
3231
3241
  // Allow minContains and other newer features
3232
3242
  });
3233
- var DataContext = import_zod25.z.object({
3234
- rootData: import_zod25.z.object({
3235
- $leafAdminStructureLocationIds: import_zod25.z.array(import_zod25.z.object({ id: UUID }))
3243
+ var DataContext = import_zod26.z.object({
3244
+ rootData: import_zod26.z.object({
3245
+ $leafAdminStructureLocationIds: import_zod26.z.array(import_zod26.z.object({ id: UUID }))
3236
3246
  })
3237
3247
  });
3238
3248
  function resolveDataPath(rootData, dataPath, instancePath) {
@@ -3390,7 +3400,7 @@ function isFieldVisible(field3, form, context) {
3390
3400
  }
3391
3401
  function isFieldEmptyAndNotRequired(field3, form) {
3392
3402
  const fieldValue = form[field3.id];
3393
- return !field3.required && (fieldValue === void 0 || fieldValue === "");
3403
+ return !field3.required && (fieldValue === void 0 || fieldValue === "" || fieldValue && typeof fieldValue === "object" && Object.values(fieldValue).every((v) => v === void 0 || v === ""));
3394
3404
  }
3395
3405
  function isFieldEnabled(field3, form, context) {
3396
3406
  return isFieldConditionMet(field3, form, ConditionalType.ENABLE, context);
@@ -3600,7 +3610,7 @@ function areCertificateConditionsMet(conditions, values) {
3600
3610
  }
3601
3611
 
3602
3612
  // ../commons/src/utils.ts
3603
- var z26 = __toESM(require("zod"));
3613
+ var z27 = __toESM(require("zod"));
3604
3614
  function getOrThrow(x, message) {
3605
3615
  if (x === void 0 || x === null) {
3606
3616
  throw new Error(message);
@@ -3610,11 +3620,11 @@ function getOrThrow(x, message) {
3610
3620
  function joinValues(values, separator = " ") {
3611
3621
  return values.filter((value) => !!value).join(separator).trim();
3612
3622
  }
3613
- var FullNameV1 = z26.array(
3614
- z26.object({
3615
- use: z26.string(),
3616
- family: z26.string(),
3617
- given: z26.array(z26.string())
3623
+ var FullNameV1 = z27.array(
3624
+ z27.object({
3625
+ use: z27.string(),
3626
+ family: z27.string(),
3627
+ given: z27.array(z27.string())
3618
3628
  })
3619
3629
  );
3620
3630
  function omitKeyDeep(obj, keyToRemove) {
@@ -3960,9 +3970,9 @@ function aggregateActionDeclarations(event2) {
3960
3970
 
3961
3971
  // ../commons/src/events/EventConfig.ts
3962
3972
  var import_zod_openapi10 = require("zod-openapi");
3963
- (0, import_zod_openapi10.extendZodWithOpenApi)(import_zod26.z);
3964
- var EventConfig = import_zod26.z.object({
3965
- id: import_zod26.z.string().describe(
3973
+ (0, import_zod_openapi10.extendZodWithOpenApi)(import_zod27.z);
3974
+ var EventConfig = import_zod27.z.object({
3975
+ id: import_zod27.z.string().describe(
3966
3976
  'Machine-readable identifier of the event (e.g. "birth", "death").'
3967
3977
  ),
3968
3978
  dateOfEvent: FieldReference.optional().describe(
@@ -3980,13 +3990,13 @@ var EventConfig = import_zod26.z.object({
3980
3990
  label: TranslationConfig.describe(
3981
3991
  "Human-readable label for the event type."
3982
3992
  ),
3983
- actions: import_zod26.z.array(ActionConfig).describe(
3993
+ actions: import_zod27.z.array(ActionConfig).describe(
3984
3994
  "Configuration of system-defined actions associated with the event."
3985
3995
  ),
3986
3996
  declaration: DeclarationFormConfig.describe(
3987
3997
  "Configuration of the form used to gather event data."
3988
3998
  ),
3989
- advancedSearch: import_zod26.z.array(AdvancedSearchConfig).optional().default([]).describe(
3999
+ advancedSearch: import_zod27.z.array(AdvancedSearchConfig).optional().default([]).describe(
3990
4000
  "Configuration of fields available in the advanced search feature."
3991
4001
  )
3992
4002
  }).superRefine((event2, ctx) => {
@@ -4050,7 +4060,7 @@ var definePage = (page) => PageConfig.parse(page);
4050
4060
  var defineFormPage = (formPage) => FormPageConfig.parse(formPage);
4051
4061
 
4052
4062
  // ../commons/src/events/WorkqueueConfig.ts
4053
- var import_zod30 = require("zod");
4063
+ var import_zod31 = require("zod");
4054
4064
 
4055
4065
  // ../commons/src/conditionals/conditionals.ts
4056
4066
  var objectHash = __toESM(require("object-hash"));
@@ -4126,6 +4136,7 @@ function wrapToPathOptional(condition, path) {
4126
4136
  };
4127
4137
  }, condition);
4128
4138
  }
4139
+ var now = Object.assign(todayDateTimeValueSerializer, {});
4129
4140
  var user = Object.assign(userSerializer, {
4130
4141
  hasScope: (scope) => defineConditional({
4131
4142
  type: "object",
@@ -4627,7 +4638,7 @@ function createSearchConfig(baseField) {
4627
4638
  *
4628
4639
  * @returns An object containing the field ID and a configuration object with a type of 'range'.
4629
4640
  *
4630
- * @example event('legalStatuses.REGISTERED.acceptedAt').range()
4641
+ * @example event.metadata('legalStatuses.REGISTERED.acceptedAt').range()
4631
4642
  * // {
4632
4643
  * // ...
4633
4644
  * // config: { type: 'range' }
@@ -4688,6 +4699,24 @@ function createEventFieldConfig(fieldId) {
4688
4699
  return createSearchConfig(baseField);
4689
4700
  }
4690
4701
 
4702
+ // ../commons/src/field-config/field-configuration.ts
4703
+ function createFieldConfig(fieldId, options) {
4704
+ const baseField = {
4705
+ fieldId,
4706
+ fieldType: "field",
4707
+ ...options
4708
+ };
4709
+ return createSearchConfig(baseField);
4710
+ }
4711
+
4712
+ // ../commons/src/events/field.ts
4713
+ function field(fieldId, options = {}) {
4714
+ return {
4715
+ ...createFieldConditionals(fieldId),
4716
+ ...createFieldConfig(fieldId, options)
4717
+ };
4718
+ }
4719
+
4691
4720
  // ../commons/src/events/event.ts
4692
4721
  function eventFn(fieldId) {
4693
4722
  return createEventFieldConfig(fieldId);
@@ -4800,21 +4829,36 @@ var event = Object.assign(eventFn, {
4800
4829
  return {
4801
4830
  $event: field3
4802
4831
  };
4832
+ },
4833
+ /**
4834
+ * Entry point for defining conditional logic or configuration for a form field.
4835
+ * @param fieldId - The ID of the field to define rules or config for.
4836
+ * @returns An object combining conditional methods and configuration builders.
4837
+ */
4838
+ declarationField: (fieldId, options) => {
4839
+ return field(fieldId, options);
4840
+ },
4841
+ /**
4842
+ * @example
4843
+ * event.metadata('status') // → returns search config
4844
+ */
4845
+ metadata(fieldId) {
4846
+ return createEventFieldConfig(fieldId);
4803
4847
  }
4804
4848
  });
4805
4849
 
4806
4850
  // ../commons/src/events/WorkqueueColumnConfig.ts
4807
- var import_zod27 = require("zod");
4851
+ var import_zod28 = require("zod");
4808
4852
  var WorkqueueColumnKeysArray = [
4809
4853
  ...EventMetadataKeysArray,
4810
4854
  "title",
4811
4855
  "outbox"
4812
4856
  ];
4813
- var WorkqueueColumnKeys = import_zod27.z.enum(WorkqueueColumnKeysArray);
4814
- var WorkqueueColumnValue = import_zod27.z.object({
4857
+ var WorkqueueColumnKeys = import_zod28.z.enum(WorkqueueColumnKeysArray);
4858
+ var WorkqueueColumnValue = import_zod28.z.object({
4815
4859
  $event: WorkqueueColumnKeys
4816
4860
  });
4817
- var WorkqueueColumn = import_zod27.z.object({
4861
+ var WorkqueueColumn = import_zod28.z.object({
4818
4862
  label: TranslationConfig,
4819
4863
  value: WorkqueueColumnValue
4820
4864
  });
@@ -4825,57 +4869,57 @@ function defineWorkqueuesColumns(workqueueColumns) {
4825
4869
  }
4826
4870
 
4827
4871
  // ../commons/src/events/CountryConfigQueryInput.ts
4828
- var import_zod28 = require("zod");
4829
- var SerializableExact = import_zod28.z.object({
4830
- type: import_zod28.z.literal("exact"),
4831
- term: import_zod28.z.union([import_zod28.z.string(), SerializedUserField])
4872
+ var import_zod29 = require("zod");
4873
+ var SerializableExact = import_zod29.z.object({
4874
+ type: import_zod29.z.literal("exact"),
4875
+ term: import_zod29.z.union([import_zod29.z.string(), SerializedUserField])
4832
4876
  });
4833
- var SerializableWithin = import_zod28.z.object({
4834
- type: import_zod28.z.literal("within"),
4835
- location: import_zod28.z.union([import_zod28.z.string(), SerializedUserField])
4877
+ var SerializableWithin = import_zod29.z.object({
4878
+ type: import_zod29.z.literal("within"),
4879
+ location: import_zod29.z.union([import_zod29.z.string(), SerializedUserField])
4836
4880
  });
4837
- var SerializedQueryExpression = import_zod28.z.object({
4838
- eventType: import_zod28.z.string(),
4839
- status: import_zod28.z.optional(import_zod28.z.union([AnyOfStatus, ExactStatus])),
4840
- createdAt: import_zod28.z.optional(DateCondition),
4841
- updatedAt: import_zod28.z.optional(DateCondition),
4842
- "legalStatuses.REGISTERED.createdAt": import_zod28.z.optional(DateCondition),
4843
- "legalStatuses.REGISTERED.createdAtLocation": import_zod28.z.optional(
4844
- import_zod28.z.union([Within, Exact])
4881
+ var SerializedQueryExpression = import_zod29.z.object({
4882
+ eventType: import_zod29.z.string(),
4883
+ status: import_zod29.z.optional(import_zod29.z.union([AnyOfStatus, ExactStatus])),
4884
+ createdAt: import_zod29.z.optional(DateCondition),
4885
+ updatedAt: import_zod29.z.optional(DateCondition),
4886
+ "legalStatuses.REGISTERED.createdAt": import_zod29.z.optional(DateCondition),
4887
+ "legalStatuses.REGISTERED.createdAtLocation": import_zod29.z.optional(
4888
+ import_zod29.z.union([Within, Exact])
4845
4889
  ),
4846
- "legalStatuses.REGISTERED.registrationNumber": import_zod28.z.optional(Exact),
4847
- createdAtLocation: import_zod28.z.optional(
4848
- import_zod28.z.union([SerializableWithin, SerializableExact])
4890
+ "legalStatuses.REGISTERED.registrationNumber": import_zod29.z.optional(Exact),
4891
+ createdAtLocation: import_zod29.z.optional(
4892
+ import_zod29.z.union([SerializableWithin, SerializableExact])
4849
4893
  ),
4850
- updatedAtLocation: import_zod28.z.optional(
4851
- import_zod28.z.union([SerializableWithin, SerializableExact])
4894
+ updatedAtLocation: import_zod29.z.optional(
4895
+ import_zod29.z.union([SerializableWithin, SerializableExact])
4852
4896
  ),
4853
- assignedTo: import_zod28.z.optional(SerializableExact),
4854
- createdBy: import_zod28.z.optional(SerializableExact),
4897
+ assignedTo: import_zod29.z.optional(SerializableExact),
4898
+ createdBy: import_zod29.z.optional(SerializableExact),
4855
4899
  createdByUserType: ExactUserType,
4856
- updatedBy: import_zod28.z.optional(SerializableExact),
4857
- trackingId: import_zod28.z.optional(Exact),
4858
- flags: import_zod28.z.optional(ContainsFlags),
4900
+ updatedBy: import_zod29.z.optional(SerializableExact),
4901
+ trackingId: import_zod29.z.optional(Exact),
4902
+ flags: import_zod29.z.optional(ContainsFlags),
4859
4903
  data: QueryInput
4860
4904
  }).partial();
4861
- var Or2 = import_zod28.z.object({
4862
- type: import_zod28.z.literal("or"),
4863
- clauses: import_zod28.z.array(SerializedQueryExpression)
4905
+ var Or2 = import_zod29.z.object({
4906
+ type: import_zod29.z.literal("or"),
4907
+ clauses: import_zod29.z.array(SerializedQueryExpression)
4864
4908
  });
4865
- var And2 = import_zod28.z.object({
4866
- type: import_zod28.z.literal("and"),
4867
- clauses: import_zod28.z.array(SerializedQueryExpression)
4909
+ var And2 = import_zod29.z.object({
4910
+ type: import_zod29.z.literal("and"),
4911
+ clauses: import_zod29.z.array(SerializedQueryExpression)
4868
4912
  });
4869
- var CountryConfigQueryType = import_zod28.z.discriminatedUnion("type", [And2, Or2]);
4870
- var CountryConfigQueryInputType = import_zod28.z.union([
4913
+ var CountryConfigQueryType = import_zod29.z.discriminatedUnion("type", [And2, Or2]);
4914
+ var CountryConfigQueryInputType = import_zod29.z.union([
4871
4915
  SerializedQueryExpression,
4872
4916
  And2,
4873
4917
  Or2
4874
4918
  ]);
4875
4919
 
4876
4920
  // ../commons/src/icons.ts
4877
- var import_zod29 = require("zod");
4878
- var AvailableIcons = import_zod29.z.enum([
4921
+ var import_zod30 = require("zod");
4922
+ var AvailableIcons = import_zod30.z.enum([
4879
4923
  "Archived",
4880
4924
  "Assigned",
4881
4925
  "Certified",
@@ -4996,23 +5040,23 @@ var mandatoryColumns = defineWorkqueuesColumns([
4996
5040
  value: event.field("updatedAt")
4997
5041
  }
4998
5042
  ]);
4999
- var WorkqueueActionsWithDefault = import_zod30.z.enum([
5043
+ var WorkqueueActionsWithDefault = import_zod31.z.enum([
5000
5044
  ...workqueueActions.options,
5001
5045
  "DEFAULT"
5002
5046
  ]);
5003
- var WorkqueueConfig = import_zod30.z.object({
5004
- slug: import_zod30.z.string().describe("Determines the url of the workqueue."),
5047
+ var WorkqueueConfig = import_zod31.z.object({
5048
+ slug: import_zod31.z.string().describe("Determines the url of the workqueue."),
5005
5049
  name: TranslationConfig.describe(
5006
5050
  "Title of the workflow (both in navigation and on the page)"
5007
5051
  ),
5008
5052
  query: CountryConfigQueryType,
5009
- actions: import_zod30.z.array(
5010
- import_zod30.z.object({
5053
+ actions: import_zod31.z.array(
5054
+ import_zod31.z.object({
5011
5055
  type: WorkqueueActionsWithDefault,
5012
- conditionals: import_zod30.z.array(Conditional).optional()
5056
+ conditionals: import_zod31.z.array(Conditional).optional()
5013
5057
  })
5014
5058
  ),
5015
- columns: import_zod30.z.array(WorkqueueColumn).default(mandatoryColumns),
5059
+ columns: import_zod31.z.array(WorkqueueColumn).default(mandatoryColumns),
5016
5060
  icon: AvailableIcons,
5017
5061
  emptyMessage: TranslationConfig.optional()
5018
5062
  }).describe("Configuration for workqueue.");
@@ -5020,19 +5064,19 @@ var WorkqueueConfigWithoutQuery = WorkqueueConfig.omit({
5020
5064
  query: true,
5021
5065
  columns: true
5022
5066
  });
5023
- var WorkqueueConfigInput = import_zod30.z.object({
5024
- slug: import_zod30.z.string().describe("Determines the url of the workqueue."),
5067
+ var WorkqueueConfigInput = import_zod31.z.object({
5068
+ slug: import_zod31.z.string().describe("Determines the url of the workqueue."),
5025
5069
  name: TranslationConfig.describe(
5026
5070
  "Title of the workflow (both in navigation and on the page)"
5027
5071
  ),
5028
5072
  query: CountryConfigQueryInputType,
5029
- actions: import_zod30.z.array(
5030
- import_zod30.z.object({
5073
+ actions: import_zod31.z.array(
5074
+ import_zod31.z.object({
5031
5075
  type: WorkqueueActionsWithDefault,
5032
- conditionals: import_zod30.z.array(Conditional).optional()
5076
+ conditionals: import_zod31.z.array(Conditional).optional()
5033
5077
  })
5034
5078
  ),
5035
- columns: import_zod30.z.array(WorkqueueColumn).default(mandatoryColumns),
5079
+ columns: import_zod31.z.array(WorkqueueColumn).default(mandatoryColumns),
5036
5080
  icon: AvailableIcons,
5037
5081
  emptyMessage: TranslationConfig.optional()
5038
5082
  });
@@ -5044,10 +5088,10 @@ function defineWorkqueue(workqueueInput) {
5044
5088
  function defineWorkqueues(workqueues) {
5045
5089
  return workqueues.map((workqueue) => defineWorkqueue(workqueue));
5046
5090
  }
5047
- var WorkqueueCountInput = import_zod30.z.array(
5048
- import_zod30.z.object({ slug: import_zod30.z.string(), query: QueryType })
5091
+ var WorkqueueCountInput = import_zod31.z.array(
5092
+ import_zod31.z.object({ slug: import_zod31.z.string(), query: QueryType })
5049
5093
  );
5050
- var WorkqueueCountOutput = import_zod30.z.record(import_zod30.z.string(), import_zod30.z.number());
5094
+ var WorkqueueCountOutput = import_zod31.z.record(import_zod31.z.string(), import_zod31.z.number());
5051
5095
 
5052
5096
  // ../commons/src/events/workqueueDefaultColumns.ts
5053
5097
  var defaultWorkqueueColumns = [
@@ -5070,45 +5114,45 @@ var defaultWorkqueueColumns = [
5070
5114
  ];
5071
5115
 
5072
5116
  // ../commons/src/events/Draft.ts
5073
- var import_zod32 = require("zod");
5117
+ var import_zod33 = require("zod");
5074
5118
 
5075
5119
  // ../commons/src/events/ActionInput.ts
5076
- var import_zod31 = require("zod");
5120
+ var import_zod32 = require("zod");
5077
5121
  var import_zod_openapi11 = require("zod-openapi");
5078
- (0, import_zod_openapi11.extendZodWithOpenApi)(import_zod31.z);
5079
- var BaseActionInput = import_zod31.z.object({
5122
+ (0, import_zod_openapi11.extendZodWithOpenApi)(import_zod32.z);
5123
+ var BaseActionInput = import_zod32.z.object({
5080
5124
  eventId: UUID,
5081
- transactionId: import_zod31.z.string(),
5125
+ transactionId: import_zod32.z.string(),
5082
5126
  declaration: ActionUpdate.default({}),
5083
5127
  annotation: ActionUpdate.optional(),
5084
5128
  originalActionId: UUID.optional(),
5085
5129
  // should not be part of base action.
5086
- keepAssignment: import_zod31.z.boolean().optional(),
5130
+ keepAssignment: import_zod32.z.boolean().optional(),
5087
5131
  // For normal users, the createdAtLocation is resolved on the backend from the user's primaryOfficeId.
5088
5132
  createdAtLocation: CreatedAtLocation.describe(
5089
5133
  "A valid office location ID. This is required for system users performing actions. The provided location must be a leaf-location, i.e. it must not have any children locations."
5090
5134
  )
5091
5135
  });
5092
5136
  var CreateActionInput = BaseActionInput.merge(
5093
- import_zod31.z.object({
5094
- type: import_zod31.z.literal(ActionType.CREATE).default(ActionType.CREATE),
5137
+ import_zod32.z.object({
5138
+ type: import_zod32.z.literal(ActionType.CREATE).default(ActionType.CREATE),
5095
5139
  createdAtLocation: CreatedAtLocation
5096
5140
  })
5097
5141
  );
5098
5142
  var RegisterActionInput = BaseActionInput.merge(
5099
- import_zod31.z.object({
5100
- type: import_zod31.z.literal(ActionType.REGISTER).default(ActionType.REGISTER),
5101
- registrationNumber: import_zod31.z.string().optional()
5143
+ import_zod32.z.object({
5144
+ type: import_zod32.z.literal(ActionType.REGISTER).default(ActionType.REGISTER),
5145
+ registrationNumber: import_zod32.z.string().optional()
5102
5146
  })
5103
5147
  ).strict();
5104
5148
  var ValidateActionInput = BaseActionInput.merge(
5105
- import_zod31.z.object({
5106
- type: import_zod31.z.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
5149
+ import_zod32.z.object({
5150
+ type: import_zod32.z.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
5107
5151
  })
5108
5152
  );
5109
5153
  var NotifyActionInput = BaseActionInput.merge(
5110
- import_zod31.z.object({
5111
- type: import_zod31.z.literal(ActionType.NOTIFY).default(ActionType.NOTIFY)
5154
+ import_zod32.z.object({
5155
+ type: import_zod32.z.literal(ActionType.NOTIFY).default(ActionType.NOTIFY)
5112
5156
  })
5113
5157
  ).openapi({
5114
5158
  default: {
@@ -5120,86 +5164,86 @@ var NotifyActionInput = BaseActionInput.merge(
5120
5164
  }
5121
5165
  });
5122
5166
  var DeclareActionInput = BaseActionInput.merge(
5123
- import_zod31.z.object({
5124
- type: import_zod31.z.literal(ActionType.DECLARE).default(ActionType.DECLARE)
5167
+ import_zod32.z.object({
5168
+ type: import_zod32.z.literal(ActionType.DECLARE).default(ActionType.DECLARE)
5125
5169
  })
5126
5170
  );
5127
5171
  var PrintCertificateActionInput = BaseActionInput.merge(
5128
- import_zod31.z.object({
5129
- type: import_zod31.z.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
5172
+ import_zod32.z.object({
5173
+ type: import_zod32.z.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
5130
5174
  content: PrintContent.optional()
5131
5175
  })
5132
5176
  );
5133
5177
  var RejectDeclarationActionInput = BaseActionInput.merge(
5134
- import_zod31.z.object({
5135
- type: import_zod31.z.literal(ActionType.REJECT).default(ActionType.REJECT),
5178
+ import_zod32.z.object({
5179
+ type: import_zod32.z.literal(ActionType.REJECT).default(ActionType.REJECT),
5136
5180
  content: ReasonContent
5137
5181
  })
5138
5182
  );
5139
5183
  var DuplicateDetectedActionInput = BaseActionInput.merge(
5140
- import_zod31.z.object({
5141
- type: import_zod31.z.literal(ActionType.DUPLICATE_DETECTED).default(ActionType.DUPLICATE_DETECTED),
5142
- content: import_zod31.z.object({
5143
- duplicates: import_zod31.z.array(PotentialDuplicate)
5184
+ import_zod32.z.object({
5185
+ type: import_zod32.z.literal(ActionType.DUPLICATE_DETECTED).default(ActionType.DUPLICATE_DETECTED),
5186
+ content: import_zod32.z.object({
5187
+ duplicates: import_zod32.z.array(PotentialDuplicate)
5144
5188
  })
5145
5189
  })
5146
5190
  );
5147
5191
  var MarkAsDuplicateActionInput = BaseActionInput.merge(
5148
- import_zod31.z.object({
5149
- type: import_zod31.z.literal(ActionType.MARK_AS_DUPLICATE).default(ActionType.MARK_AS_DUPLICATE),
5150
- content: import_zod31.z.object({
5192
+ import_zod32.z.object({
5193
+ type: import_zod32.z.literal(ActionType.MARK_AS_DUPLICATE).default(ActionType.MARK_AS_DUPLICATE),
5194
+ content: import_zod32.z.object({
5151
5195
  duplicateOf: UUID
5152
5196
  }).optional()
5153
5197
  })
5154
5198
  );
5155
5199
  var MarkNotDuplicateActionInput = BaseActionInput.merge(
5156
- import_zod31.z.object({
5157
- type: import_zod31.z.literal(ActionType.MARK_AS_NOT_DUPLICATE).default(ActionType.MARK_AS_NOT_DUPLICATE)
5200
+ import_zod32.z.object({
5201
+ type: import_zod32.z.literal(ActionType.MARK_AS_NOT_DUPLICATE).default(ActionType.MARK_AS_NOT_DUPLICATE)
5158
5202
  })
5159
5203
  );
5160
5204
  var ArchiveActionInput = BaseActionInput.merge(
5161
- import_zod31.z.object({
5162
- type: import_zod31.z.literal(ActionType.ARCHIVE).default(ActionType.ARCHIVE),
5205
+ import_zod32.z.object({
5206
+ type: import_zod32.z.literal(ActionType.ARCHIVE).default(ActionType.ARCHIVE),
5163
5207
  content: ReasonContent
5164
5208
  })
5165
5209
  );
5166
5210
  var AssignActionInput = BaseActionInput.merge(
5167
- import_zod31.z.object({
5168
- type: import_zod31.z.literal(ActionType.ASSIGN),
5169
- assignedTo: import_zod31.z.string()
5211
+ import_zod32.z.object({
5212
+ type: import_zod32.z.literal(ActionType.ASSIGN),
5213
+ assignedTo: import_zod32.z.string()
5170
5214
  })
5171
5215
  );
5172
5216
  var UnassignActionInput = BaseActionInput.merge(
5173
- import_zod31.z.object({
5174
- type: import_zod31.z.literal(ActionType.UNASSIGN).default(ActionType.UNASSIGN),
5175
- assignedTo: import_zod31.z.literal(null).default(null)
5217
+ import_zod32.z.object({
5218
+ type: import_zod32.z.literal(ActionType.UNASSIGN).default(ActionType.UNASSIGN),
5219
+ assignedTo: import_zod32.z.literal(null).default(null)
5176
5220
  })
5177
5221
  );
5178
5222
  var RequestCorrectionActionInput = BaseActionInput.merge(
5179
- import_zod31.z.object({
5180
- type: import_zod31.z.literal(ActionType.REQUEST_CORRECTION).default(ActionType.REQUEST_CORRECTION)
5223
+ import_zod32.z.object({
5224
+ type: import_zod32.z.literal(ActionType.REQUEST_CORRECTION).default(ActionType.REQUEST_CORRECTION)
5181
5225
  })
5182
5226
  );
5183
5227
  var RejectCorrectionActionInput = BaseActionInput.merge(
5184
- import_zod31.z.object({
5185
- requestId: import_zod31.z.string(),
5186
- type: import_zod31.z.literal(ActionType.REJECT_CORRECTION).default(ActionType.REJECT_CORRECTION),
5228
+ import_zod32.z.object({
5229
+ requestId: import_zod32.z.string(),
5230
+ type: import_zod32.z.literal(ActionType.REJECT_CORRECTION).default(ActionType.REJECT_CORRECTION),
5187
5231
  content: ReasonContent
5188
5232
  })
5189
5233
  );
5190
5234
  var ApproveCorrectionActionInput = BaseActionInput.merge(
5191
- import_zod31.z.object({
5192
- requestId: import_zod31.z.string(),
5193
- type: import_zod31.z.literal(ActionType.APPROVE_CORRECTION).default(ActionType.APPROVE_CORRECTION)
5235
+ import_zod32.z.object({
5236
+ requestId: import_zod32.z.string(),
5237
+ type: import_zod32.z.literal(ActionType.APPROVE_CORRECTION).default(ActionType.APPROVE_CORRECTION)
5194
5238
  })
5195
5239
  );
5196
5240
  var ReadActionInput = BaseActionInput.merge(
5197
- import_zod31.z.object({
5198
- type: import_zod31.z.literal(ActionType.READ).default(ActionType.READ)
5241
+ import_zod32.z.object({
5242
+ type: import_zod32.z.literal(ActionType.READ).default(ActionType.READ)
5199
5243
  })
5200
5244
  );
5201
- var DeleteActionInput = import_zod31.z.object({ eventId: UUID });
5202
- var ActionInput = import_zod31.z.discriminatedUnion("type", [
5245
+ var DeleteActionInput = import_zod32.z.object({ eventId: UUID });
5246
+ var ActionInput = import_zod32.z.discriminatedUnion("type", [
5203
5247
  CreateActionInput.openapi({ ref: "CreateActionInput" }),
5204
5248
  ValidateActionInput.openapi({ ref: "ValidateActionInput" }),
5205
5249
  RegisterActionInput.openapi({ ref: "RegisterActionInput" }),
@@ -5234,11 +5278,11 @@ var ActionInput = import_zod31.z.discriminatedUnion("type", [
5234
5278
  });
5235
5279
 
5236
5280
  // ../commons/src/events/Draft.ts
5237
- var Draft = import_zod32.z.object({
5281
+ var Draft = import_zod33.z.object({
5238
5282
  id: UUID,
5239
5283
  eventId: UUID,
5240
- transactionId: import_zod32.z.string(),
5241
- createdAt: import_zod32.z.string().datetime(),
5284
+ transactionId: import_zod33.z.string(),
5285
+ createdAt: import_zod33.z.string().datetime(),
5242
5286
  action: ActionBase.extend({
5243
5287
  type: ActionTypes.exclude([ActionTypes.Enum.DELETE])
5244
5288
  }).omit({ id: true, createdAtLocation: true })
@@ -5247,7 +5291,7 @@ var Draft = import_zod32.z.object({
5247
5291
  );
5248
5292
  var DraftInput = BaseActionInput.extend({
5249
5293
  type: ActionTypes.exclude([ActionTypes.Enum.DELETE]),
5250
- status: import_zod32.z.enum([
5294
+ status: import_zod33.z.enum([
5251
5295
  ActionStatus.Requested,
5252
5296
  ActionStatus.Accepted,
5253
5297
  ActionStatus.Rejected
@@ -5255,26 +5299,26 @@ var DraftInput = BaseActionInput.extend({
5255
5299
  });
5256
5300
 
5257
5301
  // ../commons/src/events/EventInput.ts
5258
- var import_zod33 = require("zod");
5302
+ var import_zod34 = require("zod");
5259
5303
  var import_uuid10 = require("uuid");
5260
- var EventInput = import_zod33.z.object({
5261
- transactionId: import_zod33.z.string(),
5262
- type: import_zod33.z.string()
5304
+ var EventInput = import_zod34.z.object({
5305
+ transactionId: import_zod34.z.string(),
5306
+ type: import_zod34.z.string()
5263
5307
  }).openapi({ default: { transactionId: (0, import_uuid10.v4)(), type: "birth" } });
5264
5308
 
5265
5309
  // ../commons/src/events/EventDocument.ts
5266
- var import_zod34 = require("zod");
5310
+ var import_zod35 = require("zod");
5267
5311
  var import_zod_openapi12 = require("zod-openapi");
5268
- (0, import_zod_openapi12.extendZodWithOpenApi)(import_zod34.z);
5269
- var EventDocument = import_zod34.z.object({
5312
+ (0, import_zod_openapi12.extendZodWithOpenApi)(import_zod35.z);
5313
+ var EventDocument = import_zod35.z.object({
5270
5314
  id: UUID.describe("Unique identifier of the event."),
5271
- type: import_zod34.z.string().describe("Type of the event (e.g. birth, death, marriage)."),
5272
- createdAt: import_zod34.z.string().datetime().describe("Timestamp indicating when the event was created."),
5273
- updatedAt: import_zod34.z.string().datetime().describe(
5315
+ type: import_zod35.z.string().describe("Type of the event (e.g. birth, death, marriage)."),
5316
+ createdAt: import_zod35.z.string().datetime().describe("Timestamp indicating when the event was created."),
5317
+ updatedAt: import_zod35.z.string().datetime().describe(
5274
5318
  "Timestamp of the last update, excluding changes from actions."
5275
5319
  ),
5276
- actions: import_zod34.z.array(Action).describe("Ordered list of actions associated with the event."),
5277
- trackingId: import_zod34.z.string().describe(
5320
+ actions: import_zod35.z.array(Action).describe("Ordered list of actions associated with the event."),
5321
+ trackingId: import_zod35.z.string().describe(
5278
5322
  "System-generated tracking identifier used to look up the event."
5279
5323
  )
5280
5324
  }).openapi({ ref: "EventDocument" });
@@ -5675,24 +5719,6 @@ function generateTransactionId() {
5675
5719
  var import_lodash4 = require("lodash");
5676
5720
  var import_date_fns4 = require("date-fns");
5677
5721
 
5678
- // ../commons/src/field-config/field-configuration.ts
5679
- function createFieldConfig(fieldId, options) {
5680
- const baseField = {
5681
- fieldId,
5682
- fieldType: "field",
5683
- ...options
5684
- };
5685
- return createSearchConfig(baseField);
5686
- }
5687
-
5688
- // ../commons/src/events/field.ts
5689
- function field(fieldId, options = {}) {
5690
- return {
5691
- ...createFieldConditionals(fieldId),
5692
- ...createFieldConfig(fieldId, options)
5693
- };
5694
- }
5695
-
5696
5722
  // ../commons/src/fixtures/forms.ts
5697
5723
  var import_date_fns3 = require("date-fns");
5698
5724
  var PRINT_CERTIFICATE_FORM = defineActionForm({
@@ -7300,10 +7326,10 @@ var tennisClubMembershipEvent = defineConfig({
7300
7326
  id: "advancedSearch.form.registrationDetails"
7301
7327
  },
7302
7328
  fields: [
7303
- event("legalStatuses.REGISTERED.createdAtLocation").exact(),
7304
- event("legalStatuses.REGISTERED.acceptedAt").range(),
7305
- event("status").exact(),
7306
- event("updatedAt").range()
7329
+ event.metadata("legalStatuses.REGISTERED.createdAtLocation").exact(),
7330
+ event.metadata("legalStatuses.REGISTERED.acceptedAt").range(),
7331
+ event.metadata("status").exact(),
7332
+ event.metadata("updatedAt").range()
7307
7333
  ]
7308
7334
  },
7309
7335
  {
@@ -7313,9 +7339,9 @@ var tennisClubMembershipEvent = defineConfig({
7313
7339
  id: "event.tennis-club-membership.search.applicants"
7314
7340
  },
7315
7341
  fields: [
7316
- field("applicant.name").fuzzy(),
7317
- field("applicant.dob").range(),
7318
- field("applicant.email").exact()
7342
+ event.declarationField("applicant.name").fuzzy(),
7343
+ event.declarationField("applicant.dob").range(),
7344
+ event.declarationField("applicant.email").exact()
7319
7345
  ]
7320
7346
  },
7321
7347
  {
@@ -7324,7 +7350,7 @@ var tennisClubMembershipEvent = defineConfig({
7324
7350
  description: "Recommender details search field section title",
7325
7351
  id: "event.tennis-club-membership.search.recommender"
7326
7352
  },
7327
- fields: [field("recommender.name").fuzzy()]
7353
+ fields: [event.declarationField("recommender.name").fuzzy()]
7328
7354
  }
7329
7355
  ],
7330
7356
  declaration: TENNIS_CLUB_DECLARATION_FORM
@@ -7659,10 +7685,10 @@ var footballClubMembershipEvent = defineConfig({
7659
7685
  id: "advancedSearch.form.registrationDetails"
7660
7686
  },
7661
7687
  fields: [
7662
- event("legalStatuses.REGISTERED.createdAtLocation").exact(),
7663
- event("legalStatuses.REGISTERED.acceptedAt").range(),
7664
- event("status").exact(),
7665
- event("updatedAt").range()
7688
+ event.metadata("legalStatuses.REGISTERED.createdAtLocation").exact(),
7689
+ event.metadata("legalStatuses.REGISTERED.acceptedAt").range(),
7690
+ event.metadata("status").exact(),
7691
+ event.metadata("updatedAt").range()
7666
7692
  ]
7667
7693
  },
7668
7694
  {
@@ -7672,9 +7698,9 @@ var footballClubMembershipEvent = defineConfig({
7672
7698
  id: "event.football-club-membership.search.applicants"
7673
7699
  },
7674
7700
  fields: [
7675
- field("applicant.name").fuzzy(),
7676
- field("applicant.dob").range(),
7677
- field("applicant.email").exact()
7701
+ event.declarationField("applicant.name").fuzzy(),
7702
+ event.declarationField("applicant.dob").range(),
7703
+ event.declarationField("applicant.email").exact()
7678
7704
  ]
7679
7705
  },
7680
7706
  {
@@ -7683,7 +7709,7 @@ var footballClubMembershipEvent = defineConfig({
7683
7709
  description: "Recommender details search field section title",
7684
7710
  id: "event.football-club-membership.search.recommender"
7685
7711
  },
7686
- fields: [field("recommender.name").fuzzy()]
7712
+ fields: [event.declarationField("recommender.name").fuzzy()]
7687
7713
  }
7688
7714
  ],
7689
7715
  declaration: TENNIS_CLUB_DECLARATION_FORM
@@ -8127,9 +8153,9 @@ var digitalIdentityEvent = defineConfig({
8127
8153
  });
8128
8154
 
8129
8155
  // ../commons/src/events/test.utils.ts
8130
- var import_zod35 = require("zod");
8156
+ var import_zod36 = require("zod");
8131
8157
  var TEST_SYSTEM_IANA_TIMEZONE = "Asia/Dhaka";
8132
- var TestUserRole = import_zod35.z.enum([
8158
+ var TestUserRole = import_zod36.z.enum([
8133
8159
  "FIELD_AGENT",
8134
8160
  "LOCAL_REGISTRAR",
8135
8161
  "LOCAL_SYSTEM_ADMIN",
@@ -9174,16 +9200,16 @@ function getFilePathsFromEvent(event2) {
9174
9200
  }
9175
9201
 
9176
9202
  // ../commons/src/events/locations.ts
9177
- var import_zod36 = require("zod");
9178
- var LocationType = import_zod36.z.enum([
9203
+ var import_zod37 = require("zod");
9204
+ var LocationType = import_zod37.z.enum([
9179
9205
  "ADMIN_STRUCTURE",
9180
9206
  "CRVS_OFFICE",
9181
9207
  "HEALTH_FACILITY"
9182
9208
  ]);
9183
- var Location = import_zod36.z.object({
9209
+ var Location = import_zod37.z.object({
9184
9210
  id: UUID,
9185
- name: import_zod36.z.string(),
9211
+ name: import_zod37.z.string(),
9186
9212
  parentId: UUID.nullable(),
9187
- validUntil: import_zod36.z.string().datetime().nullable(),
9213
+ validUntil: import_zod37.z.string().datetime().nullable(),
9188
9214
  locationType: LocationType.nullable()
9189
9215
  });