@opencrvs/toolkit 1.9.6-rc.690a282 → 1.9.6-rc.6ae1b5a

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