diff --git a/index.html b/index.html index 4ed43b8..7fa37cc 100644 --- a/index.html +++ b/index.html @@ -70,7 +70,7 @@ diff --git a/package.json b/package.json index e673f88..7e94fa6 100644 --- a/package.json +++ b/package.json @@ -27,13 +27,18 @@ "url": "git+https://github.com/NERDDISCO/luminave.git" }, "dependencies": { - "@polymer/app-layout": "3.0.0-pre.25", - "@polymer/iron-icons": "3.0.0-pre.25", - "@polymer/iron-pages": "3.0.0-pre.25", + "@material/layout-grid": "^0.39.0", + "@material/mwc-button": "^0.2.1", + "@material/mwc-icon": "^0.2.1", + "@polymer/app-layout": "3.0.1", + "@polymer/iron-icons": "3.0.1", + "@polymer/iron-pages": "3.0.1", "@polymer/lit-element": "0.6.0", - "@polymer/paper-button": "3.0.0-pre.25", - "@polymer/paper-tabs": "3.0.0-pre.25", - "@polymer/paper-tooltip": "3.0.0-pre.25", + "@polymer/paper-button": "3.0.1", + "@polymer/paper-card": "^3.0.1", + "@polymer/paper-dialog": "^3.0.1", + "@polymer/paper-tabs": "3.0.1", + "@polymer/paper-tooltip": "3.0.1", "@webcomponents/webcomponentsjs": "2.1.1", "concurrently": "^3.5.1", "fivetwelve": "^1.0.0-alpha.1", diff --git a/src/actions/app.js b/src/actions/app.js index b5a2ab1..1687aed 100644 --- a/src/actions/app.js +++ b/src/actions/app.js @@ -4,27 +4,34 @@ export const UPDATE_DRAWER_STATE = 'UPDATE_DRAWER_STATE' export const OPEN_SNACKBAR = 'OPEN_SNACKBAR' export const CLOSE_SNACKBAR = 'CLOSE_SNACKBAR' -export const navigate = (path) => (dispatch) => { - // Extract the page name from path. - const page = path === '/' ? 'universe' : path.slice(1) +export const navigate = (location) => (dispatch) => { + const pathname = location.pathname + const parts = pathname.slice(1).split('/') + const page = parts[0] || 'universe' + const entityId = parts[1] || undefined // Any other info you might want to extract from the path (like page type), // you can do here - dispatch(loadPage(page)) + dispatch(loadPage(page, entityId)) // Close the drawer - in case the *path* change came from a link in the drawer. dispatch(updateDrawerState(false)) } -const loadPage = (page) => (dispatch) => { +const loadPage = (page, entityId) => (dispatch) => { switch(page) { case 'animation': import('../views/animation-view.js') break - case 'fixture': - import('../views/fixture-view.js') + case 'fixture': { + if (entityId !== undefined) { + import('../views/fixture-detail-view.js') + } else { + import('../views/fixture-view.js') + } break + } case 'universe': import('../views/universe-view.js').then((module) => { @@ -53,14 +60,15 @@ const loadPage = (page) => (dispatch) => { page = 'view404' import('../views/my-view404.js') } - - dispatch(updatePage(page)) + + dispatch(updatePage(page, entityId)) } -const updatePage = (page) => { +const updatePage = (page, entityId) => { return { type: UPDATE_PAGE, - page + page, + entityId } } diff --git a/src/components/dmx-fixture/index.js b/src/components/dmx-fixture/index.js index 19918ba..1f3e6fa 100644 --- a/src/components/dmx-fixture/index.js +++ b/src/components/dmx-fixture/index.js @@ -9,7 +9,6 @@ import { batch } from '../../utils/index.js' import '/node_modules/@polymer/iron-icons/iron-icons.js' import '/node_modules/@polymer/iron-icons/maps-icons.js' -import '/node_modules/@polymer/paper-tooltip/paper-tooltip.js' /* * A single DMX fixture with all properties @@ -87,17 +86,19 @@ class DmxFixture extends LitElement {
- - ${type} | ${_fixture.weight} kg | ${_fixture.channels} Channels - + Type: ${type} +
+ Weight: ${_fixture.weight} kg +
+ Channels: ${_fixture.channels} + +
+
+ + +
+
- -
-
- Address - -
-
diff --git a/src/components/fixture-manager/index.js b/src/components/fixture-manager/index.js index 5b53779..17f2bf4 100644 --- a/src/components/fixture-manager/index.js +++ b/src/components/fixture-manager/index.js @@ -4,10 +4,15 @@ import { connect } from 'pwa-helpers/connect-mixin.js' import { store } from '../../reduxStore.js' import { uuidV1 } from '../../../libs/uuid/uuid.js' import { addFixture, removeFixtureFromEverywhere } from '../../actions/index.js' -import '../dmx-fixture/index.js' import * as Fixtures from '../../utils/dmx-fixtures.js' import { FIXTURE_TYPES } from '../../constants/index.js' -import { getFixtures } from '../../selectors/index.js'; +import { getFixturesSorted } from '../../selectors/index.js' +import { buttons } from '../../styles/buttons.js' + +import '@polymer/paper-card/paper-card.js' +import '@polymer/paper-dialog/paper-dialog.js' +import '@material/mwc-button/mwc-button.js' +import '@material/mwc-icon/mwc-icon.js' /* * Handle DMX fixtures @@ -26,12 +31,7 @@ class FixtureManager extends connect(store)(LitElement) { } _stateChanged(state) { - this.fixtures = getFixtures(state) - } - - removeFixture(e) { - const { fixtureId } = e.target - store.dispatch(removeFixtureFromEverywhere(fixtureId)) + this.fixtures = getFixturesSorted(state) } handleSubmit(e) { @@ -86,47 +86,75 @@ class FixtureManager extends connect(store)(LitElement) { } } + removeFixture(e) { + // Dialog was closed + if (e.type === 'iron-overlay-closed') { + + // Dialog was confirmed + if (e.detail.confirmed) { + store.dispatch(removeFixtureFromEverywhere(this._removeFixtureId)) + this._removeFixtureId = undefined + } + + // Dialog should be opened + } else { + const dialog = this.shadowRoot.getElementById('dialog') + + // Save the ID of the current fixture to be deleted + this._removeFixtureId = e.target.fixtureId + + dialog.positionTarget = e.target + dialog.open() + } + } + render() { const { types, fixtures } = this return html` - - .item::before { - content: attr(data-name); - position: absolute; - top: calc(var(--padding-basic) * -3); - overflow: visible; - background: var(--dark-primary-color); - color: var(--text-primary-color); - padding: var(--padding-basic); - } + + + --paper-card-header-text: { + font-size: 1.25em; + overflow: hidden; + white-space: nowrap; + }; + } + + mwc-button.card { + color: var(--mdc-theme-on-primary) + } + +
@@ -151,25 +179,39 @@ class FixtureManager extends connect(store)(LitElement) {
-
+
+
+ + ${repeat(fixtures, fixture => html` - ${repeat(fixtures, fixture => html` - -
- +
- -
+ +
+ ${fixture.address} +
- `)} +
+ + +
+
+
+ + `)} + +
+ + + +

Delete Fixture?

+
+ No + Yes +
+
` } } diff --git a/src/components/luminave-dashboard/index.js b/src/components/luminave-dashboard/index.js index e8dc6e5..df3df23 100644 --- a/src/components/luminave-dashboard/index.js +++ b/src/components/luminave-dashboard/index.js @@ -16,20 +16,24 @@ class LuminaveDashboard extends connect(store)(LitElement) { static get properties() { return { live: { type: Boolean }, - _page: { type: String } + _page: { type: String }, + _entityId: { type: String } } } firstUpdated() { // Use a helper router to dispatch the location - installRouter(location => store.dispatch(navigate(window.decodeURIComponent(location.pathname)))) + installRouter(location => store.dispatch(navigate(location))) } _stateChanged(state) { this._page = state.app.page + this._entityId = state.app.entityId } render() { + const { _page, _entityId } = this + return html` ${tabs} @@ -47,7 +51,7 @@ class LuminaveDashboard extends connect(store)(LitElement) { - + Universes @@ -72,13 +76,17 @@ class LuminaveDashboard extends connect(store)(LitElement) {
- - - - - - - + + + + + + + + + + +
` } diff --git a/src/reducers/app.js b/src/reducers/app.js index 437f1ef..af8f823 100644 --- a/src/reducers/app.js +++ b/src/reducers/app.js @@ -11,7 +11,8 @@ const app = (state = {drawerOpened: false}, action) => { case UPDATE_PAGE: return { ...state, - page: action.page + page: action.page, + entityId: action.entityId } case UPDATE_OFFLINE: return { diff --git a/src/selectors/index.js b/src/selectors/index.js index 4044193..6da44ea 100644 --- a/src/selectors/index.js +++ b/src/selectors/index.js @@ -84,3 +84,11 @@ export const getFixture = (state, properties) => { return getFixtures(state) .filter(fixture => fixture.id === properties.fixtureId)[0] } + +/* + * Sort fixtures by fixture.name + */ +export const getFixturesSorted = createSelector( + getFixtures, + fixtures => fixtures.sort((a, b) => collator.compare(a.name, b.name)) +) \ No newline at end of file diff --git a/src/styles/tabs.js b/src/styles/tabs.js index 8c98b11..725dde1 100644 --- a/src/styles/tabs.js +++ b/src/styles/tabs.js @@ -2,6 +2,11 @@ import { html } from '/node_modules/@polymer/lit-element/lit-element.js' export const tabs = html` + + +
+ + + + +
+ ` + } +} + +window.customElements.define('fixture-detail-view', FixtureDetailView) diff --git a/yarn.lock b/yarn.lock index 292a578..11aa174 100644 --- a/yarn.lock +++ b/yarn.lock @@ -496,132 +496,236 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" -"@polymer/app-layout@3.0.0-pre.25": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/app-layout/-/app-layout-3.0.0-pre.25.tgz#b5ab9fe5265f78b6e10ce9371303757f1a773278" - dependencies: - "@polymer/iron-flex-layout" "^3.0.0-pre.24" - "@polymer/iron-media-query" "^3.0.0-pre.24" - "@polymer/iron-resizable-behavior" "^3.0.0-pre.24" - "@polymer/iron-scroll-target-behavior" "^3.0.0-pre.24" +"@material/animation@^0.34.0": + version "0.34.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-0.34.0.tgz#a99cc9dabf7d0179b4da9a0aaa1575c4d1513823" + +"@material/base@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-0.35.0.tgz#8640c2da385e8cc393ff56153c5a319f5a7704cb" + +"@material/button@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-0.35.0.tgz#2c1df47ac71a9dd16998925557ef91d80c01b42c" + dependencies: + "@material/elevation" "^0.35.0" + "@material/ripple" "^0.35.0" + "@material/rtl" "^0.35.0" + "@material/theme" "^0.35.0" + "@material/typography" "^0.35.0" + +"@material/elevation@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-0.35.0.tgz#a0b8bbe346ebb29a4decd35b961aaf2635ff89bd" + dependencies: + "@material/animation" "^0.34.0" + "@material/theme" "^0.4.0" + +"@material/layout-grid@^0.39.0": + version "0.39.0" + resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-0.39.0.tgz#8e96645404cfee2655999bc591264c434897af3d" + +"@material/mwc-base@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.2.1.tgz#e601cb8c6c5268ee4bf8342d5db26251e03ff5f7" + dependencies: + "@polymer/lit-element" "^0.6.0" + +"@material/mwc-button@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.2.1.tgz#be61290559d2660530cee573e26ee5e70eab7ed4" + dependencies: + "@material/button" "^0.35.0" + "@material/mwc-base" "^0.2.1" + "@material/mwc-icon" "^0.2.1" + "@material/mwc-ripple" "^0.2.1" + "@polymer/lit-element" "^0.6.0" + +"@material/mwc-icon@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.2.1.tgz#16cd881e48c5de7bf0372453393a40c56e372d53" + dependencies: + "@material/mwc-base" "^0.2.1" + "@polymer/lit-element" "^0.6.0" + +"@material/mwc-ripple@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.2.1.tgz#3b242e8eaf7f3f8e9abb927bd7ba51846aa05eeb" + dependencies: + "@material/mwc-base" "^0.2.1" + "@material/ripple" "^0.35.0" + "@polymer/lit-element" "^0.6.0" + +"@material/ripple@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-0.35.0.tgz#3670e04e02dd6efc1ff0546e5129b4e96ec55f70" + dependencies: + "@material/base" "^0.35.0" + "@material/theme" "^0.35.0" + +"@material/rtl@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-0.35.0.tgz#caae659e35a9bf1b9d91c734c8a3315a81bcde21" + +"@material/theme@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-0.35.0.tgz#a2c76f60b82a53d399b769ef91ec52e83ad3c3bd" + +"@material/theme@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-0.4.0.tgz#0aef1a0279b65c15990584fb8b8eca095c734641" + +"@material/typography@^0.35.0": + version "0.35.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-0.35.0.tgz#23ad7eb7c9789e69c7c3fa54df8fc311cd7fc4b1" + +"@polymer/app-layout@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/app-layout/-/app-layout-3.0.1.tgz#41266a4ae358a4f180b83d1d570a260a09570a33" + dependencies: + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/iron-media-query" "^3.0.0-pre.26" + "@polymer/iron-resizable-behavior" "^3.0.0-pre.26" + "@polymer/iron-scroll-target-behavior" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" "@polymer/esm-amd-loader@^1.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/@polymer/esm-amd-loader/-/esm-amd-loader-1.0.2.tgz#6a6c26bd3293ce8c02765752e5581f2a4ea7e038" -"@polymer/font-roboto@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/font-roboto/-/font-roboto-3.0.0-pre.25.tgz#7c5bfeb0da8ab1c8fe6d539e77a13c9b6943aee1" +"@polymer/font-roboto@^3.0.1": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@polymer/font-roboto/-/font-roboto-3.0.2.tgz#80cdaa7225db2359130dfb2c6d9a3be1820020c3" -"@polymer/iron-a11y-keys-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.0-pre.25.tgz#912a4bd78ffbfb455e04fb455877d0409f32f928" +"@polymer/iron-a11y-keys-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz#2868ea72912d2007ffab4734684a91f5aac49b84" + dependencies: + "@polymer/polymer" "^3.0.0" + +"@polymer/iron-behaviors@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz#a3b6f876779a7f0a91a15e4423890968b6525901" + dependencies: + "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26" + "@polymer/polymer" "^3.0.0" + +"@polymer/iron-checked-element-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz#7a4b49646603657ab2c5e5ca7bd97f34444fdaf5" + dependencies: + "@polymer/iron-form-element-behavior" "^3.0.0-pre.26" + "@polymer/iron-validatable-behavior" "^3.0.0-pre.26" + "@polymer/polymer" "^3.0.0" + +"@polymer/iron-fit-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.0.1.tgz#e5c26b0b4d9e74f0c3d6d56b9cfd460e84bddf0d" dependencies: "@polymer/polymer" "^3.0.0" -"@polymer/iron-behaviors@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-behaviors/-/iron-behaviors-3.0.0-pre.25.tgz#e9d65fd06af6a275f9e97c20fcff8d2ecbf83c1a" +"@polymer/iron-flex-layout@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz#36f9e1a8eb792d279b2bc75d362628721ad37f0c" dependencies: - "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.24" "@polymer/polymer" "^3.0.0" -"@polymer/iron-checked-element-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.0-pre.25.tgz#f024dbc691d9c6b1d5e251569fd437e19b589d7f" +"@polymer/iron-form-element-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz#4c79e1981d7796ce659e997f3b8f5e14b4a075a4" dependencies: - "@polymer/iron-form-element-behavior" "^3.0.0-pre.24" - "@polymer/iron-validatable-behavior" "^3.0.0-pre.24" "@polymer/polymer" "^3.0.0" -"@polymer/iron-flex-layout@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.0-pre.25.tgz#b4a01c244cc0bcaf8f4fad3e7727b66e06874089" +"@polymer/iron-icon@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-icon/-/iron-icon-3.0.1.tgz#93211c39d8825fe4965a68419566036c1df291eb" dependencies: + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/iron-meta" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/iron-form-element-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.0-pre.25.tgz#d90101c350e5ac6841c31d17370543a5a93fa2a6" +"@polymer/iron-icons@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-icons/-/iron-icons-3.0.1.tgz#c1bd31d8483afbdb5422cdc384081e19c9267cfe" dependencies: + "@polymer/iron-icon" "^3.0.0-pre.26" + "@polymer/iron-iconset-svg" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/iron-icon@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-icon/-/iron-icon-3.0.0-pre.25.tgz#c5bdb739b4461acca8de81657ccd976a89492ffe" +"@polymer/iron-iconset-svg@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.1.tgz#568d6e7dbc120299dae63be3600aeba0d30ddbea" dependencies: - "@polymer/iron-flex-layout" "^3.0.0-pre.24" - "@polymer/iron-meta" "^3.0.0-pre.24" + "@polymer/iron-meta" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/iron-icons@3.0.0-pre.25": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-icons/-/iron-icons-3.0.0-pre.25.tgz#f5e1b7376bddf3409fe9c9bab9959b3a7a181f0c" +"@polymer/iron-image@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-image/-/iron-image-3.0.1.tgz#c5456d65733879ab0aaed75fbc26419db79cbe5d" dependencies: - "@polymer/iron-icon" "^3.0.0-pre.24" - "@polymer/iron-iconset-svg" "^3.0.0-pre.24" "@polymer/polymer" "^3.0.0" -"@polymer/iron-iconset-svg@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.0-pre.25.tgz#f710b0497a5f133842d108a3631aa67e53cddc25" +"@polymer/iron-media-query@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-media-query/-/iron-media-query-3.0.1.tgz#5cd8a1c1e8c9b8bafd3dd5da14e0f8d2cfa76d83" dependencies: - "@polymer/iron-meta" "^3.0.0-pre.24" "@polymer/polymer" "^3.0.0" -"@polymer/iron-media-query@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-media-query/-/iron-media-query-3.0.0-pre.25.tgz#fa07909e630afb104a881f0321257fab632ffbe8" +"@polymer/iron-menu-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-menu-behavior/-/iron-menu-behavior-3.0.1.tgz#351724e9a605bbc3b3ccfd4521f1f2b19a7f81be" dependencies: + "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26" + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/iron-selector" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/iron-menu-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-menu-behavior/-/iron-menu-behavior-3.0.0-pre.25.tgz#9f7dc92c2102c448e9473fea6ea98089b4b7c3fd" +"@polymer/iron-meta@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-meta/-/iron-meta-3.0.1.tgz#7f140628d127b0a284f882f1bb323a261bc125f5" dependencies: - "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.24" - "@polymer/iron-flex-layout" "^3.0.0-pre.24" - "@polymer/iron-selector" "^3.0.0-pre.24" "@polymer/polymer" "^3.0.0" -"@polymer/iron-meta@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-meta/-/iron-meta-3.0.0-pre.25.tgz#c95c44cbda572b6753cea2f022f94c67d5f698a0" +"@polymer/iron-overlay-behavior@^3.0.0-pre.27": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.2.tgz#6a12a3f4eab4721eb6978ed950be534c9c283983" dependencies: + "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26" + "@polymer/iron-fit-behavior" "^3.0.0-pre.26" + "@polymer/iron-resizable-behavior" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/iron-pages@3.0.0-pre.25": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-pages/-/iron-pages-3.0.0-pre.25.tgz#b61753273e19771d1ee50749ecfec7b90cac0145" +"@polymer/iron-pages@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-pages/-/iron-pages-3.0.1.tgz#b0c3639a4d51e405464c8b8bcccbe055fab401c0" dependencies: - "@polymer/iron-resizable-behavior" "^3.0.0-pre.24" - "@polymer/iron-selector" "^3.0.0-pre.24" + "@polymer/iron-resizable-behavior" "^3.0.0-pre.26" + "@polymer/iron-selector" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/iron-resizable-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.0-pre.25.tgz#0d1eb2e102010b22a9353ea49fe8052d74019a6d" +"@polymer/iron-resizable-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz#e284348ed7c1c7e263f7039297532fa954025ea2" dependencies: "@polymer/polymer" "^3.0.0" -"@polymer/iron-scroll-target-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.0-pre.25.tgz#b9f10f71719d73370ab05ae35dc1c31ddef042ce" +"@polymer/iron-scroll-target-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.1.tgz#29fa644b320fb29ab6c68eb6d08a6520157764ac" dependencies: "@polymer/polymer" "^3.0.0" -"@polymer/iron-selector@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-selector/-/iron-selector-3.0.0-pre.25.tgz#bbeae5d826d5b8e5986ea541d539985ea7969ff3" +"@polymer/iron-selector@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-selector/-/iron-selector-3.0.1.tgz#e845bec58489c96b4e7609525532437869ad5a88" dependencies: "@polymer/polymer" "^3.0.0" -"@polymer/iron-validatable-behavior@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.0-pre.25.tgz#1215c3bcdc1b057681bde88b510f5c863537462d" +"@polymer/iron-validatable-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz#73538f005a07741c31b6fc1e981168c3d3e0d92b" dependencies: - "@polymer/iron-meta" "^3.0.0-pre.24" + "@polymer/iron-meta" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" "@polymer/lit-element@0.6.0": @@ -630,68 +734,108 @@ dependencies: lit-html "^0.11.2" -"@polymer/paper-behaviors@^3.0.0-pre.25": - version "3.0.0-pre.26" - resolved "https://registry.yarnpkg.com/@polymer/paper-behaviors/-/paper-behaviors-3.0.0-pre.26.tgz#5c95f0c6715a89a3a7af78cc8c5983fd33c6b6a1" +"@polymer/lit-element@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@polymer/lit-element/-/lit-element-0.6.1.tgz#56772f8fb0c6d3d73a20a6d17f3bc82ec648664b" + dependencies: + lit-html "^0.11.4" + +"@polymer/neon-animation@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/neon-animation/-/neon-animation-3.0.1.tgz#6658e4b524abc057477772a7473292493d366c24" + dependencies: + "@polymer/iron-resizable-behavior" "^3.0.0-pre.26" + "@polymer/iron-selector" "^3.0.0-pre.26" + "@polymer/polymer" "^3.0.0" + +"@polymer/paper-behaviors@^3.0.0-pre.27": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz#83f1cd06489f484c1b108a2967fb01952df722ad" dependencies: - "@polymer/iron-behaviors" "^3.0.0-pre.24" - "@polymer/iron-checked-element-behavior" "^3.0.0-pre.24" - "@polymer/paper-ripple" "^3.0.0-pre.24" + "@polymer/iron-behaviors" "^3.0.0-pre.26" + "@polymer/iron-checked-element-behavior" "^3.0.0-pre.26" + "@polymer/paper-ripple" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-button@3.0.0-pre.25": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/paper-button/-/paper-button-3.0.0-pre.25.tgz#9768dd0aac216d09d0bd01cb70d2457f3387c2b2" +"@polymer/paper-button@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-button/-/paper-button-3.0.1.tgz#f13b019137e3f6ccc4d04d0b1f27f4830ea5774d" dependencies: - "@polymer/iron-flex-layout" "^3.0.0-pre.24" - "@polymer/paper-behaviors" "^3.0.0-pre.25" - "@polymer/paper-styles" "^3.0.0-pre.24" + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/paper-behaviors" "^3.0.0-pre.27" + "@polymer/paper-styles" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-icon-button@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/paper-icon-button/-/paper-icon-button-3.0.0-pre.25.tgz#f40794ac76b7ec12147bc20541eff86ba3c439d0" +"@polymer/paper-card@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-card/-/paper-card-3.0.1.tgz#fb5960b3e55fab56d20b7c1c3dee08f0d052ff2a" dependencies: - "@polymer/iron-icon" "^3.0.0-pre.24" - "@polymer/paper-behaviors" "^3.0.0-pre.25" - "@polymer/paper-styles" "^3.0.0-pre.24" + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/iron-image" "^3.0.0-pre.26" + "@polymer/paper-styles" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-ripple@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/paper-ripple/-/paper-ripple-3.0.0-pre.25.tgz#5b1e2243b412dec2603ee8b247a5bab5516f3b95" +"@polymer/paper-dialog-behavior@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-dialog-behavior/-/paper-dialog-behavior-3.0.1.tgz#819b2fbb9444c1c318ddf55f02819bb29a85657b" dependencies: - "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.24" + "@polymer/iron-overlay-behavior" "^3.0.0-pre.27" + "@polymer/paper-styles" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-styles@^3.0.0-pre.24": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/paper-styles/-/paper-styles-3.0.0-pre.25.tgz#7ec9e74d2bf6960feaea47d2636026a91eac6aae" +"@polymer/paper-dialog@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-dialog/-/paper-dialog-3.0.1.tgz#728ebdbfc4d35ec1485e543434cef5dba476f15e" dependencies: - "@polymer/font-roboto" "^3.0.0-pre.24" - "@polymer/iron-flex-layout" "^3.0.0-pre.24" + "@polymer/iron-overlay-behavior" "^3.0.0-pre.27" + "@polymer/neon-animation" "^3.0.0-pre.26" + "@polymer/paper-dialog-behavior" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-tabs@3.0.0-pre.25": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/paper-tabs/-/paper-tabs-3.0.0-pre.25.tgz#76bea92143d6304ec761dd87da9a15afdb0f0c55" - dependencies: - "@polymer/iron-behaviors" "^3.0.0-pre.24" - "@polymer/iron-flex-layout" "^3.0.0-pre.24" - "@polymer/iron-icon" "^3.0.0-pre.24" - "@polymer/iron-iconset-svg" "^3.0.0-pre.24" - "@polymer/iron-menu-behavior" "^3.0.0-pre.24" - "@polymer/iron-resizable-behavior" "^3.0.0-pre.24" - "@polymer/paper-behaviors" "^3.0.0-pre.25" - "@polymer/paper-icon-button" "^3.0.0-pre.24" - "@polymer/paper-styles" "^3.0.0-pre.24" +"@polymer/paper-icon-button@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-icon-button/-/paper-icon-button-3.0.1.tgz#4af7129c82de9d4a0ad59d43e1d3d8ec93414fbf" + dependencies: + "@polymer/iron-icon" "^3.0.0-pre.26" + "@polymer/paper-behaviors" "^3.0.0-pre.27" + "@polymer/paper-styles" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-tooltip@3.0.0-pre.25": - version "3.0.0-pre.25" - resolved "https://registry.yarnpkg.com/@polymer/paper-tooltip/-/paper-tooltip-3.0.0-pre.25.tgz#d70ba5d743486344582fd1255cdaefa43f1e3c05" +"@polymer/paper-ripple@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-ripple/-/paper-ripple-3.0.1.tgz#28e506f079f840703bf8cbfd62966e1e83ebc3c3" dependencies: - "@polymer/paper-styles" "^3.0.0-pre.24" + "@polymer/iron-a11y-keys-behavior" "^3.0.0-pre.26" + "@polymer/polymer" "^3.0.0" + +"@polymer/paper-styles@^3.0.0-pre.26": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-styles/-/paper-styles-3.0.1.tgz#bd4962b83ab8432cd1cf197bb5222d3a08f135e1" + dependencies: + "@polymer/font-roboto" "^3.0.1" + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/polymer" "^3.0.0" + +"@polymer/paper-tabs@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-tabs/-/paper-tabs-3.0.1.tgz#525bfdfeff00af37d16c7ca70779fad72f74a086" + dependencies: + "@polymer/iron-behaviors" "^3.0.0-pre.26" + "@polymer/iron-flex-layout" "^3.0.0-pre.26" + "@polymer/iron-icon" "^3.0.0-pre.26" + "@polymer/iron-iconset-svg" "^3.0.0-pre.26" + "@polymer/iron-menu-behavior" "^3.0.0-pre.26" + "@polymer/iron-resizable-behavior" "^3.0.0-pre.26" + "@polymer/paper-behaviors" "^3.0.0-pre.27" + "@polymer/paper-icon-button" "^3.0.0-pre.26" + "@polymer/paper-styles" "^3.0.0-pre.26" + "@polymer/polymer" "^3.0.0" + +"@polymer/paper-tooltip@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz#cdbb06442737513f081437c6302842170ce714dc" + dependencies: + "@polymer/paper-styles" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" "@polymer/polymer@^3.0.0": @@ -4101,6 +4245,10 @@ lit-html@^0.11.2: version "0.11.3" resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-0.11.3.tgz#34d6eb27ef0c7fdae542c7b50762526704605681" +lit-html@^0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-0.11.4.tgz#fa397d2b2f2d0523ebc136e5a1699aa4e9346152" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"