@gcforms/types 1.0.30 → 1.0.33

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.33] - 2026-06-03
9
+
10
+ - Add users and invitations to the FormRecord type
11
+
12
+ ## [1.0.32] - 2026-05-01
13
+
14
+ - Add types for template versions
15
+
16
+ ## [1.0.31] - 2026-04-23
17
+
18
+ - Add Element properties to support Advanced number inputs
19
+
8
20
  ## [1.0.30] - 2026-03-30
9
21
 
10
22
  - Add ValidationInputType as sub-type of HTMLTextInputTypeAttribute
package/dist/index.d.mts CHANGED
@@ -59,6 +59,7 @@ declare const FormElementTypes: {
59
59
  readonly contact: "contact";
60
60
  readonly combobox: "combobox";
61
61
  readonly formattedDate: "formattedDate";
62
+ readonly numberInput: "numberInput";
62
63
  readonly customJson: "customJson";
63
64
  };
64
65
  type FormElementTypes = (typeof FormElementTypes)[keyof typeof FormElementTypes];
@@ -75,6 +76,10 @@ interface ValidationProperties {
75
76
  type?: ValidationInputType;
76
77
  regex?: string;
77
78
  maxLength?: number;
79
+ minValue?: number;
80
+ maxValue?: number;
81
+ minDigits?: number;
82
+ maxDigits?: number;
78
83
  descriptionEN?: string;
79
84
  descriptionFR?: string;
80
85
  [key: string]: unknown;
@@ -121,6 +126,8 @@ interface ElementProperties {
121
126
  dateFormat?: string;
122
127
  allowNegativeNumbers?: boolean;
123
128
  stepCount?: number;
129
+ currencyCode?: string;
130
+ useThousandsSeparator?: boolean;
124
131
  conditionalRules?: ConditionalRule[];
125
132
  full?: boolean;
126
133
  addressComponents?: AddressComponents | undefined;
@@ -181,13 +188,23 @@ type FormRecord = {
181
188
  name: string;
182
189
  form: FormProperties;
183
190
  isPublished: boolean;
191
+ currentPublishedVersionId?: string | null;
192
+ currentDraftVersionId?: string | null;
193
+ versionNumber?: number | null;
184
194
  deliveryOption?: DeliveryOption;
185
195
  securityAttribute: SecurityAttribute;
186
196
  closingDate?: string;
187
197
  closedDetails?: ClosedDetails;
188
198
  saveAndResume?: boolean;
189
199
  notificationsInterval?: NotificationsInterval;
190
- [key: string]: string | boolean | number | Date | FormProperties | DeliveryOption | ClosedDetails | undefined | null;
200
+ _count?: {
201
+ users: number;
202
+ invitations: number;
203
+ };
204
+ [key: string]: string | boolean | number | Date | FormProperties | DeliveryOption | ClosedDetails | {
205
+ users: number;
206
+ invitations: number;
207
+ } | undefined | null;
191
208
  };
192
209
  type SecurityAttribute = "Unclassified" | "Protected A" | "Protected B";
193
210
  type FormPurpose = "" | "admin" | "nonAdmin";
package/dist/index.d.ts CHANGED
@@ -59,6 +59,7 @@ declare const FormElementTypes: {
59
59
  readonly contact: "contact";
60
60
  readonly combobox: "combobox";
61
61
  readonly formattedDate: "formattedDate";
62
+ readonly numberInput: "numberInput";
62
63
  readonly customJson: "customJson";
63
64
  };
64
65
  type FormElementTypes = (typeof FormElementTypes)[keyof typeof FormElementTypes];
@@ -75,6 +76,10 @@ interface ValidationProperties {
75
76
  type?: ValidationInputType;
76
77
  regex?: string;
77
78
  maxLength?: number;
79
+ minValue?: number;
80
+ maxValue?: number;
81
+ minDigits?: number;
82
+ maxDigits?: number;
78
83
  descriptionEN?: string;
79
84
  descriptionFR?: string;
80
85
  [key: string]: unknown;
@@ -121,6 +126,8 @@ interface ElementProperties {
121
126
  dateFormat?: string;
122
127
  allowNegativeNumbers?: boolean;
123
128
  stepCount?: number;
129
+ currencyCode?: string;
130
+ useThousandsSeparator?: boolean;
124
131
  conditionalRules?: ConditionalRule[];
125
132
  full?: boolean;
126
133
  addressComponents?: AddressComponents | undefined;
@@ -181,13 +188,23 @@ type FormRecord = {
181
188
  name: string;
182
189
  form: FormProperties;
183
190
  isPublished: boolean;
191
+ currentPublishedVersionId?: string | null;
192
+ currentDraftVersionId?: string | null;
193
+ versionNumber?: number | null;
184
194
  deliveryOption?: DeliveryOption;
185
195
  securityAttribute: SecurityAttribute;
186
196
  closingDate?: string;
187
197
  closedDetails?: ClosedDetails;
188
198
  saveAndResume?: boolean;
189
199
  notificationsInterval?: NotificationsInterval;
190
- [key: string]: string | boolean | number | Date | FormProperties | DeliveryOption | ClosedDetails | undefined | null;
200
+ _count?: {
201
+ users: number;
202
+ invitations: number;
203
+ };
204
+ [key: string]: string | boolean | number | Date | FormProperties | DeliveryOption | ClosedDetails | {
205
+ users: number;
206
+ invitations: number;
207
+ } | undefined | null;
191
208
  };
192
209
  type SecurityAttribute = "Unclassified" | "Protected A" | "Protected B";
193
210
  type FormPurpose = "" | "admin" | "nonAdmin";
package/dist/index.js CHANGED
@@ -48,6 +48,7 @@ var FormElementTypes = {
48
48
  contact: "contact",
49
49
  combobox: "combobox",
50
50
  formattedDate: "formattedDate",
51
+ numberInput: "numberInput",
51
52
  customJson: "customJson"
52
53
  };
53
54
  var BetaFormElementTypes = {
package/dist/index.mjs CHANGED
@@ -17,6 +17,7 @@ var FormElementTypes = {
17
17
  contact: "contact",
18
18
  combobox: "combobox",
19
19
  formattedDate: "formattedDate",
20
+ numberInput: "numberInput",
20
21
  customJson: "customJson"
21
22
  };
22
23
  var BetaFormElementTypes = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcforms/types",
3
- "version": "1.0.30",
3
+ "version": "1.0.33",
4
4
  "author": "Canadian Digital Service",
5
5
  "license": "MIT",
6
6
  "publishConfig": {