@opencrvs/toolkit 1.9.6-rc.01f84ce → 1.9.6-rc.04eb20c

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,72 @@ 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(),
2561
+ matchAgainst: FieldReference2.optional()
2551
2562
  }).optional().default({
2552
2563
  boost: 1
2553
2564
  })
2554
2565
  });
2555
2566
  var FuzzyMatcher = Matcher.extend({
2556
- type: import_zod18.z.literal("fuzzy"),
2557
- options: import_zod18.z.object({
2567
+ type: import_zod19.z.literal("fuzzy"),
2568
+ options: import_zod19.z.object({
2558
2569
  /**
2559
2570
  * Names of length 3 or less characters = 0 edits allowed
2560
2571
  * Names of length 4 - 6 characters = 1 edit allowed
2561
2572
  * Names of length >7 characters = 2 edits allowed
2562
2573
  */
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)
2574
+ fuzziness: import_zod19.z.union([import_zod19.z.string(), import_zod19.z.number()]).optional().default("AUTO:4,7"),
2575
+ boost: import_zod19.z.number().optional().default(1),
2576
+ matchAgainst: FieldReference2.optional()
2565
2577
  }).optional().default({
2566
2578
  fuzziness: "AUTO:4,7",
2567
2579
  boost: 1
2568
2580
  })
2569
2581
  });
2570
2582
  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),
2583
+ type: import_zod19.z.literal("strict"),
2584
+ options: import_zod19.z.object({
2585
+ boost: import_zod19.z.number().optional().default(1),
2574
2586
  /**
2575
2587
  * The constant value to be present in the field for both records
2576
2588
  */
2577
- value: import_zod18.z.string().optional()
2589
+ value: import_zod19.z.string().optional(),
2590
+ matchAgainst: FieldReference2.optional()
2578
2591
  }).optional().default({
2579
2592
  boost: 1
2580
2593
  })
2581
2594
  });
2582
2595
  var DateRangeMatcher = Matcher.extend({
2583
- type: import_zod18.z.literal("dateRange"),
2584
- options: import_zod18.z.object({
2596
+ type: import_zod19.z.literal("dateRange"),
2597
+ options: import_zod19.z.object({
2585
2598
  /**
2586
2599
  * The distance pivot in days. Distance from the origin (the value of
2587
2600
  * fieldId) at which relevance scores receive half of the boost value
2588
2601
  */
2589
- pivot: import_zod18.z.number().optional(),
2590
- days: import_zod18.z.number(),
2591
- boost: import_zod18.z.number().optional().default(1)
2602
+ pivot: import_zod19.z.number().optional(),
2603
+ days: import_zod19.z.number(),
2604
+ boost: import_zod19.z.number().optional().default(1),
2605
+ matchAgainst: FieldReference2.optional()
2592
2606
  })
2593
2607
  });
2594
- var Not = import_zod18.z.object({
2595
- type: import_zod18.z.literal("not"),
2608
+ var Not = import_zod19.z.object({
2609
+ type: import_zod19.z.literal("not"),
2596
2610
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2597
- clause: import_zod18.z.lazy(() => Clause)
2611
+ clause: import_zod19.z.lazy(() => Clause)
2598
2612
  });
2599
- var And = import_zod18.z.object({
2600
- type: import_zod18.z.literal("and"),
2613
+ var And = import_zod19.z.object({
2614
+ type: import_zod19.z.literal("and"),
2601
2615
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2602
- clauses: import_zod18.z.lazy(() => Clause.array())
2616
+ clauses: import_zod19.z.lazy(() => Clause.array())
2603
2617
  });
2604
- var Or = import_zod18.z.object({
2605
- type: import_zod18.z.literal("or"),
2618
+ var Or = import_zod19.z.object({
2619
+ type: import_zod19.z.literal("or"),
2606
2620
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2607
- clauses: import_zod18.z.lazy(() => Clause.array())
2621
+ clauses: import_zod19.z.lazy(() => Clause.array())
2608
2622
  });
2609
- var Clause = import_zod18.z.lazy(
2610
- () => import_zod18.z.discriminatedUnion("type", [
2623
+ var Clause = import_zod19.z.lazy(
2624
+ () => import_zod19.z.discriminatedUnion("type", [
2611
2625
  Not,
2612
2626
  And,
2613
2627
  Or,
@@ -2618,22 +2632,22 @@ var Clause = import_zod18.z.lazy(
2618
2632
  ).openapi({
2619
2633
  ref: "Clause"
2620
2634
  });
2621
- var DeduplicationConfig = import_zod18.z.object({
2622
- id: import_zod18.z.string(),
2635
+ var DeduplicationConfig = import_zod19.z.object({
2636
+ id: import_zod19.z.string(),
2623
2637
  label: TranslationConfig,
2624
2638
  query: Clause
2625
2639
  });
2626
2640
 
2627
2641
  // ../commons/src/events/ActionConfig.ts
2628
2642
  var import_zod_openapi9 = require("zod-openapi");
2629
- (0, import_zod_openapi9.extendZodWithOpenApi)(import_zod19.z);
2630
- var DeclarationReviewConfig = import_zod19.z.object({
2643
+ (0, import_zod_openapi9.extendZodWithOpenApi)(import_zod20.z);
2644
+ var DeclarationReviewConfig = import_zod20.z.object({
2631
2645
  title: TranslationConfig.describe("Title of the review page"),
2632
- fields: import_zod19.z.array(FieldConfig).describe("Fields displayed on the review page for annotations.")
2646
+ fields: import_zod20.z.array(FieldConfig).describe("Fields displayed on the review page for annotations.")
2633
2647
  }).describe(
2634
2648
  "Configuration of the declaration review page for collecting event-related metadata."
2635
2649
  );
2636
- var ActionConfigBase = import_zod19.z.object({
2650
+ var ActionConfigBase = import_zod20.z.object({
2637
2651
  label: TranslationConfig.describe("Human readable description of the action")
2638
2652
  });
2639
2653
  var DeclarationActionBase = ActionConfigBase.extend({
@@ -2641,66 +2655,66 @@ var DeclarationActionBase = ActionConfigBase.extend({
2641
2655
  deduplication: DeduplicationConfig.optional()
2642
2656
  });
2643
2657
  var ReadActionConfig = ActionConfigBase.merge(
2644
- import_zod19.z.object({
2645
- type: import_zod19.z.literal(ActionType.READ),
2658
+ import_zod20.z.object({
2659
+ type: import_zod20.z.literal(ActionType.READ),
2646
2660
  review: DeclarationReviewConfig.describe(
2647
2661
  "Configuration of the review page for read-only view."
2648
2662
  )
2649
2663
  })
2650
2664
  );
2651
2665
  var DeclareConfig = DeclarationActionBase.merge(
2652
- import_zod19.z.object({
2653
- type: import_zod19.z.literal(ActionType.DECLARE)
2666
+ import_zod20.z.object({
2667
+ type: import_zod20.z.literal(ActionType.DECLARE)
2654
2668
  })
2655
2669
  );
2656
2670
  var ValidateConfig = DeclarationActionBase.merge(
2657
- import_zod19.z.object({
2658
- type: import_zod19.z.literal(ActionType.VALIDATE)
2671
+ import_zod20.z.object({
2672
+ type: import_zod20.z.literal(ActionType.VALIDATE)
2659
2673
  })
2660
2674
  );
2661
2675
  var RegisterConfig = DeclarationActionBase.merge(
2662
- import_zod19.z.object({
2663
- type: import_zod19.z.literal(ActionType.REGISTER)
2676
+ import_zod20.z.object({
2677
+ type: import_zod20.z.literal(ActionType.REGISTER)
2664
2678
  })
2665
2679
  );
2666
2680
  var RejectDeclarationConfig = ActionConfigBase.merge(
2667
- import_zod19.z.object({
2668
- type: import_zod19.z.literal(ActionType.REJECT)
2681
+ import_zod20.z.object({
2682
+ type: import_zod20.z.literal(ActionType.REJECT)
2669
2683
  })
2670
2684
  );
2671
2685
  var ArchiveConfig = ActionConfigBase.merge(
2672
- import_zod19.z.object({
2673
- type: import_zod19.z.literal(ActionType.ARCHIVE)
2686
+ import_zod20.z.object({
2687
+ type: import_zod20.z.literal(ActionType.ARCHIVE)
2674
2688
  })
2675
2689
  );
2676
2690
  var DeleteConfig = ActionConfigBase.merge(
2677
- import_zod19.z.object({
2678
- type: import_zod19.z.literal(ActionType.DELETE)
2691
+ import_zod20.z.object({
2692
+ type: import_zod20.z.literal(ActionType.DELETE)
2679
2693
  })
2680
2694
  );
2681
2695
  var PrintCertificateActionConfig = ActionConfigBase.merge(
2682
- import_zod19.z.object({
2683
- type: import_zod19.z.literal(ActionType.PRINT_CERTIFICATE),
2696
+ import_zod20.z.object({
2697
+ type: import_zod20.z.literal(ActionType.PRINT_CERTIFICATE),
2684
2698
  printForm: ActionFormConfig
2685
2699
  })
2686
2700
  );
2687
2701
  var RequestCorrectionConfig = ActionConfigBase.merge(
2688
- import_zod19.z.object({
2689
- type: import_zod19.z.literal(ActionType.REQUEST_CORRECTION),
2702
+ import_zod20.z.object({
2703
+ type: import_zod20.z.literal(ActionType.REQUEST_CORRECTION),
2690
2704
  correctionForm: ActionFormConfig
2691
2705
  })
2692
2706
  );
2693
2707
  var RejectCorrectionConfig = ActionConfigBase.merge(
2694
- import_zod19.z.object({
2695
- type: import_zod19.z.literal(ActionType.REJECT_CORRECTION)
2708
+ import_zod20.z.object({
2709
+ type: import_zod20.z.literal(ActionType.REJECT_CORRECTION)
2696
2710
  })
2697
2711
  );
2698
2712
  var ApproveCorrectionConfig = ActionConfigBase.merge(
2699
- import_zod19.z.object({
2700
- type: import_zod19.z.literal(ActionType.APPROVE_CORRECTION)
2713
+ import_zod20.z.object({
2714
+ type: import_zod20.z.literal(ActionType.APPROVE_CORRECTION)
2701
2715
  })
2702
2716
  );
2703
- var ActionConfig = import_zod19.z.discriminatedUnion("type", [
2717
+ var ActionConfig = import_zod20.z.discriminatedUnion("type", [
2704
2718
  /*
2705
2719
  * OpenAPI references are defined here so our generated OpenAPI spec knows to reuse the models
2706
2720
  * and treat them as "models" instead of duplicating the data structure in each endpoint.
@@ -2721,87 +2735,87 @@ var ActionConfig = import_zod19.z.discriminatedUnion("type", [
2721
2735
  ]).describe(
2722
2736
  "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
2737
  ).openapi({ ref: "ActionConfig" });
2724
- var DeclarationActionConfig = import_zod19.z.discriminatedUnion("type", [
2738
+ var DeclarationActionConfig = import_zod20.z.discriminatedUnion("type", [
2725
2739
  DeclareConfig,
2726
2740
  ValidateConfig,
2727
2741
  RegisterConfig
2728
2742
  ]);
2729
2743
 
2730
2744
  // ../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()
2745
+ var import_zod21 = require("zod");
2746
+ var FontFamily = import_zod21.z.object({
2747
+ normal: import_zod21.z.string(),
2748
+ bold: import_zod21.z.string(),
2749
+ italics: import_zod21.z.string(),
2750
+ bolditalics: import_zod21.z.string()
2737
2751
  });
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(),
2752
+ var CertificateConfig = import_zod21.z.object({
2753
+ id: import_zod21.z.string(),
2754
+ event: import_zod21.z.string(),
2755
+ isV2Template: import_zod21.z.boolean().optional(),
2742
2756
  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()
2757
+ isDefault: import_zod21.z.boolean(),
2758
+ fee: import_zod21.z.object({
2759
+ onTime: import_zod21.z.number(),
2760
+ late: import_zod21.z.number(),
2761
+ delayed: import_zod21.z.number()
2748
2762
  }),
2749
- svgUrl: import_zod20.z.string(),
2750
- fonts: import_zod20.z.record(FontFamily).optional(),
2751
- conditionals: import_zod20.z.array(ShowConditional).optional()
2763
+ svgUrl: import_zod21.z.string(),
2764
+ fonts: import_zod21.z.record(FontFamily).optional(),
2765
+ conditionals: import_zod21.z.array(ShowConditional).optional()
2752
2766
  });
2753
2767
  var CertificateTemplateConfig = CertificateConfig.extend({
2754
- hash: import_zod20.z.string().optional(),
2755
- svg: import_zod20.z.string()
2768
+ hash: import_zod21.z.string().optional(),
2769
+ svg: import_zod21.z.string()
2756
2770
  });
2757
2771
 
2758
2772
  // ../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(),
2773
+ var import_zod22 = require("zod");
2774
+ var LanguageConfig = import_zod22.z.object({
2775
+ lang: import_zod22.z.string(),
2762
2776
  /**
2763
2777
  * client.csv contents
2764
2778
  */
2765
- messages: import_zod21.z.record(import_zod21.z.string())
2779
+ messages: import_zod22.z.record(import_zod22.z.string())
2766
2780
  });
2767
2781
 
2768
2782
  // ../commons/src/events/EventConfig.ts
2769
- var import_zod26 = require("zod");
2783
+ var import_zod27 = require("zod");
2770
2784
 
2771
2785
  // ../commons/src/events/SummaryConfig.ts
2772
- var import_zod22 = require("zod");
2773
- var BaseField2 = import_zod22.z.object({
2786
+ var import_zod23 = require("zod");
2787
+ var BaseField2 = import_zod23.z.object({
2774
2788
  emptyValueMessage: TranslationConfig.optional().describe(
2775
2789
  "Default message displayed when the field value is empty."
2776
2790
  ),
2777
- conditionals: import_zod22.z.array(ShowConditional).default([]).optional()
2791
+ conditionals: import_zod23.z.array(ShowConditional).default([]).optional()
2778
2792
  });
2779
2793
  var ReferenceField = BaseField2.extend({
2780
- fieldId: import_zod22.z.string(),
2794
+ fieldId: import_zod23.z.string(),
2781
2795
  label: TranslationConfig.optional().describe(
2782
2796
  "Overrides the default label from the referenced field when provided."
2783
2797
  )
2784
2798
  }).describe("Field referencing existing event data by field ID.");
2785
2799
  var Field = BaseField2.extend({
2786
- id: import_zod22.z.string().describe("Identifier of the summary field."),
2800
+ id: import_zod23.z.string().describe("Identifier of the summary field."),
2787
2801
  value: TranslationConfig.describe(
2788
2802
  'Field value template supporting variables from configuration and EventMetadata (e.g. "{informant.phoneNo} {informant.email}").'
2789
2803
  ),
2790
2804
  label: TranslationConfig
2791
2805
  }).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.")
2806
+ var SummaryConfig = import_zod23.z.object({
2807
+ fields: import_zod23.z.array(import_zod23.z.union([Field, ReferenceField])).describe("Fields displayed in the event summary view.")
2794
2808
  }).describe("Configuration of the event summary section.");
2795
2809
 
2796
2810
  // ../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({
2811
+ var import_zod24 = require("zod");
2812
+ var MatchType = import_zod24.z.enum(["fuzzy", "exact", "range", "within"]);
2813
+ var BaseField3 = import_zod24.z.object({
2814
+ config: import_zod24.z.object({
2801
2815
  type: MatchType.describe(
2802
2816
  "Determines the search type of field. How to match value."
2803
2817
  ),
2804
- searchFields: import_zod23.z.array(import_zod23.z.string()).optional().describe(
2818
+ searchFields: import_zod24.z.array(import_zod24.z.string()).optional().describe(
2805
2819
  `
2806
2820
  Defines multiple form fields that should be searched when this field has a value.
2807
2821
  All specified fields will be combined using OR logic.
@@ -2811,7 +2825,7 @@ var BaseField3 = import_zod23.z.object({
2811
2825
  `
2812
2826
  )
2813
2827
  }),
2814
- type: import_zod23.z.nativeEnum(FieldType).optional().describe(
2828
+ type: import_zod24.z.nativeEnum(FieldType).optional().describe(
2815
2829
  `
2816
2830
  Explicitly specify the field type for searchFields.
2817
2831
  This is required when searchFields is defined, to show the correct control in the UI.
@@ -2825,7 +2839,7 @@ var BaseField3 = import_zod23.z.object({
2825
2839
  This is required when searchFields is defined.
2826
2840
  `
2827
2841
  ),
2828
- options: import_zod23.z.array(SelectOption).optional(),
2842
+ options: import_zod24.z.array(SelectOption).optional(),
2829
2843
  searchCriteriaLabelPrefix: TranslationConfig.optional().describe(
2830
2844
  `
2831
2845
  This property determines whether to add a prefix (such as "Child" or "Applicant") before the field label
@@ -2846,7 +2860,7 @@ var BaseField3 = import_zod23.z.object({
2846
2860
  in the country-config > event.advancedSearch configuration. For example: field("child.dob", { searchCriteriaLabelPrefix: TranslationConfig }).
2847
2861
  `
2848
2862
  ),
2849
- conditionals: import_zod23.z.array(FieldConditional).default([]).optional().describe(
2863
+ conditionals: import_zod24.z.array(FieldConditional).default([]).optional().describe(
2850
2864
  `
2851
2865
  In advanced search, we sometimes need to override the default field visibility conditionals.
2852
2866
 
@@ -2860,20 +2874,20 @@ var BaseField3 = import_zod23.z.object({
2860
2874
  are always rendered in the advanced search form.
2861
2875
  `
2862
2876
  ),
2863
- validations: import_zod23.z.array(ValidationConfig).default([]).optional().describe(
2877
+ validations: import_zod24.z.array(ValidationConfig).default([]).optional().describe(
2864
2878
  `Option for overriding the field validations specifically for advanced search form.`
2865
2879
  )
2866
2880
  });
2867
- var SearchQueryParams = import_zod23.z.object({
2868
- eventType: import_zod23.z.string().optional().describe(
2881
+ var SearchQueryParams = import_zod24.z.object({
2882
+ eventType: import_zod24.z.string().optional().describe(
2869
2883
  "Defines type of event so that when redirecting to Advanced Search page, appropriate tab can be selected"
2870
2884
  )
2871
2885
  }).catchall(FieldValue);
2872
2886
  var FieldConfigSchema = BaseField3.extend({
2873
- fieldId: import_zod23.z.string(),
2874
- fieldType: import_zod23.z.literal("field")
2887
+ fieldId: import_zod24.z.string(),
2888
+ fieldType: import_zod24.z.literal("field")
2875
2889
  });
2876
- var EventFieldIdInput = import_zod23.z.enum([
2890
+ var EventFieldIdInput = import_zod24.z.enum([
2877
2891
  "trackingId",
2878
2892
  "status",
2879
2893
  "legalStatuses.REGISTERED.acceptedAt",
@@ -2882,7 +2896,7 @@ var EventFieldIdInput = import_zod23.z.enum([
2882
2896
  "updatedAt"
2883
2897
  ]);
2884
2898
  var METADATA_FIELD_PREFIX = "event.";
2885
- var EventFieldId = import_zod23.z.enum([
2899
+ var EventFieldId = import_zod24.z.enum([
2886
2900
  `${METADATA_FIELD_PREFIX}trackingId`,
2887
2901
  `${METADATA_FIELD_PREFIX}status`,
2888
2902
  `${METADATA_FIELD_PREFIX}legalStatuses.REGISTERED.acceptedAt`,
@@ -2892,29 +2906,29 @@ var EventFieldId = import_zod23.z.enum([
2892
2906
  ]);
2893
2907
  var EventFieldConfigSchema = BaseField3.extend({
2894
2908
  fieldId: EventFieldId,
2895
- fieldType: import_zod23.z.literal("event")
2909
+ fieldType: import_zod24.z.literal("event")
2896
2910
  });
2897
- var AdvancedSearchField = import_zod23.z.discriminatedUnion("fieldType", [FieldConfigSchema, EventFieldConfigSchema]).superRefine((data, ctx) => {
2911
+ var AdvancedSearchField = import_zod24.z.discriminatedUnion("fieldType", [FieldConfigSchema, EventFieldConfigSchema]).superRefine((data, ctx) => {
2898
2912
  if (data.config.searchFields && data.config.searchFields.length > 0) {
2899
2913
  if (!data.label) {
2900
2914
  ctx.addIssue({
2901
- code: import_zod23.z.ZodIssueCode.custom,
2915
+ code: import_zod24.z.ZodIssueCode.custom,
2902
2916
  message: "label is required when config.searchFields is defined.",
2903
2917
  path: ["label"]
2904
2918
  });
2905
2919
  }
2906
2920
  if (!data.type) {
2907
2921
  ctx.addIssue({
2908
- code: import_zod23.z.ZodIssueCode.custom,
2922
+ code: import_zod24.z.ZodIssueCode.custom,
2909
2923
  message: "type is required when config.searchFields is defined.",
2910
2924
  path: ["type"]
2911
2925
  });
2912
2926
  }
2913
2927
  }
2914
2928
  });
2915
- var AdvancedSearchConfig = import_zod23.z.object({
2929
+ var AdvancedSearchConfig = import_zod24.z.object({
2916
2930
  title: TranslationConfig.describe("Advanced search tab title"),
2917
- fields: import_zod23.z.array(AdvancedSearchField).describe("Advanced search fields within the tab.")
2931
+ fields: import_zod24.z.array(AdvancedSearchField).describe("Advanced search fields within the tab.")
2918
2932
  });
2919
2933
 
2920
2934
  // ../commons/src/events/utils.ts
@@ -2923,14 +2937,14 @@ var import_lodash = require("lodash");
2923
2937
  // ../commons/src/conditionals/validate.ts
2924
2938
  var import__ = __toESM(require("ajv/dist/2019"));
2925
2939
  var import_ajv_formats = __toESM(require("ajv-formats"));
2926
- var import_zod25 = require("zod");
2940
+ var import_zod26 = require("zod");
2927
2941
  var import_date_fns = require("date-fns");
2928
2942
 
2929
2943
  // ../commons/src/events/DynamicFieldValue.ts
2930
- var import_zod24 = require("zod");
2944
+ var import_zod25 = require("zod");
2931
2945
  function getDynamicNameValue(field3) {
2932
2946
  const nameConfiguration = field3.configuration?.name;
2933
- return import_zod24.z.object({
2947
+ return import_zod25.z.object({
2934
2948
  firstname: nameConfiguration?.firstname?.required ? NonEmptyTextValue : TextValue,
2935
2949
  surname: nameConfiguration?.surname?.required ? NonEmptyTextValue : TextValue,
2936
2950
  middlename: nameConfiguration?.middlename?.required ? NonEmptyTextValue : TextValue.optional()
@@ -2999,7 +3013,7 @@ function mapFieldTypeToZod(field3, actionType) {
2999
3013
  schema = NumberFieldValue;
3000
3014
  break;
3001
3015
  case FieldType.NUMBER_WITH_UNIT:
3002
- schema = NumberWithUnitFieldUpdateValue;
3016
+ schema = field3.required ? NumberWithUnitFieldValue : NumberWithUnitFieldUpdateValue;
3003
3017
  break;
3004
3018
  case FieldType.CHECKBOX:
3005
3019
  schema = CheckboxFieldValue;
@@ -3230,9 +3244,9 @@ var ajv = new import__.default({
3230
3244
  strict: false
3231
3245
  // Allow minContains and other newer features
3232
3246
  });
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 }))
3247
+ var DataContext = import_zod26.z.object({
3248
+ rootData: import_zod26.z.object({
3249
+ $leafAdminStructureLocationIds: import_zod26.z.array(import_zod26.z.object({ id: UUID }))
3236
3250
  })
3237
3251
  });
3238
3252
  function resolveDataPath(rootData, dataPath, instancePath) {
@@ -3390,7 +3404,7 @@ function isFieldVisible(field3, form, context) {
3390
3404
  }
3391
3405
  function isFieldEmptyAndNotRequired(field3, form) {
3392
3406
  const fieldValue = form[field3.id];
3393
- return !field3.required && (fieldValue === void 0 || fieldValue === "");
3407
+ return !field3.required && (fieldValue === void 0 || fieldValue === "" || fieldValue && typeof fieldValue === "object" && Object.values(fieldValue).every((v) => v === void 0 || v === ""));
3394
3408
  }
3395
3409
  function isFieldEnabled(field3, form, context) {
3396
3410
  return isFieldConditionMet(field3, form, ConditionalType.ENABLE, context);
@@ -3600,7 +3614,7 @@ function areCertificateConditionsMet(conditions, values) {
3600
3614
  }
3601
3615
 
3602
3616
  // ../commons/src/utils.ts
3603
- var z26 = __toESM(require("zod"));
3617
+ var z27 = __toESM(require("zod"));
3604
3618
  function getOrThrow(x, message) {
3605
3619
  if (x === void 0 || x === null) {
3606
3620
  throw new Error(message);
@@ -3610,11 +3624,11 @@ function getOrThrow(x, message) {
3610
3624
  function joinValues(values, separator = " ") {
3611
3625
  return values.filter((value) => !!value).join(separator).trim();
3612
3626
  }
3613
- var FullNameV1 = z26.array(
3614
- z26.object({
3615
- use: z26.string(),
3616
- family: z26.string(),
3617
- given: z26.array(z26.string())
3627
+ var FullNameV1 = z27.array(
3628
+ z27.object({
3629
+ use: z27.string(),
3630
+ family: z27.string(),
3631
+ given: z27.array(z27.string())
3618
3632
  })
3619
3633
  );
3620
3634
  function omitKeyDeep(obj, keyToRemove) {
@@ -3886,11 +3900,14 @@ function isRequestedAction(a) {
3886
3900
  function isAcceptedAction(a) {
3887
3901
  return a.status === ActionStatus.Accepted;
3888
3902
  }
3903
+ function isRejectedAction(a) {
3904
+ return a.status === ActionStatus.Rejected;
3905
+ }
3889
3906
  function getPendingAction(actions) {
3890
3907
  const requestedActions = actions.filter(isRequestedAction);
3891
3908
  const pendingActions = requestedActions.filter(
3892
3909
  ({ id }) => !actions.some(
3893
- (action) => isAcceptedAction(action) && action.originalActionId === id
3910
+ (action) => (isAcceptedAction(action) || isRejectedAction(action)) && action.originalActionId === id
3894
3911
  )
3895
3912
  );
3896
3913
  if (pendingActions.length !== 1) {
@@ -3960,9 +3977,9 @@ function aggregateActionDeclarations(event2) {
3960
3977
 
3961
3978
  // ../commons/src/events/EventConfig.ts
3962
3979
  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(
3980
+ (0, import_zod_openapi10.extendZodWithOpenApi)(import_zod27.z);
3981
+ var EventConfig = import_zod27.z.object({
3982
+ id: import_zod27.z.string().describe(
3966
3983
  'Machine-readable identifier of the event (e.g. "birth", "death").'
3967
3984
  ),
3968
3985
  dateOfEvent: FieldReference.optional().describe(
@@ -3980,13 +3997,13 @@ var EventConfig = import_zod26.z.object({
3980
3997
  label: TranslationConfig.describe(
3981
3998
  "Human-readable label for the event type."
3982
3999
  ),
3983
- actions: import_zod26.z.array(ActionConfig).describe(
4000
+ actions: import_zod27.z.array(ActionConfig).describe(
3984
4001
  "Configuration of system-defined actions associated with the event."
3985
4002
  ),
3986
4003
  declaration: DeclarationFormConfig.describe(
3987
4004
  "Configuration of the form used to gather event data."
3988
4005
  ),
3989
- advancedSearch: import_zod26.z.array(AdvancedSearchConfig).optional().default([]).describe(
4006
+ advancedSearch: import_zod27.z.array(AdvancedSearchConfig).optional().default([]).describe(
3990
4007
  "Configuration of fields available in the advanced search feature."
3991
4008
  )
3992
4009
  }).superRefine((event2, ctx) => {
@@ -4050,7 +4067,7 @@ var definePage = (page) => PageConfig.parse(page);
4050
4067
  var defineFormPage = (formPage) => FormPageConfig.parse(formPage);
4051
4068
 
4052
4069
  // ../commons/src/events/WorkqueueConfig.ts
4053
- var import_zod30 = require("zod");
4070
+ var import_zod31 = require("zod");
4054
4071
 
4055
4072
  // ../commons/src/conditionals/conditionals.ts
4056
4073
  var objectHash = __toESM(require("object-hash"));
@@ -4126,6 +4143,7 @@ function wrapToPathOptional(condition, path) {
4126
4143
  };
4127
4144
  }, condition);
4128
4145
  }
4146
+ var now = Object.assign(todayDateTimeValueSerializer, {});
4129
4147
  var user = Object.assign(userSerializer, {
4130
4148
  hasScope: (scope) => defineConditional({
4131
4149
  type: "object",
@@ -4804,17 +4822,17 @@ var event = Object.assign(eventFn, {
4804
4822
  });
4805
4823
 
4806
4824
  // ../commons/src/events/WorkqueueColumnConfig.ts
4807
- var import_zod27 = require("zod");
4825
+ var import_zod28 = require("zod");
4808
4826
  var WorkqueueColumnKeysArray = [
4809
4827
  ...EventMetadataKeysArray,
4810
4828
  "title",
4811
4829
  "outbox"
4812
4830
  ];
4813
- var WorkqueueColumnKeys = import_zod27.z.enum(WorkqueueColumnKeysArray);
4814
- var WorkqueueColumnValue = import_zod27.z.object({
4831
+ var WorkqueueColumnKeys = import_zod28.z.enum(WorkqueueColumnKeysArray);
4832
+ var WorkqueueColumnValue = import_zod28.z.object({
4815
4833
  $event: WorkqueueColumnKeys
4816
4834
  });
4817
- var WorkqueueColumn = import_zod27.z.object({
4835
+ var WorkqueueColumn = import_zod28.z.object({
4818
4836
  label: TranslationConfig,
4819
4837
  value: WorkqueueColumnValue
4820
4838
  });
@@ -4825,57 +4843,57 @@ function defineWorkqueuesColumns(workqueueColumns) {
4825
4843
  }
4826
4844
 
4827
4845
  // ../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])
4846
+ var import_zod29 = require("zod");
4847
+ var SerializableExact = import_zod29.z.object({
4848
+ type: import_zod29.z.literal("exact"),
4849
+ term: import_zod29.z.union([import_zod29.z.string(), SerializedUserField])
4832
4850
  });
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])
4851
+ var SerializableWithin = import_zod29.z.object({
4852
+ type: import_zod29.z.literal("within"),
4853
+ location: import_zod29.z.union([import_zod29.z.string(), SerializedUserField])
4836
4854
  });
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])
4855
+ var SerializedQueryExpression = import_zod29.z.object({
4856
+ eventType: import_zod29.z.string(),
4857
+ status: import_zod29.z.optional(import_zod29.z.union([AnyOfStatus, ExactStatus])),
4858
+ createdAt: import_zod29.z.optional(DateCondition),
4859
+ updatedAt: import_zod29.z.optional(DateCondition),
4860
+ "legalStatuses.REGISTERED.createdAt": import_zod29.z.optional(DateCondition),
4861
+ "legalStatuses.REGISTERED.createdAtLocation": import_zod29.z.optional(
4862
+ import_zod29.z.union([Within, Exact])
4845
4863
  ),
4846
- "legalStatuses.REGISTERED.registrationNumber": import_zod28.z.optional(Exact),
4847
- createdAtLocation: import_zod28.z.optional(
4848
- import_zod28.z.union([SerializableWithin, SerializableExact])
4864
+ "legalStatuses.REGISTERED.registrationNumber": import_zod29.z.optional(Exact),
4865
+ createdAtLocation: import_zod29.z.optional(
4866
+ import_zod29.z.union([SerializableWithin, SerializableExact])
4849
4867
  ),
4850
- updatedAtLocation: import_zod28.z.optional(
4851
- import_zod28.z.union([SerializableWithin, SerializableExact])
4868
+ updatedAtLocation: import_zod29.z.optional(
4869
+ import_zod29.z.union([SerializableWithin, SerializableExact])
4852
4870
  ),
4853
- assignedTo: import_zod28.z.optional(SerializableExact),
4854
- createdBy: import_zod28.z.optional(SerializableExact),
4871
+ assignedTo: import_zod29.z.optional(SerializableExact),
4872
+ createdBy: import_zod29.z.optional(SerializableExact),
4855
4873
  createdByUserType: ExactUserType,
4856
- updatedBy: import_zod28.z.optional(SerializableExact),
4857
- trackingId: import_zod28.z.optional(Exact),
4858
- flags: import_zod28.z.optional(ContainsFlags),
4874
+ updatedBy: import_zod29.z.optional(SerializableExact),
4875
+ trackingId: import_zod29.z.optional(Exact),
4876
+ flags: import_zod29.z.optional(ContainsFlags),
4859
4877
  data: QueryInput
4860
4878
  }).partial();
4861
- var Or2 = import_zod28.z.object({
4862
- type: import_zod28.z.literal("or"),
4863
- clauses: import_zod28.z.array(SerializedQueryExpression)
4879
+ var Or2 = import_zod29.z.object({
4880
+ type: import_zod29.z.literal("or"),
4881
+ clauses: import_zod29.z.array(SerializedQueryExpression)
4864
4882
  });
4865
- var And2 = import_zod28.z.object({
4866
- type: import_zod28.z.literal("and"),
4867
- clauses: import_zod28.z.array(SerializedQueryExpression)
4883
+ var And2 = import_zod29.z.object({
4884
+ type: import_zod29.z.literal("and"),
4885
+ clauses: import_zod29.z.array(SerializedQueryExpression)
4868
4886
  });
4869
- var CountryConfigQueryType = import_zod28.z.discriminatedUnion("type", [And2, Or2]);
4870
- var CountryConfigQueryInputType = import_zod28.z.union([
4887
+ var CountryConfigQueryType = import_zod29.z.discriminatedUnion("type", [And2, Or2]);
4888
+ var CountryConfigQueryInputType = import_zod29.z.union([
4871
4889
  SerializedQueryExpression,
4872
4890
  And2,
4873
4891
  Or2
4874
4892
  ]);
4875
4893
 
4876
4894
  // ../commons/src/icons.ts
4877
- var import_zod29 = require("zod");
4878
- var AvailableIcons = import_zod29.z.enum([
4895
+ var import_zod30 = require("zod");
4896
+ var AvailableIcons = import_zod30.z.enum([
4879
4897
  "Archived",
4880
4898
  "Assigned",
4881
4899
  "Certified",
@@ -4996,23 +5014,23 @@ var mandatoryColumns = defineWorkqueuesColumns([
4996
5014
  value: event.field("updatedAt")
4997
5015
  }
4998
5016
  ]);
4999
- var WorkqueueActionsWithDefault = import_zod30.z.enum([
5017
+ var WorkqueueActionsWithDefault = import_zod31.z.enum([
5000
5018
  ...workqueueActions.options,
5001
5019
  "DEFAULT"
5002
5020
  ]);
5003
- var WorkqueueConfig = import_zod30.z.object({
5004
- slug: import_zod30.z.string().describe("Determines the url of the workqueue."),
5021
+ var WorkqueueConfig = import_zod31.z.object({
5022
+ slug: import_zod31.z.string().describe("Determines the url of the workqueue."),
5005
5023
  name: TranslationConfig.describe(
5006
5024
  "Title of the workflow (both in navigation and on the page)"
5007
5025
  ),
5008
5026
  query: CountryConfigQueryType,
5009
- actions: import_zod30.z.array(
5010
- import_zod30.z.object({
5027
+ actions: import_zod31.z.array(
5028
+ import_zod31.z.object({
5011
5029
  type: WorkqueueActionsWithDefault,
5012
- conditionals: import_zod30.z.array(Conditional).optional()
5030
+ conditionals: import_zod31.z.array(Conditional).optional()
5013
5031
  })
5014
5032
  ),
5015
- columns: import_zod30.z.array(WorkqueueColumn).default(mandatoryColumns),
5033
+ columns: import_zod31.z.array(WorkqueueColumn).default(mandatoryColumns),
5016
5034
  icon: AvailableIcons,
5017
5035
  emptyMessage: TranslationConfig.optional()
5018
5036
  }).describe("Configuration for workqueue.");
@@ -5020,19 +5038,19 @@ var WorkqueueConfigWithoutQuery = WorkqueueConfig.omit({
5020
5038
  query: true,
5021
5039
  columns: true
5022
5040
  });
5023
- var WorkqueueConfigInput = import_zod30.z.object({
5024
- slug: import_zod30.z.string().describe("Determines the url of the workqueue."),
5041
+ var WorkqueueConfigInput = import_zod31.z.object({
5042
+ slug: import_zod31.z.string().describe("Determines the url of the workqueue."),
5025
5043
  name: TranslationConfig.describe(
5026
5044
  "Title of the workflow (both in navigation and on the page)"
5027
5045
  ),
5028
5046
  query: CountryConfigQueryInputType,
5029
- actions: import_zod30.z.array(
5030
- import_zod30.z.object({
5047
+ actions: import_zod31.z.array(
5048
+ import_zod31.z.object({
5031
5049
  type: WorkqueueActionsWithDefault,
5032
- conditionals: import_zod30.z.array(Conditional).optional()
5050
+ conditionals: import_zod31.z.array(Conditional).optional()
5033
5051
  })
5034
5052
  ),
5035
- columns: import_zod30.z.array(WorkqueueColumn).default(mandatoryColumns),
5053
+ columns: import_zod31.z.array(WorkqueueColumn).default(mandatoryColumns),
5036
5054
  icon: AvailableIcons,
5037
5055
  emptyMessage: TranslationConfig.optional()
5038
5056
  });
@@ -5044,10 +5062,10 @@ function defineWorkqueue(workqueueInput) {
5044
5062
  function defineWorkqueues(workqueues) {
5045
5063
  return workqueues.map((workqueue) => defineWorkqueue(workqueue));
5046
5064
  }
5047
- var WorkqueueCountInput = import_zod30.z.array(
5048
- import_zod30.z.object({ slug: import_zod30.z.string(), query: QueryType })
5065
+ var WorkqueueCountInput = import_zod31.z.array(
5066
+ import_zod31.z.object({ slug: import_zod31.z.string(), query: QueryType })
5049
5067
  );
5050
- var WorkqueueCountOutput = import_zod30.z.record(import_zod30.z.string(), import_zod30.z.number());
5068
+ var WorkqueueCountOutput = import_zod31.z.record(import_zod31.z.string(), import_zod31.z.number());
5051
5069
 
5052
5070
  // ../commons/src/events/workqueueDefaultColumns.ts
5053
5071
  var defaultWorkqueueColumns = [
@@ -5070,45 +5088,45 @@ var defaultWorkqueueColumns = [
5070
5088
  ];
5071
5089
 
5072
5090
  // ../commons/src/events/Draft.ts
5073
- var import_zod32 = require("zod");
5091
+ var import_zod33 = require("zod");
5074
5092
 
5075
5093
  // ../commons/src/events/ActionInput.ts
5076
- var import_zod31 = require("zod");
5094
+ var import_zod32 = require("zod");
5077
5095
  var import_zod_openapi11 = require("zod-openapi");
5078
- (0, import_zod_openapi11.extendZodWithOpenApi)(import_zod31.z);
5079
- var BaseActionInput = import_zod31.z.object({
5096
+ (0, import_zod_openapi11.extendZodWithOpenApi)(import_zod32.z);
5097
+ var BaseActionInput = import_zod32.z.object({
5080
5098
  eventId: UUID,
5081
- transactionId: import_zod31.z.string(),
5099
+ transactionId: import_zod32.z.string(),
5082
5100
  declaration: ActionUpdate.default({}),
5083
5101
  annotation: ActionUpdate.optional(),
5084
5102
  originalActionId: UUID.optional(),
5085
5103
  // should not be part of base action.
5086
- keepAssignment: import_zod31.z.boolean().optional(),
5104
+ keepAssignment: import_zod32.z.boolean().optional(),
5087
5105
  // For normal users, the createdAtLocation is resolved on the backend from the user's primaryOfficeId.
5088
5106
  createdAtLocation: CreatedAtLocation.describe(
5089
5107
  "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
5108
  )
5091
5109
  });
5092
5110
  var CreateActionInput = BaseActionInput.merge(
5093
- import_zod31.z.object({
5094
- type: import_zod31.z.literal(ActionType.CREATE).default(ActionType.CREATE),
5111
+ import_zod32.z.object({
5112
+ type: import_zod32.z.literal(ActionType.CREATE).default(ActionType.CREATE),
5095
5113
  createdAtLocation: CreatedAtLocation
5096
5114
  })
5097
5115
  );
5098
5116
  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()
5117
+ import_zod32.z.object({
5118
+ type: import_zod32.z.literal(ActionType.REGISTER).default(ActionType.REGISTER),
5119
+ registrationNumber: import_zod32.z.string().optional()
5102
5120
  })
5103
5121
  ).strict();
5104
5122
  var ValidateActionInput = BaseActionInput.merge(
5105
- import_zod31.z.object({
5106
- type: import_zod31.z.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
5123
+ import_zod32.z.object({
5124
+ type: import_zod32.z.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
5107
5125
  })
5108
5126
  );
5109
5127
  var NotifyActionInput = BaseActionInput.merge(
5110
- import_zod31.z.object({
5111
- type: import_zod31.z.literal(ActionType.NOTIFY).default(ActionType.NOTIFY)
5128
+ import_zod32.z.object({
5129
+ type: import_zod32.z.literal(ActionType.NOTIFY).default(ActionType.NOTIFY)
5112
5130
  })
5113
5131
  ).openapi({
5114
5132
  default: {
@@ -5120,86 +5138,86 @@ var NotifyActionInput = BaseActionInput.merge(
5120
5138
  }
5121
5139
  });
5122
5140
  var DeclareActionInput = BaseActionInput.merge(
5123
- import_zod31.z.object({
5124
- type: import_zod31.z.literal(ActionType.DECLARE).default(ActionType.DECLARE)
5141
+ import_zod32.z.object({
5142
+ type: import_zod32.z.literal(ActionType.DECLARE).default(ActionType.DECLARE)
5125
5143
  })
5126
5144
  );
5127
5145
  var PrintCertificateActionInput = BaseActionInput.merge(
5128
- import_zod31.z.object({
5129
- type: import_zod31.z.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
5146
+ import_zod32.z.object({
5147
+ type: import_zod32.z.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
5130
5148
  content: PrintContent.optional()
5131
5149
  })
5132
5150
  );
5133
5151
  var RejectDeclarationActionInput = BaseActionInput.merge(
5134
- import_zod31.z.object({
5135
- type: import_zod31.z.literal(ActionType.REJECT).default(ActionType.REJECT),
5152
+ import_zod32.z.object({
5153
+ type: import_zod32.z.literal(ActionType.REJECT).default(ActionType.REJECT),
5136
5154
  content: ReasonContent
5137
5155
  })
5138
5156
  );
5139
5157
  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)
5158
+ import_zod32.z.object({
5159
+ type: import_zod32.z.literal(ActionType.DUPLICATE_DETECTED).default(ActionType.DUPLICATE_DETECTED),
5160
+ content: import_zod32.z.object({
5161
+ duplicates: import_zod32.z.array(PotentialDuplicate)
5144
5162
  })
5145
5163
  })
5146
5164
  );
5147
5165
  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({
5166
+ import_zod32.z.object({
5167
+ type: import_zod32.z.literal(ActionType.MARK_AS_DUPLICATE).default(ActionType.MARK_AS_DUPLICATE),
5168
+ content: import_zod32.z.object({
5151
5169
  duplicateOf: UUID
5152
5170
  }).optional()
5153
5171
  })
5154
5172
  );
5155
5173
  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)
5174
+ import_zod32.z.object({
5175
+ type: import_zod32.z.literal(ActionType.MARK_AS_NOT_DUPLICATE).default(ActionType.MARK_AS_NOT_DUPLICATE)
5158
5176
  })
5159
5177
  );
5160
5178
  var ArchiveActionInput = BaseActionInput.merge(
5161
- import_zod31.z.object({
5162
- type: import_zod31.z.literal(ActionType.ARCHIVE).default(ActionType.ARCHIVE),
5179
+ import_zod32.z.object({
5180
+ type: import_zod32.z.literal(ActionType.ARCHIVE).default(ActionType.ARCHIVE),
5163
5181
  content: ReasonContent
5164
5182
  })
5165
5183
  );
5166
5184
  var AssignActionInput = BaseActionInput.merge(
5167
- import_zod31.z.object({
5168
- type: import_zod31.z.literal(ActionType.ASSIGN),
5169
- assignedTo: import_zod31.z.string()
5185
+ import_zod32.z.object({
5186
+ type: import_zod32.z.literal(ActionType.ASSIGN),
5187
+ assignedTo: import_zod32.z.string()
5170
5188
  })
5171
5189
  );
5172
5190
  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)
5191
+ import_zod32.z.object({
5192
+ type: import_zod32.z.literal(ActionType.UNASSIGN).default(ActionType.UNASSIGN),
5193
+ assignedTo: import_zod32.z.literal(null).default(null)
5176
5194
  })
5177
5195
  );
5178
5196
  var RequestCorrectionActionInput = BaseActionInput.merge(
5179
- import_zod31.z.object({
5180
- type: import_zod31.z.literal(ActionType.REQUEST_CORRECTION).default(ActionType.REQUEST_CORRECTION)
5197
+ import_zod32.z.object({
5198
+ type: import_zod32.z.literal(ActionType.REQUEST_CORRECTION).default(ActionType.REQUEST_CORRECTION)
5181
5199
  })
5182
5200
  );
5183
5201
  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),
5202
+ import_zod32.z.object({
5203
+ requestId: import_zod32.z.string(),
5204
+ type: import_zod32.z.literal(ActionType.REJECT_CORRECTION).default(ActionType.REJECT_CORRECTION),
5187
5205
  content: ReasonContent
5188
5206
  })
5189
5207
  );
5190
5208
  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)
5209
+ import_zod32.z.object({
5210
+ requestId: import_zod32.z.string(),
5211
+ type: import_zod32.z.literal(ActionType.APPROVE_CORRECTION).default(ActionType.APPROVE_CORRECTION)
5194
5212
  })
5195
5213
  );
5196
5214
  var ReadActionInput = BaseActionInput.merge(
5197
- import_zod31.z.object({
5198
- type: import_zod31.z.literal(ActionType.READ).default(ActionType.READ)
5215
+ import_zod32.z.object({
5216
+ type: import_zod32.z.literal(ActionType.READ).default(ActionType.READ)
5199
5217
  })
5200
5218
  );
5201
- var DeleteActionInput = import_zod31.z.object({ eventId: UUID });
5202
- var ActionInput = import_zod31.z.discriminatedUnion("type", [
5219
+ var DeleteActionInput = import_zod32.z.object({ eventId: UUID });
5220
+ var ActionInput = import_zod32.z.discriminatedUnion("type", [
5203
5221
  CreateActionInput.openapi({ ref: "CreateActionInput" }),
5204
5222
  ValidateActionInput.openapi({ ref: "ValidateActionInput" }),
5205
5223
  RegisterActionInput.openapi({ ref: "RegisterActionInput" }),
@@ -5234,11 +5252,11 @@ var ActionInput = import_zod31.z.discriminatedUnion("type", [
5234
5252
  });
5235
5253
 
5236
5254
  // ../commons/src/events/Draft.ts
5237
- var Draft = import_zod32.z.object({
5255
+ var Draft = import_zod33.z.object({
5238
5256
  id: UUID,
5239
5257
  eventId: UUID,
5240
- transactionId: import_zod32.z.string(),
5241
- createdAt: import_zod32.z.string().datetime(),
5258
+ transactionId: import_zod33.z.string(),
5259
+ createdAt: import_zod33.z.string().datetime(),
5242
5260
  action: ActionBase.extend({
5243
5261
  type: ActionTypes.exclude([ActionTypes.Enum.DELETE])
5244
5262
  }).omit({ id: true, createdAtLocation: true })
@@ -5247,7 +5265,7 @@ var Draft = import_zod32.z.object({
5247
5265
  );
5248
5266
  var DraftInput = BaseActionInput.extend({
5249
5267
  type: ActionTypes.exclude([ActionTypes.Enum.DELETE]),
5250
- status: import_zod32.z.enum([
5268
+ status: import_zod33.z.enum([
5251
5269
  ActionStatus.Requested,
5252
5270
  ActionStatus.Accepted,
5253
5271
  ActionStatus.Rejected
@@ -5255,26 +5273,26 @@ var DraftInput = BaseActionInput.extend({
5255
5273
  });
5256
5274
 
5257
5275
  // ../commons/src/events/EventInput.ts
5258
- var import_zod33 = require("zod");
5276
+ var import_zod34 = require("zod");
5259
5277
  var import_uuid10 = require("uuid");
5260
- var EventInput = import_zod33.z.object({
5261
- transactionId: import_zod33.z.string(),
5262
- type: import_zod33.z.string()
5278
+ var EventInput = import_zod34.z.object({
5279
+ transactionId: import_zod34.z.string(),
5280
+ type: import_zod34.z.string()
5263
5281
  }).openapi({ default: { transactionId: (0, import_uuid10.v4)(), type: "birth" } });
5264
5282
 
5265
5283
  // ../commons/src/events/EventDocument.ts
5266
- var import_zod34 = require("zod");
5284
+ var import_zod35 = require("zod");
5267
5285
  var import_zod_openapi12 = require("zod-openapi");
5268
- (0, import_zod_openapi12.extendZodWithOpenApi)(import_zod34.z);
5269
- var EventDocument = import_zod34.z.object({
5286
+ (0, import_zod_openapi12.extendZodWithOpenApi)(import_zod35.z);
5287
+ var EventDocument = import_zod35.z.object({
5270
5288
  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(
5289
+ type: import_zod35.z.string().describe("Type of the event (e.g. birth, death, marriage)."),
5290
+ createdAt: import_zod35.z.string().datetime().describe("Timestamp indicating when the event was created."),
5291
+ updatedAt: import_zod35.z.string().datetime().describe(
5274
5292
  "Timestamp of the last update, excluding changes from actions."
5275
5293
  ),
5276
- actions: import_zod34.z.array(Action).describe("Ordered list of actions associated with the event."),
5277
- trackingId: import_zod34.z.string().describe(
5294
+ actions: import_zod35.z.array(Action).describe("Ordered list of actions associated with the event."),
5295
+ trackingId: import_zod35.z.string().describe(
5278
5296
  "System-generated tracking identifier used to look up the event."
5279
5297
  )
5280
5298
  }).openapi({ ref: "EventDocument" });
@@ -7802,8 +7820,35 @@ var mother = defineFormPage({
7802
7820
  secured: true,
7803
7821
  validation: [],
7804
7822
  label: generateTranslationConfig("Date of birth"),
7823
+ conditionals: [
7824
+ {
7825
+ type: "SHOW",
7826
+ conditional: not(field("mother.dobUnknown").isEqualTo(true))
7827
+ }
7828
+ ]
7829
+ },
7830
+ {
7831
+ id: "mother.dobUnknown",
7832
+ type: "CHECKBOX",
7833
+ label: generateTranslationConfig("Exact date of birth unknown"),
7805
7834
  conditionals: []
7806
7835
  },
7836
+ {
7837
+ id: "mother.age",
7838
+ type: FieldType.AGE,
7839
+ required: true,
7840
+ analytics: true,
7841
+ label: generateTranslationConfig("Age of mother"),
7842
+ configuration: {
7843
+ asOfDate: field("child.dob")
7844
+ },
7845
+ conditionals: [
7846
+ {
7847
+ type: "SHOW",
7848
+ conditional: field("mother.dobUnknown").isEqualTo(true)
7849
+ }
7850
+ ]
7851
+ },
7807
7852
  {
7808
7853
  id: "mother.idType",
7809
7854
  type: FieldType.SELECT,
@@ -8127,9 +8172,9 @@ var digitalIdentityEvent = defineConfig({
8127
8172
  });
8128
8173
 
8129
8174
  // ../commons/src/events/test.utils.ts
8130
- var import_zod35 = require("zod");
8175
+ var import_zod36 = require("zod");
8131
8176
  var TEST_SYSTEM_IANA_TIMEZONE = "Asia/Dhaka";
8132
- var TestUserRole = import_zod35.z.enum([
8177
+ var TestUserRole = import_zod36.z.enum([
8133
8178
  "FIELD_AGENT",
8134
8179
  "LOCAL_REGISTRAR",
8135
8180
  "LOCAL_SYSTEM_ADMIN",
@@ -9174,16 +9219,16 @@ function getFilePathsFromEvent(event2) {
9174
9219
  }
9175
9220
 
9176
9221
  // ../commons/src/events/locations.ts
9177
- var import_zod36 = require("zod");
9178
- var LocationType = import_zod36.z.enum([
9222
+ var import_zod37 = require("zod");
9223
+ var LocationType = import_zod37.z.enum([
9179
9224
  "ADMIN_STRUCTURE",
9180
9225
  "CRVS_OFFICE",
9181
9226
  "HEALTH_FACILITY"
9182
9227
  ]);
9183
- var Location = import_zod36.z.object({
9228
+ var Location = import_zod37.z.object({
9184
9229
  id: UUID,
9185
- name: import_zod36.z.string(),
9230
+ name: import_zod37.z.string(),
9186
9231
  parentId: UUID.nullable(),
9187
- validUntil: import_zod36.z.string().datetime().nullable(),
9232
+ validUntil: import_zod37.z.string().datetime().nullable(),
9188
9233
  locationType: LocationType.nullable()
9189
9234
  });