{"code":"import * as tslib_1 from \"tslib\";\r\nimport { LitElement } from '@polymer/lit-element';\r\nimport { html } from 'lit-html/lib/lit-extended';\r\nimport { component, dispatchChange, property } from '../../util/decorators';\r\nimport CSS from './select-css';\r\nlet Select = class Select extends LitElement {\r\n    constructor() {\r\n        super(...arguments);\r\n        this.options = [];\r\n    }\r\n    _render({ value, placeholder, options, _open }) {\r\n        let v;\r\n        if (value) {\r\n            if (options instanceof Array) {\r\n                v = options.find(({ value: v }) => v === value);\r\n                if (v)\r\n                    v = v.label;\r\n            }\r\n            else\r\n                v = options[value];\r\n        }\r\n        return html `\n            ${CSS}\n            <div on-click=${() => this._open = !this._open}>\n                <div class=\"value\">${v || html `<span class=\"placeholder\">${placeholder}</span>`}</div>\n\n                <zen-icon\n                    type=\"arrow-down\"\n                    color=\"grey-200\"\n                    class$=\"${_open ? 'rotate' : ''}\"\n                ></zen-icon>\n            </div>\n\n            <zen-input-dropdown\n                options=${options}\n                value=${value}\n                on-change=${(e) => this.value = e.target.value}\n                open=${_open}\n                on-toggle=${(e) => this._open = e.target.open}\n            ></zen-input-dropdown>\n        `;\r\n    }\r\n};\r\ntslib_1.__decorate([\r\n    property,\r\n    tslib_1.__metadata(\"design:type\", Object)\r\n], Select.prototype, \"options\", void 0);\r\ntslib_1.__decorate([\r\n    property,\r\n    tslib_1.__metadata(\"design:type\", String)\r\n], Select.prototype, \"value\", void 0);\r\ntslib_1.__decorate([\r\n    property,\r\n    tslib_1.__metadata(\"design:type\", String)\r\n], Select.prototype, \"name\", void 0);\r\ntslib_1.__decorate([\r\n    property,\r\n    tslib_1.__metadata(\"design:type\", String)\r\n], Select.prototype, \"placeholder\", void 0);\r\ntslib_1.__decorate([\r\n    property,\r\n    tslib_1.__metadata(\"design:type\", Boolean)\r\n], Select.prototype, \"_open\", void 0);\r\nSelect = tslib_1.__decorate([\r\n    component('zen-select'),\r\n    dispatchChange()\r\n], Select);\r\nexport default Select;\r\n","dts":{"name":"/Users/tristanmatthias/projects/origami/zen/packages/components/Select/Select.d.ts","text":"import { LitElement } from '@polymer/lit-element';\r\nimport { TemplateResult } from 'lit-html';\r\nimport { FieldOptions } from '../../lib/FormValidator/FormFieldTypes';\r\nexport interface props {\r\n    options: FieldOptions;\r\n    value?: string;\r\n    name?: string;\r\n    placeholder?: string;\r\n    _open?: boolean;\r\n}\r\nexport default class Select extends LitElement implements props {\r\n    options: FieldOptions;\r\n    value?: string;\r\n    name?: string;\r\n    placeholder?: string;\r\n    _open?: boolean;\r\n    _render({value, placeholder, options, _open}: props): TemplateResult;\r\n}\r\n"}}
