diff --git a/package-lock.json b/package-lock.json
index d9ff031fe..de19ab0f1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2819,9 +2819,9 @@
"link": true
},
"node_modules/@cdssnc/gcds-tokens": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/@cdssnc/gcds-tokens/-/gcds-tokens-1.16.0.tgz",
- "integrity": "sha512-fYitZ3CWpu6v4UOY2D2qSR0tcExys8yY5qeEwLb07UoiGPUt/oS+26TXgvcRZ04QbNLNzev2kziSe9Q4cLKUkA==",
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/@cdssnc/gcds-tokens/-/gcds-tokens-1.16.1.tgz",
+ "integrity": "sha512-Z9u2WhGfZcREgYoEfWTbz0OFXLiKVpZEgDWT1RZVODB+n8PThKEPBBu3aPnQkz40yIYX10m5G3bTP7NdT5d4+w==",
"dev": true
},
"node_modules/@cnakazawa/watch": {
@@ -48548,7 +48548,7 @@
"@babel/core": "^7.20.12",
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.21.0",
- "@cdssnc/gcds-tokens": "^1.16.0",
+ "@cdssnc/gcds-tokens": "^1.16.1",
"@fortawesome/fontawesome-free": "^6.3.0",
"@stencil/angular-output-target": "file:../../utils/angular-output-target",
"@stencil/postcss": "^2.1.0",
diff --git a/packages/angular/src/lib/stencil-generated/components.ts b/packages/angular/src/lib/stencil-generated/components.ts
index ce74cdd30..4bfb1abe6 100644
--- a/packages/angular/src/lib/stencil-generated/components.ts
+++ b/packages/angular/src/lib/stencil-generated/components.ts
@@ -211,6 +211,56 @@ export class GcdsContainer {
export declare interface GcdsContainer extends Components.GcdsContainer {}
+@ProxyCmp({
+ inputs: ['disabled', 'errorMessage', 'format', 'hint', 'legend', 'name', 'required', 'validateOn', 'validator', 'value'],
+ methods: ['validate'],
+ outputs: ['gcdsFocus', 'gcdsBlur', 'gcdsInput', 'gcdsChange', 'gcdsError', 'gcdsValid']
+})
+@Component({
+ selector: 'gcds-date-input',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ template: '',
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
+ inputs: ['disabled', 'errorMessage', 'format', 'hint', 'legend', 'name', 'required', 'validateOn', 'validator', 'value'],outputs: ['gcdsFocus', 'gcdsBlur', 'gcdsInput', 'gcdsChange', 'gcdsError', 'gcdsValid'],
+})
+export class GcdsDateInput {
+ protected el: HTMLElement;
+ constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
+ c.detach();
+ this.el = r.nativeElement;
+ proxyOutputs(this, ['gcdsFocus', 'gcdsBlur', 'gcdsInput', 'gcdsChange', 'gcdsError', 'gcdsValid']);
+ }
+}
+
+
+export declare interface GcdsDateInput extends Components.GcdsDateInput {
+ /**
+ * Emitted when an element has focus.
+ */
+ gcdsFocus: EventEmitter>;
+ /**
+ * Emitted when an element loses focus.
+ */
+ gcdsBlur: EventEmitter>;
+ /**
+ * Emitted when the element has received input.
+ */
+ gcdsInput: EventEmitter>;
+ /**
+ * Emitted when an element has changed.
+ */
+ gcdsChange: EventEmitter>;
+ /**
+ * Emitted when an element has a validation error.
+ */
+ gcdsError: EventEmitter>;
+ /**
+ * Emitted when an element has validated.
+ */
+ gcdsValid: EventEmitter>;
+}
+
+
@ProxyCmp({
inputs: ['type']
})
diff --git a/packages/angular/src/lib/stencil-generated/index.ts b/packages/angular/src/lib/stencil-generated/index.ts
index a40bb704c..3339b43d2 100644
--- a/packages/angular/src/lib/stencil-generated/index.ts
+++ b/packages/angular/src/lib/stencil-generated/index.ts
@@ -9,6 +9,7 @@ export const DIRECTIVES = [
d.GcdsCard,
d.GcdsCheckbox,
d.GcdsContainer,
+ d.GcdsDateInput,
d.GcdsDateModified,
d.GcdsDetails,
d.GcdsErrorMessage,
diff --git a/packages/react-ssr/lib/client/render.ts b/packages/react-ssr/lib/client/render.ts
index 628af62c4..9371a6c96 100644
--- a/packages/react-ssr/lib/client/render.ts
+++ b/packages/react-ssr/lib/client/render.ts
@@ -13,6 +13,7 @@ declare global {
const delFocusElements = [
'gcds-button',
'gcds-checkbox',
+ 'gcds-date-input',
'gcds-fieldset',
'gcds-file-uploader',
'gcds-input',
diff --git a/packages/react/src/components/stencil-generated/index.ts b/packages/react/src/components/stencil-generated/index.ts
index 257f7fc15..b8dbdbac6 100644
--- a/packages/react/src/components/stencil-generated/index.ts
+++ b/packages/react/src/components/stencil-generated/index.ts
@@ -15,6 +15,7 @@ export const GcdsButton = /*@__PURE__*/createReactComponent('gcds-card');
export const GcdsCheckbox = /*@__PURE__*/createReactComponent('gcds-checkbox');
export const GcdsContainer = /*@__PURE__*/createReactComponent('gcds-container');
+export const GcdsDateInput = /*@__PURE__*/createReactComponent('gcds-date-input');
export const GcdsDateModified = /*@__PURE__*/createReactComponent('gcds-date-modified');
export const GcdsDetails = /*@__PURE__*/createReactComponent('gcds-details');
export const GcdsErrorMessage = /*@__PURE__*/createReactComponent('gcds-error-message');
diff --git a/packages/vue/lib/components.ts b/packages/vue/lib/components.ts
index d18752094..febbf3e48 100644
--- a/packages/vue/lib/components.ts
+++ b/packages/vue/lib/components.ts
@@ -89,6 +89,26 @@ export const GcdsContainer = /*@__PURE__*/ defineContainer('g
]);
+export const GcdsDateInput = /*@__PURE__*/ defineContainer('gcds-date-input', undefined, [
+ 'name',
+ 'legend',
+ 'format',
+ 'value',
+ 'required',
+ 'hint',
+ 'errorMessage',
+ 'disabled',
+ 'validator',
+ 'validateOn',
+ 'gcdsFocus',
+ 'gcdsBlur',
+ 'gcdsInput',
+ 'gcdsChange',
+ 'gcdsError',
+ 'gcdsValid'
+]);
+
+
export const GcdsDateModified = /*@__PURE__*/ defineContainer('gcds-date-modified', undefined, [
'type'
]);
diff --git a/packages/web/package.json b/packages/web/package.json
index 611cced67..2ae399ece 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -45,7 +45,7 @@
"@babel/core": "^7.20.12",
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.21.0",
- "@cdssnc/gcds-tokens": "^1.16.0",
+ "@cdssnc/gcds-tokens": "^1.16.1",
"@fortawesome/fontawesome-free": "^6.3.0",
"@stencil/angular-output-target": "file:../../utils/angular-output-target",
"@stencil/postcss": "^2.1.0",
diff --git a/packages/web/src/components.d.ts b/packages/web/src/components.d.ts
index b78c9aad4..f1701279b 100644
--- a/packages/web/src/components.d.ts
+++ b/packages/web/src/components.d.ts
@@ -234,6 +234,54 @@ export namespace Components {
*/
"tag"?: string;
}
+ interface GcdsDateInput {
+ /**
+ * Specifies if the date input is disabled or not.
+ */
+ "disabled"?: boolean;
+ /**
+ * Error message displayed below the legend and above form fields.
+ */
+ "errorMessage"?: string;
+ /**
+ * Set this property to full to show month, day, and year form elements. Set it to compact to show only the month and year form elements.
+ */
+ "format": 'full' | 'compact';
+ /**
+ * Hint displayed below the legend and above form fields.
+ */
+ "hint"?: string;
+ /**
+ * Fieldset legend
+ */
+ "legend": string;
+ /**
+ * Name attribute for the date input.
+ */
+ "name": string;
+ /**
+ * Specifies if a form field is required or not.
+ */
+ "required"?: boolean;
+ /**
+ * Call any active validators
+ */
+ "validate": () => Promise;
+ /**
+ * Set event to call validator
+ */
+ "validateOn": 'blur' | 'submit' | 'other';
+ /**
+ * Array of validators
+ */
+ "validator": Array<
+ string | ValidatorEntry | Validator
+ >;
+ /**
+ * Default value for the date input element. Format: YYYY-MM-DD
+ */
+ "value"?: string;
+ }
interface GcdsDateModified {
/**
* Set date modified type. Default is date.
@@ -1155,6 +1203,10 @@ export interface GcdsCheckboxCustomEvent extends CustomEvent {
detail: T;
target: HTMLGcdsCheckboxElement;
}
+export interface GcdsDateInputCustomEvent extends CustomEvent {
+ detail: T;
+ target: HTMLGcdsDateInputElement;
+}
export interface GcdsDetailsCustomEvent extends CustomEvent {
detail: T;
target: HTMLGcdsDetailsElement;
@@ -1286,6 +1338,28 @@ declare global {
prototype: HTMLGcdsContainerElement;
new (): HTMLGcdsContainerElement;
};
+ interface HTMLGcdsDateInputElementEventMap {
+ "gcdsFocus": void;
+ "gcdsBlur": void;
+ "gcdsInput": any;
+ "gcdsChange": any;
+ "gcdsError": object;
+ "gcdsValid": object;
+ }
+ interface HTMLGcdsDateInputElement extends Components.GcdsDateInput, HTMLStencilElement {
+ addEventListener(type: K, listener: (this: HTMLGcdsDateInputElement, ev: GcdsDateInputCustomEvent) => any, options?: boolean | AddEventListenerOptions): void;
+ addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
+ addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
+ removeEventListener(type: K, listener: (this: HTMLGcdsDateInputElement, ev: GcdsDateInputCustomEvent) => any, options?: boolean | EventListenerOptions): void;
+ removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
+ removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
+ }
+ var HTMLGcdsDateInputElement: {
+ prototype: HTMLGcdsDateInputElement;
+ new (): HTMLGcdsDateInputElement;
+ };
interface HTMLGcdsDateModifiedElement extends Components.GcdsDateModified, HTMLStencilElement {
}
var HTMLGcdsDateModifiedElement: {
@@ -1664,6 +1738,7 @@ declare global {
"gcds-card": HTMLGcdsCardElement;
"gcds-checkbox": HTMLGcdsCheckboxElement;
"gcds-container": HTMLGcdsContainerElement;
+ "gcds-date-input": HTMLGcdsDateInputElement;
"gcds-date-modified": HTMLGcdsDateModifiedElement;
"gcds-details": HTMLGcdsDetailsElement;
"gcds-error-message": HTMLGcdsErrorMessageElement;
@@ -1958,6 +2033,74 @@ declare namespace LocalJSX {
*/
"tag"?: string;
}
+ interface GcdsDateInput {
+ /**
+ * Specifies if the date input is disabled or not.
+ */
+ "disabled"?: boolean;
+ /**
+ * Error message displayed below the legend and above form fields.
+ */
+ "errorMessage"?: string;
+ /**
+ * Set this property to full to show month, day, and year form elements. Set it to compact to show only the month and year form elements.
+ */
+ "format": 'full' | 'compact';
+ /**
+ * Hint displayed below the legend and above form fields.
+ */
+ "hint"?: string;
+ /**
+ * Fieldset legend
+ */
+ "legend": string;
+ /**
+ * Name attribute for the date input.
+ */
+ "name": string;
+ /**
+ * Emitted when an element loses focus.
+ */
+ "onGcdsBlur"?: (event: GcdsDateInputCustomEvent) => void;
+ /**
+ * Emitted when an element has changed.
+ */
+ "onGcdsChange"?: (event: GcdsDateInputCustomEvent) => void;
+ /**
+ * Emitted when an element has a validation error.
+ */
+ "onGcdsError"?: (event: GcdsDateInputCustomEvent