diff --git a/packages/forms/select-field/CHANGELOG.md b/packages/forms/select-field/CHANGELOG.md
new file mode 100644
index 0000000..003dbb9
--- /dev/null
+++ b/packages/forms/select-field/CHANGELOG.md
@@ -0,0 +1,23 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](http://keepachangelog.com/)
+and this project adheres to [Semantic Versioning](http://semver.org/).
+
+
+
+
+
+
+
+
+
+## [0.1.0] - 2020-09-25
+
+### Added
+* initial release
+
diff --git a/packages/forms/select-field/README.md b/packages/forms/select-field/README.md
new file mode 100644
index 0000000..6a349c2
--- /dev/null
+++ b/packages/forms/select-field/README.md
@@ -0,0 +1,21 @@
+# SelectField
+
+`select-field` enables you to...
+
+## How to use
+
+### Installation
+
+```sh
+npm i --save @webtides/select-field
+```
+
+```js
+import '@webtides/select-field';
+```
+
+### Example
+
+```html
+
+```
diff --git a/packages/forms/select-field/package.json b/packages/forms/select-field/package.json
new file mode 100644
index 0000000..70c1773
--- /dev/null
+++ b/packages/forms/select-field/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@webtides/select-field",
+ "version": "0.1.0",
+ "description": "An element that...",
+ "author": "@webtides",
+ "homepage": "https://github.com/webtides/element-library",
+ "license": "MIT",
+ "type": "module",
+ "main": "src/select-field.js",
+ "module": "src/select-field.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/webtides/element-library.git",
+ "directory": "packages/forms/select-field"
+ },
+ "scripts": {
+ "test": "karma start ../../../karma.conf.js --grep \"packages/forms/select-field/tests/**/*.test.js\"",
+ "test:watch": "karma start ../../../karma.conf.js --auto-watch=true --single-run=false --grep \"packages/forms/select-field/tests/**/*.test.js\""
+ },
+ "keywords": [
+ "web-components",
+ "custom-elements",
+ "select-field"
+ ],
+ "files": [
+ "docs",
+ "src",
+ "stories",
+ "tests",
+ "translations",
+ "*.js"
+ ],
+ "dependencies": {
+ "@webtides/element-js": "0.3.0"
+ },
+ "devDependencies": {
+ "@open-wc/demoing-storybook": "^1.13.3",
+ "@open-wc/testing": "^2.5.0"
+ }
+}
+
+
diff --git a/packages/forms/select-field/src/select-field.css b/packages/forms/select-field/src/select-field.css
new file mode 100644
index 0000000..66a8edf
--- /dev/null
+++ b/packages/forms/select-field/src/select-field.css
@@ -0,0 +1,4 @@
+select-field {
+ display: block;
+}
+
diff --git a/packages/forms/select-field/src/select-field.js b/packages/forms/select-field/src/select-field.js
new file mode 100644
index 0000000..64ab040
--- /dev/null
+++ b/packages/forms/select-field/src/select-field.js
@@ -0,0 +1,52 @@
+import { defineElement, html } from '@webtides/element-js';
+import FormField from '@webtides/form-field';
+import { ifDefined } from 'lit-html/directives/if-defined';
+import style from './select-field.css';
+
+export default class SelectField extends FormField {
+ constructor() {
+ super({ styles: [style] });
+ }
+
+ properties() {
+ return {
+ ...super.properties(),
+ options: [], // ['string1', 'string2'] or [{value: 'value', label: 'label'}, ...]
+ };
+ }
+
+ fieldTemplate() {
+ return html`
+
+ ${this.dropdownIndicatorTemplate()}
+ `;
+ }
+
+ dropdownIndicatorTemplate() {
+ return html`
∨
`;
+ }
+}
+
+export function define() {
+ defineElement('select-field', SelectField);
+}
+
diff --git a/packages/forms/select-field/stories/select-field.stories.js b/packages/forms/select-field/stories/select-field.stories.js
new file mode 100644
index 0000000..a6628d9
--- /dev/null
+++ b/packages/forms/select-field/stories/select-field.stories.js
@@ -0,0 +1,27 @@
+import { Story, Meta, html } from '@open-wc/demoing-storybook';
+import { define } from '@webtides/select-field';
+define();
+
+export default {
+ title: 'Form Fields/SelectField',
+ component: 'select-field',
+};
+
+export const stringOptions = () => html`
+
+`;
+
+export const objectOptions = () => html`
+
+`;
+
diff --git a/packages/forms/select-field/tests/select-field.feature.test.js b/packages/forms/select-field/tests/select-field.feature.test.js
new file mode 100644
index 0000000..24ba3df
--- /dev/null
+++ b/packages/forms/select-field/tests/select-field.feature.test.js
@@ -0,0 +1,12 @@
+/* eslint-disable no-unused-expressions */
+import { fixture, defineCE, assert, oneEvent, nextFrame } from '@open-wc/testing';
+import { define } from '@webtides/select-field';
+define();
+
+describe('Feature | SelectField', () => {
+ it('can connect without errors', async () => {
+ const el = await fixture(``);
+ await nextFrame();
+ });
+});
+
diff --git a/packages/forms/select-field/tests/select-field.unit.test.js b/packages/forms/select-field/tests/select-field.unit.test.js
new file mode 100644
index 0000000..211db8e
--- /dev/null
+++ b/packages/forms/select-field/tests/select-field.unit.test.js
@@ -0,0 +1,10 @@
+/* eslint-disable no-unused-expressions */
+import { fixture, defineCE, assert, oneEvent, nextFrame } from '@open-wc/testing';
+import SelectField from '../src/select-field';
+
+describe('Unit | SelectField', () => {
+ it('can be created without errors', async () => {
+ const el = new SelectField;
+ });
+});
+