From 043727c5dcdfa1360eefc800e809aa5e1915f2e1 Mon Sep 17 00:00:00 2001 From: Elliott Marquez Date: Fri, 19 Jan 2024 17:56:44 -0800 Subject: [PATCH] feat(textfield): add experimental react wrapper PiperOrigin-RevId: 599982922 --- textfield/tsx/filled-text-field.ts | 19 +++++++++++++++++++ textfield/tsx/internal/events.ts | 13 +++++++++++++ textfield/tsx/outlined-text-field.ts | 19 +++++++++++++++++++ tsconfig.json | 1 + 4 files changed, 52 insertions(+) create mode 100644 textfield/tsx/filled-text-field.ts create mode 100644 textfield/tsx/internal/events.ts create mode 100644 textfield/tsx/outlined-text-field.ts diff --git a/textfield/tsx/filled-text-field.ts b/textfield/tsx/filled-text-field.ts new file mode 100644 index 0000000000..a43a20d77b --- /dev/null +++ b/textfield/tsx/filled-text-field.ts @@ -0,0 +1,19 @@ +/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as React from 'react'; +import {createComponent} from '@lit/react'; +import {MdFilledTextField} from '../filled-text-field.js'; +import {events} from './internal/events.js'; +export type {MdFilledTextField} from '../filled-text-field.js'; + +// tslint:disable-next-line +export const FilledTextField = createComponent({ + tagName: 'md-filled-text-field', + elementClass: MdFilledTextField, + events, + react: React, +}); diff --git a/textfield/tsx/internal/events.ts b/textfield/tsx/internal/events.ts new file mode 100644 index 0000000000..9ef23e4726 --- /dev/null +++ b/textfield/tsx/internal/events.ts @@ -0,0 +1,13 @@ +/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import {EventName} from '@lit/react'; + +// tslint:disable-next-line +export const events = { + onChange: 'change', + onInput: 'input' as EventName, +} as const; diff --git a/textfield/tsx/outlined-text-field.ts b/textfield/tsx/outlined-text-field.ts new file mode 100644 index 0000000000..9606a222cd --- /dev/null +++ b/textfield/tsx/outlined-text-field.ts @@ -0,0 +1,19 @@ +/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as React from 'react'; +import {createComponent} from '@lit/react'; +import {MdOutlinedTextField} from '../outlined-text-field.js'; +import {events} from './internal/events.js'; +export type {MdOutlinedTextField} from '../outlined-text-field.js'; + +// tslint:disable-next-line +export const OutlinedTextField = createComponent({ + tagName: 'md-outlined-text-field', + elementClass: MdOutlinedTextField, + events, + react: React, +}); diff --git a/tsconfig.json b/tsconfig.json index 4e2bb1e208..1f73156e1b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -29,6 +29,7 @@ "exclude": [ "catalog", "**/demo", + "**/tsx", "scripts/" ] }